Class: Pago::V2026_04::Models::BenefitMeterCreditSubscriberProperties

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

Overview

Properties available to subscribers for a benefit of type meter_unit.

Constant Summary collapse

JSON_KEYS =

Returns:

  • (Hash[Symbol, String])
{
  units: "units",
  rollover: "rollover",
  meter_id: "meter_id"
}.freeze
REQUIRED_KEYS =

Returns:

  • (Array[String])
["units", "rollover", "meter_id"].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(units:, rollover:, meter_id:) ⇒ BenefitMeterCreditSubscriberProperties

Returns a new instance of BenefitMeterCreditSubscriberProperties.

Parameters:

  • units: (Integer)
  • rollover: (Boolean)
  • meter_id: (String)


7740
7741
7742
7743
7744
7745
7746
7747
7748
7749
# File 'lib/pago/v2026_04/models.rb', line 7740

def initialize(
  units:,
  rollover:,
  meter_id:
)
  super()
  assign(:units, units)
  assign(:rollover, rollover)
  assign(:meter_id, meter_id)
end

Instance Attribute Details

#meter_idString (readonly)

Returns:

  • (String)


7738
7739
7740
# File 'lib/pago/v2026_04/models.rb', line 7738

def meter_id
  @meter_id
end

#rolloverBoolean (readonly)

Returns:

  • (Boolean)


7735
7736
7737
# File 'lib/pago/v2026_04/models.rb', line 7735

def rollover
  @rollover
end

#unitsInteger (readonly)

Returns:

  • (Integer)


7732
7733
7734
# File 'lib/pago/v2026_04/models.rb', line 7732

def units
  @units
end

Class Method Details

.from_json(data) ⇒ BenefitMeterCreditSubscriberProperties?

Parameters:

  • data (Hash, String, nil)

Returns:



7753
7754
7755
7756
7757
7758
7759
7760
7761
7762
7763
7764
7765
7766
# File 'lib/pago/v2026_04/models.rb', line 7753

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(
      units: (data.key?("units") ? data["units"] : ::Pago::UNSET),
      rollover: (data.key?("rollover") ? data["rollover"] : ::Pago::UNSET),
      meter_id: (data.key?("meter_id") ? data["meter_id"] : ::Pago::UNSET)
    ),
    data
  )
end