trackerific 0.6.0 → 0.6.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/README.rdoc CHANGED
@@ -125,50 +125,7 @@ or for a Rails application:
125
125
 
126
126
  == Writing a Custom Service
127
127
 
128
- Here is a spec for writing a custom trackerific service:
129
-
130
- describe Trackerific::CustomService do
131
- specify("it should descend from Trackerific::Service") {
132
- Trackerific::CustomService.superclass.should be Trackerific::Service
133
- }
134
- describe :track_package do
135
- before do
136
- @valid_package_id = 'valid package id'
137
- @invalid_package_id = 'invalid package id'
138
- @service = Trackerific::CustomService.new :required => 'option'
139
- end
140
- context "with a successful response from the server" do
141
- before(:each) do
142
- @tracking = @service.track_package(@valid_package_id)
143
- end
144
- subject { @tracking }
145
- it("should return a Trackerific::Details") { should be_a Trackerific::Details }
146
- describe :summary do
147
- subject { @tracking.summary }
148
- it { should_not be_empty }
149
- end
150
- end
151
- context "with an error response from the server" do
152
- specify { lambda { @service.track_package(@invalid_package_id) }.should raise_error(Trackerific::Error) }
153
- end
154
- end
155
- describe :required_options do
156
- subject { Trackerific::CustomService.required_options }
157
- it { should include(:required) }
158
- end
159
- describe :valid_options do
160
- it "should include required_options" do
161
- valid = Trackerific::CustomService.valid_options
162
- Trackerific::CustomService.required_options.each do |opt|
163
- valid.should include opt
164
- end
165
- end
166
- end
167
- describe :package_id_matchers do
168
- subject { Trackerific::CustomService.package_id_matchers }
169
- it("should be an Array of Regexp") { should each { |m| m.should be_a Regexp } }
170
- end
171
- end
128
+ See the examples folder for an example of a custom service.
172
129
 
173
130
  === Testing with Trackerific
174
131
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.6.0
1
+ 0.6.1
@@ -0,0 +1,44 @@
1
+ require 'spec_helper'
2
+
3
+ describe Trackerific::CustomService do
4
+ specify("it should descend from Trackerific::Service") {
5
+ Trackerific::CustomService.superclass.should be Trackerific::Service
6
+ }
7
+ describe :track_package do
8
+ before do
9
+ @valid_package_id = 'valid package id'
10
+ @invalid_package_id = 'invalid package id'
11
+ @service = Trackerific::CustomService.new :required => 'option'
12
+ end
13
+ context "with a successful response from the server" do
14
+ before(:each) do
15
+ @tracking = @service.track_package(@valid_package_id)
16
+ end
17
+ subject { @tracking }
18
+ it("should return a Trackerific::Details") { should be_a Trackerific::Details }
19
+ describe :summary do
20
+ subject { @tracking.summary }
21
+ it { should_not be_empty }
22
+ end
23
+ end
24
+ context "with an error response from the server" do
25
+ specify { lambda { @service.track_package(@invalid_package_id) }.should raise_error(Trackerific::Error) }
26
+ end
27
+ end
28
+ describe :required_options do
29
+ subject { Trackerific::CustomService.required_options }
30
+ it { should include(:required) }
31
+ end
32
+ describe :valid_options do
33
+ it "should include required_options" do
34
+ valid = Trackerific::CustomService.valid_options
35
+ Trackerific::CustomService.required_options.each do |opt|
36
+ valid.should include opt
37
+ end
38
+ end
39
+ end
40
+ describe :package_id_matchers do
41
+ subject { Trackerific::CustomService.package_id_matchers }
42
+ it("should be an Array of Regexp") { should each { |m| m.should be_a Regexp } }
43
+ end
44
+ end
@@ -19,7 +19,8 @@ module Trackerific
19
19
  # Only accept Hashes
20
20
  raise ArgumentError unless args[0].class == Hash
21
21
  # Validate configuration values against the required parameters for that service
22
- validate_options args[0], Trackerific.service_get(sym).required_parameters
22
+ service = Trackerific.service_get(sym)
23
+ validate_options args[0], service.required_parameters, service.valid_options
23
24
  # Store the configuration options
24
25
  @options[sym] = args[0]
25
26
  end
@@ -104,7 +104,7 @@ module Trackerific
104
104
  )
105
105
  end
106
106
 
107
- # Gets the city/state of a zipcode
107
+ # Gets the city/state of a zipcode - requires access to USPS address APIs
108
108
  # @param [String] zipcode The zipcode to find the city/state for
109
109
  # @return [Hash] { zip: 'the zipcode, 'city: "the city", state: "the state" }
110
110
  # @example Lookup zipcode for Beverly Hills, CA
data/trackerific.gemspec CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{trackerific}
8
- s.version = "0.6.0"
8
+ s.version = "0.6.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Travis Haynes"]
@@ -25,6 +25,7 @@ Gem::Specification.new do |s|
25
25
  "Rakefile",
26
26
  "VERSION",
27
27
  "changelog",
28
+ "examples/custom_service_spec.rb",
28
29
  "lib/helpers/options_helper.rb",
29
30
  "lib/trackerific.rb",
30
31
  "lib/trackerific/configuration.rb",
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 6
8
- - 0
9
- version: 0.6.0
8
+ - 1
9
+ version: 0.6.1
10
10
  platform: ruby
11
11
  authors:
12
12
  - Travis Haynes
@@ -170,6 +170,7 @@ files:
170
170
  - Rakefile
171
171
  - VERSION
172
172
  - changelog
173
+ - examples/custom_service_spec.rb
173
174
  - lib/helpers/options_helper.rb
174
175
  - lib/trackerific.rb
175
176
  - lib/trackerific/configuration.rb
@@ -217,7 +218,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
217
218
  requirements:
218
219
  - - ">="
219
220
  - !ruby/object:Gem::Version
220
- hash: -4113113106742539098
221
+ hash: -56606041559702296
221
222
  segments:
222
223
  - 0
223
224
  version: "0"