Class: Line::Bot::V2::MessagingApi::RichMenuRequest
- Inherits:
-
Object
- Object
- Line::Bot::V2::MessagingApi::RichMenuRequest
- Defined in:
- lib/line/bot/v2/messaging_api/model/rich_menu_request.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.
-
#selected ⇒ Boolean?
‘true` to display the rich menu by default.
- #size ⇒ RichMenuSize?
Class Method Summary collapse
-
.create(args) ⇒ Line::Bot::V2::MessagingApi::RichMenuRequest
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(size: nil, selected: nil, name: nil, chat_bar_text: nil, areas: nil, **dynamic_attributes) ⇒ RichMenuRequest
constructor
A new instance of RichMenuRequest.
Constructor Details
#initialize(size: nil, selected: nil, name: nil, chat_bar_text: nil, areas: nil, **dynamic_attributes) ⇒ RichMenuRequest
Returns a new instance of RichMenuRequest.
36 37 38 39 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 |
# File 'lib/line/bot/v2/messaging_api/model/rich_menu_request.rb', line 36 def initialize( size: nil, selected: nil, name: nil, chat_bar_text: nil, areas: nil, **dynamic_attributes ) @size = size.is_a?(Line::Bot::V2::MessagingApi::RichMenuSize) || size.nil? ? 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.
29 30 31 |
# File 'lib/line/bot/v2/messaging_api/model/rich_menu_request.rb', line 29 def areas @areas end |
#chat_bar_text ⇒ String?
Returns Text displayed in the chat bar.
26 27 28 |
# File 'lib/line/bot/v2/messaging_api/model/rich_menu_request.rb', line 26 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.
23 24 25 |
# File 'lib/line/bot/v2/messaging_api/model/rich_menu_request.rb', line 23 def name @name end |
#selected ⇒ Boolean?
Returns ‘true` to display the rich menu by default. Otherwise, `false`.
20 21 22 |
# File 'lib/line/bot/v2/messaging_api/model/rich_menu_request.rb', line 20 def selected @selected end |
#size ⇒ RichMenuSize?
17 18 19 |
# File 'lib/line/bot/v2/messaging_api/model/rich_menu_request.rb', line 17 def size @size end |
Class Method Details
.create(args) ⇒ Line::Bot::V2::MessagingApi::RichMenuRequest
Create an instance of the class from a hash
73 74 75 76 |
# File 'lib/line/bot/v2/messaging_api/model/rich_menu_request.rb', line 73 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.
80 81 82 83 84 85 86 |
# File 'lib/line/bot/v2/messaging_api/model/rich_menu_request.rb', line 80 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.
89 90 91 |
# File 'lib/line/bot/v2/messaging_api/model/rich_menu_request.rb', line 89 def hash [self.class, *instance_variables.map { |var| instance_variable_get(var) }].hash end |