shippinglogic 1.2.3

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 (74) hide show
  1. data/.document +5 -0
  2. data/CHANGELOG.rdoc +55 -0
  3. data/LICENSE +20 -0
  4. data/README.rdoc +175 -0
  5. data/Rakefile +37 -0
  6. data/VERSION.yml +5 -0
  7. data/init.rb +1 -0
  8. data/lib/shippinglogic.rb +3 -0
  9. data/lib/shippinglogic/attributes.rb +121 -0
  10. data/lib/shippinglogic/error.rb +22 -0
  11. data/lib/shippinglogic/fedex.rb +84 -0
  12. data/lib/shippinglogic/fedex/cancel.rb +47 -0
  13. data/lib/shippinglogic/fedex/enumerations.rb +348 -0
  14. data/lib/shippinglogic/fedex/error.rb +47 -0
  15. data/lib/shippinglogic/fedex/rate.rb +229 -0
  16. data/lib/shippinglogic/fedex/request.rb +134 -0
  17. data/lib/shippinglogic/fedex/response.rb +72 -0
  18. data/lib/shippinglogic/fedex/service.rb +11 -0
  19. data/lib/shippinglogic/fedex/ship.rb +238 -0
  20. data/lib/shippinglogic/fedex/signature.rb +68 -0
  21. data/lib/shippinglogic/fedex/track.rb +124 -0
  22. data/lib/shippinglogic/proxy.rb +23 -0
  23. data/lib/shippinglogic/service.rb +42 -0
  24. data/lib/shippinglogic/ups.rb +83 -0
  25. data/lib/shippinglogic/ups/cancel.rb +52 -0
  26. data/lib/shippinglogic/ups/enumerations.rb +56 -0
  27. data/lib/shippinglogic/ups/error.rb +42 -0
  28. data/lib/shippinglogic/ups/label.rb +50 -0
  29. data/lib/shippinglogic/ups/rate.rb +228 -0
  30. data/lib/shippinglogic/ups/request.rb +49 -0
  31. data/lib/shippinglogic/ups/response.rb +58 -0
  32. data/lib/shippinglogic/ups/service.rb +11 -0
  33. data/lib/shippinglogic/ups/ship_accept.rb +53 -0
  34. data/lib/shippinglogic/ups/ship_confirm.rb +170 -0
  35. data/lib/shippinglogic/ups/track.rb +118 -0
  36. data/lib/shippinglogic/validation.rb +32 -0
  37. data/shippinglogic.gemspec +120 -0
  38. data/spec/attributes_spec.rb +67 -0
  39. data/spec/config/fedex_credentials.example.yml +4 -0
  40. data/spec/config/ups_credentials.example.yml +3 -0
  41. data/spec/error_spec.rb +43 -0
  42. data/spec/fedex/cancel_spec.rb +10 -0
  43. data/spec/fedex/error_spec.rb +26 -0
  44. data/spec/fedex/rate_spec.rb +87 -0
  45. data/spec/fedex/request_spec.rb +15 -0
  46. data/spec/fedex/responses/blank.xml +0 -0
  47. data/spec/fedex/responses/cancel_not_found.xml +7 -0
  48. data/spec/fedex/responses/failed_authentication.xml +7 -0
  49. data/spec/fedex/responses/malformed.xml +8 -0
  50. data/spec/fedex/responses/rate_defaults.xml +7 -0
  51. data/spec/fedex/responses/rate_insurance.xml +9 -0
  52. data/spec/fedex/responses/rate_no_services.xml +7 -0
  53. data/spec/fedex/responses/rate_non_custom_packaging.xml +7 -0
  54. data/spec/fedex/responses/ship_defaults.xml +7 -0
  55. data/spec/fedex/responses/ship_with_no_signature.xml +7 -0
  56. data/spec/fedex/responses/signature_defaults.xml +7 -0
  57. data/spec/fedex/responses/track_defaults.xml +7 -0
  58. data/spec/fedex/responses/unexpected.xml +1 -0
  59. data/spec/fedex/service_spec.rb +19 -0
  60. data/spec/fedex/ship_spec.rb +37 -0
  61. data/spec/fedex/signature_spec.rb +11 -0
  62. data/spec/fedex/spec_helper.rb +84 -0
  63. data/spec/fedex/track_spec.rb +37 -0
  64. data/spec/fedex_spec.rb +16 -0
  65. data/spec/lib/interceptor.rb +17 -0
  66. data/spec/proxy_spec.rb +42 -0
  67. data/spec/service_spec.rb +23 -0
  68. data/spec/spec_helper.rb +12 -0
  69. data/spec/ups/responses/blank.xml +0 -0
  70. data/spec/ups/responses/track_defaults.xml +2 -0
  71. data/spec/ups/spec_helper.rb +43 -0
  72. data/spec/ups_spec.rb +16 -0
  73. data/spec/validation_spec.rb +49 -0
  74. metadata +163 -0
@@ -0,0 +1,49 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+
3
+ describe "Service Validation" do
4
+ before(:all) do
5
+ class ::ServiceWithValidation
6
+ include Shippinglogic::Validation
7
+ end
8
+ end
9
+
10
+ after(:all) do
11
+ Object.send(:remove_const, :ServiceWithValidation)
12
+ end
13
+
14
+ it "should provide an empty errors array" do
15
+ service = ServiceWithValidation.new
16
+ service.errors.should == []
17
+ end
18
+
19
+ context "when calling the valid? method" do
20
+ it "should call the target method" do
21
+ service = ServiceWithValidation.new
22
+ service.should_receive(:target)
23
+ service.valid?
24
+ end
25
+
26
+ it "should return true if no errors are encountered" do
27
+ service = ServiceWithValidation.new
28
+ service.stub!(:target).and_return(nil)
29
+ service.valid?.should == true
30
+ end
31
+
32
+ it "should not append any error messages if no errors are encountered" do
33
+ service = ServiceWithValidation.new
34
+ service.stub!(:target).and_return(nil)
35
+ service.valid?
36
+ service.errors.size.should == 0
37
+ end
38
+
39
+ it "should rescue and append any Shippinglogic::Error messages" do
40
+ service = ServiceWithValidation.new
41
+ error = Shippinglogic::Error.new("", "")
42
+ error.add_error("ERROR")
43
+ service.stub!(:target).and_return{ raise error }
44
+ service.valid?.should_not raise_error(error.class)
45
+ service.errors.size.should == 1
46
+ service.errors.first.should == "ERROR"
47
+ end
48
+ end
49
+ end
metadata ADDED
@@ -0,0 +1,163 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: shippinglogic
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.2.3
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Ben Johnson of Binary Logic
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-04-20 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rspec
16
+ requirement: &70270589606660 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :development
23
+ prerelease: false
24
+ version_requirements: *70270589606660
25
+ - !ruby/object:Gem::Dependency
26
+ name: fakeweb
27
+ requirement: &70270589605060 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :development
34
+ prerelease: false
35
+ version_requirements: *70270589605060
36
+ - !ruby/object:Gem::Dependency
37
+ name: httparty
38
+ requirement: &70270589620640 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: 0.4.4
44
+ type: :runtime
45
+ prerelease: false
46
+ version_requirements: *70270589620640
47
+ - !ruby/object:Gem::Dependency
48
+ name: builder
49
+ requirement: &70270589618480 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: 2.1.2
55
+ type: :runtime
56
+ prerelease: false
57
+ version_requirements: *70270589618480
58
+ description: Easily use FedEx, UPS, USPS web services with an elegant and simple syntax.
59
+ email: bjohnson@binarylogic.com
60
+ executables: []
61
+ extensions: []
62
+ extra_rdoc_files:
63
+ - LICENSE
64
+ - README.rdoc
65
+ files:
66
+ - .document
67
+ - CHANGELOG.rdoc
68
+ - LICENSE
69
+ - README.rdoc
70
+ - Rakefile
71
+ - VERSION.yml
72
+ - init.rb
73
+ - lib/shippinglogic.rb
74
+ - lib/shippinglogic/attributes.rb
75
+ - lib/shippinglogic/error.rb
76
+ - lib/shippinglogic/fedex.rb
77
+ - lib/shippinglogic/fedex/cancel.rb
78
+ - lib/shippinglogic/fedex/enumerations.rb
79
+ - lib/shippinglogic/fedex/error.rb
80
+ - lib/shippinglogic/fedex/rate.rb
81
+ - lib/shippinglogic/fedex/request.rb
82
+ - lib/shippinglogic/fedex/response.rb
83
+ - lib/shippinglogic/fedex/service.rb
84
+ - lib/shippinglogic/fedex/ship.rb
85
+ - lib/shippinglogic/fedex/signature.rb
86
+ - lib/shippinglogic/fedex/track.rb
87
+ - lib/shippinglogic/proxy.rb
88
+ - lib/shippinglogic/service.rb
89
+ - lib/shippinglogic/ups.rb
90
+ - lib/shippinglogic/ups/cancel.rb
91
+ - lib/shippinglogic/ups/enumerations.rb
92
+ - lib/shippinglogic/ups/error.rb
93
+ - lib/shippinglogic/ups/label.rb
94
+ - lib/shippinglogic/ups/rate.rb
95
+ - lib/shippinglogic/ups/request.rb
96
+ - lib/shippinglogic/ups/response.rb
97
+ - lib/shippinglogic/ups/service.rb
98
+ - lib/shippinglogic/ups/ship_accept.rb
99
+ - lib/shippinglogic/ups/ship_confirm.rb
100
+ - lib/shippinglogic/ups/track.rb
101
+ - lib/shippinglogic/validation.rb
102
+ - shippinglogic.gemspec
103
+ - spec/attributes_spec.rb
104
+ - spec/config/fedex_credentials.example.yml
105
+ - spec/config/ups_credentials.example.yml
106
+ - spec/error_spec.rb
107
+ - spec/fedex/cancel_spec.rb
108
+ - spec/fedex/error_spec.rb
109
+ - spec/fedex/rate_spec.rb
110
+ - spec/fedex/request_spec.rb
111
+ - spec/fedex/responses/blank.xml
112
+ - spec/fedex/responses/cancel_not_found.xml
113
+ - spec/fedex/responses/failed_authentication.xml
114
+ - spec/fedex/responses/malformed.xml
115
+ - spec/fedex/responses/rate_defaults.xml
116
+ - spec/fedex/responses/rate_insurance.xml
117
+ - spec/fedex/responses/rate_no_services.xml
118
+ - spec/fedex/responses/rate_non_custom_packaging.xml
119
+ - spec/fedex/responses/ship_defaults.xml
120
+ - spec/fedex/responses/ship_with_no_signature.xml
121
+ - spec/fedex/responses/signature_defaults.xml
122
+ - spec/fedex/responses/track_defaults.xml
123
+ - spec/fedex/responses/unexpected.xml
124
+ - spec/fedex/service_spec.rb
125
+ - spec/fedex/ship_spec.rb
126
+ - spec/fedex/signature_spec.rb
127
+ - spec/fedex/spec_helper.rb
128
+ - spec/fedex/track_spec.rb
129
+ - spec/fedex_spec.rb
130
+ - spec/lib/interceptor.rb
131
+ - spec/proxy_spec.rb
132
+ - spec/service_spec.rb
133
+ - spec/spec_helper.rb
134
+ - spec/ups/responses/blank.xml
135
+ - spec/ups/responses/track_defaults.xml
136
+ - spec/ups/spec_helper.rb
137
+ - spec/ups_spec.rb
138
+ - spec/validation_spec.rb
139
+ homepage: http://github.com/binarylogic/shippinglogic
140
+ licenses: []
141
+ post_install_message:
142
+ rdoc_options: []
143
+ require_paths:
144
+ - lib
145
+ required_ruby_version: !ruby/object:Gem::Requirement
146
+ none: false
147
+ requirements:
148
+ - - ! '>='
149
+ - !ruby/object:Gem::Version
150
+ version: '0'
151
+ required_rubygems_version: !ruby/object:Gem::Requirement
152
+ none: false
153
+ requirements:
154
+ - - ! '>='
155
+ - !ruby/object:Gem::Version
156
+ version: '0'
157
+ requirements: []
158
+ rubyforge_project:
159
+ rubygems_version: 1.8.17
160
+ signing_key:
161
+ specification_version: 3
162
+ summary: A simple and clean library to interface with shipping carriers
163
+ test_files: []