Class: ThePlaidApi::MonthlyAverage

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

Overview

The monthly average amount calculated by dividing the total by the number of calendar months in the time period.

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(amount: SKIP, iso_currency_code: SKIP, unofficial_currency_code: SKIP, additional_properties: nil) ⇒ MonthlyAverage

Returns a new instance of MonthlyAverage.



60
61
62
63
64
65
66
67
68
69
# File 'lib/the_plaid_api/models/monthly_average.rb', line 60

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

  @amount = amount unless amount == SKIP
  @iso_currency_code = iso_currency_code unless iso_currency_code == SKIP
  @unofficial_currency_code = unofficial_currency_code unless unofficial_currency_code == SKIP
  @additional_properties = additional_properties
end

Instance Attribute Details

#amountFloat

The monthly average amount of all the aggregated transactions of the given category, across all the accounts for the given time window. The average is calculated by dividing the total amount of the transactions by the number of calendar months in the given time window.

Returns:

  • (Float)


18
19
20
# File 'lib/the_plaid_api/models/monthly_average.rb', line 18

def amount
  @amount
end

#iso_currency_codeString

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

Returns:

  • (String)


23
24
25
# File 'lib/the_plaid_api/models/monthly_average.rb', line 23

def iso_currency_code
  @iso_currency_code
end

#unofficial_currency_codeString

The unofficial currency code associated with the amount. Always ‘null` if `iso_currency_code` is non-`null`. See the [currency code schema](plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s.

Returns:

  • (String)


31
32
33
# File 'lib/the_plaid_api/models/monthly_average.rb', line 31

def unofficial_currency_code
  @unofficial_currency_code
end

Class Method Details

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash.



72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
# File 'lib/the_plaid_api/models/monthly_average.rb', line 72

def self.from_hash(hash)
  return nil unless hash

  # Extract variables from the hash.
  amount = hash.key?('amount') ? hash['amount'] : SKIP
  iso_currency_code =
    hash.key?('iso_currency_code') ? hash['iso_currency_code'] : SKIP
  unofficial_currency_code =
    hash.key?('unofficial_currency_code') ? hash['unofficial_currency_code'] : SKIP

  # 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.
  MonthlyAverage.new(amount: amount,
                     iso_currency_code: iso_currency_code,
                     unofficial_currency_code: unofficial_currency_code,
                     additional_properties: additional_properties)
end

.namesObject

A mapping from model property names to API property names.



34
35
36
37
38
39
40
# File 'lib/the_plaid_api/models/monthly_average.rb', line 34

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

.nullablesObject

An array for nullable fields



52
53
54
55
56
57
58
# File 'lib/the_plaid_api/models/monthly_average.rb', line 52

def self.nullables
  %w[
    amount
    iso_currency_code
    unofficial_currency_code
  ]
end

.optionalsObject

An array for optional fields



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

def self.optionals
  %w[
    amount
    iso_currency_code
    unofficial_currency_code
  ]
end

Instance Method Details

#inspectObject

Provides a debugging-friendly string with detailed object information.



105
106
107
108
109
110
# File 'lib/the_plaid_api/models/monthly_average.rb', line 105

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

#to_sObject

Provides a human-readable string representation of the object.



97
98
99
100
101
102
# File 'lib/the_plaid_api/models/monthly_average.rb', line 97

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