Class: Line::Bot::V2::Insight::GetRichMenuInsightDailyResponseDailyMetrics

Inherits:
Object
  • Object
show all
Defined in:
lib/line/bot/v2/insight/model/get_rich_menu_insight_daily_response_daily_metrics.rb,
sig/line/bot/v2/insight/model/get_rich_menu_insight_daily_response_daily_metrics.rbs

Overview

Aggregated number of events and unique users for a single day.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(date:, count:, unique_users:, **dynamic_attributes) ⇒ Object

Parameters:

  • date (String)

    The date (JST) of these metrics. Format: yyyyMMdd (e.g. 20260213).

  • count (Integer)

    Number of impressions or clicks on this day.

  • unique_users (Integer)

    Approximate number of unique users who triggered an impression or click on this day.



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/insight/model/get_rich_menu_insight_daily_response_daily_metrics.rb', line 29

def initialize(
  date:,
  count:,
  unique_users:,
  **dynamic_attributes
)
  
  @date = date
  @count = count
  @unique_users = unique_users

  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

#countInteger

Returns Number of impressions or clicks on this day.

Returns:

  • (Integer)

    Number of impressions or clicks on this day.



21
22
23
# File 'lib/line/bot/v2/insight/model/get_rich_menu_insight_daily_response_daily_metrics.rb', line 21

def count
  @count
end

#dateString

Returns The date (JST) of these metrics. Format: yyyyMMdd (e.g. 20260213).

Returns:

  • (String)

    The date (JST) of these metrics. Format: yyyyMMdd (e.g. 20260213).



18
19
20
# File 'lib/line/bot/v2/insight/model/get_rich_menu_insight_daily_response_daily_metrics.rb', line 18

def date
  @date
end

#unique_usersInteger

Returns Approximate number of unique users who triggered an impression or click on this day.

Returns:

  • (Integer)

    Approximate number of unique users who triggered an impression or click on this day.



24
25
26
# File 'lib/line/bot/v2/insight/model/get_rich_menu_insight_daily_response_daily_metrics.rb', line 24

def unique_users
  @unique_users
end

Class Method Details

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

Create an instance of the class from a hash

Parameters:

  • args (Hash)

    Hash containing all the required attributes

  • (Hash[Symbol, untyped])

Returns:



56
57
58
59
# File 'lib/line/bot/v2/insight/model/get_rich_menu_insight_daily_response_daily_metrics.rb', line 56

def self.create(args)
  symbolized_args = Line::Bot::V2::Utils.deep_symbolize(args)
  return new(**symbolized_args) # steep:ignore InsufficientKeywordArguments
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



63
64
65
66
67
68
69
# File 'lib/line/bot/v2/insight/model/get_rich_menu_insight_daily_response_daily_metrics.rb', line 63

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



72
73
74
# File 'lib/line/bot/v2/insight/model/get_rich_menu_insight_daily_response_daily_metrics.rb', line 72

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