Class: ThePlaidApi::PayStubEarningsTotal

Inherits:
BaseModel
  • Object
show all
Defined in:
lib/the_plaid_api/models/pay_stub_earnings_total.rb

Overview

An object representing both the current pay period and year to date amount for an earning category.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from BaseModel

#check_for_conflict, #process_additional_properties, #process_array, #process_basic_value, #process_hash, #to_hash, #to_json

Constructor Details

#initialize(current_amount:, hours:, iso_currency_code:, unofficial_currency_code:, ytd_amount:, additional_properties: nil) ⇒ PayStubEarningsTotal

Returns a new instance of PayStubEarningsTotal.



67
68
69
70
71
72
73
74
75
76
77
78
79
# File 'lib/the_plaid_api/models/pay_stub_earnings_total.rb', line 67

def initialize(current_amount:, hours:, iso_currency_code:,
               unofficial_currency_code:, ytd_amount:,
               additional_properties: nil)
  # Add additional model properties to the instance
  additional_properties = {} if additional_properties.nil?

  @current_amount = current_amount
  @hours = hours
  @iso_currency_code = iso_currency_code
  @unofficial_currency_code = unofficial_currency_code
  @ytd_amount = ytd_amount
  @additional_properties = additional_properties
end

Instance Attribute Details

#current_amountFloat

Total amount of the earnings for this pay period.

Returns:

  • (Float)


15
16
17
# File 'lib/the_plaid_api/models/pay_stub_earnings_total.rb', line 15

def current_amount
  @current_amount
end

#hoursFloat

Total number of hours worked for this pay period.

Returns:

  • (Float)


19
20
21
# File 'lib/the_plaid_api/models/pay_stub_earnings_total.rb', line 19

def hours
  @hours
end

#iso_currency_codeString

The ISO-4217 currency code of the line item. Always ‘null` if `unofficial_currency_code` is non-null.

Returns:

  • (String)


24
25
26
# File 'lib/the_plaid_api/models/pay_stub_earnings_total.rb', line 24

def iso_currency_code
  @iso_currency_code
end

#unofficial_currency_codeString

The unofficial currency code associated with the security. Always ‘null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `iso_currency_code`s.

Returns:

  • (String)


34
35
36
# File 'lib/the_plaid_api/models/pay_stub_earnings_total.rb', line 34

def unofficial_currency_code
  @unofficial_currency_code
end

#ytd_amountFloat

The total year-to-date amount of the earnings.

Returns:

  • (Float)


38
39
40
# File 'lib/the_plaid_api/models/pay_stub_earnings_total.rb', line 38

def ytd_amount
  @ytd_amount
end

Class Method Details

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash.



82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
# File 'lib/the_plaid_api/models/pay_stub_earnings_total.rb', line 82

def self.from_hash(hash)
  return nil unless hash

  # Extract variables from the hash.
  current_amount =
    hash.key?('current_amount') ? hash['current_amount'] : nil
  hours = hash.key?('hours') ? hash['hours'] : nil
  iso_currency_code =
    hash.key?('iso_currency_code') ? hash['iso_currency_code'] : nil
  unofficial_currency_code =
    hash.key?('unofficial_currency_code') ? hash['unofficial_currency_code'] : nil
  ytd_amount = hash.key?('ytd_amount') ? hash['ytd_amount'] : nil

  # Create a new hash for additional properties, removing known properties.
  new_hash = hash.reject { |k, _| names.value?(k) }

  additional_properties = APIHelper.get_additional_properties(
    new_hash, proc { |value| value }
  )

  # Create object from extracted values.
  PayStubEarningsTotal.new(current_amount: current_amount,
                           hours: hours,
                           iso_currency_code: iso_currency_code,
                           unofficial_currency_code: unofficial_currency_code,
                           ytd_amount: ytd_amount,
                           additional_properties: additional_properties)
end

.namesObject

A mapping from model property names to API property names.



41
42
43
44
45
46
47
48
49
# File 'lib/the_plaid_api/models/pay_stub_earnings_total.rb', line 41

def self.names
  @_hash = {} if @_hash.nil?
  @_hash['current_amount'] = 'current_amount'
  @_hash['hours'] = 'hours'
  @_hash['iso_currency_code'] = 'iso_currency_code'
  @_hash['unofficial_currency_code'] = 'unofficial_currency_code'
  @_hash['ytd_amount'] = 'ytd_amount'
  @_hash
end

.nullablesObject

An array for nullable fields



57
58
59
60
61
62
63
64
65
# File 'lib/the_plaid_api/models/pay_stub_earnings_total.rb', line 57

def self.nullables
  %w[
    current_amount
    hours
    iso_currency_code
    unofficial_currency_code
    ytd_amount
  ]
end

.optionalsObject

An array for optional fields



52
53
54
# File 'lib/the_plaid_api/models/pay_stub_earnings_total.rb', line 52

def self.optionals
  []
end

Instance Method Details

#inspectObject

Provides a debugging-friendly string with detailed object information.



120
121
122
123
124
125
126
# File 'lib/the_plaid_api/models/pay_stub_earnings_total.rb', line 120

def inspect
  class_name = self.class.name.split('::').last
  "<#{class_name} current_amount: #{@current_amount.inspect}, hours: #{@hours.inspect},"\
  " iso_currency_code: #{@iso_currency_code.inspect}, unofficial_currency_code:"\
  " #{@unofficial_currency_code.inspect}, ytd_amount: #{@ytd_amount.inspect},"\
  " additional_properties: #{@additional_properties}>"
end

#to_sObject

Provides a human-readable string representation of the object.



112
113
114
115
116
117
# File 'lib/the_plaid_api/models/pay_stub_earnings_total.rb', line 112

def to_s
  class_name = self.class.name.split('::').last
  "<#{class_name} current_amount: #{@current_amount}, hours: #{@hours}, iso_currency_code:"\
  " #{@iso_currency_code}, unofficial_currency_code: #{@unofficial_currency_code}, ytd_amount:"\
  " #{@ytd_amount}, additional_properties: #{@additional_properties}>"
end