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 +4 -4
- data/README.markdown +51 -42
- data/lib/omniship/address.rb +2 -2
- data/lib/omniship/carrier.rb +13 -13
- data/lib/omniship/carriers/fedex.rb +32 -16
- data/lib/omniship/carriers/ups.rb +11 -9
- data/lib/omniship/rate_estimate.rb +9 -8
- data/lib/omniship/version.rb +1 -1
- metadata +57 -57
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a8f62b80af3d9fdf1b1af4981f2febaa4353ada0
|
4
|
+
data.tar.gz: dbdf9dcb452ed711814cba5bb7098146900c895d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 485e21ba04c04e67e39e968886d5662f55c9e51cece0730d93dd6f7fc5e6ca31f5786fee61cbcdcb5cded36dfec6daf120c33d837254218da83da23dfeb6c5bf
|
7
|
+
data.tar.gz: f8eb55d6f93c8f739ba606bb4672cad1898a614e767af7d57729e5998480cea54663176ffdd15052eb8743ed8bea8822dff27822197fbefd540785ce6b19081b
|
data/README.markdown
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
[](http://badge.fury.io/rb/omniship) [](https://codeclimate.com/github/Digi-Cazter/omniship)
|
1
|
+
[](http://badge.fury.io/rb/omniship) [](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
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
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
|
data/lib/omniship/address.rb
CHANGED
@@ -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?(
|
28
|
+
@country = (options[:country].nil? or options[:country].is_a?(ActiveUtils::Country)) ?
|
29
29
|
options[:country] :
|
30
|
-
|
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]
|
data/lib/omniship/carrier.rb
CHANGED
@@ -1,14 +1,14 @@
|
|
1
|
-
module Omniship
|
1
|
+
module Omniship
|
2
2
|
class Carrier
|
3
|
-
|
4
|
-
include
|
5
|
-
include
|
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
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
|
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
|
-
|
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,
|
15
|
-
@origin, @destination, @carrier
|
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 =
|
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
|
data/lib/omniship/version.rb
CHANGED
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.
|
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:
|
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
|
-
-
|
148
|
-
-
|
149
|
-
-
|
150
|
-
- lib/
|
151
|
-
- lib/
|
152
|
-
- lib/
|
153
|
-
- lib/
|
154
|
-
- lib/
|
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/
|
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/
|
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/
|
185
|
-
- lib/omniship.rb
|
186
|
-
-
|
187
|
-
-
|
188
|
-
-
|
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.
|
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.
|