shippo 2.0.0 → 2.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +3 -3
- data/README.md +50 -67
- data/bin/example +48 -18
- data/lib/shippo/api/transformers/list.rb +8 -7
- data/lib/shippo/api/version.rb +1 -1
- data/lib/shippo/model/carrieraccount.rb +1 -0
- data/shippo.gemspec +2 -2
- metadata +13 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8d3b05de67775ac91487c358fc1b4e2fb18f99b3
|
4
|
+
data.tar.gz: 6723db701c6494c37d204995db345d12eb2a5a0b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 04b98b96d950bc69632b0440c7470cbd520badf6c999334dcdd8eb573bf1cbef64fb9b38b6a52f8a6762ddc8eb7dca759fc473a796b9e0c70ae878291f64028e
|
7
|
+
data.tar.gz: bea1fdeaf8273e28d418735e5573177135df28a3d6d1f00ac9704d090447de18685e08843108823cb2b0c04520d300e44727375e13382be1fe48b582315d9c30
|
data/.travis.yml
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
language: ruby
|
2
2
|
env:
|
3
|
-
- CODECLIMATE_REPO_TOKEN=
|
3
|
+
- CODECLIMATE_REPO_TOKEN=d00cb259c01f8d6719834225b572d22ba6ea87feec82f1e48bd10ba250e2c4b5
|
4
4
|
rvm:
|
5
|
-
- 2.2.
|
6
|
-
- 2.3.
|
5
|
+
- 2.2.5
|
6
|
+
- 2.3.1
|
7
7
|
script: "gem install bundler --no-ri --no-rdoc; bundle exec rspec"
|
8
8
|
notifications:
|
9
9
|
slack:
|
data/README.md
CHANGED
@@ -1,63 +1,20 @@
|
|
1
1
|
|
2
2
|
# Shippo API – Ruby Wrapper for Shippo API
|
3
3
|
|
4
|
-
[![Build Status](https://travis-ci.org/
|
5
|
-
[![Code Climate](https://codeclimate.com/github/
|
6
|
-
[![Test Coverage](https://codeclimate.com/github/
|
7
|
-
[![Issue Count](https://codeclimate.com/github/
|
4
|
+
[![Build Status](https://travis-ci.org/goshippo/shippo-ruby-client.svg?branch=master)](https://travis-ci.org/goshippo/shippo-ruby-client)
|
5
|
+
[![Code Climate](https://codeclimate.com/github/goshippo/shippo-ruby-client/badges/gpa.svg)](https://codeclimate.com/github/goshippo/shippo-ruby-client)
|
6
|
+
[![Test Coverage](https://codeclimate.com/github/goshippo/shippo-ruby-client/badges/coverage.svg?refresh=1)](https://codeclimate.com/github/goshippo/shippo-ruby-client/coverage)
|
7
|
+
[![Issue Count](https://codeclimate.com/github/goshippo/shippo-ruby-client/badges/issue_count.svg?refresh=1)](https://codeclimate.com/github/goshippo/shippo-ruby-client)
|
8
8
|
|
9
|
-
Shippo is a shipping API that connects you with multiple shipping carriers (such as USPS, UPS, DHL, Canada Post, Australia Post, UberRUSH and many
|
9
|
+
Shippo is a shipping API that connects you with [multiple shipping carriers](https://goshippo.com/carriers/) (such as USPS, UPS, DHL, Canada Post, Australia Post, UberRUSH and many others) through one interface.
|
10
10
|
|
11
|
-
|
11
|
+
Print a shipping label in 10 mins using our default USPS and DHL Express accounts. No need to register for a carrier account to get started.
|
12
12
|
|
13
|
-
|
14
|
-
|
15
|
-
For most major carriers (USPS, UPS, FedEx and most others) our API supports:
|
16
|
-
|
17
|
-
* Querying for shipping rates
|
18
|
-
* Creating and printing labels
|
19
|
-
* Tracking shipments
|
20
|
-
|
21
|
-
#### Additional Features for USPS
|
22
|
-
|
23
|
-
|
24
|
-
For USPS, the API additionally supports:
|
25
|
-
|
26
|
-
* US Address validation
|
27
|
-
* Scan forms
|
28
|
-
* Signature
|
29
|
-
* Certified mail
|
30
|
-
* Delivery confirmation
|
31
|
-
* etc.
|
32
|
-
|
33
|
-
#### FedEx
|
34
|
-
|
35
|
-
For FedEx, the API additionally supports:
|
36
|
-
|
37
|
-
* Signature and adult signature confirmation
|
38
|
-
* FedEx Smartpost
|
39
|
-
|
40
|
-
### UPS
|
41
|
-
|
42
|
-
For UPS, the API additionally supports:
|
43
|
-
|
44
|
-
* Signature and adult signature confirmation
|
45
|
-
* UPS Mail Innovations
|
46
|
-
* UPS SurePost
|
47
|
-
|
48
|
-
The complete list of carrier supported features is [here](https://goshippo.com/shipping-api/carriers).
|
49
|
-
|
50
|
-
### About Shippo
|
51
|
-
|
52
|
-
Connect with multiple different carriers, get discounted shipping labels, track parcels, and much more with just one integration. You can use your own carrier accounts or take advantage of our deeply discounted rates. Using Shippo makes it easy to deal with multiple carrier integrations, rate shopping, tracking and other parts of the shipping workflow. We provide the API and dashboard for all your shipping needs.
|
53
|
-
|
54
|
-
The API is free to use. You only pay when you print a live label from a carrier. Use test labels during development to avoid all fees.
|
55
|
-
|
56
|
-
You do need a Shippo account to use our API. Don't have an account? Sign up at [https://goshippo.com/](https://goshippo.com/).
|
13
|
+
You will need to [register for a Shippo account](https://goshippo.com/) to use the Shippo API. It's free to sign up, free to use the API. Only pay to print a live label, test labels are free.
|
57
14
|
|
58
15
|
## Installation
|
59
16
|
|
60
|
-
This library is distributed as a ruby gem, therefore
|
17
|
+
This library is distributed as a ruby gem, therefore you can install it via adding the following line to your `Gemfile`:
|
61
18
|
|
62
19
|
```
|
63
20
|
gem 'shippo'
|
@@ -75,11 +32,14 @@ Or you can install the gem using the `gem` command:
|
|
75
32
|
gem install shippo
|
76
33
|
```
|
77
34
|
|
78
|
-
## Usage
|
35
|
+
## Usage
|
36
|
+
|
37
|
+
> NOTE: examples below use the gem `awesome_print` to dump formatted objects and hashes to STDOUT. To be able to use the examples verbatum, please ensure you have this gem installed, or run: `gem install awesome_print --no-rdoc --no-ri`
|
79
38
|
|
39
|
+
Below we demonstrate the most basic usage of the library:
|
80
40
|
|
81
41
|
```ruby
|
82
|
-
require 'shippo
|
42
|
+
require 'shippo'
|
83
43
|
|
84
44
|
# Setup your API token
|
85
45
|
Shippo.api_key = 'aff988f77afa0fdfdfadf' # not an actual valid token
|
@@ -117,9 +77,9 @@ params = { object_purpose: 'PURCHASE',
|
|
117
77
|
distance_unit: :in,
|
118
78
|
weight: 2,
|
119
79
|
mass_unit: :lb }
|
120
|
-
}
|
80
|
+
}
|
121
81
|
|
122
|
-
# Make our API call
|
82
|
+
# Make our API call
|
123
83
|
@shipment = Shippo::Shipment.create(params)
|
124
84
|
@shipment.success?
|
125
85
|
# => true
|
@@ -131,7 +91,7 @@ params = { object_purpose: 'PURCHASE',
|
|
131
91
|
# => 'VALID'
|
132
92
|
```
|
133
93
|
|
134
|
-
Let's take a quick look at what the `
|
94
|
+
Let's take a quick look at what the `Shipment` object looks like:
|
135
95
|
|
136
96
|
```ruby
|
137
97
|
require 'awesome_print'
|
@@ -140,10 +100,9 @@ ap @shipment
|
|
140
100
|
# "carrier_accounts" => [],
|
141
101
|
# "address_from" => "a704eada7494bb1be6184ef64b1646db",
|
142
102
|
# "address_to" => "92b43fbfa3641644beb32996042eb57a",
|
103
|
+
# "address_return" => "a1f64ba14b7e41b86a0446de4ebbd769",
|
143
104
|
# "parcel" => "92df4baac73ea6131940c0d315d70a7d",
|
144
|
-
# "submission_type" => "DROPOFF",
|
145
105
|
# "submission_date" => "2016-07-06T20:33:02.211Z",
|
146
|
-
# "address_return" => "a1f64ba14b7e41b86a0446de4ebbd769",
|
147
106
|
# "return_of" => nil,
|
148
107
|
# "customs_declaration" => nil,
|
149
108
|
# "insurance_amount" => "0",
|
@@ -162,10 +121,10 @@ ap @shipment
|
|
162
121
|
In the case when the API returns a hash with one of the hash values being an array of entities, and if the corresponding key can be mapped into one of the existing API models, then each of the members of the array is coerced from a hash into an object of the model's type.
|
163
122
|
|
164
123
|
In the example below we are showing the result of such transformation where the `rates_list` contains a list of fully constructed objects of type `Shippo::Rate` after being coerced from a hash.
|
165
|
-
|
124
|
+
|
166
125
|
```ruby
|
167
126
|
ap @shipment.rates_list.first
|
168
|
-
# =>
|
127
|
+
# =>
|
169
128
|
# {
|
170
129
|
# "shipment" => "20f25e44b16b4051b6dd910cb66fd27b",
|
171
130
|
# "available_shippo" => true,
|
@@ -205,7 +164,7 @@ ap @shipment.rates_list.first
|
|
205
164
|
#### Resource ID and Other Object Fields
|
206
165
|
|
207
166
|
Shippo API returns several generalized fields for each valid resource, that being with 'object_' – for example, `object_id`, `object_owner`, etc. In this library we move these fields out of the main model, and into an instance of `Shippo::API::ApiObject`. However the fields can still be accessed on the main model via generated accessors.
|
208
|
-
|
167
|
+
|
209
168
|
Unfortunately Shippo API also returns `object_id`, which in Ruby has a special meaning: it's the pointer address of any object. Overwriting this field causes all sorts of issues.
|
210
169
|
|
211
170
|
For this reason we are mapping `object_id` to `resource_id`, as soon as the hash is passed in to initialize `ApiObject`.
|
@@ -249,9 +208,9 @@ ap @shipment.object
|
|
249
208
|
# }
|
250
209
|
```
|
251
210
|
|
252
|
-
#### Validation
|
211
|
+
#### Validation
|
253
212
|
|
254
|
-
In general this gem does not currently perform validation, *except* in the cases when enumerations are used. The gem automatically converts a response containing keys matching one of the known categories (such as `Shippo::API::Category::Status` and it's value into one of the constants, such as `SUCCESS`.
|
213
|
+
In general this gem does not currently perform validation, *except* in the cases when enumerations are used. The gem automatically converts a response containing keys matching one of the known categories (such as `Shippo::API::Category::Status` and it's value into one of the constants, such as `SUCCESS`.
|
255
214
|
|
256
215
|
### Using Provided Example File
|
257
216
|
|
@@ -264,11 +223,13 @@ export SHIPPO_TOKEN="<your token here>"
|
|
264
223
|
bin/example
|
265
224
|
```
|
266
225
|
|
226
|
+
NOTE: this environment variable is only used by the included `bin/example` script, and is not automatically used by the underlying client library.
|
227
|
+
|
267
228
|
## Gem Versioning Notes
|
268
229
|
|
269
|
-
Version 2 and up of this library works with Ruby 2.2 and later, and is not backwards compatible. __Version 1.0.4__ of this library is the last version
|
230
|
+
Version 2 and up of this library works with Ruby 2.2 and later, and is not backwards compatible. __Version 1.0.4__ of this library is the last version supporting ruby 1.8 and 1.9.
|
270
231
|
|
271
|
-
|
232
|
+
__Warning:__ Version 2 brings potential backwards incompatibility issues. Please be prepared to update your usages (if necessary) when you migrate.
|
272
233
|
|
273
234
|
### If you are still using Ruby 1.8 or 1.9
|
274
235
|
|
@@ -276,7 +237,7 @@ If you are still using an older version of Ruby, please make sure to use the las
|
|
276
237
|
|
277
238
|
## Documentation
|
278
239
|
|
279
|
-
Please see [https://goshippo.com/
|
240
|
+
Please see [https://goshippo.com/docs](https://goshippo.com/docs) for up-to-date documentation.
|
280
241
|
|
281
242
|
For Ruby class documentation, please run the following rake task:
|
282
243
|
|
@@ -285,4 +246,26 @@ bundle install
|
|
285
246
|
bundle exec rake doc:read # preview documentation in the browser
|
286
247
|
```
|
287
248
|
|
288
|
-
This task will generate documentation using [Yard](
|
249
|
+
This task will generate documentation using [Yard](http://yardoc.org/) and then open the browser with the generated index.html.
|
250
|
+
|
251
|
+
## About Shippo
|
252
|
+
|
253
|
+
Connect with multiple different carriers, get discounted shipping labels, track parcels, and much more with just one integration. You can use your own carrier accounts or take advantage of our discounted rates with the USPS and DHL Express. Using Shippo makes it easy to deal with multiple carrier integrations, rate shopping, tracking and other parts of the shipping workflow. We provide the API and dashboard for all your shipping needs.
|
254
|
+
|
255
|
+
## Supported Features
|
256
|
+
|
257
|
+
The Shippo API provides in depth support of carrier and shipping functionalities. Here are just some of the features we support through the API:
|
258
|
+
|
259
|
+
* Shipping rates & labels
|
260
|
+
* Tracking for any shipment with just the tracking number
|
261
|
+
* Batch label generation
|
262
|
+
* Multi-piece shipments
|
263
|
+
* Manifests and SCAN forms
|
264
|
+
* Customs declaration and commercial invoicing
|
265
|
+
* Address verification
|
266
|
+
* Signature and adult signature confirmation
|
267
|
+
* Consolidator support including:
|
268
|
+
* DHL eCommerce
|
269
|
+
* UPS Mail Innovations
|
270
|
+
* FedEx Smartpost
|
271
|
+
* Additional services: cash-on-delivery, certified mail, delivery confirmation, and more.
|
data/bin/example
CHANGED
@@ -4,24 +4,55 @@
|
|
4
4
|
#
|
5
5
|
# License: MIT
|
6
6
|
#
|
7
|
+
# This example demonstrates how to purchase a label for a domestic US shipment.
|
8
|
+
# Please set +SHIPPO_TOKEN+ in the environment before running it.
|
9
|
+
#
|
10
|
+
# You can also set +SHIPPO_DEBUG+ to see detailed printouts of objects returned.
|
11
|
+
#
|
12
|
+
#
|
13
|
+
|
7
14
|
lib = File.expand_path('../../lib', __FILE__)
|
8
15
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
9
16
|
|
10
17
|
require 'bundler/setup'
|
11
|
-
require 'shippo
|
18
|
+
require 'shippo'
|
12
19
|
require 'shippo/api/category'
|
13
20
|
require 'shippo/exceptions/api_error'
|
14
21
|
require 'colored2'
|
15
22
|
require 'awesome_print'
|
16
23
|
require 'json'
|
17
24
|
|
18
|
-
# This example demonstrates how to purchase a label for a domestic US shipment.
|
19
|
-
# Please set SHIPPO_TOKEN in the environment
|
20
25
|
Shippo::API.token = ENV['SHIPPO_TOKEN']
|
21
26
|
Shippo::API.debug = false # set to true for debugging output
|
22
27
|
|
28
|
+
# Simple wrapper class to help us print objects to the STDOUT
|
29
|
+
class ExampleHelper
|
30
|
+
def self.log_operation(msg)
|
31
|
+
printf '%s', msg.blue
|
32
|
+
result = yield
|
33
|
+
puts 'OK'.bold.green
|
34
|
+
result
|
35
|
+
rescue Exception => e
|
36
|
+
puts 'ERROR'.bold.red
|
37
|
+
raise(e)
|
38
|
+
end
|
39
|
+
|
40
|
+
def self.dump_object(instance, msg = nil)
|
41
|
+
return unless ENV['SHIPPO_DEBUG']
|
42
|
+
sep
|
43
|
+
puts "#{msg.upcase.bold.green}:" if msg
|
44
|
+
puts "\#<#{instance.class.inspect.bold.blue}:0x#{instance.object_id.to_s(16).bold.yellow}> ⇒ "
|
45
|
+
ap instance
|
46
|
+
sep
|
47
|
+
end
|
48
|
+
|
49
|
+
def self.sep
|
50
|
+
puts '—' * (ENV['COLUMNS'] || 80)
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
23
54
|
# Create address_from object
|
24
|
-
address_from
|
55
|
+
address_from = {
|
25
56
|
:object_purpose => 'PURCHASE',
|
26
57
|
:name => 'Mr Hippo',
|
27
58
|
:company => 'Shippo',
|
@@ -35,7 +66,7 @@ address_from = {
|
|
35
66
|
:email => 'support@goshippo.com' }
|
36
67
|
|
37
68
|
# Create address_to object
|
38
|
-
address_to
|
69
|
+
address_to = {
|
39
70
|
:object_purpose => 'PURCHASE',
|
40
71
|
:name => 'Mrs Hippo"',
|
41
72
|
:company => 'San Diego Zoo',
|
@@ -48,7 +79,7 @@ address_to = {
|
|
48
79
|
:email => 'hippo@goshippo.com' }
|
49
80
|
|
50
81
|
# Create parcel object
|
51
|
-
parcel
|
82
|
+
parcel = {
|
52
83
|
:length => 5,
|
53
84
|
:width => 2,
|
54
85
|
:height => 5,
|
@@ -61,10 +92,11 @@ hash = { :object_purpose => 'PURCHASE',
|
|
61
92
|
:address_to => address_to,
|
62
93
|
:parcel => parcel,
|
63
94
|
:async => false }
|
64
|
-
puts 'Making first API call for shipment rates...'.blue.bold
|
65
95
|
|
66
96
|
begin
|
67
|
-
shipment =
|
97
|
+
shipment = ExampleHelper.log_operation 'Making first API call for shipment rates... ' do
|
98
|
+
Shippo::Shipment.create(hash)
|
99
|
+
end
|
68
100
|
raise Shippo::Exceptions::UnsuccessfulResponseError.new(shipment.object.inspect) unless shipment.success?
|
69
101
|
File.open('example-shipment.json', 'w') do |file|
|
70
102
|
file.puts JSON.dump(shipment.to_hash)
|
@@ -90,23 +122,21 @@ end
|
|
90
122
|
# Get the desired rate according to your business logic
|
91
123
|
# We select the first rate in this example
|
92
124
|
rate = shipment.rates_list.first
|
93
|
-
|
94
|
-
ap(rate)
|
125
|
+
ExampleHelper.dump_object(rate, 'First rate returned')
|
95
126
|
|
96
|
-
|
127
|
+
transaction = ExampleHelper.log_operation 'Creating a label with the first rate in the list... ' do
|
128
|
+
# Purchase the desired rate (create a Transaction object)
|
129
|
+
Shippo::Transaction.create(rate: rate.id, async: false)
|
130
|
+
end
|
131
|
+
ExampleHelper.dump_object(transaction, 'Transaction object received')
|
97
132
|
|
98
|
-
# Purchase the desired rate (create a Transaction object)
|
99
|
-
transaction = Shippo::Transaction.create(rate: rate.id, async: false)
|
100
133
|
|
101
134
|
if transaction.success?
|
102
|
-
# noinspection RubyResolve
|
103
|
-
puts 'Transaction OK'.bold.green.underlined + "\n"
|
104
|
-
|
105
135
|
puts "Label URL : #{
|
106
|
-
|
136
|
+
# noinspection RubyResolve
|
107
137
|
transaction.label_url.bold.yellow }"
|
108
138
|
puts "Tracking NO : #{
|
109
|
-
|
139
|
+
# noinspection RubyResolve
|
110
140
|
transaction.tracking_number.to_s.bold.yellow}"
|
111
141
|
else
|
112
142
|
puts 'Transaction ERROR'.bold.red
|
@@ -2,17 +2,18 @@ require 'active_support/inflector'
|
|
2
2
|
module Shippo
|
3
3
|
module API
|
4
4
|
module Transformers
|
5
|
-
# List Transformer: if it finds a key
|
6
|
-
#
|
7
|
-
#
|
5
|
+
# List Transformer: if it finds a key mapped to an array, this transformer coerces each element
|
6
|
+
# into an appropriate model class – if available. As a result, return from, eg. +Shipment.create+
|
7
|
+
# will contain +rates+ key that will no longer be an array of hashes, but an array of +Shippo::Rate+
|
8
|
+
# instances.
|
8
9
|
class List
|
9
10
|
attr_accessor :h
|
10
11
|
|
11
|
-
#
|
12
|
-
#
|
13
|
-
# "shipments" or "rates_list" or "items".
|
12
|
+
# +MATCHERS+ contains a list of procs that are used to try, in order, to convert a key
|
13
|
+
# mapped to an array of hashes, into a word that represents an existing model.
|
14
14
|
#
|
15
|
-
#
|
15
|
+
# Each matcher receives a key as a parameter, and (if matches) it extracts the candidate word to be
|
16
|
+
# attempted to +constantize+. For example, +rates_list+ matcher will return +rates+ as output.
|
16
17
|
|
17
18
|
MATCHERS = [
|
18
19
|
->(key) {
|
data/lib/shippo/api/version.rb
CHANGED
data/shippo.gemspec
CHANGED
@@ -22,13 +22,13 @@ Gem::Specification.new do |spec|
|
|
22
22
|
spec.add_dependency 'hashie', '~> 3.4'
|
23
23
|
spec.add_dependency 'activesupport', '~> 4'
|
24
24
|
spec.add_dependency 'colored2'
|
25
|
-
spec.add_dependency 'require_dir'
|
25
|
+
spec.add_dependency 'require_dir', '~> 0.1'
|
26
|
+
spec.add_dependency 'awesome_print'
|
26
27
|
|
27
28
|
spec.add_development_dependency 'bundler'
|
28
29
|
spec.add_development_dependency 'rake'
|
29
30
|
spec.add_development_dependency 'guard'
|
30
31
|
spec.add_development_dependency 'guard-rspec'
|
31
32
|
spec.add_development_dependency 'yard'
|
32
|
-
spec.add_development_dependency 'awesome_print'
|
33
33
|
spec.add_development_dependency 'rspec', '~> 3.4'
|
34
34
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: shippo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Shippo & Contributors
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2016-
|
12
|
+
date: 2016-08-12 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rest-client
|
@@ -99,24 +99,24 @@ dependencies:
|
|
99
99
|
name: require_dir
|
100
100
|
requirement: !ruby/object:Gem::Requirement
|
101
101
|
requirements:
|
102
|
-
- - "
|
102
|
+
- - "~>"
|
103
103
|
- !ruby/object:Gem::Version
|
104
|
-
version: '0'
|
104
|
+
version: '0.1'
|
105
105
|
type: :runtime
|
106
106
|
prerelease: false
|
107
107
|
version_requirements: !ruby/object:Gem::Requirement
|
108
108
|
requirements:
|
109
|
-
- - "
|
109
|
+
- - "~>"
|
110
110
|
- !ruby/object:Gem::Version
|
111
|
-
version: '0'
|
111
|
+
version: '0.1'
|
112
112
|
- !ruby/object:Gem::Dependency
|
113
|
-
name:
|
113
|
+
name: awesome_print
|
114
114
|
requirement: !ruby/object:Gem::Requirement
|
115
115
|
requirements:
|
116
116
|
- - ">="
|
117
117
|
- !ruby/object:Gem::Version
|
118
118
|
version: '0'
|
119
|
-
type: :
|
119
|
+
type: :runtime
|
120
120
|
prerelease: false
|
121
121
|
version_requirements: !ruby/object:Gem::Requirement
|
122
122
|
requirements:
|
@@ -124,7 +124,7 @@ dependencies:
|
|
124
124
|
- !ruby/object:Gem::Version
|
125
125
|
version: '0'
|
126
126
|
- !ruby/object:Gem::Dependency
|
127
|
-
name:
|
127
|
+
name: bundler
|
128
128
|
requirement: !ruby/object:Gem::Requirement
|
129
129
|
requirements:
|
130
130
|
- - ">="
|
@@ -138,7 +138,7 @@ dependencies:
|
|
138
138
|
- !ruby/object:Gem::Version
|
139
139
|
version: '0'
|
140
140
|
- !ruby/object:Gem::Dependency
|
141
|
-
name:
|
141
|
+
name: rake
|
142
142
|
requirement: !ruby/object:Gem::Requirement
|
143
143
|
requirements:
|
144
144
|
- - ">="
|
@@ -152,7 +152,7 @@ dependencies:
|
|
152
152
|
- !ruby/object:Gem::Version
|
153
153
|
version: '0'
|
154
154
|
- !ruby/object:Gem::Dependency
|
155
|
-
name: guard
|
155
|
+
name: guard
|
156
156
|
requirement: !ruby/object:Gem::Requirement
|
157
157
|
requirements:
|
158
158
|
- - ">="
|
@@ -166,7 +166,7 @@ dependencies:
|
|
166
166
|
- !ruby/object:Gem::Version
|
167
167
|
version: '0'
|
168
168
|
- !ruby/object:Gem::Dependency
|
169
|
-
name:
|
169
|
+
name: guard-rspec
|
170
170
|
requirement: !ruby/object:Gem::Requirement
|
171
171
|
requirements:
|
172
172
|
- - ">="
|
@@ -180,7 +180,7 @@ dependencies:
|
|
180
180
|
- !ruby/object:Gem::Version
|
181
181
|
version: '0'
|
182
182
|
- !ruby/object:Gem::Dependency
|
183
|
-
name:
|
183
|
+
name: yard
|
184
184
|
requirement: !ruby/object:Gem::Requirement
|
185
185
|
requirements:
|
186
186
|
- - ">="
|