shipping-calc 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/History.txt +3 -0
- data/Manifest.txt +2 -0
- data/README.txt +4 -2
- data/examples/dhl_example.rb +36 -0
- data/examples/fq_example.rb +21 -0
- data/lib/shipping_calc.rb +1 -1
- data/lib/shipping_calc/freight_quote.rb +7 -7
- metadata +3 -1
data/History.txt
CHANGED
data/Manifest.txt
CHANGED
data/README.txt
CHANGED
@@ -14,6 +14,10 @@ carriers (UPS, DHL, FedEX, FreightQuote).
|
|
14
14
|
|
15
15
|
== SYNOPSIS:
|
16
16
|
|
17
|
+
You can find an example of each carrier's API under the /examples directory.
|
18
|
+
|
19
|
+
A simple DHL example:
|
20
|
+
|
17
21
|
require 'rubygems'
|
18
22
|
require 'shipping_calc'
|
19
23
|
|
@@ -36,8 +40,6 @@ carriers (UPS, DHL, FedEX, FreightQuote).
|
|
36
40
|
a = d.quote(opts)
|
37
41
|
p a
|
38
42
|
|
39
|
-
An example of the other carrier's API can be found under the /examples directory.
|
40
|
-
|
41
43
|
== REQUIREMENTS:
|
42
44
|
|
43
45
|
* You must obtain all the DHL ShipIt data (user, password, key and account) from http://www.dhl-usa.com/TechTools/detail/TTDetail.asp?nav=TechnologyTools/Shipping/OwnSoln
|
@@ -0,0 +1,36 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'shipping_calc'
|
3
|
+
require 'yaml'
|
4
|
+
include ShippingCalc
|
5
|
+
|
6
|
+
# This example requires you to have a .dhl_info.yml file in your home dir to
|
7
|
+
# gather the login data. Check the Test secion in README.txt for more information.
|
8
|
+
begin
|
9
|
+
auth_info = YAML.load_file("/home/#{ENV["USER"]}/.dhl_info.yml")
|
10
|
+
rescue Exception
|
11
|
+
print "You don't have a .dhl_info.yml file in your home directory. Please
|
12
|
+
read the \"Test\" section in README.txt.\n"
|
13
|
+
exit
|
14
|
+
end
|
15
|
+
|
16
|
+
api_user = auth_info["api_user"]
|
17
|
+
api_pwd = auth_info["api_password"]
|
18
|
+
api_key = auth_info["shipping_key"]
|
19
|
+
api_accnt_num = auth_info["account_num"]
|
20
|
+
|
21
|
+
opts = {
|
22
|
+
:api_user => api_user,
|
23
|
+
:api_password => api_pwd,
|
24
|
+
:shipping_key => api_key,
|
25
|
+
:account_num => api_accnt_num,
|
26
|
+
:date => Time.now,
|
27
|
+
:service_code => "E", # check the docs to find out what this means
|
28
|
+
:shipment_code => "P", # check the docs to find out what this means
|
29
|
+
:weight => 34, # weight in lbs
|
30
|
+
:to_zip => 10001,
|
31
|
+
:to_state => "NY"
|
32
|
+
}
|
33
|
+
|
34
|
+
d = DHL.new
|
35
|
+
q = d.quote(opts)
|
36
|
+
puts "Quote: " << q.to_s << "\n"
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'shipping_calc'
|
3
|
+
require 'yaml'
|
4
|
+
include ShippingCalc
|
5
|
+
|
6
|
+
opts = {
|
7
|
+
:api_email => "xmltest@FreightQuote.com",
|
8
|
+
:api_password => "XML",
|
9
|
+
:from_zip => 75042,
|
10
|
+
:to_zip => 33166,
|
11
|
+
:weight => 150,
|
12
|
+
:dimensions => "12x23x12"
|
13
|
+
}
|
14
|
+
|
15
|
+
f = FreightQuote.new
|
16
|
+
quotes = f.quote(opts)
|
17
|
+
quotes.each do |k,v|
|
18
|
+
p k + " - " + v
|
19
|
+
end
|
20
|
+
|
21
|
+
|
data/lib/shipping_calc.rb
CHANGED
@@ -32,7 +32,7 @@ require 'shipping_calc/freight_quote'
|
|
32
32
|
module ShippingCalc
|
33
33
|
class ShippingCalcError < StandardError
|
34
34
|
end
|
35
|
-
VERSION = "0.1.
|
35
|
+
VERSION = "0.1.1"
|
36
36
|
|
37
37
|
US_STATES = ['AK', 'AL', 'AR', 'AZ', 'CA', 'CO', 'CT', 'DC',
|
38
38
|
'DE', 'FL', 'GA', 'HI', 'IA', 'ID', 'IL', 'IN',
|
@@ -29,11 +29,13 @@ module ShippingCalc
|
|
29
29
|
# This API is based on version 03 of the Freight Quote's (FQ) connection test,
|
30
30
|
# release on 2007 (and still used on 2008). When you first create the
|
31
31
|
# account you'll receive a test account that works with your username and
|
32
|
-
# password.
|
32
|
+
# password.
|
33
|
+
#
|
34
|
+
# After having a stable system you should e-mail FQ asking for a
|
33
35
|
# production key to the servers. If you want to test with a generic
|
34
|
-
# username and password you can
|
36
|
+
# username and password you can the user "xmltest@FreightQuote.com" with password "XML",
|
35
37
|
# but this won't give you access to all the debugging info. associated with
|
36
|
-
# your account.
|
38
|
+
# your account (or so they say).
|
37
39
|
class FreightQuote
|
38
40
|
|
39
41
|
# Obtains some shipping quotes using freight carriers from FQ's site.
|
@@ -47,10 +49,8 @@ module ShippingCalc
|
|
47
49
|
# :*from_zip*:: Sender's zip code.
|
48
50
|
# :*to_zip*:: Recipient's zip code.
|
49
51
|
# :*weight*:: Total weight of the order in lbs.
|
50
|
-
# :*dimensions*:: Length, width and height of the shipment, described as
|
51
|
-
#
|
52
|
-
# :*description*:: Optional - Description of the stuff that's being
|
53
|
-
# shipped. Defaults to "NODESC".
|
52
|
+
# :*dimensions*:: Length, width and height of the shipment, described as a string: "[Length]x[Width]x[Height]" (e.g. "23x32x15").
|
53
|
+
# :*description*:: Optional - Description of the stuff that's being shipped. Defaults to "NODESC".
|
54
54
|
def quote(params)
|
55
55
|
required_fields = [:api_email, :api_password, :to_zip, :from_zip,
|
56
56
|
:weight, :dimensions]
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: shipping-calc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Federico Builes
|
@@ -43,6 +43,8 @@ files:
|
|
43
43
|
- test/test_helper.rb
|
44
44
|
- test/dhl/dhl_test.rb
|
45
45
|
- test/freight_quote/freight_quote_test.rb
|
46
|
+
- examples/dhl_example.rb
|
47
|
+
- examples/fq_example.rb
|
46
48
|
has_rdoc: true
|
47
49
|
homepage: http://github.com/febuiles/shipping_calc/
|
48
50
|
post_install_message:
|