Class: ThePlaidApi::DepositoryFilter

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

Overview

A filter to apply to ‘depository`-type accounts

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(account_subtypes:, limited_purpose_types: SKIP, additional_properties: nil) ⇒ DepositoryFilter

Returns a new instance of DepositoryFilter.



45
46
47
48
49
50
51
52
53
# File 'lib/the_plaid_api/models/depository_filter.rb', line 45

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

  @account_subtypes = 
  @limited_purpose_types = limited_purpose_types unless limited_purpose_types == SKIP
  @additional_properties = additional_properties
end

Instance Attribute Details

#account_subtypesArray[DepositoryAccountSubtype]

An array of account subtypes to display in Link. If not specified, all account subtypes will be shown. For a full list of valid types and subtypes, see the [Account schema](plaid.com/docs/api/accounts#account-type-schema).

Returns:



17
18
19
# File 'lib/the_plaid_api/models/depository_filter.rb', line 17

def 
  @account_subtypes
end

#limited_purpose_typesArray[LimitedPurposeType]

An array of limited purpose types. When set, it will restrict which kinds of limited purpose checking accounts may be connected in Link. Only applicable when ‘limited purpose checking’ is in the subtypes filter.

Returns:



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

def limited_purpose_types
  @limited_purpose_types
end

Class Method Details

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash.



56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# File 'lib/the_plaid_api/models/depository_filter.rb', line 56

def self.from_hash(hash)
  return nil unless hash

  # Extract variables from the hash.
   =
    hash.key?('account_subtypes') ? hash['account_subtypes'] : nil
  limited_purpose_types =
    hash.key?('limited_purpose_types') ? hash['limited_purpose_types'] : 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.
  DepositoryFilter.new(account_subtypes: ,
                       limited_purpose_types: limited_purpose_types,
                       additional_properties: additional_properties)
end

.namesObject

A mapping from model property names to API property names.



26
27
28
29
30
31
# File 'lib/the_plaid_api/models/depository_filter.rb', line 26

def self.names
  @_hash = {} if @_hash.nil?
  @_hash['account_subtypes'] = 'account_subtypes'
  @_hash['limited_purpose_types'] = 'limited_purpose_types'
  @_hash
end

.nullablesObject

An array for nullable fields



41
42
43
# File 'lib/the_plaid_api/models/depository_filter.rb', line 41

def self.nullables
  []
end

.optionalsObject

An array for optional fields



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

def self.optionals
  %w[
    limited_purpose_types
  ]
end

Instance Method Details

#inspectObject

Provides a debugging-friendly string with detailed object information.



86
87
88
89
90
# File 'lib/the_plaid_api/models/depository_filter.rb', line 86

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

#to_sObject

Provides a human-readable string representation of the object.



79
80
81
82
83
# File 'lib/the_plaid_api/models/depository_filter.rb', line 79

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