class FDIC::BankFind::Client

Public Instance Methods

find_bank(bank_name) click to toggle source

logger ::Logger.new 'httparty.log', :debug, :curl debug_output

# File lib/fdic/bank_find/client.rb, line 11
def find_bank(bank_name)
  check_response(self.class.get('/Bank',
                 query:
                 { '$inlinecount' => 'all',
                   '$format' => 'json',
                   '$filter' => "(substringof('#{escape_single_quotes(bank_name.upcase)}',name))"}))
end
find_branches(certificate_number) click to toggle source
# File lib/fdic/bank_find/client.rb, line 27
def find_branches(certificate_number)
  check_response(self.class.get('/Branch',
                 query:
                 { '$inlinecount' => 'allpages',
                   '$format' => 'json',
                   '$filter' => "certNumber eq #{certificate_number}"}))
end
find_history_events(bank_name, certificate_number) click to toggle source
# File lib/fdic/bank_find/client.rb, line 35
def find_history_events(bank_name, certificate_number)
  filter = "legalName eq '#{escape_single_quotes(bank_name.upcase)}' and certNumber eq #{certificate_number}"
  check_response(self.class.get('/History',
                 query:
                 { '$inlinecount' => 'all',
                   '$format' => 'json',
                   '$filter' => filter}))
end
find_institution(certificate_number) click to toggle source
# File lib/fdic/bank_find/client.rb, line 19
def find_institution(certificate_number)
  check_response(self.class.get('/Institution',
                 query:
                 { '$inlinecount' => 'all',
                   '$format' => 'json',
                   '$filter' => "certNumber eq #{certificate_number}"}))
end

Private Instance Methods

check_response(resp) click to toggle source
# File lib/fdic/bank_find/client.rb, line 46
def check_response(resp)
  case resp.code
  when 200...300
    resp
  when 500...600
    raise FDIC::Exceptions::ServerError
  end
end
escape_single_quotes(string) click to toggle source
# File lib/fdic/bank_find/client.rb, line 55
def escape_single_quotes(string)
  # Urm? The API 500's if you have a single-quote in name: "People's United Bank."
  # Their web forms double-up the single-quotes to escape them.
  # NB: let's keep an eye on this flim-flam, and be sure it doesn't get out of hand.
  string.gsub("'", "''")
end