ddy_remote_resource 1.2.0 → 1.2.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
  SHA256:
3
- metadata.gz: d0032d56e8df7f6e90e146abb65b29a41a59a63e39747c6b0b7585c02f577069
4
- data.tar.gz: 4454b9226626e5a2028dc871c83d15347da8a373d104e641810c3f002e8e94c0
3
+ metadata.gz: bc832463abbb4ae23f60450dd26d5ea1c0877936bec0bd73240fa5e57146500c
4
+ data.tar.gz: bce2d906670cc76c1ce5a3d078556d6bb36db600257427481c29abc4a70f2fcc
5
5
  SHA512:
6
- metadata.gz: 327330942d08e782894d10b46be1c6a6fc560f4cab2a4f7bb77a2b2958853ad929a024ccc00c560a3672e48c55a5844e9064e9c7fc00ae9839228d904038f2b6
7
- data.tar.gz: f6d6b6c025c695cd68f4697b9a001046d54a29b32f51aabbec187ff9359bf32da6db83510cc5a3a251729159100e06b11054986a009d55386ece26e5f372ed8b
6
+ metadata.gz: adb4cba41affef80d801a7797643f71430303ce62e1a1243ad17f2c8590ae6e83baa19c5f5bba5b237084daf9637c0c11cb159abd5e2e8a713631a6f573217af
7
+ data.tar.gz: 665c40303743c338d00423c05e0e7307ea8f617c536078ee92452e7b4f56758e2f477db96fba6f9734815d326b35da975b0cf30d303693b1057bab645203d823
data/.gitignore CHANGED
@@ -22,3 +22,4 @@ tmp
22
22
  *.a
23
23
  mkmf.log
24
24
  sandbox/
25
+ *.DS_Store
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.5.3
1
+ 2.7.6
data/.travis.yml CHANGED
@@ -1,3 +1,6 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 2.5.3
3
+ - 2.6.10
4
+ - 2.7.6
5
+ - 3.0.4
6
+ - 3.1.2
data/Gemfile CHANGED
@@ -2,5 +2,3 @@ source 'https://rubygems.org'
2
2
 
3
3
  # Specify your gem's dependencies in remote_resource.gemspec
4
4
  gemspec
5
-
6
- gem 'webmock', git: 'https://github.com/JanDintel/webmock.git', branch: 'feature/ignore-json-keys-order'
data/README.md CHANGED
@@ -11,9 +11,6 @@ To replace `ActiveResource` by providing a dynamic and customizable API interfac
11
11
  Add this line to your application's Gemfile:
12
12
 
13
13
  ```ruby
14
- # Use this to fetch the gem from Gitlab
15
- gem 'remote_resource', git: 'git@lab.digidentity.eu:jvanderpas/remote_resource.git'
16
-
17
14
  # Use this to fetch the gem from RubyGems.org
18
15
  gem 'ddy_remote_resource', require: 'remote_resource'
19
16
  ```
@@ -42,6 +42,12 @@ module RemoteResource
42
42
  @response.code
43
43
  end
44
44
 
45
+ # The return code can contain additional information when response_code=0
46
+ # see https://curl.se/libcurl/c/libcurl-errors.html for the full list
47
+ def return_code
48
+ @response.return_code
49
+ end
50
+
45
51
  def response_body
46
52
  @response.body # TODO: Filter sensitive information using: RemoteResource::Util.filter_params
47
53
  end
@@ -53,6 +59,7 @@ module RemoteResource
53
59
  def to_s
54
60
  message = "HTTP request failed for #{resource_klass}"
55
61
  message << " with response_code=#{response_code}" if response_code.present?
62
+ message << " with return_code=#{return_code}" if return_code.present? && response_code.zero?
56
63
  message << " with http_action=#{http_action}"
57
64
  message << " with request_url=#{request_url}"
58
65
  message
@@ -28,7 +28,11 @@ module RemoteResource
28
28
  @response_code ||= @connection_response.response_code
29
29
  end
30
30
 
31
- alias_method :code, :response_code
31
+ alias code response_code
32
+
33
+ def return_code
34
+ @return_code ||= @connection_response.return_code
35
+ end
32
36
 
33
37
  def headers
34
38
  @headers ||= @connection_response.headers
@@ -30,7 +30,7 @@ module RemoteResource
30
30
  raise(RemoteResource::CollectionOptionKeyError, "`collection_prefix` variable `#{key}` is missing from `collection_options`") if check_collection_options
31
31
  value = key
32
32
  end
33
- URI.parser.escape(value.to_s)
33
+ URI::DEFAULT_PARSER.escape(value.to_s)
34
34
  end
35
35
  end
36
36
  end
@@ -1,3 +1,3 @@
1
1
  module RemoteResource
2
- VERSION = '1.2.0'.freeze
2
+ VERSION = '1.2.3'.freeze
3
3
  end
@@ -6,7 +6,7 @@ require 'remote_resource/version'
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = 'ddy_remote_resource'
8
8
  spec.version = RemoteResource::VERSION
9
- spec.authors = ['Digidentity', 'Jan van der Pas']
9
+ spec.authors = ['Digidentity', 'Johnny Dongelmans', 'Jan van der Pas']
10
10
  spec.email = ['development@digidentity.com']
11
11
  spec.summary = %q{RemoteResource, a gem to use resources with REST services.}
12
12
  spec.description = %q{RemoteResource, a gem to use resources with REST services. A replacement for ActiveResource gem.}
@@ -18,20 +18,20 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ['lib']
20
20
 
21
- spec.add_development_dependency 'bundler', '~> 1.6'
21
+ spec.add_development_dependency 'bundler'
22
22
  spec.add_development_dependency 'rake', '~> 10.4'
23
23
  spec.add_development_dependency 'rspec', '~> 3.1'
24
24
  spec.add_development_dependency 'pry', '~> 0.10'
25
- # spec.add_development_dependency 'webmock', '~> 1.24'
25
+ spec.add_development_dependency 'webmock', '~> 3'
26
26
  spec.add_development_dependency 'guard', '~> 2.14'
27
27
  spec.add_development_dependency 'guard-rspec', '~> 4.7'
28
28
  spec.add_development_dependency 'terminal-notifier-guard', '~> 1.6'
29
29
 
30
- spec.add_runtime_dependency 'activesupport', '>= 4.1', '< 7'
31
- spec.add_runtime_dependency 'activemodel', '>= 4.1', '< 7'
30
+ spec.add_runtime_dependency 'activesupport', '>= 4.1', '< 8'
31
+ spec.add_runtime_dependency 'activemodel', '>= 4.1', '< 8'
32
32
  spec.add_runtime_dependency 'virtus', '~> 1.0', '>= 1.0.4'
33
33
  spec.add_runtime_dependency 'mime-types', '~> 3.0'
34
- spec.add_runtime_dependency 'ethon', '~> 0.7', '>= 0.7.1'
35
- spec.add_runtime_dependency 'typhoeus', '~> 0.7', '>= 0.7.0'
34
+ spec.add_runtime_dependency 'ethon'
35
+ spec.add_runtime_dependency 'typhoeus', '>= 0.7'
36
36
  spec.add_runtime_dependency 'request_store', '~> 1.4.1'
37
37
  end
@@ -21,8 +21,8 @@ RSpec.describe '#save' do
21
21
  id: 12,
22
22
  title: 'Lorem Ipsum',
23
23
  body: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.',
24
- featured: false,
25
24
  created_at: Time.new(2015, 10, 4, 9, 30, 0),
25
+ featured: false
26
26
  }
27
27
  }
28
28
  end
@@ -39,8 +39,8 @@ RSpec.describe '#save' do
39
39
  data: {
40
40
  title: 'Lorem Ipsum',
41
41
  body: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.',
42
- featured: false,
43
42
  created_at: Time.new(2015, 10, 4, 9, 30, 0),
43
+ featured: false
44
44
  }
45
45
  }
46
46
  end
@@ -103,8 +103,8 @@ RSpec.describe '#save' do
103
103
  data: {
104
104
  title: 'Lore',
105
105
  body: '',
106
- featured: true,
107
106
  created_at: Time.new(2015, 10, 4, 9, 30, 0),
107
+ featured: true
108
108
  }
109
109
  }
110
110
  end
@@ -181,8 +181,8 @@ RSpec.describe '#save' do
181
181
  data: {
182
182
  title: 'Lorem Ipsum',
183
183
  body: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.',
184
- featured: false,
185
184
  created_at: nil,
185
+ featured: false
186
186
  }
187
187
  }
188
188
  end
@@ -246,8 +246,8 @@ RSpec.describe '#save' do
246
246
  data: {
247
247
  title: 'Lore',
248
248
  body: '',
249
- featured: true,
250
- created_at: nil
249
+ created_at: nil,
250
+ featured: true
251
251
  }
252
252
  }
253
253
  end
@@ -682,6 +682,17 @@ RSpec.describe RemoteResource::Request do
682
682
  end
683
683
  end
684
684
 
685
+ context 'when the response code is 0 and no other error is raised' do
686
+ it 'raises a RemoteResource::HTTPError with correct error message' do
687
+ allow(response).to receive(:response_code) { 0 }
688
+ allow(connection_response).to receive(:return_code) { :ssl_connect }
689
+ allow(connection_response).to receive(:response_code) { 0 }
690
+
691
+ error_message = 'HTTP request failed for RemoteResource::RequestDummy with response_code=0 with return_code=ssl_connect with http_action=get with request_url=http://www.foobar.com/request_dummy.json'
692
+ expect { request.send(:raise_http_error, request, response) }.to raise_error RemoteResource::HTTPError, error_message
693
+ end
694
+ end
695
+
685
696
  context 'when the response code is nothing and no other error is raised' do
686
697
  it 'raises a RemoteResource::HTTPError' do
687
698
  allow(response).to receive(:response_code) { nil }
@@ -1,5 +1,5 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  RSpec.describe RemoteResource::VERSION do
4
- it { is_expected.to eql '1.2.0' }
4
+ it { is_expected.to eql '1.2.3' }
5
5
  end
metadata CHANGED
@@ -1,30 +1,31 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ddy_remote_resource
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Digidentity
8
+ - Johnny Dongelmans
8
9
  - Jan van der Pas
9
10
  autorequire:
10
11
  bindir: bin
11
12
  cert_chain: []
12
- date: 2021-01-08 00:00:00.000000000 Z
13
+ date: 2022-07-04 00:00:00.000000000 Z
13
14
  dependencies:
14
15
  - !ruby/object:Gem::Dependency
15
16
  name: bundler
16
17
  requirement: !ruby/object:Gem::Requirement
17
18
  requirements:
18
- - - "~>"
19
+ - - ">="
19
20
  - !ruby/object:Gem::Version
20
- version: '1.6'
21
+ version: '0'
21
22
  type: :development
22
23
  prerelease: false
23
24
  version_requirements: !ruby/object:Gem::Requirement
24
25
  requirements:
25
- - - "~>"
26
+ - - ">="
26
27
  - !ruby/object:Gem::Version
27
- version: '1.6'
28
+ version: '0'
28
29
  - !ruby/object:Gem::Dependency
29
30
  name: rake
30
31
  requirement: !ruby/object:Gem::Requirement
@@ -67,6 +68,20 @@ dependencies:
67
68
  - - "~>"
68
69
  - !ruby/object:Gem::Version
69
70
  version: '0.10'
71
+ - !ruby/object:Gem::Dependency
72
+ name: webmock
73
+ requirement: !ruby/object:Gem::Requirement
74
+ requirements:
75
+ - - "~>"
76
+ - !ruby/object:Gem::Version
77
+ version: '3'
78
+ type: :development
79
+ prerelease: false
80
+ version_requirements: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - "~>"
83
+ - !ruby/object:Gem::Version
84
+ version: '3'
70
85
  - !ruby/object:Gem::Dependency
71
86
  name: guard
72
87
  requirement: !ruby/object:Gem::Requirement
@@ -118,7 +133,7 @@ dependencies:
118
133
  version: '4.1'
119
134
  - - "<"
120
135
  - !ruby/object:Gem::Version
121
- version: '7'
136
+ version: '8'
122
137
  type: :runtime
123
138
  prerelease: false
124
139
  version_requirements: !ruby/object:Gem::Requirement
@@ -128,7 +143,7 @@ dependencies:
128
143
  version: '4.1'
129
144
  - - "<"
130
145
  - !ruby/object:Gem::Version
131
- version: '7'
146
+ version: '8'
132
147
  - !ruby/object:Gem::Dependency
133
148
  name: activemodel
134
149
  requirement: !ruby/object:Gem::Requirement
@@ -138,7 +153,7 @@ dependencies:
138
153
  version: '4.1'
139
154
  - - "<"
140
155
  - !ruby/object:Gem::Version
141
- version: '7'
156
+ version: '8'
142
157
  type: :runtime
143
158
  prerelease: false
144
159
  version_requirements: !ruby/object:Gem::Requirement
@@ -148,7 +163,7 @@ dependencies:
148
163
  version: '4.1'
149
164
  - - "<"
150
165
  - !ruby/object:Gem::Version
151
- version: '7'
166
+ version: '8'
152
167
  - !ruby/object:Gem::Dependency
153
168
  name: virtus
154
169
  requirement: !ruby/object:Gem::Requirement
@@ -187,42 +202,30 @@ dependencies:
187
202
  name: ethon
188
203
  requirement: !ruby/object:Gem::Requirement
189
204
  requirements:
190
- - - "~>"
191
- - !ruby/object:Gem::Version
192
- version: '0.7'
193
205
  - - ">="
194
206
  - !ruby/object:Gem::Version
195
- version: 0.7.1
207
+ version: '0'
196
208
  type: :runtime
197
209
  prerelease: false
198
210
  version_requirements: !ruby/object:Gem::Requirement
199
211
  requirements:
200
- - - "~>"
201
- - !ruby/object:Gem::Version
202
- version: '0.7'
203
212
  - - ">="
204
213
  - !ruby/object:Gem::Version
205
- version: 0.7.1
214
+ version: '0'
206
215
  - !ruby/object:Gem::Dependency
207
216
  name: typhoeus
208
217
  requirement: !ruby/object:Gem::Requirement
209
218
  requirements:
210
- - - "~>"
211
- - !ruby/object:Gem::Version
212
- version: '0.7'
213
219
  - - ">="
214
220
  - !ruby/object:Gem::Version
215
- version: 0.7.0
221
+ version: '0.7'
216
222
  type: :runtime
217
223
  prerelease: false
218
224
  version_requirements: !ruby/object:Gem::Requirement
219
225
  requirements:
220
- - - "~>"
221
- - !ruby/object:Gem::Version
222
- version: '0.7'
223
226
  - - ">="
224
227
  - !ruby/object:Gem::Version
225
- version: 0.7.0
228
+ version: '0.7'
226
229
  - !ruby/object:Gem::Dependency
227
230
  name: request_store
228
231
  requirement: !ruby/object:Gem::Requirement
@@ -320,8 +323,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
320
323
  - !ruby/object:Gem::Version
321
324
  version: '0'
322
325
  requirements: []
323
- rubyforge_project:
324
- rubygems_version: 2.7.6
326
+ rubygems_version: 3.3.15
325
327
  signing_key:
326
328
  specification_version: 4
327
329
  summary: RemoteResource, a gem to use resources with REST services.