Method: Line::Bot::V2::MessagingApi::PushMessageRequest#initialize
- Defined in:
- lib/line/bot/v2/messaging_api/model/push_message_request.rb
#initialize(to:, messages:, notification_disabled: false, custom_aggregation_units: nil, **dynamic_attributes) ⇒ PushMessageRequest
Returns a new instance of PushMessageRequest.
33 34 35 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 |
# File 'lib/line/bot/v2/messaging_api/model/push_message_request.rb', line 33 def initialize( to:, messages:, notification_disabled: false, custom_aggregation_units: nil, **dynamic_attributes ) @to = to @messages = .map do |item| if item.is_a?(Hash) Line::Bot::V2::MessagingApi::Message.create(**item) # steep:ignore InsufficientKeywordArguments else item end end @notification_disabled = notification_disabled @custom_aggregation_units = custom_aggregation_units 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 |