Method: Line::Bot::V2::Liff::LiffView#initialize
- Defined in:
- lib/line/bot/v2/liff/model/liff_view.rb
#initialize(type:, url:, module_mode: nil, **dynamic_attributes) ⇒ LiffView
Returns a new instance of LiffView.
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/line/bot/v2/liff/model/liff_view.rb', line 29 def initialize( type:, url:, module_mode: nil, **dynamic_attributes ) @type = type @url = url @module_mode = module_mode 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 |