Class: Pago::V2026_04::Models::MetricsResponse

Inherits:
Model
  • Object
show all
Defined in:
lib/pago/v2026_04/models.rb,
sig/pago/v2026_04/generated.rbs

Overview

Metrics response schema.

Constant Summary collapse

JSON_KEYS =

Returns:

  • (Hash[Symbol, String])
{
  periods: "periods",
  totals: "totals",
  metrics: "metrics"
}.freeze
REQUIRED_KEYS =

Returns:

  • (Array[String])
["periods", "totals", "metrics"].freeze

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Model

#==, #[], #field_set?, #hash, #inspect, json_keys, required_json_keys, #to_json, #to_json_hash, wrap_raw

Constructor Details

#initialize(periods:, totals:, metrics:) ⇒ MetricsResponse

Returns a new instance of MetricsResponse.

Parameters:



30958
30959
30960
30961
30962
30963
30964
30965
30966
30967
# File 'lib/pago/v2026_04/models.rb', line 30958

def initialize(
  periods:,
  totals:,
  metrics:
)
  super()
  assign(:periods, periods)
  assign(:totals, totals)
  assign(:metrics, metrics)
end

Instance Attribute Details

#metricsModels::Metrics (readonly)

Returns:



30956
30957
30958
# File 'lib/pago/v2026_04/models.rb', line 30956

def metrics
  @metrics
end

#periodsArray<Models::MetricPeriod> (readonly)

List of data for each timestamp.

Returns:



30950
30951
30952
# File 'lib/pago/v2026_04/models.rb', line 30950

def periods
  @periods
end

#totalsModels::MetricsTotals (readonly)



30953
30954
30955
# File 'lib/pago/v2026_04/models.rb', line 30953

def totals
  @totals
end

Class Method Details

.from_json(data) ⇒ MetricsResponse?

Parameters:

  • data (Hash, String, nil)

Returns:



30971
30972
30973
30974
30975
30976
30977
30978
30979
30980
30981
30982
30983
30984
# File 'lib/pago/v2026_04/models.rb', line 30971

def self.from_json(data)
  data = ::JSON.parse(data) if data.is_a?(String)
  data = ::Pago::Serde.object(data)
  return nil if data.nil?

  wrap_raw(
    new(
      periods: (data.key?("periods") ? ::Pago::Serde.array(data["periods"]) { |item0| Models::MetricPeriod.from_json(item0) } : ::Pago::UNSET),
      totals: (data.key?("totals") ? Models::MetricsTotals.from_json(data["totals"]) : ::Pago::UNSET),
      metrics: (data.key?("metrics") ? Models::Metrics.from_json(data["metrics"]) : ::Pago::UNSET)
    ),
    data
  )
end