shippo 3.0.1 → 3.1.0
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/CHANGELOG.md +6 -0
- data/lib/shippo/api.rb +8 -6
- data/lib/shippo/api/api_hash.rb +11 -0
- data/lib/shippo/api/request.rb +3 -3
- data/lib/shippo/api/resource.rb +3 -20
- data/lib/shippo/api/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 61372142180e7a1c28f2b3153ecf2e164f17750d
|
4
|
+
data.tar.gz: 288cd677e69cb653cd1fef7f613238d7460bf647
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 686fff2de127307d1d1f4beb9f4f7ad479b824c44fe4fa0b8c35982d28c47266ef795cac646ec1ec5a0f0bb58997cb3536c87cd09a24ef7d53f3035e8d4689bb
|
7
|
+
data.tar.gz: 7deb3a6c77c6b0faba3f6639b4e1acc8b11efd334aacf4303a14ca9b2fc9a708152ebc29c5685d3f7b6f29ca5874aee04e37060d03500a1ef6808935eebf1beb
|
data/CHANGELOG.md
CHANGED
data/lib/shippo/api.rb
CHANGED
@@ -11,14 +11,16 @@ require 'shippo/api/resource'
|
|
11
11
|
|
12
12
|
module Shippo
|
13
13
|
module API
|
14
|
-
@base
|
15
|
-
@version
|
16
|
-
@token
|
17
|
-
@debug
|
18
|
-
@warnings
|
14
|
+
@base = 'https://api.goshippo.com'
|
15
|
+
@version = ''
|
16
|
+
@token = ''
|
17
|
+
@debug = Integer(ENV['SHIPPO_DEBUG'] || 0) > 0 ? true : false
|
18
|
+
@warnings = true
|
19
|
+
@open_timeout = 15
|
20
|
+
@read_timeout = 30
|
19
21
|
|
20
22
|
class << self
|
21
|
-
attr_accessor :base, :version, :token, :debug, :warnings
|
23
|
+
attr_accessor :base, :version, :token, :debug, :warnings, :open_timeout, :read_timeout
|
22
24
|
# @param [Symbol] method One of :get, :put, :post
|
23
25
|
# @param [String] uri the URL component after the first slash but before params
|
24
26
|
# @param [Hash] params hash of optional parameters to add to the URL
|
data/lib/shippo/api/request.rb
CHANGED
@@ -89,7 +89,7 @@ module Shippo
|
|
89
89
|
private
|
90
90
|
|
91
91
|
def shippo_phone_home
|
92
|
-
payload =
|
92
|
+
payload = nil
|
93
93
|
request_url = url
|
94
94
|
(method == :get) ? request_url = params_to_url(params, url) : payload = params.to_json
|
95
95
|
setup_headers!(headers)
|
@@ -118,8 +118,8 @@ module Shippo
|
|
118
118
|
:method => method,
|
119
119
|
:payload => payload,
|
120
120
|
:url => url,
|
121
|
-
:open_timeout =>
|
122
|
-
:timeout =>
|
121
|
+
:open_timeout => ::Shippo::API.open_timeout,
|
122
|
+
:timeout => ::Shippo::API.read_timeout,
|
123
123
|
:user => username,
|
124
124
|
:password => password,
|
125
125
|
:user_agent => 'Shippo/v2.0 RubyBindings'
|
data/lib/shippo/api/resource.rb
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
require 'forwardable'
|
2
2
|
|
3
|
-
require 'hashie/mash'
|
4
3
|
require 'active_support/inflector'
|
5
4
|
|
6
5
|
require 'shippo/exceptions'
|
7
6
|
|
7
|
+
require_relative 'api_hash'
|
8
8
|
require_relative 'api_object'
|
9
9
|
require_relative 'category/status'
|
10
10
|
require_relative 'transformers/list'
|
@@ -14,19 +14,11 @@ require_relative 'extend/url'
|
|
14
14
|
|
15
15
|
module Shippo
|
16
16
|
module API
|
17
|
-
class Resource <
|
18
|
-
include Hashie::Extensions::StringifyKeys
|
17
|
+
class Resource < ApiHash
|
19
18
|
include Enumerable
|
20
19
|
extend Forwardable
|
21
20
|
|
22
|
-
disable_warnings
|
23
|
-
|
24
|
-
def self.object_properties
|
25
|
-
Shippo::API::ApiObject::PROPS
|
26
|
-
end
|
27
|
-
|
28
21
|
attr_accessor :object
|
29
|
-
def_delegators :@object, *object_properties
|
30
22
|
|
31
23
|
# Creates a possibly recursive chain (map of lists, etc) of Resource
|
32
24
|
# instances based on whether each value is a scalar, array or a hash.
|
@@ -45,15 +37,6 @@ module Shippo
|
|
45
37
|
name.split('::')[-1]
|
46
38
|
end
|
47
39
|
|
48
|
-
# Generate object_ accessors.
|
49
|
-
object_properties.each do |property|
|
50
|
-
method_name = ApiObject.field_name(property)
|
51
|
-
define_method method_name do
|
52
|
-
STDOUT.puts "#{method_name} style accessors are deprecated in favor of #resource.object.#{property}" if Shippo::API.warnings
|
53
|
-
self.object.send(property)
|
54
|
-
end
|
55
|
-
end
|
56
|
-
|
57
40
|
# allows resources to use default or a custom url
|
58
41
|
include Shippo::API::Extend::Url
|
59
42
|
# allows resources to set supported operations
|
@@ -68,7 +51,7 @@ module Shippo
|
|
68
51
|
(args.first.is_a?(String) && args.first =~ /^[0-9A-Fa-f]+$/)
|
69
52
|
self.id = args.first
|
70
53
|
elsif args.first.respond_to?(:keys)
|
71
|
-
h =
|
54
|
+
h = ApiHash.new(args.first)
|
72
55
|
self.deep_merge!(h)
|
73
56
|
self.object = ApiObject.create_object(self)
|
74
57
|
transformers.each do |transformer|
|
data/lib/shippo/api/version.rb
CHANGED
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: 3.0
|
4
|
+
version: 3.1.0
|
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: 2017-
|
12
|
+
date: 2017-09-11 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rest-client
|
@@ -236,6 +236,7 @@ files:
|
|
236
236
|
- bin/track_example
|
237
237
|
- lib/shippo.rb
|
238
238
|
- lib/shippo/api.rb
|
239
|
+
- lib/shippo/api/api_hash.rb
|
239
240
|
- lib/shippo/api/api_object.rb
|
240
241
|
- lib/shippo/api/category.rb
|
241
242
|
- lib/shippo/api/category/base.rb
|