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

Returns a new instance of GetMessageEventResponse.

Parameters:



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]?

Returns Array of information about opened URLs in the message.

Returns:



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

def clicks
  @clicks
end

#messagesArray[GetMessageEventResponseMessage]?

Returns Array of information about individual message bubbles.

Returns:



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

Parameters:

  • args (Hash)

    Hash containing all the required attributes

Returns:



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

Returns true if the objects are equal, false otherwise.

Parameters:

  • other (Object)

    Object to compare

Returns:

  • (Boolean)

    true if the objects are equal, false otherwise



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

Returns Hash code of the object.

Returns:

  • (Integer)

    Hash code of the object



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