Class: EasyPost::Address

Inherits:
Resource show all
Defined in:
lib/easypost/address.rb

Instance Attribute Summary collapse

Attributes inherited from EasyPostObject

#api_key, #name, #parent, #unsaved_values

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Resource

all, class_name, #delete, #refresh, retrieve, #save, url, #url

Methods inherited from EasyPostObject

#[], #[]=, #as_json, construct_from, #deconstruct_keys, #each, #id, #id=, #initialize, #inspect, #keys, #refresh_from, #to_hash, #to_json, #to_s, #values

Constructor Details

This class inherits a constructor from EasyPost::EasyPostObject

Instance Attribute Details

#messageObject

Backwards compatibility



2
3
4
# File 'lib/easypost/address.rb', line 2

def message
  @message
end

Class Method Details

.create(params = {}, api_key = nil) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/easypost/address.rb', line 4

def self.create(params={}, api_key=nil)
  url = self.url

  address = params.reject { |k,_| k == :verify || k == :verify_strict }

  if params[:verify] || params[:verify_strict]
    verify = params[:verify] || []
    verify_strict = params[:verify_strict] || []

    url += "?"
    verify.each do |verification|
      url += "verify[]=#{verification}&"
    end
    verify_strict.each do |verification|
      url += "verify_strict[]=#{verification}&"
    end
  end

  response = EasyPost.make_request(:post, url, api_key, {address: address})
  return EasyPost::Util.convert_to_easypost_object(response, api_key)
end

.create_and_verify(params = {}, carrier = nil, api_key = nil) ⇒ Object



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/easypost/address.rb', line 26

def self.create_and_verify(params={}, carrier=nil, api_key=nil)
  wrapped_params = {}
  wrapped_params[self.class_name().to_sym] = params
  wrapped_params[:carrier] = carrier
  response = EasyPost.make_request(:post, url + '/create_and_verify', api_key, wrapped_params)

  if response.has_key?("address")
    if response.has_key?("message")
      response["address"]["message"] = response["message"]
    end
    verified_address = EasyPost::Util::convert_to_easypost_object(response["address"], api_key)
    return verified_address
  else
    raise EasyPost::Error.new("Unable to verify address.")
  end
end

Instance Method Details

#verify(params = {}, carrier = nil) ⇒ Object



43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/easypost/address.rb', line 43

def verify(params={}, carrier=nil)
  begin
    response = EasyPost.make_request(:get, url + '/verify?carrier=' + String(carrier), @api_key, params)
  rescue
    raise EasyPost::Error.new("Unable to verify address.")
  end

  if response.has_key?("address")
    return EasyPost::Util::convert_to_easypost_object(response["address"], api_key)
  else
    raise EasyPost::Error.new("Unable to verify address.")
  end

  return self
end