Class: ThePlaidApi::CraPartnerInsightsBaseFicoScore

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

Overview

Details about the base FICO score associated with an UltraFICO scoring request.

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(bureau:, score:, base_fico_score_version:, reason_code_1: SKIP, reason_code_2: SKIP, reason_code_3: SKIP, reason_code_4: SKIP, did_inquiries_adversely_affect_score: SKIP, additional_properties: nil) ⇒ CraPartnerInsightsBaseFicoScore

Returns a new instance of CraPartnerInsightsBaseFicoScore.



83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
# File 'lib/the_plaid_api/models/cra_partner_insights_base_fico_score.rb', line 83

def initialize(bureau:, score:, base_fico_score_version:,
               reason_code_1: SKIP, reason_code_2: SKIP,
               reason_code_3: SKIP, reason_code_4: SKIP,
               did_inquiries_adversely_affect_score: SKIP,
               additional_properties: nil)
  # Add additional model properties to the instance
  additional_properties = {} if additional_properties.nil?

  @bureau = bureau
  @score = score
  @reason_code_1 = reason_code_1 unless reason_code_1 == SKIP
  @reason_code_2 = reason_code_2 unless reason_code_2 == SKIP
  @reason_code_3 = reason_code_3 unless reason_code_3 == SKIP
  @reason_code_4 = reason_code_4 unless reason_code_4 == SKIP
  unless did_inquiries_adversely_affect_score == SKIP
    @did_inquiries_adversely_affect_score =
      did_inquiries_adversely_affect_score
  end
  @base_fico_score_version = base_fico_score_version
  @additional_properties = additional_properties
end

Instance Attribute Details

#base_fico_score_versionCraPartnerInsightsBaseFicoScoreVersion

The version of the base FICO score model.



44
45
46
# File 'lib/the_plaid_api/models/cra_partner_insights_base_fico_score.rb', line 44

def base_fico_score_version
  @base_fico_score_version
end

#bureauCraPartnerInsightsBureau

The credit bureau that provided the base FICO score.



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

def bureau
  @bureau
end

#did_inquiries_adversely_affect_scoreTrueClass | FalseClass

Whether inquiries adversely affected this score but were not represented in one of the four reason codes. Sometimes referred to as the FACTA Flag.

Returns:

  • (TrueClass | FalseClass)


40
41
42
# File 'lib/the_plaid_api/models/cra_partner_insights_base_fico_score.rb', line 40

def did_inquiries_adversely_affect_score
  @did_inquiries_adversely_affect_score
end

#reason_code_1String

The first reason code associated with the score.

Returns:

  • (String)


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

def reason_code_1
  @reason_code_1
end

#reason_code_2String

The second reason code associated with the score.

Returns:

  • (String)


27
28
29
# File 'lib/the_plaid_api/models/cra_partner_insights_base_fico_score.rb', line 27

def reason_code_2
  @reason_code_2
end

#reason_code_3String

The third reason code associated with the score.

Returns:

  • (String)


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

def reason_code_3
  @reason_code_3
end

#reason_code_4String

The fourth reason code associated with the score.

Returns:

  • (String)


35
36
37
# File 'lib/the_plaid_api/models/cra_partner_insights_base_fico_score.rb', line 35

def reason_code_4
  @reason_code_4
end

#scoreInteger

Numeric value of the base FICO score.

Returns:

  • (Integer)


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

def score
  @score
end

Class Method Details

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash.



106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
# File 'lib/the_plaid_api/models/cra_partner_insights_base_fico_score.rb', line 106

def self.from_hash(hash)
  return nil unless hash

  # Extract variables from the hash.
  bureau = hash.key?('bureau') ? hash['bureau'] : nil
  score = hash.key?('score') ? hash['score'] : nil
  base_fico_score_version =
    hash.key?('base_fico_score_version') ? hash['base_fico_score_version'] : nil
  reason_code_1 = hash.key?('reason_code_1') ? hash['reason_code_1'] : SKIP
  reason_code_2 = hash.key?('reason_code_2') ? hash['reason_code_2'] : SKIP
  reason_code_3 = hash.key?('reason_code_3') ? hash['reason_code_3'] : SKIP
  reason_code_4 = hash.key?('reason_code_4') ? hash['reason_code_4'] : SKIP
  did_inquiries_adversely_affect_score =
    hash.key?('did_inquiries_adversely_affect_score') ? hash['did_inquiries_adversely_affect_score'] : 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.
  CraPartnerInsightsBaseFicoScore.new(bureau: bureau,
                                      score: score,
                                      base_fico_score_version: base_fico_score_version,
                                      reason_code_1: reason_code_1,
                                      reason_code_2: reason_code_2,
                                      reason_code_3: reason_code_3,
                                      reason_code_4: reason_code_4,
                                      did_inquiries_adversely_affect_score: did_inquiries_adversely_affect_score,
                                      additional_properties: additional_properties)
end

.namesObject

A mapping from model property names to API property names.



47
48
49
50
51
52
53
54
55
56
57
58
59
# File 'lib/the_plaid_api/models/cra_partner_insights_base_fico_score.rb', line 47

def self.names
  @_hash = {} if @_hash.nil?
  @_hash['bureau'] = 'bureau'
  @_hash['score'] = 'score'
  @_hash['reason_code_1'] = 'reason_code_1'
  @_hash['reason_code_2'] = 'reason_code_2'
  @_hash['reason_code_3'] = 'reason_code_3'
  @_hash['reason_code_4'] = 'reason_code_4'
  @_hash['did_inquiries_adversely_affect_score'] =
    'did_inquiries_adversely_affect_score'
  @_hash['base_fico_score_version'] = 'base_fico_score_version'
  @_hash
end

.nullablesObject

An array for nullable fields



73
74
75
76
77
78
79
80
81
# File 'lib/the_plaid_api/models/cra_partner_insights_base_fico_score.rb', line 73

def self.nullables
  %w[
    reason_code_1
    reason_code_2
    reason_code_3
    reason_code_4
    did_inquiries_adversely_affect_score
  ]
end

.optionalsObject

An array for optional fields



62
63
64
65
66
67
68
69
70
# File 'lib/the_plaid_api/models/cra_partner_insights_base_fico_score.rb', line 62

def self.optionals
  %w[
    reason_code_1
    reason_code_2
    reason_code_3
    reason_code_4
    did_inquiries_adversely_affect_score
  ]
end

Instance Method Details

#inspectObject

Provides a debugging-friendly string with detailed object information.



151
152
153
154
155
156
157
158
159
# File 'lib/the_plaid_api/models/cra_partner_insights_base_fico_score.rb', line 151

def inspect
  class_name = self.class.name.split('::').last
  "<#{class_name} bureau: #{@bureau.inspect}, score: #{@score.inspect}, reason_code_1:"\
  " #{@reason_code_1.inspect}, reason_code_2: #{@reason_code_2.inspect}, reason_code_3:"\
  " #{@reason_code_3.inspect}, reason_code_4: #{@reason_code_4.inspect},"\
  " did_inquiries_adversely_affect_score: #{@did_inquiries_adversely_affect_score.inspect},"\
  " base_fico_score_version: #{@base_fico_score_version.inspect}, additional_properties:"\
  " #{@additional_properties}>"
end

#to_sObject

Provides a human-readable string representation of the object.



141
142
143
144
145
146
147
148
# File 'lib/the_plaid_api/models/cra_partner_insights_base_fico_score.rb', line 141

def to_s
  class_name = self.class.name.split('::').last
  "<#{class_name} bureau: #{@bureau}, score: #{@score}, reason_code_1: #{@reason_code_1},"\
  " reason_code_2: #{@reason_code_2}, reason_code_3: #{@reason_code_3}, reason_code_4:"\
  " #{@reason_code_4}, did_inquiries_adversely_affect_score:"\
  " #{@did_inquiries_adversely_affect_score}, base_fico_score_version:"\
  " #{@base_fico_score_version}, additional_properties: #{@additional_properties}>"
end