class ParcelApi::ShippingOptions
Returns the shipping options and rates available depending on customer, pick up and destination addresses and parcel dimensions and weight. Both domestic and international.
Constants
- DOMESTIC_URL
- INTERNATIONAL_URL
Public Class Methods
new(connection=nil)
click to toggle source
Creates a new ParcelApi::ShippingOptions
instance.
# File lib/parcel_api/shipping_options.rb, line 13 def initialize(connection=nil) @connection ||= connection || ParcelApi::Client.connection end
Public Instance Methods
get_domestic(parcel_params)
click to toggle source
Search for Domestic (NZ) Shipping Options @param parcel_params [Hash] parcel parameters @return [Array] return array of shipping options
# File lib/parcel_api/shipping_options.rb, line 21 def get_domestic(parcel_params) response = @connection.get DOMESTIC_URL, params: parcel_params options = response.parsed.tap do |so| so.delete('success') so.delete('message_id') end RecursiveOpenStruct.new(options, recurse_over_arrays: true) end
get_international(parcel_params)
click to toggle source
Search for International Shipping Options @param parcel_params [Hash] parcel parameters @return [Array] return array of shipping options
# File lib/parcel_api/shipping_options.rb, line 34 def get_international(parcel_params) response = @connection.get INTERNATIONAL_URL, params: parcel_params options = response.parsed.tap do |so| so.delete('success') so.delete('message_id') end RecursiveOpenStruct.new(options, recurse_over_arrays: true) end