class NCUA::CreditUnion::DetailsClient

Public Instance Methods

get_details(charter_number) click to toggle source
# File lib/ncua/credit_union/details_client.rb, line 8
def get_details(charter_number)
  charter_number = charter_number.to_s.strip
  if charter_number.empty?
    raise ArgumentError, "charter number cannot be nil or empty string"
  end

  if !(charter_number =~ /\A\d+\z/)
    raise ArgumentError, "charter number must contain only digits"
  end

  response = execute_query(charter_number)

  case response.code
  when 200...300
    response
  when 500...600
    raise ServerError, "the NCUA returned a #{response.code} error"
  else
    raise ServerError, "Unexpected Response: #{response.code}"
  end
end

Private Instance Methods

endpoint() click to toggle source
# File lib/ncua/credit_union/details_client.rb, line 32
def endpoint
  '/SingleResult.aspx'
end
execute_query(charter_number) click to toggle source
# File lib/ncua/credit_union/details_client.rb, line 36
def execute_query(charter_number)
  self.class.get(endpoint, query: {
    "ID" => charter_number
  })
end