saddle 0.0.46 → 0.0.48
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 +15 -0
- data/.gitignore +3 -0
- data/CHANGELOG.md +6 -0
- data/lib/saddle/options.rb +8 -3
- data/lib/saddle/requester.rb +17 -6
- data/lib/saddle/version.rb +1 -1
- metadata +5 -13
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
Yjk4ZjdjM2Y4ZGM5NDk1ZjI0MzA5M2ZjY2EyZTA0ODRlMTA0YjY0MQ==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
Yjk0ZWYwMjVkNmE0MDgzZmE4MDYyOWZlYjJkOTcyMTllZTcyN2E1Mw==
|
7
|
+
SHA512:
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
ZjBjZWI3Y2RjZWNhZGQwMmExODY2NzVkMzRiMDBlMGQ1MzRlZWVlNzc1Y2Jm
|
10
|
+
NTA3MjAxODk2YjE1ZTgyYjU4MjEwODkxMWE4ZDEyZWY4ZTNmOGVmMjMyNmRl
|
11
|
+
MGRlMDYzNzQxMjZkNzlhMzcwNWJhMWYwYTU3OGUyZDVhMTQ5OWQ=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
OGFmNWY3MWY3MmMxMDM2MjBiMDY0NDMxMTEwZjZmYjFmYmY2ZWRhYTcwYmMw
|
14
|
+
YWEyZGJmYWJjMGFkZGVkMjRhN2Q2MDBmODFiZGZmMjY2Yzg4Y2UzZThiNWMy
|
15
|
+
OTI4OTI2YWUxODVjOGQ1MTM4ZjgyMjg5N2RhNjBjYjgyMjQzMmE=
|
data/.gitignore
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
# 0.0.48
|
2
|
+
* Optionally return the full response object using `:return_full_response`
|
3
|
+
|
4
|
+
# 0.0.47
|
5
|
+
* Pass arguments to the underlying HTTP adapter via `:http_adapter`
|
6
|
+
|
1
7
|
# 0.0.46
|
2
8
|
* Moving the path_prefix and user-agent middlewares before the custom middleware block.
|
3
9
|
** This is needed for OAuth 1.0 middleware to work.
|
data/lib/saddle/options.rb
CHANGED
@@ -16,7 +16,8 @@ module Saddle
|
|
16
16
|
:timeout => timeout,
|
17
17
|
:http_adapter => http_adapter,
|
18
18
|
:stubs => stubs,
|
19
|
-
:
|
19
|
+
:return_full_response => return_full_response,
|
20
|
+
:additional_middlewares => self.additional_middlewares
|
20
21
|
}
|
21
22
|
end
|
22
23
|
|
@@ -56,7 +57,8 @@ module Saddle
|
|
56
57
|
30
|
57
58
|
end
|
58
59
|
|
59
|
-
# Support specification of the HTTP adapter being used
|
60
|
+
# Support specification of the HTTP adapter being used. Returns a symbol or
|
61
|
+
# hash of the form { :key => :net_http, :args => [ ... ] }.
|
60
62
|
def http_adapter
|
61
63
|
:net_http
|
62
64
|
end
|
@@ -66,7 +68,10 @@ module Saddle
|
|
66
68
|
nil
|
67
69
|
end
|
68
70
|
|
69
|
-
|
71
|
+
# Should the client return the full response object, or just the body?
|
72
|
+
def return_full_response
|
73
|
+
false
|
74
|
+
end
|
70
75
|
|
71
76
|
# Use this to add additional middleware to the request stack
|
72
77
|
# ex:
|
data/lib/saddle/requester.rb
CHANGED
@@ -58,12 +58,18 @@ module Saddle
|
|
58
58
|
raise ':additional_middleware must be an Array' unless @additional_middlewares.is_a?(Array)
|
59
59
|
raise 'invalid middleware found' unless @additional_middlewares.all? { |m| m[:klass] < Faraday::Middleware }
|
60
60
|
raise 'middleware arguments must be an array' unless @additional_middlewares.all? { |m| m[:args].nil? || m[:args].is_a?(Array) }
|
61
|
+
|
61
62
|
@http_adapter = opt[:http_adapter] || :net_http
|
62
|
-
raise ':http_adapter must be a symbol' unless @http_adapter.is_a?(Symbol)
|
63
|
+
raise ':http_adapter must be a symbol or a hash' unless @http_adapter.is_a?(Symbol) || @http_adapter.is_a?(Hash)
|
64
|
+
@http_adapter = { :key => @http_adapter } if @http_adapter.is_a?(Symbol)
|
65
|
+
raise 'adapter key must be a symbol' unless @http_adapter[:key].is_a?(Symbol)
|
66
|
+
raise 'adapter arguments must be an array' unless @http_adapter[:args].nil? || @http_adapter[:args].is_a?(Array)
|
67
|
+
|
63
68
|
@stubs = opt[:stubs] || nil
|
64
69
|
unless @stubs.nil?
|
65
70
|
raise ':stubs must be a Faraday::Adapter::Test::Stubs' unless @stubs.is_a?(Faraday::Adapter::Test::Stubs)
|
66
71
|
end
|
72
|
+
@return_full_response = opt[:return_full_response] || false
|
67
73
|
end
|
68
74
|
|
69
75
|
|
@@ -73,7 +79,7 @@ module Saddle
|
|
73
79
|
req.options.deep_merge!(options)
|
74
80
|
req.url(url, params)
|
75
81
|
end
|
76
|
-
response
|
82
|
+
handle_response(response)
|
77
83
|
end
|
78
84
|
|
79
85
|
# Make a POST request
|
@@ -83,7 +89,7 @@ module Saddle
|
|
83
89
|
req.url(url)
|
84
90
|
req.body = data
|
85
91
|
end
|
86
|
-
response
|
92
|
+
handle_response(response)
|
87
93
|
end
|
88
94
|
|
89
95
|
# Make a PUT request
|
@@ -93,7 +99,7 @@ module Saddle
|
|
93
99
|
req.url(url)
|
94
100
|
req.body = data
|
95
101
|
end
|
96
|
-
response
|
102
|
+
handle_response(response)
|
97
103
|
end
|
98
104
|
|
99
105
|
# Make a DELETE request
|
@@ -102,13 +108,18 @@ module Saddle
|
|
102
108
|
req.options.deep_merge!(options)
|
103
109
|
req.url(url, params)
|
104
110
|
end
|
105
|
-
response
|
111
|
+
handle_response(response)
|
106
112
|
end
|
107
113
|
|
108
114
|
|
109
115
|
|
110
116
|
private
|
111
117
|
|
118
|
+
# Return the appropriate response format based on options
|
119
|
+
def handle_response response
|
120
|
+
@return_full_response ? response : response.body
|
121
|
+
end
|
122
|
+
|
112
123
|
# Construct a base url using this requester's settings
|
113
124
|
def base_url
|
114
125
|
"http#{'s' if @use_ssl}://#{@host}#{":#{@port}" if @port}"
|
@@ -164,7 +175,7 @@ module Saddle
|
|
164
175
|
# Set up our adapter
|
165
176
|
if @stubs.nil?
|
166
177
|
# Use the default adapter
|
167
|
-
builder.adapter(@http_adapter)
|
178
|
+
builder.adapter(@http_adapter[:key], *@http_adapter[:args])
|
168
179
|
else
|
169
180
|
# Use the test adapter
|
170
181
|
builder.adapter(:test, @stubs)
|
data/lib/saddle/version.rb
CHANGED
metadata
CHANGED
@@ -1,20 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: saddle
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.0.48
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Mike Lewis
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-
|
11
|
+
date: 2013-12-16 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: activesupport
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
17
|
- - ! '>='
|
20
18
|
- !ruby/object:Gem::Version
|
@@ -22,7 +20,6 @@ dependencies:
|
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
24
|
- - ! '>='
|
28
25
|
- !ruby/object:Gem::Version
|
@@ -30,7 +27,6 @@ dependencies:
|
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: faraday
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
31
|
- - ~>
|
36
32
|
- !ruby/object:Gem::Version
|
@@ -38,7 +34,6 @@ dependencies:
|
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
38
|
- - ~>
|
44
39
|
- !ruby/object:Gem::Version
|
@@ -46,7 +41,6 @@ dependencies:
|
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: faraday_middleware
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
45
|
- - ~>
|
52
46
|
- !ruby/object:Gem::Version
|
@@ -54,7 +48,6 @@ dependencies:
|
|
54
48
|
type: :runtime
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
52
|
- - ~>
|
60
53
|
- !ruby/object:Gem::Version
|
@@ -127,27 +120,26 @@ files:
|
|
127
120
|
homepage: https://github.com/mLewisLogic/saddle
|
128
121
|
licenses:
|
129
122
|
- MIT
|
123
|
+
metadata: {}
|
130
124
|
post_install_message:
|
131
125
|
rdoc_options: []
|
132
126
|
require_paths:
|
133
127
|
- lib
|
134
128
|
required_ruby_version: !ruby/object:Gem::Requirement
|
135
|
-
none: false
|
136
129
|
requirements:
|
137
130
|
- - ! '>='
|
138
131
|
- !ruby/object:Gem::Version
|
139
132
|
version: '0'
|
140
133
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
141
|
-
none: false
|
142
134
|
requirements:
|
143
135
|
- - ! '>='
|
144
136
|
- !ruby/object:Gem::Version
|
145
137
|
version: '0'
|
146
138
|
requirements: []
|
147
139
|
rubyforge_project:
|
148
|
-
rubygems_version: 1.
|
140
|
+
rubygems_version: 2.1.11
|
149
141
|
signing_key:
|
150
|
-
specification_version:
|
142
|
+
specification_version: 4
|
151
143
|
summary: A full-featured, generic consumer layer for you to build API client implementations
|
152
144
|
with.
|
153
145
|
test_files:
|