Class: Line::Bot::V2::MessagingApi::RichMenuResponse
- Inherits:
-
Object
- Object
- Line::Bot::V2::MessagingApi::RichMenuResponse
- Defined in:
- lib/line/bot/v2/messaging_api/model/rich_menu_response.rb
Instance Attribute Summary collapse
-
#areas ⇒ Array[RichMenuArea]
Array of area objects which define the coordinates and size of tappable areas.
-
#chat_bar_text ⇒ String
Text displayed in the chat bar.
-
#name ⇒ String
Name of the rich menu.
-
#rich_menu_id ⇒ String
ID of a rich menu.
-
#selected ⇒ Boolean
‘true` to display the rich menu by default.
- #size ⇒ RichMenuSize
Class Method Summary collapse
-
.create(args) ⇒ Line::Bot::V2::MessagingApi::RichMenuResponse
Create an instance of the class from a hash.
Instance Method Summary collapse
-
#==(other) ⇒ Boolean
True if the objects are equal, false otherwise.
-
#hash ⇒ Integer
Hash code of the object.
-
#initialize(rich_menu_id:, size:, selected:, name:, chat_bar_text:, areas:, **dynamic_attributes) ⇒ RichMenuResponse
constructor
A new instance of RichMenuResponse.
Constructor Details
#initialize(rich_menu_id:, size:, selected:, name:, chat_bar_text:, areas:, **dynamic_attributes) ⇒ RichMenuResponse
Returns a new instance of RichMenuResponse.
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
# File 'lib/line/bot/v2/messaging_api/model/rich_menu_response.rb', line 40 def initialize( rich_menu_id:, size:, selected:, name:, chat_bar_text:, areas:, **dynamic_attributes ) @rich_menu_id = @size = size.is_a?(Line::Bot::V2::MessagingApi::RichMenuSize) ? size : Line::Bot::V2::MessagingApi::RichMenuSize.create(**size) # steep:ignore @selected = selected @name = name @chat_bar_text = @areas = areas.map do |item| if item.is_a?(Hash) Line::Bot::V2::MessagingApi::RichMenuArea.create(**item) # steep:ignore InsufficientKeywordArguments else item end end dynamic_attributes.each do |key, value| self.class.attr_accessor key if value.is_a?(Hash) struct_klass = Struct.new(*value.keys.map(&:to_sym)) struct_values = value.map { |_k, v| v.is_a?(Hash) ? Line::Bot::V2::Utils.hash_to_struct(v) : v } instance_variable_set("@#{key}", struct_klass.new(*struct_values)) else instance_variable_set("@#{key}", value) end end end |
Instance Attribute Details
#areas ⇒ Array[RichMenuArea]
Returns Array of area objects which define the coordinates and size of tappable areas.
32 33 34 |
# File 'lib/line/bot/v2/messaging_api/model/rich_menu_response.rb', line 32 def areas @areas end |
#chat_bar_text ⇒ String
Returns Text displayed in the chat bar.
29 30 31 |
# File 'lib/line/bot/v2/messaging_api/model/rich_menu_response.rb', line 29 def @chat_bar_text end |
#name ⇒ String
Returns Name of the rich menu. This value can be used to help manage your rich menus and is not displayed to users.
26 27 28 |
# File 'lib/line/bot/v2/messaging_api/model/rich_menu_response.rb', line 26 def name @name end |
#rich_menu_id ⇒ String
Returns ID of a rich menu.
17 18 19 |
# File 'lib/line/bot/v2/messaging_api/model/rich_menu_response.rb', line 17 def @rich_menu_id end |
#selected ⇒ Boolean
Returns ‘true` to display the rich menu by default. Otherwise, `false`.
23 24 25 |
# File 'lib/line/bot/v2/messaging_api/model/rich_menu_response.rb', line 23 def selected @selected end |
#size ⇒ RichMenuSize
20 21 22 |
# File 'lib/line/bot/v2/messaging_api/model/rich_menu_response.rb', line 20 def size @size end |
Class Method Details
.create(args) ⇒ Line::Bot::V2::MessagingApi::RichMenuResponse
Create an instance of the class from a hash
79 80 81 82 |
# File 'lib/line/bot/v2/messaging_api/model/rich_menu_response.rb', line 79 def self.create(args) # steep:ignore symbolized_args = Line::Bot::V2::Utils.deep_symbolize(args) return new(**symbolized_args) # steep:ignore end |
Instance Method Details
#==(other) ⇒ Boolean
Returns true if the objects are equal, false otherwise.
86 87 88 89 90 91 92 |
# File 'lib/line/bot/v2/messaging_api/model/rich_menu_response.rb', line 86 def ==(other) return false unless self.class == other.class instance_variables.all? do |var| instance_variable_get(var) == other.instance_variable_get(var) end end |
#hash ⇒ Integer
Returns Hash code of the object.
95 96 97 |
# File 'lib/line/bot/v2/messaging_api/model/rich_menu_response.rb', line 95 def hash [self.class, *instance_variables.map { |var| instance_variable_get(var) }].hash end |