Class: Line::Bot::V2::Insight::GetMessageEventResponse

Inherits:
Object
  • Object
show all
Defined in:
lib/line/bot/v2/insight/model/get_message_event_response.rb

Overview

Statistics about how users interact with narrowcast messages or broadcast messages sent from your LINE Official Account.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(overview: nil, messages: nil, clicks: nil, **dynamic_attributes) ⇒ GetMessageEventResponse



30
31
32
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
64
# File 'lib/line/bot/v2/insight/model/get_message_event_response.rb', line 30

def initialize(
  overview: nil,
  messages: nil,
  clicks: nil,
  **dynamic_attributes
)
  
  @overview = overview.is_a?(Line::Bot::V2::Insight::GetMessageEventResponseOverview) || overview.nil? ? overview : Line::Bot::V2::Insight::GetMessageEventResponseOverview.create(**overview) # steep:ignore
  @messages = messages&.map do |item|
    if item.is_a?(Hash)
      Line::Bot::V2::Insight::GetMessageEventResponseMessage.create(**item) # steep:ignore InsufficientKeywordArguments
    else
      item
    end
  end
  @clicks = clicks&.map do |item|
    if item.is_a?(Hash)
      Line::Bot::V2::Insight::GetMessageEventResponseClick.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

#clicksArray[GetMessageEventResponseClick]?



25
26
27
# File 'lib/line/bot/v2/insight/model/get_message_event_response.rb', line 25

def clicks
  @clicks
end

#messagesArray[GetMessageEventResponseMessage]?



22
23
24
# File 'lib/line/bot/v2/insight/model/get_message_event_response.rb', line 22

def messages
  @messages
end

#overviewGetMessageEventResponseOverview?



19
20
21
# File 'lib/line/bot/v2/insight/model/get_message_event_response.rb', line 19

def overview
  @overview
end

Class Method Details

.create(args) ⇒ Line::Bot::V2::Insight::GetMessageEventResponse

Create an instance of the class from a hash



69
70
71
72
# File 'lib/line/bot/v2/insight/model/get_message_event_response.rb', line 69

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



76
77
78
79
80
81
82
# File 'lib/line/bot/v2/insight/model/get_message_event_response.rb', line 76

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

#hashInteger



85
86
87
# File 'lib/line/bot/v2/insight/model/get_message_event_response.rb', line 85

def hash
  [self.class, *instance_variables.map { |var| instance_variable_get(var) }].hash
end