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