Class: Plaid::PersonalFinanceCategory
- Defined in:
- lib/plaid/models/personal_finance_category.rb
Overview
Information describing the intent of the transaction. Most relevant for personal finance use cases, but not limited to such use cases. The field is currently in beta. The complete category can be generated by concatenating primary and detailed categories. This feature is currently in beta – to request access, contact transactions-feedback@plaid.com.
Instance Attribute Summary collapse
-
#detailed ⇒ String
Provides additional granularity to the primary categorization.
-
#primary ⇒ String
A high level category that communicates the broad category of the transaction.
Class Method Summary collapse
-
.from_hash(hash) ⇒ Object
Creates an instance of the object from a hash.
-
.names ⇒ Object
A mapping from model property names to API property names.
-
.nullables ⇒ Object
An array for nullable fields.
-
.optionals ⇒ Object
An array for optional fields.
Instance Method Summary collapse
-
#initialize(primary:, detailed:, additional_properties: nil) ⇒ PersonalFinanceCategory
constructor
A new instance of PersonalFinanceCategory.
-
#inspect ⇒ Object
Provides a debugging-friendly string with detailed object information.
-
#to_s ⇒ Object
Provides a human-readable string representation of the object.
Methods inherited from BaseModel
#check_for_conflict, #process_additional_properties, #process_array, #process_basic_value, #process_hash, #to_hash, #to_json
Constructor Details
#initialize(primary:, detailed:, additional_properties: nil) ⇒ PersonalFinanceCategory
Returns a new instance of PersonalFinanceCategory.
43 44 45 46 47 48 49 50 |
# File 'lib/plaid/models/personal_finance_category.rb', line 43 def initialize(primary:, detailed:, additional_properties: nil) # Add additional model properties to the instance additional_properties = {} if additional_properties.nil? @primary = primary @detailed = detailed @additional_properties = additional_properties end |
Instance Attribute Details
#detailed ⇒ String
Provides additional granularity to the primary categorization.
23 24 25 |
# File 'lib/plaid/models/personal_finance_category.rb', line 23 def detailed @detailed end |
#primary ⇒ String
A high level category that communicates the broad category of the transaction.
19 20 21 |
# File 'lib/plaid/models/personal_finance_category.rb', line 19 def primary @primary end |
Class Method Details
.from_hash(hash) ⇒ Object
Creates an instance of the object from a hash.
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/plaid/models/personal_finance_category.rb', line 53 def self.from_hash(hash) return nil unless hash # Extract variables from the hash. primary = hash.key?('primary') ? hash['primary'] : nil detailed = hash.key?('detailed') ? hash['detailed'] : 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. PersonalFinanceCategory.new(primary: primary, detailed: detailed, additional_properties: additional_properties) end |
.names ⇒ Object
A mapping from model property names to API property names.
26 27 28 29 30 31 |
# File 'lib/plaid/models/personal_finance_category.rb', line 26 def self.names @_hash = {} if @_hash.nil? @_hash['primary'] = 'primary' @_hash['detailed'] = 'detailed' @_hash end |
.nullables ⇒ Object
An array for nullable fields
39 40 41 |
# File 'lib/plaid/models/personal_finance_category.rb', line 39 def self.nullables [] end |
.optionals ⇒ Object
An array for optional fields
34 35 36 |
# File 'lib/plaid/models/personal_finance_category.rb', line 34 def self.optionals [] end |
Instance Method Details
#inspect ⇒ Object
Provides a debugging-friendly string with detailed object information.
81 82 83 84 85 |
# File 'lib/plaid/models/personal_finance_category.rb', line 81 def inspect class_name = self.class.name.split('::').last "<#{class_name} primary: #{@primary.inspect}, detailed: #{@detailed.inspect},"\ " additional_properties: #{@additional_properties}>" end |
#to_s ⇒ Object
Provides a human-readable string representation of the object.
74 75 76 77 78 |
# File 'lib/plaid/models/personal_finance_category.rb', line 74 def to_s class_name = self.class.name.split('::').last "<#{class_name} primary: #{@primary}, detailed: #{@detailed}, additional_properties:"\ " #{@additional_properties}>" end |