Method: Line::Bot::V2::Webhook::ModuleContent#initialize
- Defined in:
- lib/line/bot/v2/webhook/model/module_content.rb
#initialize(type:, **dynamic_attributes) ⇒ ModuleContent
Returns a new instance of ModuleContent.
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/line/bot/v2/webhook/model/module_content.rb', line 20 def initialize( type:, **dynamic_attributes ) @type = type 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 |