omniship 0.4.0 → 0.4.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d9f5ce46f050f67d8b750e29ae85c457dc30bde0
4
- data.tar.gz: fedf5e0c3e0408636c1ba156781eb9088df4f3ea
3
+ metadata.gz: a8f62b80af3d9fdf1b1af4981f2febaa4353ada0
4
+ data.tar.gz: dbdf9dcb452ed711814cba5bb7098146900c895d
5
5
  SHA512:
6
- metadata.gz: 473d38ea1ef885e530317a3b68ae013d0717406dd176ee8bca0e9ff2abfcfbc45780c211da29a62567ac2c462a8290ea6c5e9ff34de8eadc247bcdf27650b068
7
- data.tar.gz: 999466fd9b82fb309c5327af767df136a364066b2a64c7755abb99f440d9535d31a156772fcb1844ee800bad661d41837ad5cc0abdd1de3ee4a61bafed925631
6
+ metadata.gz: 485e21ba04c04e67e39e968886d5662f55c9e51cece0730d93dd6f7fc5e6ca31f5786fee61cbcdcb5cded36dfec6daf120c33d837254218da83da23dfeb6c5bf
7
+ data.tar.gz: f8eb55d6f93c8f739ba606bb4672cad1898a614e767af7d57729e5998480cea54663176ffdd15052eb8743ed8bea8822dff27822197fbefd540785ce6b19081b
data/README.markdown CHANGED
@@ -1,6 +1,6 @@
1
- [![Gem Version](https://badge.fury.io/rb/omniship.png)](http://badge.fury.io/rb/omniship) [![Code Climate](https://codeclimate.com/github/Digi-Cazter/omniship.png)](https://codeclimate.com/github/Digi-Cazter/omniship)
1
+ [![Gem Version](https://badge.fury.io/rb/omniship.png)](http://badge.fury.io/rb/omniship) [![Code Climate](https://codeclimate.com/github/Digi-Cazter/omniship.png)](https://codeclimate.com/github/Digi-Cazter/omniship)
2
2
 
3
- # Omniship
3
+ # Omniship
4
4
 
5
5
  This gem is under active development, I'm only in the Alpha stage right now, so keep checking back for updates.
6
6
 
@@ -9,53 +9,62 @@ This library has been created to make web requests to common shipping carriers u
9
9
  ## Supported Shipping Carriers
10
10
 
11
11
  * [UPS](http://www.ups.com)
12
+ - Create Shipment
13
+ - Void Shipment
14
+ - Get Rates
15
+ - Validate Address
16
+ - Validate Address with Street
17
+ * [FedEx](http://www.fedex.com) (These listed features work, but still need more options added)
18
+ - Create Shipment
19
+ - Void Shipment
20
+ - Get Rates
21
+ - Shipment Tracking
12
22
  * [USPS](http://www.usps.com) COMING SOON!
13
- * [FedEx](http://www.fedex.com) COMING SOON!
14
23
 
15
24
  ## Simple example snippets
16
25
  ### UPS Code Example ###
17
26
  To run in test mode during development, pass :test => true as an option
18
27
  into create_shipment and accept_shipment.
19
28
 
20
- def create_shipment
21
- # If you have created the omniship.yml config file
22
- @config = OMNISHIP_CONFIG[Rails.env]['ups']
23
- shipment = create_ups_shipment
24
- end
25
-
26
- def create_ups_shipment
27
- # If using the yml config
28
- ups = Omniship::UPS.new
29
- # Else just pass in the credentials
30
- ups = Omniship::UPS.new(:login => @user, :password => @password, :key => @key)
31
- send_options = {}
32
- send_options[:origin_account] = @config["account"] # Or just put the shipper account here
33
- send_options[:service] = "03"
34
- response = ups.create_shipment(origin, destination, package, options = send_options)
35
- return ups.accept_shipment(response)
36
- end
37
-
38
- def origin
39
- address = {}
40
- address[:name] = "My House"
41
- address[:address1] = "555 Diagonal"
42
- address[:city] = "Saint George"
43
- address[:state] = "UT"
44
- address[:zip] = "84770"
45
- address[:country] = "USA"
46
- return Omniship::Address.new(address)
47
- end
48
-
49
- def destination
50
- address = {}
51
- address[:company_name] = "Wal-Mart"
52
- address[:address1] = "555 Diagonal"
53
- address[:city] = "Saint George"
54
- address[:state] = "UT"
55
- address[:zip] = "84770"
56
- address[:country] = "USA"
57
- return Omniship::Address.new(address)
58
- end
29
+ def create_shipment
30
+ # If you have created the omniship.yml config file
31
+ @config = OMNISHIP_CONFIG[Rails.env]['ups']
32
+ shipment = create_ups_shipment
33
+ end
34
+
35
+ def create_ups_shipment
36
+ # If using the yml config
37
+ ups = Omniship::UPS.new
38
+ # Else just pass in the credentials
39
+ ups = Omniship::UPS.new(:login => @user, :password => @password, :key => @key)
40
+ send_options = {}
41
+ send_options[:origin_account] = @config["account"] # Or just put the shipper account here
42
+ send_options[:service] = "03"
43
+ response = ups.create_shipment(origin, destination, package, options = send_options)
44
+ return ups.accept_shipment(response)
45
+ end
46
+
47
+ def origin
48
+ address = {}
49
+ address[:name] = "My House"
50
+ address[:address1] = "555 Diagonal"
51
+ address[:city] = "Saint George"
52
+ address[:state] = "UT"
53
+ address[:zip] = "84770"
54
+ address[:country] = "USA"
55
+ return Omniship::Address.new(address)
56
+ end
57
+
58
+ def destination
59
+ address = {}
60
+ address[:company_name] = "Wal-Mart"
61
+ address[:address1] = "555 Diagonal"
62
+ address[:city] = "Saint George"
63
+ address[:state] = "UT"
64
+ address[:zip] = "84770"
65
+ address[:country] = "USA"
66
+ return Omniship::Address.new(address)
67
+ end
59
68
 
60
69
  def packages
61
70
  # UPS can handle a single package or multiple packages
@@ -25,9 +25,9 @@ module Omniship #:nodoc:
25
25
  alias_method :company, :company_name
26
26
 
27
27
  def initialize(options = {})
28
- @country = (options[:country].nil? or options[:country].is_a?(ActiveMerchant::Country)) ?
28
+ @country = (options[:country].nil? or options[:country].is_a?(ActiveUtils::Country)) ?
29
29
  options[:country] :
30
- ActiveMerchant::Country.find(options[:country])
30
+ ActiveUtils::Country.find(options[:country])
31
31
  @postal_code = options[:postal_code] || options[:postal] || options[:zip]
32
32
  @province = options[:province] || options[:state] || options[:territory] || options[:region]
33
33
  @city = options[:city]
@@ -1,14 +1,14 @@
1
- module Omniship
1
+ module Omniship
2
2
  class Carrier
3
-
4
- include ActiveMerchant::RequiresParameters
5
- include ActiveMerchant::PostsData
3
+
4
+ include ActiveUtils::RequiresParameters
5
+ include ActiveUtils::PostsData
6
6
  include Quantified
7
-
7
+
8
8
  attr_reader :last_request
9
9
  attr_accessor :test_mode
10
10
  alias_method :test_mode?, :test_mode
11
-
11
+
12
12
  # Credentials should be in options hash under keys :login, :password and/or :key.
13
13
  def initialize(options = {})
14
14
  #requirements.each {|key| requires!(options, key)}
@@ -22,11 +22,11 @@ module Omniship
22
22
  def requirements
23
23
  []
24
24
  end
25
-
25
+
26
26
  # Override with whatever you need to get the rates
27
27
  def find_rates(origin, destination, packages, options = {})
28
28
  end
29
-
29
+
30
30
  # Validate credentials with a call to the API. By default this just does a find_rates call
31
31
  # with the orgin and destination both as the carrier's default_location. Override to provide
32
32
  # alternate functionality, such as checking for test_mode to use test servers, etc.
@@ -38,17 +38,17 @@ module Omniship
38
38
  else
39
39
  true
40
40
  end
41
-
41
+
42
42
  def maximum_weight
43
43
  Mass.new(150, :pounds)
44
44
  end
45
-
45
+
46
46
  protected
47
-
47
+
48
48
  def node_text_or_nil(xml_node)
49
49
  xml_node ? xml_node.text : nil
50
50
  end
51
-
51
+
52
52
  # Override in subclasses for non-U.S.-based carriers.
53
53
  def self.default_location
54
54
  Address.new( :country => 'US',
@@ -60,7 +60,7 @@ module Omniship
60
60
  :phone => '1-310-285-1013',
61
61
  :fax => '1-310-275-8159')
62
62
  end
63
-
63
+
64
64
  # Use after building the request to save for later inspection. Probably won't ever be overridden.
65
65
  def save_request(r)
66
66
  @last_request = r
@@ -138,6 +138,8 @@ module Omniship
138
138
  xml.Intermediate "0"
139
139
  xml.Minor "0"
140
140
  }
141
+ xml.ReturnTransitAndCommit options[:return_transit_and_commit] || false
142
+ xml.VariableOptions "SATURDAY_DELIVERY"
141
143
  xml.RequestedShipment {
142
144
  xml.ShipTimestamp options[:ship_date] || DateTime.now.strftime
143
145
  xml.DropoffType options[:dropoff_type] || 'REGULAR_PICKUP'
@@ -157,6 +159,14 @@ module Omniship
157
159
  xml.Units (imperial ? 'LB' : 'KG')
158
160
  xml.Value ((imperial ? pkg.weight : pkg.weight/2.2).to_f)
159
161
  }
162
+ xml.SpecialServicesRequested {
163
+ if options[:without_signature]
164
+ xml.SpecialServiceTypes "SIGNATURE_OPTION"
165
+ xml.SignatureOptionDetail {
166
+ xml.OptionType "NO_SIGNATURE_REQUIRED"
167
+ }
168
+ end
169
+ }
160
170
  # xml.Dimensions {
161
171
  # [:length, :width, :height].each do |axis|
162
172
  # name = axis.to_s.capitalize
@@ -213,6 +223,7 @@ module Omniship
213
223
  }
214
224
  end
215
225
  }
226
+ # TODO: Add options to change the label specifications
216
227
  xml.LabelSpecification {
217
228
  xml.LabelFormatType 'COMMON2D'
218
229
  xml.ImageType 'PDF'
@@ -227,6 +238,14 @@ module Omniship
227
238
  xml.Units (imperial ? 'LB' : 'KG')
228
239
  xml.Value ((imperial ? pkg.weight : pkg.weight/2.2).to_f)
229
240
  }
241
+ xml.SpecialServicesRequested {
242
+ if options[:without_signature]
243
+ xml.SpecialServiceTypes "SIGNATURE_OPTION"
244
+ xml.SignatureOptionDetail {
245
+ xml.OptionType "NO_SIGNATURE_REQUIRED"
246
+ }
247
+ end
248
+ }
230
249
  # xml.Dimensions {
231
250
  # [:length, :width, :height].each do |axis|
232
251
  # name = axis.to_s.capitalize
@@ -356,28 +375,24 @@ module Omniship
356
375
  end
357
376
 
358
377
  def parse_rate_response(origin, destination, packages, response, options)
378
+ xml = Nokogiri::XML(response).remove_namespaces!
379
+ puts xml
359
380
  rate_estimates = []
360
381
  success, message = nil
361
382
 
362
- xml = Nokogiri::XML(response).remove_namespaces!
363
-
364
383
  success = response_success?(xml)
365
384
  message = response_message(xml)
366
385
 
367
-
368
- service_code = xml.xpath('//ServiceType').text == options[:service_type]
369
- is_saturday_delivery = xml.xpath('//AppliedOptions').text == 'SATURDAY_DELIVERY'
370
- service_type = is_saturday_delivery ? "#{service_code}_SATURDAY_DELIVERY" : service_code
371
-
372
- currency = handle_uk_currency(xml.xpath('//RatedShipmentDetails/ShipmentRateDetail/TotalNetCharge/Currency').text)
373
- rate_estimates << RateEstimate.new(origin, destination, @@name,
374
- self.class.service_name_for_code(service_type),
375
- :service_code => service_code,
376
- :total_price => xml.xpath('//RatedShipmentDetails/ShipmentRateDetail/TotalNetCharge/Amount').text.to_f,
377
- :currency => currency,
378
- :packages => packages,
379
- :delivery_range => [xml.xpath('//DeliveryTimestamp').text] * 2)
380
-
386
+ xml.xpath('//RateReplyDetails').each do |rate|
387
+ rate_estimates << RateEstimate.new(origin, destination, @@name,
388
+ :service_code => rate.xpath('ServiceType').text,
389
+ :service_name => rate.xpath('AppliedOptions').text == "SATURDAY_DELIVERY" ? "#{self.class.service_name_for_code(rate.xpath('ServiceType').text + '_SATURDAY_DELIVERY')}".upcase : self.class.service_name_for_code(rate.xpath('ServiceType').text),
390
+ :total_price => rate.xpath('RatedShipmentDetails').first.xpath('ShipmentRateDetail/TotalNetCharge/Amount').text.to_f,
391
+ :currency => handle_uk_currency(rate.xpath('RatedShipmentDetails').first.xpath('ShipmentRateDetail/TotalNetCharge/Currency').text),
392
+ :packages => packages,
393
+ :delivery_date => rate.xpath('ServiceType').text == "FEDEX_GROUND" ? rate.xpath('TransitTime').text : rate.xpath('DeliveryTimestamp').text
394
+ )
395
+ end
381
396
 
382
397
  if rate_estimates.empty?
383
398
  success = false
@@ -389,6 +404,7 @@ module Omniship
389
404
 
390
405
  def parse_ship_response(response, options)
391
406
  xml = Nokogiri::XML(response).remove_namespaces!
407
+ puts xml
392
408
  success = response_success?(xml)
393
409
  message = response_message(xml)
394
410
  label = nil
@@ -225,6 +225,14 @@ module Omniship
225
225
  }
226
226
  }
227
227
  }
228
+ if options[:return_service_code].present?
229
+ xml.ReturnService {
230
+ xml.Code options[:return_service_code]
231
+ # if options[:return_service_description].present?
232
+ # xml.Description options[:return_service_description]
233
+ # end
234
+ }
235
+ end
228
236
  xml.Service {
229
237
  xml.Code options[:service]
230
238
  }
@@ -236,14 +244,6 @@ module Omniship
236
244
  }
237
245
  end
238
246
  }
239
- if options[:return_service_code].present?
240
- xml.ReturnService {
241
- xml.Code options[:return_service_code]
242
- if options[:return_service_description].present?
243
- xml.Description options[:return_service_description]
244
- end
245
- }
246
- end
247
247
  packages.each do |package|
248
248
  imperial = ['US', 'LR', 'MM'].include?(origin.country_code(:alpha2))
249
249
  xml.Package {
@@ -504,7 +504,8 @@ module Omniship
504
504
  delivery_date = days_to_delivery >= 1 ? days_to_delivery.days.from_now.strftime("%Y-%m-%d") : nil
505
505
 
506
506
  rate_estimates << RateEstimate.new(origin, destination, @@name,
507
- service_name_for(origin, service_code),
507
+ :service_code => service_code,
508
+ :service_name => service_name_for(origin, service_code),
508
509
  :total_price => rated_shipment.xpath('TotalCharges/MonetaryValue').text.to_s.to_f,
509
510
  :currency => rated_shipment.xpath('TotalCharges/CurrencyCode').text.to_s,
510
511
  :service_code => service_code,
@@ -627,6 +628,7 @@ module Omniship
627
628
 
628
629
  def parse_ship_accept_response(response, options={})
629
630
  xml = Nokogiri::XML(response)
631
+ puts xml
630
632
  success = response_success?(xml)
631
633
  @response_text = {}
632
634
 
@@ -1,7 +1,7 @@
1
1
  module Omniship #:nodoc:
2
2
  class RateEstimate
3
3
  attr_reader :origin # Location objects
4
- attr_reader :destination
4
+ attr_reader :destination
5
5
  attr_reader :package_rates # array of hashes in the form of {:package => <Package>, :rate => 500}
6
6
  attr_reader :carrier # Carrier.name ('USPS', 'FedEx', etc.)
7
7
  attr_reader :service_name # name of service ("First Class Ground", etc.)
@@ -10,9 +10,10 @@ module Omniship #:nodoc:
10
10
  # http://en.wikipedia.org/wiki/ISO_4217
11
11
  attr_reader :delivery_date # Usually only available for express shipments
12
12
  attr_reader :delivery_range # Min and max delivery estimate in days
13
-
14
- def initialize(origin, destination, carrier, service_name, options={})
15
- @origin, @destination, @carrier, @service_name = origin, destination, carrier, service_name
13
+
14
+ def initialize(origin, destination, carrier, options={})
15
+ @origin, @destination, @carrier = origin, destination, carrier
16
+ @service_name = options[:service_name]
16
17
  @service_code = options[:service_code]
17
18
  if options[:package_rates]
18
19
  @package_rates = options[:package_rates].map {|p| p.update({:rate => Package.cents_from(p[:rate])}) }
@@ -22,7 +23,7 @@ module Omniship #:nodoc:
22
23
  @total_price = options[:total_price]
23
24
  @currency = options[:currency]
24
25
  @delivery_range = options[:delivery_range] ? options[:delivery_range].map { |date| date_for(date) }.compact : []
25
- @delivery_date = @delivery_range.last
26
+ @delivery_date = options[:delivery_date]
26
27
  end
27
28
 
28
29
  def total_price
@@ -33,18 +34,18 @@ module Omniship #:nodoc:
33
34
  end
34
35
  end
35
36
  alias_method :price, :total_price
36
-
37
+
37
38
  def add(package,rate=nil)
38
39
  cents = Package.cents_from(rate)
39
40
  raise ArgumentError.new("New packages must have valid rate information since this RateEstimate has no total_price set.") if cents.nil? and total_price.nil?
40
41
  @package_rates << {:package => package, :rate => cents}
41
42
  self
42
43
  end
43
-
44
+
44
45
  def packages
45
46
  package_rates.map {|p| p[:package]}
46
47
  end
47
-
48
+
48
49
  def package_count
49
50
  package_rates.length
50
51
  end
@@ -1,3 +1,3 @@
1
1
  module Omniship
2
- VERSION = "0.4.0"
2
+ VERSION = "0.4.1"
3
3
  end
metadata CHANGED
@@ -1,139 +1,139 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omniship
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Donavan White
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-01-27 00:00:00.000000000 Z
11
+ date: 2015-03-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: 2.3.5
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: 2.3.5
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: i18n
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: active_utils
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: 1.0.1
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: 1.0.1
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: builder
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '>='
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: nokogiri
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - '>='
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - '>='
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: rake
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - '>='
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - '>='
94
+ - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: mocha
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - '>='
101
+ - - ">="
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - '>='
108
+ - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: railties
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - '>='
115
+ - - ">="
116
116
  - !ruby/object:Gem::Version
117
117
  version: '0'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - '>='
122
+ - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: rails
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - '>='
129
+ - - ">="
130
130
  - !ruby/object:Gem::Version
131
131
  version: '0'
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - '>='
136
+ - - ">="
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
139
  description: Create shipments and get rates and tracking info from various shipping
@@ -144,48 +144,48 @@ executables: []
144
144
  extensions: []
145
145
  extra_rdoc_files: []
146
146
  files:
147
- - lib/rails/generators/omniship/setup/setup_generator.rb
148
- - lib/rails/generators/omniship/setup/templates/initializer.rb
149
- - lib/rails/generators/omniship/setup/templates/omniship.yml
150
- - lib/vendor/xml_node/README
151
- - lib/vendor/xml_node/benchmark/bench_generation.rb
152
- - lib/vendor/xml_node/test/test_parsing.rb
153
- - lib/vendor/xml_node/test/test_generating.rb
154
- - lib/vendor/xml_node/init.rb
155
- - lib/vendor/xml_node/lib/xml_node.rb
156
- - lib/vendor/xml_node/Rakefile
157
- - lib/vendor/quantified/test/mass_test.rb
158
- - lib/vendor/quantified/test/length_test.rb
159
- - lib/vendor/quantified/test/test_helper.rb
160
- - lib/vendor/quantified/README.markdown
161
- - lib/vendor/quantified/init.rb
162
- - lib/vendor/quantified/lib/quantified.rb
163
- - lib/vendor/quantified/lib/quantified/length.rb
164
- - lib/vendor/quantified/lib/quantified/mass.rb
165
- - lib/vendor/quantified/lib/quantified/attribute.rb
166
- - lib/vendor/quantified/Rakefile
167
- - lib/vendor/quantified/MIT-LICENSE
168
- - lib/omniship/response.rb
169
- - lib/omniship/carriers/usps.rb
147
+ - CHANGELOG
148
+ - MIT-LICENSE
149
+ - README.markdown
150
+ - lib/omniship.rb
151
+ - lib/omniship/address.rb
152
+ - lib/omniship/base.rb
153
+ - lib/omniship/carrier.rb
154
+ - lib/omniship/carriers.rb
170
155
  - lib/omniship/carriers/fedex.rb
171
156
  - lib/omniship/carriers/ups.rb
172
- - lib/omniship/notification.rb
173
- - lib/omniship/rate_response.rb
157
+ - lib/omniship/carriers/usps.rb
174
158
  - lib/omniship/contact.rb
159
+ - lib/omniship/notification.rb
175
160
  - lib/omniship/package.rb
176
- - lib/omniship/carriers.rb
177
- - lib/omniship/address.rb
178
- - lib/omniship/tracking_response.rb
179
161
  - lib/omniship/rate_estimate.rb
180
- - lib/omniship/carrier.rb
162
+ - lib/omniship/rate_response.rb
163
+ - lib/omniship/response.rb
181
164
  - lib/omniship/ship_response.rb
182
165
  - lib/omniship/shipment_event.rb
166
+ - lib/omniship/tracking_response.rb
183
167
  - lib/omniship/version.rb
184
- - lib/omniship/base.rb
185
- - lib/omniship.rb
186
- - MIT-LICENSE
187
- - README.markdown
188
- - CHANGELOG
168
+ - lib/rails/generators/omniship/setup/setup_generator.rb
169
+ - lib/rails/generators/omniship/setup/templates/initializer.rb
170
+ - lib/rails/generators/omniship/setup/templates/omniship.yml
171
+ - lib/vendor/quantified/MIT-LICENSE
172
+ - lib/vendor/quantified/README.markdown
173
+ - lib/vendor/quantified/Rakefile
174
+ - lib/vendor/quantified/init.rb
175
+ - lib/vendor/quantified/lib/quantified.rb
176
+ - lib/vendor/quantified/lib/quantified/attribute.rb
177
+ - lib/vendor/quantified/lib/quantified/length.rb
178
+ - lib/vendor/quantified/lib/quantified/mass.rb
179
+ - lib/vendor/quantified/test/length_test.rb
180
+ - lib/vendor/quantified/test/mass_test.rb
181
+ - lib/vendor/quantified/test/test_helper.rb
182
+ - lib/vendor/xml_node/README
183
+ - lib/vendor/xml_node/Rakefile
184
+ - lib/vendor/xml_node/benchmark/bench_generation.rb
185
+ - lib/vendor/xml_node/init.rb
186
+ - lib/vendor/xml_node/lib/xml_node.rb
187
+ - lib/vendor/xml_node/test/test_generating.rb
188
+ - lib/vendor/xml_node/test/test_parsing.rb
189
189
  homepage: http://github.com/Digi-Cazter/omniship
190
190
  licenses:
191
191
  - MIT
@@ -196,17 +196,17 @@ require_paths:
196
196
  - lib
197
197
  required_ruby_version: !ruby/object:Gem::Requirement
198
198
  requirements:
199
- - - '>='
199
+ - - ">="
200
200
  - !ruby/object:Gem::Version
201
201
  version: '0'
202
202
  required_rubygems_version: !ruby/object:Gem::Requirement
203
203
  requirements:
204
- - - '>='
204
+ - - ">="
205
205
  - !ruby/object:Gem::Version
206
206
  version: 1.3.6
207
207
  requirements: []
208
208
  rubyforge_project:
209
- rubygems_version: 2.1.9
209
+ rubygems_version: 2.2.2
210
210
  signing_key:
211
211
  specification_version: 4
212
212
  summary: Shipping API for creating, tracking, and getting rates.