class ViaCep::Address

Address class

Attributes

zipcode[R]

Public Class Methods

new(zipcode) click to toggle source
# File lib/via_cep/address.rb, line 8
def initialize(zipcode)
  @zipcode = zipcode
  valid?
  call_service
rescue JSON::ParserError, Net::HTTPBadRequest
  raise ViaCep::Errors::ZipcodeNotFound
end

Private Instance Methods

call_service() click to toggle source
# File lib/via_cep/address.rb, line 18
def call_service
  response = JSON.parse(ViaCep::HTTP.get(path: zipcode).body)
  raise ViaCep::Errors::ZipcodeNotFound if response['erro']

  define_attributes(response)
end
valid?() click to toggle source
# File lib/via_cep/address.rb, line 25
def valid?
  raise ViaCep::Errors::InvalidZipcodeFormat unless ViaCep::Validators::Zipcode.valid?(zipcode)
end