flexirest 1.8.8 → 1.8.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -0
- data/lib/flexirest/request.rb +12 -4
- data/lib/flexirest/version.rb +1 -1
- data/spec/lib/request_spec.rb +23 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8eeb42973b47925b75719642de9f2ad0ff58795453b0843ae2119ad32be87f89
|
4
|
+
data.tar.gz: fb6760cd9d4da6bbf4e3c653c7860790b3c259d7764f3ba4b2fc804461ff5d2b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4ab9bd72452449e4e46332f44b100a7bace5e06334eb408f215956590b07c398e24a9a89144f6f6d99ae392730f91232ba5482e0d3075d45d7851fc67a2334aa
|
7
|
+
data.tar.gz: af37f9b843b3bdf129078907468ac77f00019a9d499eecf8412a2c44d544b3792c5d0394449ae5a391f9e43dc6d107e707070772aea4f14fba4a6a3a05fde73c
|
data/CHANGELOG.md
CHANGED
data/lib/flexirest/request.rb
CHANGED
@@ -69,19 +69,27 @@ module Flexirest
|
|
69
69
|
end
|
70
70
|
|
71
71
|
def api_auth_access_id
|
72
|
+
ret = nil
|
72
73
|
if object_is_class?
|
73
|
-
@object.api_auth_access_id
|
74
|
+
ret = @object.api_auth_access_id
|
75
|
+
ret = ret.call if ret.respond_to?(:call)
|
74
76
|
else
|
75
|
-
@object.class.api_auth_access_id
|
77
|
+
ret = @object.class.api_auth_access_id
|
78
|
+
ret = ret.call(@object) if ret.respond_to?(:call)
|
76
79
|
end
|
80
|
+
ret
|
77
81
|
end
|
78
82
|
|
79
83
|
def api_auth_secret_key
|
84
|
+
ret = nil
|
80
85
|
if object_is_class?
|
81
|
-
@object.api_auth_secret_key
|
86
|
+
ret = @object.api_auth_secret_key
|
87
|
+
ret = ret.call if ret.respond_to?(:call)
|
82
88
|
else
|
83
|
-
@object.class.api_auth_secret_key
|
89
|
+
ret = @object.class.api_auth_secret_key
|
90
|
+
ret = ret.call(@object) if ret.respond_to?(:call)
|
84
91
|
end
|
92
|
+
ret
|
85
93
|
end
|
86
94
|
|
87
95
|
def api_auth_options
|
data/lib/flexirest/version.rb
CHANGED
data/spec/lib/request_spec.rb
CHANGED
@@ -83,6 +83,14 @@ describe Flexirest::Request do
|
|
83
83
|
get :all, "/"
|
84
84
|
end
|
85
85
|
|
86
|
+
class ApiAuthProcExampleClient < Flexirest::Base
|
87
|
+
base_url "http://www.example.com"
|
88
|
+
api_auth_credentials( Proc.new { |obj| obj ? "key-#{obj.id}" : "key" },
|
89
|
+
Proc.new { |obj| obj ? "secret-#{obj.id}" : "secret" }
|
90
|
+
)
|
91
|
+
get :all, "/"
|
92
|
+
end
|
93
|
+
|
86
94
|
class ProcDefaultExampleClient < Flexirest::Base
|
87
95
|
base_url "http://www.example.com"
|
88
96
|
get :all, "/", defaults: (Proc.new do |params|
|
@@ -217,14 +225,14 @@ describe Flexirest::Request do
|
|
217
225
|
AuthenticatedExampleClient.all
|
218
226
|
end
|
219
227
|
|
220
|
-
it "should get an HTTP connection with authentication using procs when called in a class context" do
|
228
|
+
it "should get an HTTP connection with basic authentication using procs when called in a class context" do
|
221
229
|
connection = double(Flexirest::Connection).as_null_object
|
222
230
|
expect(Flexirest::ConnectionManager).to receive(:get_connection).with("http://bill:jones@www.example.com").and_return(connection)
|
223
231
|
expect(connection).to receive(:get).with("/", an_instance_of(Hash)).and_return(::FaradayResponseMock.new(OpenStruct.new(body:'{"result":true}', response_headers:{})))
|
224
232
|
AuthenticatedProcExampleClient.all
|
225
233
|
end
|
226
234
|
|
227
|
-
it "should get an HTTP connection with authentication using procs when called in an object context" do
|
235
|
+
it "should get an HTTP connection with basic authentication using procs when called in an object context" do
|
228
236
|
connection = double(Flexirest::Connection).as_null_object
|
229
237
|
expect(Flexirest::ConnectionManager).to receive(:get_connection).with("http://bill-1:jones-1@www.example.com").and_return(connection)
|
230
238
|
expect(connection).to receive(:get).with("/?id=1", an_instance_of(Hash)).and_return(::FaradayResponseMock.new(OpenStruct.new(body:'{"result":true}', response_headers:{})))
|
@@ -232,6 +240,19 @@ describe Flexirest::Request do
|
|
232
240
|
obj.all
|
233
241
|
end
|
234
242
|
|
243
|
+
it "should get an HTTP connection with API authentication using procs when called in a class context" do
|
244
|
+
header_expectation = {headers: {"Accept"=>"application/hal+json, application/json;q=0.5", "Content-Type"=>"application/x-www-form-urlencoded; charset=utf-8"}, api_auth: {api_auth_access_id: "key", api_auth_secret_key: "secret", api_auth_options: {}}}
|
245
|
+
expect_any_instance_of(Flexirest::Connection).to receive(:get).with("/", header_expectation).and_return(::FaradayResponseMock.new(OpenStruct.new(body:'{"result":true}', response_headers:{})))
|
246
|
+
ApiAuthProcExampleClient.all
|
247
|
+
end
|
248
|
+
|
249
|
+
it "should get an HTTP connection with API authentication using procs when called in an object context" do
|
250
|
+
header_expectation = {headers: {"Accept"=>"application/hal+json, application/json;q=0.5", "Content-Type"=>"application/x-www-form-urlencoded; charset=utf-8"}, api_auth: {api_auth_access_id: "key-1", api_auth_secret_key: "secret-1", api_auth_options: {}}}
|
251
|
+
expect_any_instance_of(Flexirest::Connection).to receive(:get).with("/?id=1", header_expectation).and_return(::FaradayResponseMock.new(OpenStruct.new(body:'{"result":true}', response_headers:{})))
|
252
|
+
obj = ApiAuthProcExampleClient.new(id: 1)
|
253
|
+
obj.all
|
254
|
+
end
|
255
|
+
|
235
256
|
it "should get an HTTP connection when called and call get on it" do
|
236
257
|
expect_any_instance_of(Flexirest::Connection).to receive(:get).with("/", an_instance_of(Hash)).and_return(::FaradayResponseMock.new(OpenStruct.new(body:'{"result":true}', response_headers:{})))
|
237
258
|
ExampleClient.all
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: flexirest
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.8.
|
4
|
+
version: 1.8.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andy Jeffries
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-02-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|