Class: NzPostApi::Resources::ParcelAddress

Inherits:
Object
  • Object
show all
Defined in:
lib/nz_post_api/resources/parcel_address.rb

Instance Method Summary collapse

Constructor Details

#initialize(client) ⇒ ParcelAddress

Returns a new instance of ParcelAddress.



10
11
12
# File 'lib/nz_post_api/resources/parcel_address.rb', line 10

def initialize(client)
  @client = client
end

Instance Method Details

#base_url ⇒ Object



6
7
8
# File 'lib/nz_post_api/resources/parcel_address.rb', line 6

def base_url
  "#{@client.base_url}/parceladdress/2.0/domestic/addresses"
end

#search(q:, count: 10) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/nz_post_api/resources/parcel_address.rb', line 14

def search(q:, count: 10)
  response = @client.connection.get(base_url, { q: q, count: count })

  if response.success?
    response.body["addresses"].map { |addr| Objects::Address.new(addr) }
  else
    raise NzPostApi::Error.new(
      "Failed to search addresses: #{response.status} - #{response.body}",
      response_http_code: response.status,
      response_body: response.body
    )
  end
end