shippo 2.0.2 → 2.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e44e42bd3f8ae770ad2bc86450e743316b0a3c00
4
- data.tar.gz: f65f112e86664cfd0a31d3255f9bf1b7aff8b9ad
3
+ metadata.gz: 105c04ef4d6f5e4b072873aa6bb6f03efad91223
4
+ data.tar.gz: 8dbddd63351b6e198f23fa7aeedad433ac797d96
5
5
  SHA512:
6
- metadata.gz: 01cc016039998cc881abb0054ca5d365335705575b4536e90618368f36d9c669078adf4b28b4dd2a040597ab296b08c9b0555a0bcd9b36fc85239c4308262547
7
- data.tar.gz: 3cb75534c1c959a222171c75d184757e07e9b90deecc730493ab4571bf2d93adf5f89b777e5612b3c6e69dfce0a1031a1cfa5ff0b8cbccf564897c4a66b35670
6
+ metadata.gz: 3a9b9fb339fd6138f6c9d6c62e003d8e1cd3aaf885ca3626bc7936aa5066784fbdfa6a3233ef84f0b04407144811f7b0da550adec95fbf570473625f8f32580e
7
+ data.tar.gz: 8bf08f6931dd898d0e8516470cb2d8abade37614a425bc782b19132c57cb883844255180443d24cc88631a4239dcd1d4e9f0b7e926e669532280d5ac8ac65e99
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ #### 2.0.3 release, Oct 3rd 2016
2
+
3
+ * Handled RestClient::BadRequest to show response content
4
+
1
5
  #### 2.0.2 release, Aug 17th 2016
2
6
 
3
7
  * Removed gem dependency `colored2` as directly decorating object and string was causing Rals Rack to throw errors when users uploaded large files.
data/README.md CHANGED
@@ -10,7 +10,7 @@ Shippo is a shipping API that connects you with [multiple shipping carriers](htt
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
- 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.
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.
14
14
 
15
15
  ## Installation
16
16
 
@@ -161,6 +161,22 @@ ap @shipment.rates_list.first
161
161
  # ⤷ Shippo::Rate
162
162
  ```
163
163
 
164
+ #### List Endpoints
165
+
166
+ You can retrieve a list of objects for many endpoints (e.g. Transactions, Shipments). The API will return a paginated list of objects, usually sorted by creation date. Retrieving a list of your last Transactions can be done as follows, for instance:
167
+
168
+ ```ruby
169
+ @transactions = Shippo::Transaction.all()
170
+ @transactions
171
+ # =>
172
+ # {
173
+ # "count" => 3055,
174
+ # "next" => "https://api.goshippo.com/v1/transactions/?page=2",
175
+ # "previous" => nil,
176
+ # "results" => [ ... list of Transaction objects ... ]
177
+ # }
178
+ ```
179
+
164
180
  #### Resource ID and Other Object Fields
165
181
 
166
182
  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.
@@ -229,7 +245,7 @@ NOTE: this environment variable is only used by the included `bin/example` scrip
229
245
 
230
246
  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.
231
247
 
232
- __Warning:__ Version 2 brings potential backwards incompatibility issues. Please be prepared to update your usages (if necessary) when you migrate.
248
+ __Warning:__ Version 2 brings potential backwards incompatibility issues. Please be prepared to update your usages (if necessary) when you migrate.
233
249
 
234
250
  ### If you are still using Ruby 1.8 or 1.9
235
251
 
@@ -46,4 +46,4 @@ module Shippo
46
46
  end
47
47
  end
48
48
 
49
- Shippo.dir('shippo/api/category')
49
+ Dir[File.dirname(__FILE__) + '/category/*.rb'].each {|file| require file }
@@ -5,4 +5,4 @@ module Shippo
5
5
  end
6
6
  end
7
7
 
8
- Shippo.dir('shippo/api/operations')
8
+ Dir[File.dirname(__FILE__) + '/operations/*.rb'].each {|file| require file }
@@ -58,9 +58,12 @@ module Shippo
58
58
  rescue ::RestClient::Unauthorized => e
59
59
  raise Shippo::Exceptions::AuthenticationError.new(e.message)
60
60
 
61
- rescue ::JSON::JSONError, ::JSON::ParserError, ::RestClient::BadRequest
61
+ rescue ::JSON::JSONError, ::JSON::ParserError
62
62
  raise Shippo::Exceptions::APIServerError.new('Unable to read data received back from the server', self)
63
63
 
64
+ rescue ::RestClient::BadRequest => e
65
+ raise Shippo::Exceptions::InvalidInputError.new(e.inspect)
66
+
64
67
  rescue ::RestClient::Exception => e
65
68
  raise Shippo::Exceptions::ConnectionError.new(connection_error_message(url, e))
66
69
 
@@ -1,5 +1,5 @@
1
1
  module Shippo
2
2
  module API
3
- VERSION = '2.0.2'
3
+ VERSION = '2.0.3'
4
4
  end
5
5
  end
data/lib/shippo/api.rb CHANGED
@@ -44,9 +44,7 @@ module Shippo
44
44
  end
45
45
  end
46
46
 
47
- Shippo.dir('shippo/api')
48
- Shippo.dir('shippo/api/transformers')
49
- Shippo.dir('shippo/api/extend')
50
- Shippo.dir('shippo/model')
51
-
52
-
47
+ Dir[File.dirname(__FILE__) + '/api/*.rb'].each {|file| require file }
48
+ Dir[File.dirname(__FILE__) + '/api/transformers/*.rb'].each {|file| require file }
49
+ Dir[File.dirname(__FILE__) + '/api/extend/*.rb'].each {|file| require file }
50
+ Dir[File.dirname(__FILE__) + '/model/*.rb'].each {|file| require file }
@@ -12,7 +12,7 @@ class Shippo::Exceptions::Error < StandardError
12
12
  end
13
13
 
14
14
  def to_s
15
- "BOOM! ⇨ #{message}"
15
+ "Error! ⇨ #{message}"
16
16
  end
17
17
  end
18
18
 
@@ -20,3 +20,4 @@ class Shippo::Exceptions::ConnectionError < Shippo::Exceptions::Error; end
20
20
  class Shippo::Exceptions::AuthenticationError < Shippo::Exceptions::Error; end
21
21
  class Shippo::Exceptions::MissingDataError < Shippo::Exceptions::Error; end
22
22
  class Shippo::Exceptions::AbstractClassInitError < Shippo::Exceptions::Error; end
23
+ class Shippo::Exceptions::InvalidInputError < Shippo::Exceptions::Error; end
@@ -4,4 +4,4 @@ module Shippo
4
4
  end
5
5
 
6
6
  require 'shippo/exceptions/error'
7
- Shippo.dir('shippo/exceptions')
7
+ Dir[File.dirname(__FILE__) + '/exceptions/*.rb'].each {|file| require file }
data/lib/shippo.rb CHANGED
@@ -8,11 +8,7 @@
8
8
  # Shippo integration.
9
9
  #
10
10
 
11
- require 'require_dir'
12
-
13
11
  module Shippo
14
- extend ::RequireDir
15
- init_from_source __FILE__
16
12
  end
17
13
 
18
14
  require 'shippo/api'
data/shippo.gemspec CHANGED
@@ -21,10 +21,10 @@ Gem::Specification.new do |spec|
21
21
  spec.add_dependency 'json', '~> 1.8'
22
22
  spec.add_dependency 'hashie', '~> 3.4'
23
23
  spec.add_dependency 'activesupport', '~> 4'
24
- spec.add_dependency 'require_dir', '~> 0.1'
25
24
  spec.add_dependency 'awesome_print'
26
25
 
27
26
  spec.add_development_dependency 'rake'
27
+ spec.add_development_dependency 'pry'
28
28
  spec.add_development_dependency 'guard'
29
29
  spec.add_development_dependency 'guard-rspec'
30
30
  spec.add_development_dependency 'yard'
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.2
4
+ version: 2.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shippo & Contributors
@@ -9,174 +9,174 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-08-22 00:00:00.000000000 Z
12
+ date: 2016-10-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rest-client
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - ~>
18
+ - - "~>"
19
19
  - !ruby/object:Gem::Version
20
20
  version: '1.8'
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
- - - ~>
25
+ - - "~>"
26
26
  - !ruby/object:Gem::Version
27
27
  version: '1.8'
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: mime-types
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - ~>
32
+ - - "~>"
33
33
  - !ruby/object:Gem::Version
34
34
  version: '2'
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - ~>
39
+ - - "~>"
40
40
  - !ruby/object:Gem::Version
41
41
  version: '2'
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: json
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
- - - ~>
46
+ - - "~>"
47
47
  - !ruby/object:Gem::Version
48
48
  version: '1.8'
49
49
  type: :runtime
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
- - - ~>
53
+ - - "~>"
54
54
  - !ruby/object:Gem::Version
55
55
  version: '1.8'
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: hashie
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
- - - ~>
60
+ - - "~>"
61
61
  - !ruby/object:Gem::Version
62
62
  version: '3.4'
63
63
  type: :runtime
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
- - - ~>
67
+ - - "~>"
68
68
  - !ruby/object:Gem::Version
69
69
  version: '3.4'
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: activesupport
72
72
  requirement: !ruby/object:Gem::Requirement
73
73
  requirements:
74
- - - ~>
74
+ - - "~>"
75
75
  - !ruby/object:Gem::Version
76
76
  version: '4'
77
77
  type: :runtime
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
- - - ~>
81
+ - - "~>"
82
82
  - !ruby/object:Gem::Version
83
83
  version: '4'
84
84
  - !ruby/object:Gem::Dependency
85
- name: require_dir
85
+ name: awesome_print
86
86
  requirement: !ruby/object:Gem::Requirement
87
87
  requirements:
88
- - - ~>
88
+ - - ">="
89
89
  - !ruby/object:Gem::Version
90
- version: '0.1'
90
+ version: '0'
91
91
  type: :runtime
92
92
  prerelease: false
93
93
  version_requirements: !ruby/object:Gem::Requirement
94
94
  requirements:
95
- - - ~>
95
+ - - ">="
96
96
  - !ruby/object:Gem::Version
97
- version: '0.1'
97
+ version: '0'
98
98
  - !ruby/object:Gem::Dependency
99
- name: awesome_print
99
+ name: rake
100
100
  requirement: !ruby/object:Gem::Requirement
101
101
  requirements:
102
- - - '>='
102
+ - - ">="
103
103
  - !ruby/object:Gem::Version
104
104
  version: '0'
105
- type: :runtime
105
+ type: :development
106
106
  prerelease: false
107
107
  version_requirements: !ruby/object:Gem::Requirement
108
108
  requirements:
109
- - - '>='
109
+ - - ">="
110
110
  - !ruby/object:Gem::Version
111
111
  version: '0'
112
112
  - !ruby/object:Gem::Dependency
113
- name: rake
113
+ name: pry
114
114
  requirement: !ruby/object:Gem::Requirement
115
115
  requirements:
116
- - - '>='
116
+ - - ">="
117
117
  - !ruby/object:Gem::Version
118
118
  version: '0'
119
119
  type: :development
120
120
  prerelease: false
121
121
  version_requirements: !ruby/object:Gem::Requirement
122
122
  requirements:
123
- - - '>='
123
+ - - ">="
124
124
  - !ruby/object:Gem::Version
125
125
  version: '0'
126
126
  - !ruby/object:Gem::Dependency
127
127
  name: guard
128
128
  requirement: !ruby/object:Gem::Requirement
129
129
  requirements:
130
- - - '>='
130
+ - - ">="
131
131
  - !ruby/object:Gem::Version
132
132
  version: '0'
133
133
  type: :development
134
134
  prerelease: false
135
135
  version_requirements: !ruby/object:Gem::Requirement
136
136
  requirements:
137
- - - '>='
137
+ - - ">="
138
138
  - !ruby/object:Gem::Version
139
139
  version: '0'
140
140
  - !ruby/object:Gem::Dependency
141
141
  name: guard-rspec
142
142
  requirement: !ruby/object:Gem::Requirement
143
143
  requirements:
144
- - - '>='
144
+ - - ">="
145
145
  - !ruby/object:Gem::Version
146
146
  version: '0'
147
147
  type: :development
148
148
  prerelease: false
149
149
  version_requirements: !ruby/object:Gem::Requirement
150
150
  requirements:
151
- - - '>='
151
+ - - ">="
152
152
  - !ruby/object:Gem::Version
153
153
  version: '0'
154
154
  - !ruby/object:Gem::Dependency
155
155
  name: yard
156
156
  requirement: !ruby/object:Gem::Requirement
157
157
  requirements:
158
- - - '>='
158
+ - - ">="
159
159
  - !ruby/object:Gem::Version
160
160
  version: '0'
161
161
  type: :development
162
162
  prerelease: false
163
163
  version_requirements: !ruby/object:Gem::Requirement
164
164
  requirements:
165
- - - '>='
165
+ - - ">="
166
166
  - !ruby/object:Gem::Version
167
167
  version: '0'
168
168
  - !ruby/object:Gem::Dependency
169
169
  name: rspec
170
170
  requirement: !ruby/object:Gem::Requirement
171
171
  requirements:
172
- - - ~>
172
+ - - "~>"
173
173
  - !ruby/object:Gem::Version
174
174
  version: '3.4'
175
175
  type: :development
176
176
  prerelease: false
177
177
  version_requirements: !ruby/object:Gem::Requirement
178
178
  requirements:
179
- - - ~>
179
+ - - "~>"
180
180
  - !ruby/object:Gem::Version
181
181
  version: '3.4'
182
182
  description: A gem for connecting with over 20 shipping carriers and consolidators
@@ -191,12 +191,12 @@ executables: []
191
191
  extensions: []
192
192
  extra_rdoc_files: []
193
193
  files:
194
- - .atom-build.json
195
- - .codeclimate.yml
196
- - .gitignore
197
- - .rspec
198
- - .rubocop.yml
199
- - .travis.yml
194
+ - ".atom-build.json"
195
+ - ".codeclimate.yml"
196
+ - ".gitignore"
197
+ - ".rspec"
198
+ - ".rubocop.yml"
199
+ - ".travis.yml"
200
200
  - CHANGELOG.md
201
201
  - Gemfile
202
202
  - Guardfile
@@ -251,17 +251,17 @@ require_paths:
251
251
  - lib
252
252
  required_ruby_version: !ruby/object:Gem::Requirement
253
253
  requirements:
254
- - - '>='
254
+ - - ">="
255
255
  - !ruby/object:Gem::Version
256
256
  version: 2.0.0
257
257
  required_rubygems_version: !ruby/object:Gem::Requirement
258
258
  requirements:
259
- - - '>='
259
+ - - ">="
260
260
  - !ruby/object:Gem::Version
261
261
  version: '0'
262
262
  requirements: []
263
263
  rubyforge_project:
264
- rubygems_version: 2.0.14.1
264
+ rubygems_version: 2.5.1
265
265
  signing_key:
266
266
  specification_version: 4
267
267
  summary: API client for Shippo® APIs. Shippo helps you connect with multiple carriers