Class: ThePlaidApi::ProgramNameSensitivity

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

Overview

The valid name matching sensitivity configurations for a screening program. Note that while certain matching techniques may be more prevalent on less strict settings, all matching algorithms are enabled for every sensitivity. ‘coarse` - See more potential matches. This sensitivity will see more broad phonetic matches across alphabets that make missing a potential hit very unlikely. This setting is noisier and will require more manual review. `balanced` - A good default for most companies. This sensitivity is balanced to show high quality hits with reduced noise. `strict` - Aggressive false positive reduction. This sensitivity will require names to be more similar than `coarse` and `balanced` settings, relying less on phonetics, while still accounting for character transpositions, missing tokens, and other common permutations. `exact` - Matches must be nearly exact. This sensitivity will only show hits with exact or nearly exact name matches with only basic correction such as extraneous symbols and capitalization. This setting is generally not recommended unless you have a very specific use case.

Constant Summary collapse

PROGRAM_NAME_SENSITIVITY =
[
  # TODO: Write general description for COARSE
  COARSE = 'coarse'.freeze,

  # TODO: Write general description for BALANCED
  BALANCED = 'balanced'.freeze,

  # TODO: Write general description for STRICT
  STRICT = 'strict'.freeze,

  # TODO: Write general description for EXACT
  EXACT = 'exact'.freeze
].freeze

Class Method Summary collapse

Class Method Details

.from_value(value, default_value = COARSE) ⇒ Object



44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/the_plaid_api/models/program_name_sensitivity.rb', line 44

def self.from_value(value, default_value = COARSE)
  return default_value if value.nil?

  str = value.to_s.strip

  case str.downcase
  when 'coarse' then COARSE
  when 'balanced' then BALANCED
  when 'strict' then STRICT
  when 'exact' then EXACT
  else
    default_value
  end
end

.validate(value) ⇒ Object



38
39
40
41
42
# File 'lib/the_plaid_api/models/program_name_sensitivity.rb', line 38

def self.validate(value)
  return false if value.nil?

  PROGRAM_NAME_SENSITIVITY.include?(value)
end