ddy_remote_resource 0.4.11 → 1.0.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +2 -0
- data/Guardfile +3 -0
- data/lib/remote_resource.rb +77 -34
- data/lib/remote_resource/base.rb +20 -8
- data/lib/remote_resource/connection.rb +26 -5
- data/lib/remote_resource/connection_options.rb +5 -3
- data/lib/remote_resource/querying/finder_methods.rb +3 -3
- data/lib/remote_resource/querying/persistence_methods.rb +17 -12
- data/lib/remote_resource/request.rb +96 -62
- data/lib/remote_resource/response.rb +5 -1
- data/lib/remote_resource/rest.rb +13 -17
- data/lib/remote_resource/url_naming.rb +4 -10
- data/lib/remote_resource/url_naming_determination.rb +1 -3
- data/lib/remote_resource/util.rb +64 -0
- data/lib/remote_resource/version.rb +1 -1
- data/remote_resource.gemspec +2 -2
- data/spec/fixtures/text_file.txt +1 -0
- data/spec/integration/all_spec.rb +166 -0
- data/spec/integration/collection_prefix_spec.rb +99 -0
- data/spec/integration/create_spec.rb +181 -0
- data/spec/integration/destroy_spec.rb +252 -0
- data/spec/integration/find_by_spec.rb +168 -0
- data/spec/integration/find_spec.rb +139 -0
- data/spec/integration/headers_spec.rb +222 -0
- data/spec/integration/naming_spec.rb +138 -0
- data/spec/integration/save_spec.rb +320 -0
- data/spec/integration/update_attributes_spec.rb +221 -0
- data/spec/integration/where_spec.rb +152 -0
- data/spec/lib/extensions/ethon/easy/queryable_spec.rb +4 -4
- data/spec/lib/remote_resource/base_spec.rb +54 -110
- data/spec/lib/remote_resource/builder_spec.rb +1 -1
- data/spec/lib/remote_resource/collection_spec.rb +1 -1
- data/spec/lib/remote_resource/connection_options_spec.rb +20 -17
- data/spec/lib/remote_resource/connection_spec.rb +36 -27
- data/spec/lib/remote_resource/querying/finder_methods_spec.rb +199 -72
- data/spec/lib/remote_resource/querying/persistence_methods_spec.rb +228 -220
- data/spec/lib/remote_resource/request_spec.rb +313 -342
- data/spec/lib/remote_resource/response_spec.rb +9 -3
- data/spec/lib/remote_resource/rest_spec.rb +11 -11
- data/spec/lib/remote_resource/url_naming_determination_spec.rb +1 -1
- data/spec/lib/remote_resource/url_naming_spec.rb +7 -22
- data/spec/lib/remote_resource/util_spec.rb +56 -0
- data/spec/lib/remote_resource/version_spec.rb +2 -3
- data/spec/spec_helper.rb +37 -0
- metadata +33 -22
- data/lib/remote_resource/http_errors.rb +0 -33
- data/lib/remote_resource/response_handeling.rb +0 -48
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe RemoteResource::Response do
|
3
|
+
RSpec.describe RemoteResource::Response do
|
4
4
|
|
5
5
|
describe '#original_response' do
|
6
6
|
it 'is private' do
|
@@ -15,7 +15,7 @@ describe RemoteResource::Response do
|
|
15
15
|
end
|
16
16
|
|
17
17
|
describe 'Typhoeus::Response' do
|
18
|
-
let(:typhoeus_options) { { body: 'typhoeus_response_body', code: 200 } }
|
18
|
+
let(:typhoeus_options) { { body: 'typhoeus_response_body', code: 200, headers: { 'Content-Type' => 'application/json', 'Server' => 'nginx/1.4.6 (Ubuntu)' } } }
|
19
19
|
let(:typhoeus_response) { Typhoeus::Response.new typhoeus_options }
|
20
20
|
let(:response) { described_class.new typhoeus_response }
|
21
21
|
|
@@ -37,6 +37,12 @@ describe RemoteResource::Response do
|
|
37
37
|
expect(response.response_code).to eql 200
|
38
38
|
end
|
39
39
|
end
|
40
|
+
|
41
|
+
describe '#response_headers' do
|
42
|
+
it 'returns the response headers of the original response' do
|
43
|
+
expect(response.response_headers).to eql({ 'Content-Type' => 'application/json', 'Server' => 'nginx/1.4.6 (Ubuntu)' })
|
44
|
+
end
|
45
|
+
end
|
40
46
|
end
|
41
47
|
|
42
48
|
describe '#unprocessable_entity?' do
|
@@ -246,4 +252,4 @@ describe RemoteResource::Response do
|
|
246
252
|
end
|
247
253
|
end
|
248
254
|
|
249
|
-
end
|
255
|
+
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe RemoteResource::REST do
|
3
|
+
RSpec.describe RemoteResource::REST do
|
4
4
|
|
5
5
|
module RemoteResource
|
6
6
|
class RESTDummy
|
@@ -32,7 +32,7 @@ describe RemoteResource::REST do
|
|
32
32
|
before { allow_any_instance_of(RemoteResource::Request).to receive(:perform) { response } }
|
33
33
|
|
34
34
|
describe '.get' do
|
35
|
-
it 'performs a RemoteResource::Request with the
|
35
|
+
it 'performs a RemoteResource::Request with the http_action :get' do
|
36
36
|
expect(RemoteResource::Request).to receive(:new).with(dummy_class, :get, params, connection_options).and_call_original
|
37
37
|
expect_any_instance_of(RemoteResource::Request).to receive(:perform)
|
38
38
|
dummy_class.get params, connection_options
|
@@ -40,7 +40,7 @@ describe RemoteResource::REST do
|
|
40
40
|
end
|
41
41
|
|
42
42
|
describe '.put' do
|
43
|
-
it 'performs a RemoteResource::Request with the
|
43
|
+
it 'performs a RemoteResource::Request with the http_action :put' do
|
44
44
|
expect(RemoteResource::Request).to receive(:new).with(dummy_class, :put, attributes, connection_options).and_call_original
|
45
45
|
expect_any_instance_of(RemoteResource::Request).to receive(:perform)
|
46
46
|
dummy_class.put attributes, connection_options
|
@@ -48,7 +48,7 @@ describe RemoteResource::REST do
|
|
48
48
|
end
|
49
49
|
|
50
50
|
describe '.patch' do
|
51
|
-
it 'performs a RemoteResource::Request with the
|
51
|
+
it 'performs a RemoteResource::Request with the http_action :patch' do
|
52
52
|
expect(RemoteResource::Request).to receive(:new).with(dummy_class, :patch, attributes, connection_options).and_call_original
|
53
53
|
expect_any_instance_of(RemoteResource::Request).to receive(:perform)
|
54
54
|
dummy_class.patch attributes, connection_options
|
@@ -56,7 +56,7 @@ describe RemoteResource::REST do
|
|
56
56
|
end
|
57
57
|
|
58
58
|
describe '.post' do
|
59
|
-
it 'performs a RemoteResource::Request with the
|
59
|
+
it 'performs a RemoteResource::Request with the http_action :post' do
|
60
60
|
expect(RemoteResource::Request).to receive(:new).with(dummy_class, :post, attributes, connection_options).and_call_original
|
61
61
|
expect_any_instance_of(RemoteResource::Request).to receive(:perform)
|
62
62
|
dummy_class.post attributes, connection_options
|
@@ -64,7 +64,7 @@ describe RemoteResource::REST do
|
|
64
64
|
end
|
65
65
|
|
66
66
|
describe '.delete' do
|
67
|
-
it 'performs a RemoteResource::Request with the
|
67
|
+
it 'performs a RemoteResource::Request with the http_action :delete' do
|
68
68
|
expect(RemoteResource::Request).to receive(:new).with(dummy_class, :delete, attributes, connection_options).and_call_original
|
69
69
|
expect_any_instance_of(RemoteResource::Request).to receive(:perform)
|
70
70
|
dummy_class.delete(attributes, connection_options)
|
@@ -72,7 +72,7 @@ describe RemoteResource::REST do
|
|
72
72
|
end
|
73
73
|
|
74
74
|
describe '#get' do
|
75
|
-
it 'performs a RemoteResource::Request with the
|
75
|
+
it 'performs a RemoteResource::Request with the http_action :get' do
|
76
76
|
expect(RemoteResource::Request).to receive(:new).with(dummy, :get, params, connection_options).and_call_original
|
77
77
|
expect_any_instance_of(RemoteResource::Request).to receive(:perform)
|
78
78
|
dummy.get params, connection_options
|
@@ -80,7 +80,7 @@ describe RemoteResource::REST do
|
|
80
80
|
end
|
81
81
|
|
82
82
|
describe '#put' do
|
83
|
-
it 'performs a RemoteResource::Request with the
|
83
|
+
it 'performs a RemoteResource::Request with the http_action :put' do
|
84
84
|
expect(RemoteResource::Request).to receive(:new).with(dummy, :put, attributes, connection_options).and_call_original
|
85
85
|
expect_any_instance_of(RemoteResource::Request).to receive(:perform)
|
86
86
|
dummy.put attributes, connection_options
|
@@ -88,7 +88,7 @@ describe RemoteResource::REST do
|
|
88
88
|
end
|
89
89
|
|
90
90
|
describe '#patch' do
|
91
|
-
it 'performs a RemoteResource::Request with the
|
91
|
+
it 'performs a RemoteResource::Request with the http_action :patch' do
|
92
92
|
expect(RemoteResource::Request).to receive(:new).with(dummy, :patch, attributes, connection_options).and_call_original
|
93
93
|
expect_any_instance_of(RemoteResource::Request).to receive(:perform)
|
94
94
|
dummy.patch attributes, connection_options
|
@@ -96,7 +96,7 @@ describe RemoteResource::REST do
|
|
96
96
|
end
|
97
97
|
|
98
98
|
describe '#post' do
|
99
|
-
it 'performs a RemoteResource::Request with the
|
99
|
+
it 'performs a RemoteResource::Request with the http_action :post' do
|
100
100
|
expect(RemoteResource::Request).to receive(:new).with(dummy, :post, attributes, connection_options).and_call_original
|
101
101
|
expect_any_instance_of(RemoteResource::Request).to receive(:perform)
|
102
102
|
dummy.post attributes, connection_options
|
@@ -104,7 +104,7 @@ describe RemoteResource::REST do
|
|
104
104
|
end
|
105
105
|
|
106
106
|
describe '#delete' do
|
107
|
-
it 'performs a RemoteResource::Request with the
|
107
|
+
it 'performs a RemoteResource::Request with the http_action :delete' do
|
108
108
|
expect(RemoteResource::Request).to receive(:new).with(dummy, :delete, attributes, connection_options).and_call_original
|
109
109
|
expect_any_instance_of(RemoteResource::Request).to receive(:perform)
|
110
110
|
dummy.delete(attributes, connection_options)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe RemoteResource::UrlNaming do
|
3
|
+
RSpec.describe RemoteResource::UrlNaming do
|
4
4
|
|
5
5
|
module RemoteResource
|
6
6
|
class UrlNamingDummy
|
@@ -35,32 +35,17 @@ describe RemoteResource::UrlNaming do
|
|
35
35
|
end
|
36
36
|
|
37
37
|
describe '.app_host' do
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
expect(dummy_class.app_host 'dummy', 'test').to eql 'https://foobar.test.com'
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
context 'when the env is NOT given as an argument' do
|
47
|
-
it 'uses the host specified in the CONFIG constant for the development env' do
|
48
|
-
stub_const("CONFIG", { development: { apps: { dummy: 'https://foobar.development.com' } } })
|
49
|
-
|
50
|
-
expect(dummy_class.app_host 'dummy').to eql 'https://foobar.development.com'
|
51
|
-
end
|
38
|
+
it 'warns that the method is deprecated' do
|
39
|
+
expect(dummy_class).to receive(:warn).with('[DEPRECATION] `.app_host` is deprecated. Please use a different method to determine the site.')
|
40
|
+
dummy_class.app_host('dummy', 'test')
|
52
41
|
end
|
53
42
|
end
|
54
43
|
|
55
44
|
describe '.base_url' do
|
56
|
-
it '
|
57
|
-
expect(
|
45
|
+
it 'warns that the method is deprecated' do
|
46
|
+
expect(dummy_class).to receive(:warn).with('[DEPRECATION] `.base_url` is deprecated. Please use the connection_options[:base_url] when querying instead.')
|
58
47
|
dummy_class.base_url
|
59
48
|
end
|
60
|
-
|
61
|
-
it 'returns the determined base_url' do
|
62
|
-
expect(dummy_class.base_url).to eql 'https://foobar.com/url_naming_dummy'
|
63
|
-
end
|
64
49
|
end
|
65
50
|
|
66
51
|
describe '.use_relative_model_naming?' do
|
@@ -69,4 +54,4 @@ describe RemoteResource::UrlNaming do
|
|
69
54
|
end
|
70
55
|
end
|
71
56
|
|
72
|
-
end
|
57
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
RSpec.describe RemoteResource::Util do
|
4
|
+
|
5
|
+
describe '.filter_params' do
|
6
|
+
let(:scenarios) do
|
7
|
+
[
|
8
|
+
{ params: '{"account_migration":{"username":"foo","password":"bar"}}', expected_params: '{"account_migration":{"username":"foo","password":[FILTERED]}}' },
|
9
|
+
{ params: '{"account_migration":{"password":"bar","username":"foo"}}', expected_params: '{"account_migration":{"password":[FILTERED],"username":"foo"}}' },
|
10
|
+
{ params: '?username=foo&password=bar', expected_params: '?username=foo&password=[FILTERED]' },
|
11
|
+
{ params: '?password=bar&username=foo', expected_params: '?password=[FILTERED]&username=foo' },
|
12
|
+
{ params: nil, expected_params: '' }
|
13
|
+
]
|
14
|
+
end
|
15
|
+
|
16
|
+
it 'removes sensitive information of the filtered params' do
|
17
|
+
aggregate_failures do
|
18
|
+
scenarios.each do |scenario|
|
19
|
+
result = described_class.filter_params(scenario[:params], filtered_params: ['password'])
|
20
|
+
|
21
|
+
expect(result).to eql scenario[:expected_params]
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
describe '.encode_params_to_query' do
|
28
|
+
let(:scenarios) do
|
29
|
+
[
|
30
|
+
{ params: nil, expected_query: '' },
|
31
|
+
{ params: {}, expected_query: '' },
|
32
|
+
{ params: [], expected_query: '' },
|
33
|
+
{ params: 'Mies', expected_query: 'Mies' },
|
34
|
+
{ params: { name: 'Mies' }, expected_query: 'name=Mies' },
|
35
|
+
{ params: { name: 'Mies', age: 29, famous: true, smart: nil }, expected_query: 'name=Mies&age=29&famous=true&smart=' },
|
36
|
+
{ params: { page: 5, limit: 15 }, expected_query: 'page=5&limit=15' },
|
37
|
+
{ params: { labels: [1, '2', 'three'] }, expected_query: 'labels[]=1&labels[]=2&labels[]=three' },
|
38
|
+
{ params: { page: 5, limit: 15, order: [:created_at, :desc] }, expected_query: 'page=5&limit=15&order[]=created_at&order[]=desc' },
|
39
|
+
{ params: { page: 5, limit: 15, order: { field: :created_at, direction: :desc } }, expected_query: 'page=5&limit=15&order[field]=created_at&order[direction]=desc' },
|
40
|
+
{ params: { name: 'Mies', age: 29, famous: true, labels: [1, '2', 'three'], pagination: { page: 5, limit: 15, order: { field: :created_at, direction: :desc } } }, expected_query: 'name=Mies&age=29&famous=true&labels[]=1&labels[]=2&labels[]=three&pagination[page]=5&pagination[limit]=15&pagination[order][field]=created_at&pagination[order][direction]=desc' },
|
41
|
+
]
|
42
|
+
end
|
43
|
+
|
44
|
+
it 'encodes the params to a URL-encoded query' do
|
45
|
+
aggregate_failures do
|
46
|
+
scenarios.each do |scenario|
|
47
|
+
result = described_class.encode_params_to_query(scenario[:params])
|
48
|
+
query = CGI.unescape(result)
|
49
|
+
|
50
|
+
expect(query).to eql scenario[:expected_query]
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -3,3 +3,40 @@ require 'remote_resource'
|
|
3
3
|
|
4
4
|
require 'webmock/rspec'
|
5
5
|
require 'pry'
|
6
|
+
|
7
|
+
RSpec.configure do |config|
|
8
|
+
# rspec-mocks config goes here. You can use an alternate test double
|
9
|
+
# library (such as bogus or mocha) by changing the `mock_with` option here.
|
10
|
+
config.mock_with :rspec do |mocks|
|
11
|
+
# Prevents you from mocking or stubbing a method that does not exist on
|
12
|
+
# a real object. This is generally recommended, and will default to
|
13
|
+
# `true` in RSpec 4.
|
14
|
+
mocks.verify_partial_doubles = true
|
15
|
+
end
|
16
|
+
|
17
|
+
# Limits the available syntax to the non-monkey patched syntax that is recommended.
|
18
|
+
# For more details, see:
|
19
|
+
# - http://myronmars.to/n/dev-blog/2012/06/rspecs-new-expectation-syntax
|
20
|
+
# - http://teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/
|
21
|
+
# - http://myronmars.to/n/dev-blog/2014/05/notable-changes-in-rspec-3#new__config_option_to_disable_rspeccore_monkey_patching
|
22
|
+
config.disable_monkey_patching!
|
23
|
+
|
24
|
+
# These two settings work together to allow you to limit a spec run
|
25
|
+
# to individual examples or groups you care about by tagging them with
|
26
|
+
# `:focus` metadata. When nothing is tagged with `:focus`, all examples
|
27
|
+
# get run.
|
28
|
+
config.filter_run :focus
|
29
|
+
config.run_all_when_everything_filtered = true
|
30
|
+
|
31
|
+
# Run specs in random order to surface order dependencies. If you find an
|
32
|
+
# order dependency and want to debug it, you can fix the order by providing
|
33
|
+
# the seed, which is printed after each run.
|
34
|
+
# --seed 1234
|
35
|
+
config.order = :random
|
36
|
+
|
37
|
+
# Seed global randomization in this process using the `--seed` CLI option.
|
38
|
+
# Setting this allows you to use `--seed` to deterministically reproduce
|
39
|
+
# test failures related to randomization by passing the same `--seed` value
|
40
|
+
# as the one that triggered the failure.
|
41
|
+
Kernel.srand config.seed
|
42
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ddy_remote_resource
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0.rc1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jan van der Pas
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-09-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -66,20 +66,6 @@ dependencies:
|
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0.10'
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: webmock
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - "~>"
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '1.24'
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - "~>"
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '1.24'
|
83
69
|
- !ruby/object:Gem::Dependency
|
84
70
|
name: guard
|
85
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -114,14 +100,14 @@ dependencies:
|
|
114
100
|
requirements:
|
115
101
|
- - "~>"
|
116
102
|
- !ruby/object:Gem::Version
|
117
|
-
version: 1.6
|
103
|
+
version: '1.6'
|
118
104
|
type: :development
|
119
105
|
prerelease: false
|
120
106
|
version_requirements: !ruby/object:Gem::Requirement
|
121
107
|
requirements:
|
122
108
|
- - "~>"
|
123
109
|
- !ruby/object:Gem::Version
|
124
|
-
version: 1.6
|
110
|
+
version: '1.6'
|
125
111
|
- !ruby/object:Gem::Dependency
|
126
112
|
name: activesupport
|
127
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -249,17 +235,28 @@ files:
|
|
249
235
|
- lib/remote_resource/collection.rb
|
250
236
|
- lib/remote_resource/connection.rb
|
251
237
|
- lib/remote_resource/connection_options.rb
|
252
|
-
- lib/remote_resource/http_errors.rb
|
253
238
|
- lib/remote_resource/querying/finder_methods.rb
|
254
239
|
- lib/remote_resource/querying/persistence_methods.rb
|
255
240
|
- lib/remote_resource/request.rb
|
256
241
|
- lib/remote_resource/response.rb
|
257
|
-
- lib/remote_resource/response_handeling.rb
|
258
242
|
- lib/remote_resource/rest.rb
|
259
243
|
- lib/remote_resource/url_naming.rb
|
260
244
|
- lib/remote_resource/url_naming_determination.rb
|
245
|
+
- lib/remote_resource/util.rb
|
261
246
|
- lib/remote_resource/version.rb
|
262
247
|
- remote_resource.gemspec
|
248
|
+
- spec/fixtures/text_file.txt
|
249
|
+
- spec/integration/all_spec.rb
|
250
|
+
- spec/integration/collection_prefix_spec.rb
|
251
|
+
- spec/integration/create_spec.rb
|
252
|
+
- spec/integration/destroy_spec.rb
|
253
|
+
- spec/integration/find_by_spec.rb
|
254
|
+
- spec/integration/find_spec.rb
|
255
|
+
- spec/integration/headers_spec.rb
|
256
|
+
- spec/integration/naming_spec.rb
|
257
|
+
- spec/integration/save_spec.rb
|
258
|
+
- spec/integration/update_attributes_spec.rb
|
259
|
+
- spec/integration/where_spec.rb
|
263
260
|
- spec/lib/extensions/ethon/easy/queryable_spec.rb
|
264
261
|
- spec/lib/remote_resource/base_spec.rb
|
265
262
|
- spec/lib/remote_resource/builder_spec.rb
|
@@ -273,6 +270,7 @@ files:
|
|
273
270
|
- spec/lib/remote_resource/rest_spec.rb
|
274
271
|
- spec/lib/remote_resource/url_naming_determination_spec.rb
|
275
272
|
- spec/lib/remote_resource/url_naming_spec.rb
|
273
|
+
- spec/lib/remote_resource/util_spec.rb
|
276
274
|
- spec/lib/remote_resource/version_spec.rb
|
277
275
|
- spec/spec_helper.rb
|
278
276
|
homepage: ''
|
@@ -290,9 +288,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
290
288
|
version: '0'
|
291
289
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
292
290
|
requirements:
|
293
|
-
- - "
|
291
|
+
- - ">"
|
294
292
|
- !ruby/object:Gem::Version
|
295
|
-
version:
|
293
|
+
version: 1.3.1
|
296
294
|
requirements: []
|
297
295
|
rubyforge_project:
|
298
296
|
rubygems_version: 2.5.1
|
@@ -300,6 +298,18 @@ signing_key:
|
|
300
298
|
specification_version: 4
|
301
299
|
summary: RemoteResource, a gem to use resources with REST services.
|
302
300
|
test_files:
|
301
|
+
- spec/fixtures/text_file.txt
|
302
|
+
- spec/integration/all_spec.rb
|
303
|
+
- spec/integration/collection_prefix_spec.rb
|
304
|
+
- spec/integration/create_spec.rb
|
305
|
+
- spec/integration/destroy_spec.rb
|
306
|
+
- spec/integration/find_by_spec.rb
|
307
|
+
- spec/integration/find_spec.rb
|
308
|
+
- spec/integration/headers_spec.rb
|
309
|
+
- spec/integration/naming_spec.rb
|
310
|
+
- spec/integration/save_spec.rb
|
311
|
+
- spec/integration/update_attributes_spec.rb
|
312
|
+
- spec/integration/where_spec.rb
|
303
313
|
- spec/lib/extensions/ethon/easy/queryable_spec.rb
|
304
314
|
- spec/lib/remote_resource/base_spec.rb
|
305
315
|
- spec/lib/remote_resource/builder_spec.rb
|
@@ -313,5 +323,6 @@ test_files:
|
|
313
323
|
- spec/lib/remote_resource/rest_spec.rb
|
314
324
|
- spec/lib/remote_resource/url_naming_determination_spec.rb
|
315
325
|
- spec/lib/remote_resource/url_naming_spec.rb
|
326
|
+
- spec/lib/remote_resource/util_spec.rb
|
316
327
|
- spec/lib/remote_resource/version_spec.rb
|
317
328
|
- spec/spec_helper.rb
|
@@ -1,33 +0,0 @@
|
|
1
|
-
module RemoteResource
|
2
|
-
module HTTPErrors
|
3
|
-
|
4
|
-
private
|
5
|
-
|
6
|
-
def raise_http_errors(response)
|
7
|
-
case response.response_code
|
8
|
-
when 301, 302, 303, 307 then raise RemoteResource::HTTPRedirectionError, response
|
9
|
-
when 400 then raise RemoteResource::HTTPBadRequest, response
|
10
|
-
when 401 then raise RemoteResource::HTTPUnauthorized, response
|
11
|
-
when 403 then raise RemoteResource::HTTPForbidden, response
|
12
|
-
when 404 then raise RemoteResource::HTTPNotFound, response
|
13
|
-
when 405 then raise RemoteResource::HTTPMethodNotAllowed, response
|
14
|
-
when 406 then raise RemoteResource::HTTPNotAcceptable, response
|
15
|
-
when 408 then raise RemoteResource::HTTPRequestTimeout, response
|
16
|
-
when 409 then raise RemoteResource::HTTPConflict, response
|
17
|
-
when 410 then raise RemoteResource::HTTPGone, response
|
18
|
-
when 418 then raise RemoteResource::HTTPTeapot, response
|
19
|
-
when 444 then raise RemoteResource::HTTPNoResponse, response
|
20
|
-
when 494 then raise RemoteResource::HTTPRequestHeaderTooLarge, response
|
21
|
-
when 495 then raise RemoteResource::HTTPCertError, response
|
22
|
-
when 496 then raise RemoteResource::HTTPNoCert, response
|
23
|
-
when 497 then raise RemoteResource::HTTPToHTTPS, response
|
24
|
-
when 499 then raise RemoteResource::HTTPClientClosedRequest, response
|
25
|
-
when 400..499 then raise RemoteResource::HTTPClientError, response
|
26
|
-
when 500..599 then raise RemoteResource::HTTPServerError, response
|
27
|
-
else
|
28
|
-
raise RemoteResource::HTTPError, response
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
end
|
33
|
-
end
|