benhutton-active_shipping 0.9.13

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.
Files changed (54) hide show
  1. data/CHANGELOG +38 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.markdown +142 -0
  4. data/lib/active_merchant/common.rb +14 -0
  5. data/lib/active_merchant/common/connection.rb +177 -0
  6. data/lib/active_merchant/common/country.rb +328 -0
  7. data/lib/active_merchant/common/error.rb +26 -0
  8. data/lib/active_merchant/common/post_data.rb +24 -0
  9. data/lib/active_merchant/common/posts_data.rb +63 -0
  10. data/lib/active_merchant/common/requires_parameters.rb +16 -0
  11. data/lib/active_merchant/common/utils.rb +22 -0
  12. data/lib/active_merchant/common/validateable.rb +76 -0
  13. data/lib/active_shipping.rb +49 -0
  14. data/lib/active_shipping/shipping/base.rb +13 -0
  15. data/lib/active_shipping/shipping/carrier.rb +70 -0
  16. data/lib/active_shipping/shipping/carriers.rb +20 -0
  17. data/lib/active_shipping/shipping/carriers/bogus_carrier.rb +16 -0
  18. data/lib/active_shipping/shipping/carriers/canada_post.rb +268 -0
  19. data/lib/active_shipping/shipping/carriers/fedex.rb +331 -0
  20. data/lib/active_shipping/shipping/carriers/kunaki.rb +165 -0
  21. data/lib/active_shipping/shipping/carriers/new_zealand_post.rb +139 -0
  22. data/lib/active_shipping/shipping/carriers/shipwire.rb +172 -0
  23. data/lib/active_shipping/shipping/carriers/ups.rb +390 -0
  24. data/lib/active_shipping/shipping/carriers/usps.rb +441 -0
  25. data/lib/active_shipping/shipping/location.rb +109 -0
  26. data/lib/active_shipping/shipping/package.rb +147 -0
  27. data/lib/active_shipping/shipping/rate_estimate.rb +54 -0
  28. data/lib/active_shipping/shipping/rate_response.rb +19 -0
  29. data/lib/active_shipping/shipping/response.rb +46 -0
  30. data/lib/active_shipping/shipping/shipment_event.rb +14 -0
  31. data/lib/active_shipping/shipping/tracking_response.rb +22 -0
  32. data/lib/active_shipping/version.rb +3 -0
  33. data/lib/certs/cacert.pem +7815 -0
  34. data/lib/certs/eParcel.dtd +111 -0
  35. data/lib/vendor/quantified/MIT-LICENSE +22 -0
  36. data/lib/vendor/quantified/README.markdown +49 -0
  37. data/lib/vendor/quantified/Rakefile +21 -0
  38. data/lib/vendor/quantified/init.rb +0 -0
  39. data/lib/vendor/quantified/lib/quantified.rb +8 -0
  40. data/lib/vendor/quantified/lib/quantified/attribute.rb +208 -0
  41. data/lib/vendor/quantified/lib/quantified/length.rb +20 -0
  42. data/lib/vendor/quantified/lib/quantified/mass.rb +19 -0
  43. data/lib/vendor/quantified/test/length_test.rb +92 -0
  44. data/lib/vendor/quantified/test/mass_test.rb +88 -0
  45. data/lib/vendor/quantified/test/test_helper.rb +2 -0
  46. data/lib/vendor/test_helper.rb +13 -0
  47. data/lib/vendor/xml_node/README +36 -0
  48. data/lib/vendor/xml_node/Rakefile +21 -0
  49. data/lib/vendor/xml_node/benchmark/bench_generation.rb +32 -0
  50. data/lib/vendor/xml_node/init.rb +1 -0
  51. data/lib/vendor/xml_node/lib/xml_node.rb +222 -0
  52. data/lib/vendor/xml_node/test/test_generating.rb +94 -0
  53. data/lib/vendor/xml_node/test/test_parsing.rb +43 -0
  54. metadata +125 -0
@@ -0,0 +1,94 @@
1
+ require 'rubygems'
2
+ require 'active_support'
3
+ require "test/unit"
4
+
5
+ require File.dirname(__FILE__) + "/../lib/xml_node"
6
+
7
+ class TestXmlNode < Test::Unit::TestCase
8
+
9
+ def test_init_sanity
10
+ assert_raise(ArgumentError) { XmlNode.new }
11
+ assert_nothing_raised { XmlNode.new('feed')}
12
+ assert_nothing_raised { XmlNode.new('feed', 'content') }
13
+ assert_nothing_raised { XmlNode.new('feed', :attribute => true) }
14
+ assert_nothing_raised { XmlNode.new('feed', 'content', :attribute => true) }
15
+ end
16
+
17
+ def test_element_generation
18
+ assert_equal '<feed/>', XmlNode.new('feed').to_s
19
+ assert_equal '<feed>content</feed>', XmlNode.new('feed', 'content').to_s
20
+ assert_equal "<feed attr='true'>content</feed>", XmlNode.new('feed', 'content', :attr => true).to_s
21
+ assert_equal "<feed attr='true'/>", XmlNode.new('feed', :attr => true).to_s
22
+ end
23
+
24
+ def test_nesting
25
+ assert_equal '<feed><element/></feed>', XmlNode.new('feed') { |n| n << XmlNode.new('element') }.to_s
26
+ assert_equal '<feed><element><id>1</id></element></feed>', XmlNode.new('feed') { |n| n << XmlNode.new('element') { |n| n << XmlNode.new('id', '1')} }.to_s
27
+ end
28
+
29
+ def test_cdata
30
+ node = XmlNode.new('feed')
31
+ node.text = '...'
32
+ node.cdata = 'Goodbye world'
33
+ node.cdata = 'Hello world'
34
+
35
+ assert_equal '<feed>...<![CDATA[Hello world]]></feed>', node.to_s
36
+ assert_equal 'Hello world', node.cdata
37
+ assert_equal '...', node.text
38
+ end
39
+
40
+ def test_text
41
+ node = XmlNode.new('feed')
42
+ node.text = 'Hello world'
43
+
44
+ assert_equal '<feed>Hello world</feed>', node.to_s
45
+ assert_equal 'Hello world', node.text
46
+ end
47
+
48
+ def test_attributes
49
+ node = XmlNode.new('feed')
50
+ node['attr'] = 1
51
+ assert_equal '1', node['attr']
52
+ end
53
+
54
+ def test_namespace
55
+ node = XmlNode.new('feed')
56
+ node.namespace 'http://www.w3.org/2005/Atom'
57
+ assert_equal "<feed xmlns='http://www.w3.org/2005/Atom'/>", node.to_s
58
+ end
59
+
60
+ def test_named_namespace
61
+ node = XmlNode.new('feed')
62
+ node.namespace :opensearch, 'http://a9.com/-/spec/opensearch/1.1/'
63
+ assert_equal "<feed xmlns:opensearch='http://a9.com/-/spec/opensearch/1.1/'/>", node.to_s
64
+ end
65
+
66
+ def test_generate_nice_xml
67
+ assert_equal "<?xml version='1.0'?>\n<feed>\n <element>test</element>\n <element/>\n</feed>", XmlNode.new('feed') { |n| n << XmlNode.new('element', 'test'); n << XmlNode.new('element') }.to_xml
68
+ end
69
+
70
+ def test_add_array_of_nodes
71
+ assert_equal '<feed><e>1</e><e>2</e><e>3</e></feed>', XmlNode.new('feed') { |n| n << [1,2,3].collect{ |i| XmlNode.new('e', i) }}.to_s
72
+ end
73
+
74
+ def test_boolean
75
+ assert_equal '<boolean>true</boolean>', XmlNode.new('boolean', true).to_s
76
+ assert_equal '<boolean>false</boolean>', XmlNode.new('boolean', false).to_s
77
+ end
78
+
79
+ def test_nil
80
+ assert_equal '<nil/>', XmlNode.new('nil', nil).to_s
81
+ end
82
+
83
+
84
+ def test_dont_choke_on_nil_pushing
85
+ feed = XmlNode.new 'feed'
86
+ assert_nothing_raised do
87
+ feed << nil
88
+ end
89
+ assert_equal '<feed/>', feed.to_s
90
+ end
91
+
92
+
93
+
94
+ end
@@ -0,0 +1,43 @@
1
+ require 'rubygems'
2
+ require 'active_support'
3
+ require "test/unit"
4
+
5
+ require File.dirname(__FILE__) + "/../lib/xml_node"
6
+
7
+ class TestXmlNode < Test::Unit::TestCase
8
+
9
+ def test_parse_sanity
10
+ assert_raise(ArgumentError) { XmlNode.parse }
11
+ assert_nothing_raised { XmlNode.parse('<feed/>') }
12
+ end
13
+
14
+
15
+ def test_parse_attributes
16
+ node = XmlNode.parse('<feed attr="1"/>')
17
+ assert_equal '1', node['attr']
18
+ assert_equal nil, node['attr2']
19
+ end
20
+
21
+ def test_parse_children
22
+ node = XmlNode.parse('<feed><element>text</element></feed>')
23
+ assert_equal XmlNode, node.children['element'].class
24
+ assert_equal 'text', node.children['element'].text
25
+ end
26
+
27
+ def test_enumerate_children
28
+ count = 0
29
+ XmlNode.parse('<feed><element>text</element><element>text</element></feed>').children.each { count += 1 }
30
+ assert_equal 2, count
31
+ end
32
+
33
+ def test_find_first
34
+ xml = XmlNode.parse('<feed><elem>1</elem><elem>2</elem><elem>3</elem></feed>')
35
+ assert_equal '1', xml.find(:first, '//elem').text
36
+ end
37
+
38
+ def test_find_all
39
+ xml = XmlNode.parse('<feed><elem>1</elem><elem>2</elem><elem>3</elem></feed>')
40
+ assert_equal ['1', '2', '3'], xml.find(:all, '//elem').collect(&:text)
41
+ end
42
+
43
+ end
metadata ADDED
@@ -0,0 +1,125 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: benhutton-active_shipping
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.9.13
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - James MacAulay
9
+ - Tobi Lutke
10
+ - Cody Fauser
11
+ - Jimmy Baker
12
+ autorequire:
13
+ bindir: bin
14
+ cert_chain: []
15
+ date: 2011-05-23 00:00:00.000000000 -04:00
16
+ default_executable:
17
+ dependencies:
18
+ - !ruby/object:Gem::Dependency
19
+ name: activesupport
20
+ requirement: &11665700 !ruby/object:Gem::Requirement
21
+ none: false
22
+ requirements:
23
+ - - ! '>='
24
+ - !ruby/object:Gem::Version
25
+ version: 2.3.5
26
+ type: :runtime
27
+ prerelease: false
28
+ version_requirements: *11665700
29
+ - !ruby/object:Gem::Dependency
30
+ name: mocha
31
+ requirement: &11665220 !ruby/object:Gem::Requirement
32
+ none: false
33
+ requirements:
34
+ - - ! '>='
35
+ - !ruby/object:Gem::Version
36
+ version: '0'
37
+ type: :development
38
+ prerelease: false
39
+ version_requirements: *11665220
40
+ description: Get rates and tracking info from various shipping carriers.
41
+ email:
42
+ - james@shopify.com
43
+ executables: []
44
+ extensions: []
45
+ extra_rdoc_files: []
46
+ files:
47
+ - lib/active_shipping/shipping/rate_response.rb
48
+ - lib/active_shipping/shipping/location.rb
49
+ - lib/active_shipping/shipping/carriers/ups.rb
50
+ - lib/active_shipping/shipping/carriers/shipwire.rb
51
+ - lib/active_shipping/shipping/carriers/canada_post.rb
52
+ - lib/active_shipping/shipping/carriers/kunaki.rb
53
+ - lib/active_shipping/shipping/carriers/bogus_carrier.rb
54
+ - lib/active_shipping/shipping/carriers/new_zealand_post.rb
55
+ - lib/active_shipping/shipping/carriers/fedex.rb
56
+ - lib/active_shipping/shipping/carriers/usps.rb
57
+ - lib/active_shipping/shipping/response.rb
58
+ - lib/active_shipping/shipping/package.rb
59
+ - lib/active_shipping/shipping/rate_estimate.rb
60
+ - lib/active_shipping/shipping/tracking_response.rb
61
+ - lib/active_shipping/shipping/base.rb
62
+ - lib/active_shipping/shipping/shipment_event.rb
63
+ - lib/active_shipping/shipping/carriers.rb
64
+ - lib/active_shipping/shipping/carrier.rb
65
+ - lib/active_shipping/version.rb
66
+ - lib/certs/cacert.pem
67
+ - lib/certs/eParcel.dtd
68
+ - lib/active_shipping.rb
69
+ - lib/vendor/test_helper.rb
70
+ - lib/vendor/xml_node/README
71
+ - lib/vendor/xml_node/test/test_generating.rb
72
+ - lib/vendor/xml_node/test/test_parsing.rb
73
+ - lib/vendor/xml_node/init.rb
74
+ - lib/vendor/xml_node/lib/xml_node.rb
75
+ - lib/vendor/xml_node/Rakefile
76
+ - lib/vendor/xml_node/benchmark/bench_generation.rb
77
+ - lib/vendor/quantified/MIT-LICENSE
78
+ - lib/vendor/quantified/test/length_test.rb
79
+ - lib/vendor/quantified/test/test_helper.rb
80
+ - lib/vendor/quantified/test/mass_test.rb
81
+ - lib/vendor/quantified/init.rb
82
+ - lib/vendor/quantified/README.markdown
83
+ - lib/vendor/quantified/lib/quantified.rb
84
+ - lib/vendor/quantified/lib/quantified/length.rb
85
+ - lib/vendor/quantified/lib/quantified/attribute.rb
86
+ - lib/vendor/quantified/lib/quantified/mass.rb
87
+ - lib/vendor/quantified/Rakefile
88
+ - lib/active_merchant/common/validateable.rb
89
+ - lib/active_merchant/common/utils.rb
90
+ - lib/active_merchant/common/post_data.rb
91
+ - lib/active_merchant/common/connection.rb
92
+ - lib/active_merchant/common/requires_parameters.rb
93
+ - lib/active_merchant/common/country.rb
94
+ - lib/active_merchant/common/error.rb
95
+ - lib/active_merchant/common/posts_data.rb
96
+ - lib/active_merchant/common.rb
97
+ - MIT-LICENSE
98
+ - README.markdown
99
+ - CHANGELOG
100
+ has_rdoc: true
101
+ homepage: http://github.com/shopify/active_shipping
102
+ licenses: []
103
+ post_install_message:
104
+ rdoc_options: []
105
+ require_paths:
106
+ - lib
107
+ required_ruby_version: !ruby/object:Gem::Requirement
108
+ none: false
109
+ requirements:
110
+ - - ! '>='
111
+ - !ruby/object:Gem::Version
112
+ version: '0'
113
+ required_rubygems_version: !ruby/object:Gem::Requirement
114
+ none: false
115
+ requirements:
116
+ - - ! '>='
117
+ - !ruby/object:Gem::Version
118
+ version: 1.3.6
119
+ requirements: []
120
+ rubyforge_project: active_shipping
121
+ rubygems_version: 1.6.2
122
+ signing_key:
123
+ specification_version: 3
124
+ summary: Shipping API extension for Active Merchant
125
+ test_files: []