Class: Address::Io::Addresses

Inherits:
Object
  • Object
show all
Includes:
Address::Io::ApiOperations::Retrieve, ApiResource
Defined in:
lib/address/io/addresses.rb

Constant Summary collapse

BASE_URL =
'http://address.api.nfe.io'

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Address::Io::ApiOperations::Retrieve

included, #retrieve

Methods included from ApiResource

#api_request, #encode, included, #recursive_symbolize_keys, #url_encode

Class Method Details

.api_request(url, method, params = nil) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/address/io/addresses.rb', line 17

def self.api_request(url, method, params = nil)
  address = super(url, method, params)

  if address.is_a?(Hash)
    format_address(address[:address])
  else
    legacy_url = 'http://open.nfe.io/v1/addresses'
    super(legacy_url, method, params)
  end
rescue
  'The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.'
end

.format_address(address) ⇒ Object



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/address/io/addresses.rb', line 30

def self.format_address(address)
  {
    postalCode: address[:postalCode],
    streetSuffix: address[:streetSuffix],
    street: address[:street],
    district: address[:district],
    city: {
      code: address[:city][:code],
      name: address[:city][:name]
    },
    state: {
      abbreviation: address[:state]
    }
  }
end

.urlObject



9
10
11
# File 'lib/address/io/addresses.rb', line 9

def self.url
  '/v2/addresses'
end

Instance Method Details

#urlObject



13
14
15
# File 'lib/address/io/addresses.rb', line 13

def url
  "#{self.class.url}/#{self.id}"
end