Module: AwesomeUsps::Shipping

Included in:
USPS
Defined in:
lib/awesome_usps/shipping.rb

Constant Summary collapse

CONTAINERS =
{
  :envelope => 'Flat Rate Envelope',
  :box => 'Flat Rate Box'
}
MAIL_TYPES =
{
  :package => 'Package',
  :postcard => 'Postcards or aerogrammes',
  :matter_for_the_blind => 'Matter for the blind',
  :envelope => 'Envelope'
}
PACKAGE_PROPERTIES =
{
  'ZipOrigination' => :origin_zip,
  'ZipDestination' => :destination_zip,
  'Pounds' => :pounds,
  'Ounces' => :ounces,
  'Container' => :container,
  'Size' => :size,
  'Machinable' => :machinable,
  'Zone' => :zone,
  'Postage' => :postage,
  'Restrictions' => :restrictions
}
POSTAGE_PROPERTIES =
{
  'MailService' => :service,
  'Rate' => :rate
}
US_SERVICES =
{
  :first_class => 'FIRST CLASS',
  :priority => 'PRIORITY',
  :express => 'EXPRESS',
  :bpm => 'BPM',
  :parcel => 'PARCEL',
  :media => 'MEDIA',
  :library => 'LIBRARY',
  :all => 'ALL'
}

Instance Method Summary collapse

Instance Method Details

#canned_domestic_rates_testObject



55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# File 'lib/awesome_usps/shipping.rb', line 55

def canned_domestic_rates_test
  origin_zip = "07024"
  packages =[
    Package.new(  100,
    [93,10],
    :cylinder => true),

    Package.new(  (7.5 * 16),
    [15, 10, 4.5],
    :units => :imperial)
  ]
  destination_zip = "10010"
  options = {}
  request = xml_for_us(origin_zip, destination_zip, packages, options)
  gateway_commit(:us_rates, 'RateV3', request, :live)
end

#canned_world_rates_testObject



73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
# File 'lib/awesome_usps/shipping.rb', line 73

def canned_world_rates_test
  api_request='IntlRate'
  packages =  [
    Package.new(  100,
    [93,10],
    :cylinder => true),

    Package.new(  (7.5 * 16),
    [15, 10, 4.5],
    :units => :imperial)
  ]
  country = "Japan"
  options ={}
  request = xml_for_world(country, packages, options)
  gateway_commit(:world_rates,'IntlRate', request, :live)
end

#domestic_rates(origin_zip, destination_zip, packages, options = {}) ⇒ Object

options Are?



42
43
44
45
46
# File 'lib/awesome_usps/shipping.rb', line 42

def domestic_rates(origin_zip, destination_zip, packages, options={})
  Array(packages)  if not packages.is_a? Array
  request = xml_for_us(origin_zip, destination_zip, packages, options)
  gateway_commit(:us_rates, 'RateV3', request, :live)
end

#world_rates(country, packages, api_request = 'IntlRate', options = {}) ⇒ Object

options Are?



49
50
51
52
53
# File 'lib/awesome_usps/shipping.rb', line 49

def world_rates(country, packages, api_request='IntlRate', options={})
  Array(packages)  if not packages.is_a? Array
  request = xml_for_world(country, packages, options)
  gateway_commit(:world_rates, 'IntlRate', request, :live)
end