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
Overview
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.
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 75 |
# File 'lib/line/bot/v2/messaging_api/model/rich_menu_response.rb', line 41 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) @selected = selected @name = name @chat_bar_text = @areas = areas.map do |item| if item.is_a?(Hash) Line::Bot::V2::MessagingApi::RichMenuArea.create(**item) 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.
33 34 35 |
# File 'lib/line/bot/v2/messaging_api/model/rich_menu_response.rb', line 33 def areas @areas end |
#chat_bar_text ⇒ String
Returns Text displayed in the chat bar.
30 31 32 |
# File 'lib/line/bot/v2/messaging_api/model/rich_menu_response.rb', line 30 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.
27 28 29 |
# File 'lib/line/bot/v2/messaging_api/model/rich_menu_response.rb', line 27 def name @name end |
#rich_menu_id ⇒ String
Returns ID of a rich menu.
18 19 20 |
# File 'lib/line/bot/v2/messaging_api/model/rich_menu_response.rb', line 18 def @rich_menu_id end |
#selected ⇒ Boolean
Returns ‘true` to display the rich menu by default. Otherwise, `false`.
24 25 26 |
# File 'lib/line/bot/v2/messaging_api/model/rich_menu_response.rb', line 24 def selected @selected end |
#size ⇒ RichMenuSize
21 22 23 |
# File 'lib/line/bot/v2/messaging_api/model/rich_menu_response.rb', line 21 def size @size end |
Class Method Details
.create(args) ⇒ Line::Bot::V2::MessagingApi::RichMenuResponse
Create an instance of the class from a hash
80 81 82 83 |
# File 'lib/line/bot/v2/messaging_api/model/rich_menu_response.rb', line 80 def self.create(args) symbolized_args = Line::Bot::V2::Utils.deep_symbolize(args) return new(**symbolized_args) # steep:ignore InsufficientKeywordArguments end |
Instance Method Details
#==(other) ⇒ Boolean
Returns true if the objects are equal, false otherwise.
87 88 89 90 91 92 93 |
# File 'lib/line/bot/v2/messaging_api/model/rich_menu_response.rb', line 87 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.
96 97 98 |
# File 'lib/line/bot/v2/messaging_api/model/rich_menu_response.rb', line 96 def hash [self.class, *instance_variables.map { |var| instance_variable_get(var) }].hash end |