ContinuityControl/ncua

View on GitHub
lib/ncua/credit_union/office.rb

Summary

Maintainability
A
0 mins
Test Coverage
module NCUA
  module CreditUnion
    class Office < Record
      field :name, 'CU_NAME'
      field :long, 'AddressLongitude'
      field :lat, 'AddressLatitude'
      field :site_name, 'CU_SITENAME'
      field :charter_number, 'CU_NUMBER'
      field :city, 'City'
      field :country, 'Country'
      field :main_office?, 'IsMainOffice'
      field :phone, 'Phone'
      field(:site_functions, 'SiteFunctions') { |value| value.split(";") }
      field :site_id, 'SiteId'
      field :state, 'State'
      field :url, 'URL'
      field :zip, 'Zipcode'
      field(:distance_from_query_address, 'distance') { |value| nil if value < 0 }
      field(:street, 'Street', &:strip)

      def details
        @details ||= Details.new(get_details!)
      end

      private

      def get_details!
        @scraped_attributes ||= Scraper.new(charter_number).scrape!
      end
    end
  end
end