restify 2.1.0 → 3.0.0.rc2

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.
Files changed (213) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +48 -0
  3. data/README.md +30 -4
  4. data/lib/restify/adapter/base.rb +10 -1
  5. data/lib/restify/adapter/ethon.rb +462 -0
  6. data/lib/restify/adapter/loop_lock.rb +124 -0
  7. data/lib/restify/adapter/telemetry.rb +6 -4
  8. data/lib/restify/adapter/typhoeus.rb +48 -23
  9. data/lib/restify/context.rb +5 -5
  10. data/lib/restify/error.rb +13 -0
  11. data/lib/restify/global.rb +9 -30
  12. data/lib/restify/logging.rb +10 -4
  13. data/lib/restify/processors/base/parsing.rb +13 -1
  14. data/lib/restify/promise.rb +20 -2
  15. data/lib/restify/registry.rb +2 -2
  16. data/lib/restify/relation.rb +8 -8
  17. data/lib/restify/request.rb +2 -2
  18. data/lib/restify/resource.rb +20 -2
  19. data/lib/restify/response.rb +39 -3
  20. data/lib/restify/timeout.rb +11 -5
  21. data/lib/restify/version.rb +3 -3
  22. data/lib/restify/webmock.rb +126 -0
  23. data/lib/restify.rb +5 -1
  24. data/spec/restify/adapter/ethon_spec.rb +263 -0
  25. data/spec/restify/adapter/loop_lock_spec.rb +144 -0
  26. data/spec/restify/adapter/telemetry_spec.rb +61 -0
  27. data/spec/restify/adapter/typhoeus_spec.rb +26 -0
  28. data/spec/restify/cache_spec.rb +1 -3
  29. data/spec/restify/context_spec.rb +55 -0
  30. data/spec/restify/features/protocols_spec.rb +28 -0
  31. data/spec/restify/features/redirects_spec.rb +45 -0
  32. data/spec/restify/features/request_errors_spec.rb +1 -1
  33. data/spec/restify/features/response_bodies_spec.rb +45 -0
  34. data/spec/restify/features/response_encoding_spec.rb +82 -0
  35. data/spec/restify/features/response_errors_spec.rb +22 -1
  36. data/spec/restify/features/webmock_spec.rb +92 -1
  37. data/spec/restify/global_spec.rb +78 -10
  38. data/spec/restify/processors/json_spec.rb +36 -0
  39. data/spec/restify/processors/msgpack_spec.rb +36 -0
  40. data/spec/restify/promise_spec.rb +82 -0
  41. data/spec/restify/relation_spec.rb +2 -6
  42. data/spec/restify/request_spec.rb +26 -0
  43. data/spec/restify/timeout_spec.rb +11 -0
  44. data/spec/spec_helper.rb +10 -6
  45. data/spec/support/stub_server.rb +4 -4
  46. metadata +26 -209
  47. data/vendor/bundle/ruby/4.0.0/bundler/gems/my-rubocop-2b861962124a/LICENSE +0 -21
  48. data/vendor/bundle/ruby/4.0.0/bundler/gems/my-rubocop-2b861962124a/README.md +0 -23
  49. data/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.3/CHANGELOG.md +0 -561
  50. data/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.3/MIT-LICENSE +0 -20
  51. data/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.3/README.rdoc +0 -40
  52. data/vendor/bundle/ruby/4.0.0/gems/addressable-2.9.0/CHANGELOG.md +0 -326
  53. data/vendor/bundle/ruby/4.0.0/gems/addressable-2.9.0/LICENSE.txt +0 -202
  54. data/vendor/bundle/ruby/4.0.0/gems/addressable-2.9.0/README.md +0 -121
  55. data/vendor/bundle/ruby/4.0.0/gems/ast-2.4.3/LICENSE.MIT +0 -20
  56. data/vendor/bundle/ruby/4.0.0/gems/ast-2.4.3/README.YARD.md +0 -12
  57. data/vendor/bundle/ruby/4.0.0/gems/base64-0.3.0/README.md +0 -48
  58. data/vendor/bundle/ruby/4.0.0/gems/bigdecimal-4.1.2/LICENSE +0 -56
  59. data/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.7/CHANGELOG.md +0 -615
  60. data/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.7/LICENSE.txt +0 -21
  61. data/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.7/README.md +0 -409
  62. data/vendor/bundle/ruby/4.0.0/gems/connection_pool-3.0.2/LICENSE +0 -20
  63. data/vendor/bundle/ruby/4.0.0/gems/connection_pool-3.0.2/README.md +0 -182
  64. data/vendor/bundle/ruby/4.0.0/gems/crack-1.0.1/LICENSE +0 -20
  65. data/vendor/bundle/ruby/4.0.0/gems/crack-1.0.1/README.md +0 -43
  66. data/vendor/bundle/ruby/4.0.0/gems/diff-lcs-1.6.2/CHANGELOG.md +0 -518
  67. data/vendor/bundle/ruby/4.0.0/gems/diff-lcs-1.6.2/README.md +0 -92
  68. data/vendor/bundle/ruby/4.0.0/gems/docile-1.4.1/LICENSE +0 -21
  69. data/vendor/bundle/ruby/4.0.0/gems/docile-1.4.1/README.md +0 -409
  70. data/vendor/bundle/ruby/4.0.0/gems/drb-2.2.3/LICENSE.txt +0 -22
  71. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/CHANGELOG.md +0 -417
  72. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/LICENSE +0 -20
  73. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/README.md +0 -118
  74. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/CHANGELOG.md +0 -507
  75. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/LICENSE +0 -24
  76. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/LICENSE.SPECS +0 -22
  77. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/README.md +0 -138
  78. data/vendor/bundle/ruby/4.0.0/gems/hashdiff-1.2.1/LICENSE +0 -19
  79. data/vendor/bundle/ruby/4.0.0/gems/hashdiff-1.2.1/README.md +0 -323
  80. data/vendor/bundle/ruby/4.0.0/gems/hashdiff-1.2.1/changelog.md +0 -127
  81. data/vendor/bundle/ruby/4.0.0/gems/hitimes-3.2.0/LICENSE.txt +0 -16
  82. data/vendor/bundle/ruby/4.0.0/gems/hitimes-3.2.0/README.md +0 -187
  83. data/vendor/bundle/ruby/4.0.0/gems/i18n-1.15.2/MIT-LICENSE +0 -20
  84. data/vendor/bundle/ruby/4.0.0/gems/i18n-1.15.2/README.md +0 -139
  85. data/vendor/bundle/ruby/4.0.0/gems/json-2.19.9/README.md +0 -310
  86. data/vendor/bundle/ruby/4.0.0/gems/language_server-protocol-3.17.0.5/LICENSE.txt +0 -21
  87. data/vendor/bundle/ruby/4.0.0/gems/language_server-protocol-3.17.0.5/README.md +0 -88
  88. data/vendor/bundle/ruby/4.0.0/gems/lint_roller-1.1.0/CHANGELOG.md +0 -15
  89. data/vendor/bundle/ruby/4.0.0/gems/lint_roller-1.1.0/LICENSE.txt +0 -21
  90. data/vendor/bundle/ruby/4.0.0/gems/lint_roller-1.1.0/README.md +0 -173
  91. data/vendor/bundle/ruby/4.0.0/gems/little-plugger-1.1.4/README.rdoc +0 -53
  92. data/vendor/bundle/ruby/4.0.0/gems/logger-1.7.0/README.md +0 -104
  93. data/vendor/bundle/ruby/4.0.0/gems/logging-2.4.0/LICENSE +0 -22
  94. data/vendor/bundle/ruby/4.0.0/gems/logging-2.4.0/README.md +0 -140
  95. data/vendor/bundle/ruby/4.0.0/gems/minitest-6.0.6/README.rdoc +0 -763
  96. data/vendor/bundle/ruby/4.0.0/gems/msgpack-1.8.3/ChangeLog +0 -383
  97. data/vendor/bundle/ruby/4.0.0/gems/msgpack-1.8.3/LICENSE +0 -177
  98. data/vendor/bundle/ruby/4.0.0/gems/msgpack-1.8.3/README.md +0 -302
  99. data/vendor/bundle/ruby/4.0.0/gems/multi_json-1.21.1/LICENSE.md +0 -20
  100. data/vendor/bundle/ruby/4.0.0/gems/multi_json-1.21.1/README.md +0 -281
  101. data/vendor/bundle/ruby/4.0.0/gems/nio4r-2.7.5/ext/libev/LICENSE +0 -37
  102. data/vendor/bundle/ruby/4.0.0/gems/nio4r-2.7.5/ext/libev/README +0 -59
  103. data/vendor/bundle/ruby/4.0.0/gems/nio4r-2.7.5/license.md +0 -80
  104. data/vendor/bundle/ruby/4.0.0/gems/nio4r-2.7.5/readme.md +0 -91
  105. data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-api-1.10.0/CHANGELOG.md +0 -219
  106. data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-api-1.10.0/LICENSE +0 -201
  107. data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-api-1.10.0/README.md +0 -68
  108. data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-common-0.25.0/CHANGELOG.md +0 -110
  109. data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-common-0.25.0/LICENSE +0 -201
  110. data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-common-0.25.0/README.md +0 -62
  111. data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-instrumentation-base-0.26.1/CHANGELOG.md +0 -97
  112. data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-instrumentation-base-0.26.1/LICENSE +0 -201
  113. data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-instrumentation-base-0.26.1/README.md +0 -155
  114. data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-instrumentation-ethon-0.29.0/CHANGELOG.md +0 -192
  115. data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-instrumentation-ethon-0.29.0/LICENSE +0 -201
  116. data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-instrumentation-ethon-0.29.0/README.md +0 -66
  117. data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-registry-0.6.0/CHANGELOG.md +0 -31
  118. data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-registry-0.6.0/LICENSE +0 -201
  119. data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-registry-0.6.0/README.md +0 -40
  120. data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-sdk-1.12.0/CHANGELOG.md +0 -302
  121. data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-sdk-1.12.0/LICENSE +0 -201
  122. data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-sdk-1.12.0/README.md +0 -101
  123. data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-semantic_conventions-1.41.0/CHANGELOG.md +0 -65
  124. data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-semantic_conventions-1.41.0/LICENSE +0 -201
  125. data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-semantic_conventions-1.41.0/README.md +0 -115
  126. data/vendor/bundle/ruby/4.0.0/gems/parallel-2.1.0/MIT-LICENSE.txt +0 -20
  127. data/vendor/bundle/ruby/4.0.0/gems/parser-3.3.11.1/LICENSE.txt +0 -26
  128. data/vendor/bundle/ruby/4.0.0/gems/prism-1.9.0/CHANGELOG.md +0 -786
  129. data/vendor/bundle/ruby/4.0.0/gems/prism-1.9.0/LICENSE.md +0 -7
  130. data/vendor/bundle/ruby/4.0.0/gems/prism-1.9.0/README.md +0 -143
  131. data/vendor/bundle/ruby/4.0.0/gems/public_suffix-7.0.5/CHANGELOG.md +0 -649
  132. data/vendor/bundle/ruby/4.0.0/gems/public_suffix-7.0.5/LICENSE.txt +0 -22
  133. data/vendor/bundle/ruby/4.0.0/gems/public_suffix-7.0.5/README.md +0 -231
  134. data/vendor/bundle/ruby/4.0.0/gems/puma-8.0.2/LICENSE +0 -29
  135. data/vendor/bundle/ruby/4.0.0/gems/puma-8.0.2/README.md +0 -484
  136. data/vendor/bundle/ruby/4.0.0/gems/puma-8.0.2/docs/jungle/README.md +0 -9
  137. data/vendor/bundle/ruby/4.0.0/gems/puma-8.0.2/docs/jungle/rc.d/README.md +0 -74
  138. data/vendor/bundle/ruby/4.0.0/gems/racc-1.8.1/ChangeLog +0 -846
  139. data/vendor/bundle/ruby/4.0.0/gems/racc-1.8.1/README.ja.rdoc +0 -58
  140. data/vendor/bundle/ruby/4.0.0/gems/racc-1.8.1/README.rdoc +0 -60
  141. data/vendor/bundle/ruby/4.0.0/gems/rack-3.2.6/CHANGELOG.md +0 -1346
  142. data/vendor/bundle/ruby/4.0.0/gems/rack-3.2.6/MIT-LICENSE +0 -20
  143. data/vendor/bundle/ruby/4.0.0/gems/rack-3.2.6/README.md +0 -384
  144. data/vendor/bundle/ruby/4.0.0/gems/rainbow-3.1.1/Changelog.md +0 -101
  145. data/vendor/bundle/ruby/4.0.0/gems/rainbow-3.1.1/LICENSE +0 -20
  146. data/vendor/bundle/ruby/4.0.0/gems/rainbow-3.1.1/README.markdown +0 -227
  147. data/vendor/bundle/ruby/4.0.0/gems/rake-13.4.2/MIT-LICENSE +0 -21
  148. data/vendor/bundle/ruby/4.0.0/gems/rake-13.4.2/README.rdoc +0 -155
  149. data/vendor/bundle/ruby/4.0.0/gems/rake-release-1.4.0/LICENSE +0 -21
  150. data/vendor/bundle/ruby/4.0.0/gems/rake-release-1.4.0/README.md +0 -107
  151. data/vendor/bundle/ruby/4.0.0/gems/regexp_parser-2.12.0/LICENSE +0 -22
  152. data/vendor/bundle/ruby/4.0.0/gems/rexml-3.4.4/LICENSE.txt +0 -22
  153. data/vendor/bundle/ruby/4.0.0/gems/rexml-3.4.4/README.md +0 -57
  154. data/vendor/bundle/ruby/4.0.0/gems/rspec-3.13.2/LICENSE.md +0 -27
  155. data/vendor/bundle/ruby/4.0.0/gems/rspec-3.13.2/README.md +0 -47
  156. data/vendor/bundle/ruby/4.0.0/gems/rspec-core-3.13.6/Changelog.md +0 -2447
  157. data/vendor/bundle/ruby/4.0.0/gems/rspec-core-3.13.6/LICENSE.md +0 -26
  158. data/vendor/bundle/ruby/4.0.0/gems/rspec-core-3.13.6/README.md +0 -389
  159. data/vendor/bundle/ruby/4.0.0/gems/rspec-expectations-3.13.5/Changelog.md +0 -1366
  160. data/vendor/bundle/ruby/4.0.0/gems/rspec-expectations-3.13.5/LICENSE.md +0 -25
  161. data/vendor/bundle/ruby/4.0.0/gems/rspec-expectations-3.13.5/README.md +0 -326
  162. data/vendor/bundle/ruby/4.0.0/gems/rspec-mocks-3.13.8/Changelog.md +0 -1351
  163. data/vendor/bundle/ruby/4.0.0/gems/rspec-mocks-3.13.8/LICENSE.md +0 -25
  164. data/vendor/bundle/ruby/4.0.0/gems/rspec-mocks-3.13.8/README.md +0 -465
  165. data/vendor/bundle/ruby/4.0.0/gems/rspec-support-3.13.7/Changelog.md +0 -444
  166. data/vendor/bundle/ruby/4.0.0/gems/rspec-support-3.13.7/LICENSE.md +0 -23
  167. data/vendor/bundle/ruby/4.0.0/gems/rspec-support-3.13.7/README.md +0 -40
  168. data/vendor/bundle/ruby/4.0.0/gems/rubocop-1.88.0/LICENSE.txt +0 -20
  169. data/vendor/bundle/ruby/4.0.0/gems/rubocop-1.88.0/README.md +0 -255
  170. data/vendor/bundle/ruby/4.0.0/gems/rubocop-ast-1.49.1/LICENSE.txt +0 -20
  171. data/vendor/bundle/ruby/4.0.0/gems/rubocop-ast-1.49.1/README.md +0 -54
  172. data/vendor/bundle/ruby/4.0.0/gems/rubocop-capybara-2.23.0/CHANGELOG.md +0 -116
  173. data/vendor/bundle/ruby/4.0.0/gems/rubocop-capybara-2.23.0/MIT-LICENSE.md +0 -21
  174. data/vendor/bundle/ruby/4.0.0/gems/rubocop-capybara-2.23.0/README.md +0 -91
  175. data/vendor/bundle/ruby/4.0.0/gems/rubocop-factory_bot-2.28.0/CHANGELOG.md +0 -135
  176. data/vendor/bundle/ruby/4.0.0/gems/rubocop-factory_bot-2.28.0/MIT-LICENSE.md +0 -21
  177. data/vendor/bundle/ruby/4.0.0/gems/rubocop-factory_bot-2.28.0/README.md +0 -91
  178. data/vendor/bundle/ruby/4.0.0/gems/rubocop-performance-1.26.1/LICENSE.txt +0 -20
  179. data/vendor/bundle/ruby/4.0.0/gems/rubocop-performance-1.26.1/README.md +0 -100
  180. data/vendor/bundle/ruby/4.0.0/gems/rubocop-rspec-3.10.2/CHANGELOG.md +0 -1136
  181. data/vendor/bundle/ruby/4.0.0/gems/rubocop-rspec-3.10.2/MIT-LICENSE.md +0 -21
  182. data/vendor/bundle/ruby/4.0.0/gems/rubocop-rspec-3.10.2/README.md +0 -112
  183. data/vendor/bundle/ruby/4.0.0/gems/rubocop-rspec_rails-2.32.0/CHANGELOG.md +0 -98
  184. data/vendor/bundle/ruby/4.0.0/gems/rubocop-rspec_rails-2.32.0/MIT-LICENSE.md +0 -21
  185. data/vendor/bundle/ruby/4.0.0/gems/rubocop-rspec_rails-2.32.0/README.md +0 -93
  186. data/vendor/bundle/ruby/4.0.0/gems/ruby-progressbar-1.13.0/LICENSE.txt +0 -19
  187. data/vendor/bundle/ruby/4.0.0/gems/ruby-progressbar-1.13.0/README.md +0 -131
  188. data/vendor/bundle/ruby/4.0.0/gems/securerandom-0.4.1/README.md +0 -72
  189. data/vendor/bundle/ruby/4.0.0/gems/simplecov-0.22.0/CHANGELOG.md +0 -191
  190. data/vendor/bundle/ruby/4.0.0/gems/simplecov-0.22.0/LICENSE +0 -20
  191. data/vendor/bundle/ruby/4.0.0/gems/simplecov-0.22.0/README.md +0 -974
  192. data/vendor/bundle/ruby/4.0.0/gems/simplecov-cobertura-3.2.0/LICENSE +0 -202
  193. data/vendor/bundle/ruby/4.0.0/gems/simplecov-cobertura-3.2.0/README.md +0 -65
  194. data/vendor/bundle/ruby/4.0.0/gems/simplecov-html-0.13.2/CHANGELOG.md +0 -114
  195. data/vendor/bundle/ruby/4.0.0/gems/simplecov-html-0.13.2/LICENSE +0 -20
  196. data/vendor/bundle/ruby/4.0.0/gems/simplecov-html-0.13.2/README.md +0 -30
  197. data/vendor/bundle/ruby/4.0.0/gems/simplecov_json_formatter-0.1.4/CHANGELOG.md +0 -13
  198. data/vendor/bundle/ruby/4.0.0/gems/simplecov_json_formatter-0.1.4/README.md +0 -29
  199. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/CHANGELOG.md +0 -465
  200. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/LICENSE +0 -22
  201. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/README.md +0 -588
  202. data/vendor/bundle/ruby/4.0.0/gems/tzinfo-2.0.6/LICENSE +0 -19
  203. data/vendor/bundle/ruby/4.0.0/gems/tzinfo-2.0.6/README.md +0 -406
  204. data/vendor/bundle/ruby/4.0.0/gems/unicode-display_width-3.2.0/CHANGELOG.md +0 -299
  205. data/vendor/bundle/ruby/4.0.0/gems/unicode-display_width-3.2.0/MIT-LICENSE.txt +0 -22
  206. data/vendor/bundle/ruby/4.0.0/gems/unicode-display_width-3.2.0/README.md +0 -194
  207. data/vendor/bundle/ruby/4.0.0/gems/unicode-emoji-4.2.0/CHANGELOG.md +0 -202
  208. data/vendor/bundle/ruby/4.0.0/gems/unicode-emoji-4.2.0/MIT-LICENSE.txt +0 -20
  209. data/vendor/bundle/ruby/4.0.0/gems/unicode-emoji-4.2.0/README.md +0 -205
  210. data/vendor/bundle/ruby/4.0.0/gems/uri-1.1.1/README.md +0 -55
  211. data/vendor/bundle/ruby/4.0.0/gems/webmock-3.26.2/CHANGELOG.md +0 -2148
  212. data/vendor/bundle/ruby/4.0.0/gems/webmock-3.26.2/LICENSE +0 -20
  213. data/vendor/bundle/ruby/4.0.0/gems/webmock-3.26.2/README.md +0 -1229
@@ -41,6 +41,42 @@ describe Restify::Processors::Msgpack do
41
41
 
42
42
  before { allow(response).to receive(:body).and_return(body) }
43
43
 
44
+ describe 'empty body' do
45
+ let(:body) { '' }
46
+
47
+ it { is_expected.to be_a Restify::Resource }
48
+ it { expect(resource.data).to be_nil }
49
+ end
50
+
51
+ describe 'invalid body' do
52
+ let(:body) { "\xC1".b }
53
+
54
+ before do
55
+ allow(response).to receive_messages(
56
+ uri: Addressable::URI.parse('http://test.host/'),
57
+ links: Restify::Link.parse('<http://test.host/other>; rel="other"'),
58
+ )
59
+ end
60
+
61
+ it { is_expected.to be_a Restify::Resource }
62
+ it { is_expected.to have_relation :other }
63
+ it { expect(resource.response).to be response }
64
+
65
+ it 'raises on accessing data' do
66
+ expect { resource.data }.to raise_error(Restify::ParseError) do |error|
67
+ expect(error.response).to be response
68
+ expect(error.cause).to be_a MessagePack::MalformedFormatError
69
+ end
70
+ end
71
+
72
+ it 'raises on accessing delegated data' do
73
+ expect { resource['json'] }.to raise_error Restify::ParseError
74
+ end
75
+
76
+ it { is_expected.not_to respond_to :each }
77
+ it { expect(resource.inspect).to include '@error=' }
78
+ end
79
+
44
80
  describe 'parsing' do
45
81
  context 'single object' do
46
82
  let(:body) do
@@ -81,6 +81,43 @@ describe Restify::Promise do
81
81
  end
82
82
  end
83
83
 
84
+ context 'when resolving the promise from a block' do
85
+ subject(:promise) do
86
+ described_class.create do |writer|
87
+ writer.set { block.call }
88
+ end
89
+ end
90
+
91
+ context 'with a returned value' do
92
+ let(:block) { -> { 42 } }
93
+
94
+ it 'fulfills the promise with it' do
95
+ expect(promise.fulfilled?).to be true
96
+ expect(promise.value!).to eq 42
97
+ end
98
+ end
99
+
100
+ context 'with a raised exception' do
101
+ let(:block) { -> { raise ArgumentError.new('nope') } }
102
+
103
+ it 'rejects the promise with it' do
104
+ expect(promise.rejected?).to be true
105
+ expect { promise.value! }.to raise_error ArgumentError, 'nope'
106
+ end
107
+ end
108
+
109
+ # Handlers can run from e.g. a libcurl callback, from where no
110
+ # exception must ever escape, not even a non-StandardError.
111
+ context 'with a raised non-StandardError' do
112
+ let(:block) { -> { raise NotImplementedError.new('nope') } }
113
+
114
+ it 'rejects the promise with it' do
115
+ expect(promise.rejected?).to be true
116
+ expect { promise.value! }.to raise_error NotImplementedError, 'nope'
117
+ end
118
+ end
119
+ end
120
+
84
121
  context 'when fulfilling the promise asynchronously' do
85
122
  subject(:promise) do
86
123
  described_class.create do |writer|
@@ -180,6 +217,51 @@ describe Restify::Promise do
180
217
  it 'can time out' do
181
218
  expect { promise.wait(0.1) }.to raise_error Timeout::Error
182
219
  end
220
+
221
+ context 'with a driver' do
222
+ subject(:promise) { described_class.create(driver:) {|w| writers << w } }
223
+
224
+ let(:driver) { instance_double(Restify::Adapter::Ethon) }
225
+ let(:writers) { [] }
226
+ let(:writer) { writers.first }
227
+
228
+ before { promise }
229
+
230
+ it 'lets the driver complete the promise in the waiting thread' do
231
+ expect(driver).to receive(:drive).once do |p, timeout|
232
+ expect(p).to be promise
233
+ expect(timeout).to be_a Restify::Timeout
234
+ writer.fulfill 42
235
+ true
236
+ end
237
+
238
+ expect(promise.value!).to eq 42
239
+ end
240
+
241
+ it 'waits as usual when the driver declines' do
242
+ allow(driver).to receive(:drive).and_return(false)
243
+
244
+ Thread.new do
245
+ sleep 0.05
246
+ writer.fulfill 42
247
+ end
248
+
249
+ expect(promise.value!).to eq 42
250
+ end
251
+
252
+ it 'times out when the driver returns without completing it' do
253
+ allow(driver).to receive(:drive).and_return(true)
254
+
255
+ expect { promise.wait(0.1) }.to raise_error Timeout::Error
256
+ end
257
+
258
+ it 'does not call the driver for a complete promise' do
259
+ expect(driver).not_to receive(:drive)
260
+ writer.fulfill 42
261
+
262
+ expect(promise.value!).to eq 42
263
+ end
264
+ end
183
265
  end
184
266
 
185
267
  describe '#value' do
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'spec_helper'
4
- require 'active_support'
5
4
 
6
5
  describe Restify::Relation do
7
6
  subject(:relation) { described_class.new context, pattern }
@@ -48,11 +47,8 @@ describe Restify::Relation do
48
47
  end
49
48
 
50
49
  context 'with Object' do
51
- let(:object) do
52
- Class.new do
53
- undef to_param
54
- end.new
55
- end
50
+ # Without #to_param, e.g. from ActiveSupport
51
+ let(:object) { Class.new.new }
56
52
  let(:params) { {id: object} }
57
53
 
58
54
  it 'raise a TypeError from adressable' do
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ describe Restify::Request do
6
+ subject(:request) { described_class.new(uri:) }
7
+
8
+ describe '#uri' do
9
+ context 'with a string' do
10
+ let(:uri) { 'https://example.org:8443/resources?page=2' }
11
+
12
+ it 'parses it' do
13
+ expect(request.uri).to be_a Addressable::URI
14
+ expect(request.uri.to_s).to eq uri
15
+ end
16
+ end
17
+
18
+ context 'with an Addressable::URI' do
19
+ let(:uri) { Addressable::URI.parse('https://example.org/resources') }
20
+
21
+ it 'keeps it as is' do
22
+ expect(request.uri).to be uri
23
+ end
24
+ end
25
+ end
26
+ end
@@ -21,6 +21,17 @@ describe Restify::Timeout do
21
21
  end
22
22
  end
23
23
 
24
+ describe '#remaining' do
25
+ it 'returns the seconds left' do
26
+ expect(timer.remaining).to be_within(0.05).of(0.2)
27
+ end
28
+
29
+ it 'is not positive after having timed out' do
30
+ sleep timer.remaining
31
+ expect(timer.remaining).not_to be_positive
32
+ end
33
+ end
34
+
24
35
  describe '#wait_on!' do
25
36
  it 'calls block on IVar timeout' do
26
37
  expect do
data/spec/spec_helper.rb CHANGED
@@ -1,12 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'logger'
3
4
  require 'rspec'
4
5
 
5
6
  require 'simplecov'
6
7
  require 'simplecov-cobertura'
7
8
 
8
9
  SimpleCov.start do
9
- add_filter 'spec'
10
+ skip %r{\Aspec/}i
10
11
  end
11
12
 
12
13
  SimpleCov.formatters = [
@@ -18,6 +19,9 @@ require 'restify'
18
19
 
19
20
  if ENV['ADAPTER']
20
21
  case ENV['ADAPTER'].to_s.downcase
22
+ when 'ethon'
23
+ require 'restify/adapter/ethon'
24
+ Restify.adapter = Restify::Adapter::Ethon.new
21
25
  when 'typhoeus'
22
26
  require 'restify/adapter/typhoeus'
23
27
  Restify.adapter = Restify::Adapter::Typhoeus.new
@@ -32,6 +36,8 @@ end
32
36
  require_relative 'support/opentelemetry'
33
37
  require_relative 'support/stub_server'
34
38
 
39
+ require 'restify/webmock'
40
+
35
41
  RSpec.configure do |config|
36
42
  config.order = 'random'
37
43
 
@@ -46,11 +52,9 @@ RSpec.configure do |config|
46
52
  skip 'Spec not enabled for current adapter'
47
53
  end
48
54
 
49
- config.before do
50
- Ethon.logger = Logging.logger[Ethon] if defined?(Ethon)
51
-
52
- Logging.logger.root.level = :debug
53
- Logging.logger.root.add_appenders Logging.appenders.stdout
55
+ config.before(:suite) do
56
+ Restify.logger = Logger.new($stdout, level: ENV.fetch('LOG_LEVEL', 'debug'))
57
+ Ethon.logger = Restify.logger
54
58
  end
55
59
 
56
60
  config.warnings = true
@@ -65,8 +65,8 @@ module Stub
65
65
 
66
66
  class Exception < ::StandardError; end
67
67
 
68
- # Inject into base adapter to have HTTP 599 (missing stub) error raised as an
69
- # extra exception, not just a server error.
68
+ # Inject into base adapter to have HTTP 599 (missing stub) error
69
+ # raised as an extra exception, not just a server error.
70
70
  module Patch
71
71
  def call(request)
72
72
  super.then do |response|
@@ -98,8 +98,8 @@ RSpec.configure do |config|
98
98
  config.before(:suite) do
99
99
  Stub.start_server!
100
100
 
101
- # Net::HTTP adapter must be enabled, otherwise webmock fails to create mock
102
- # responses from raw strings.
101
+ # Net::HTTP adapter must be enabled, otherwise webmock fails to
102
+ # create mock responses from raw strings.
103
103
  WebMock.disable!(except: %i[net_http])
104
104
  end
105
105
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: restify
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0
4
+ version: 3.0.0.rc2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jan Graichen
@@ -9,20 +9,6 @@ bindir: bin
9
9
  cert_chain: []
10
10
  date: 1980-01-02 00:00:00.000000000 Z
11
11
  dependencies:
12
- - !ruby/object:Gem::Dependency
13
- name: activesupport
14
- requirement: !ruby/object:Gem::Requirement
15
- requirements:
16
- - - ">="
17
- - !ruby/object:Gem::Version
18
- version: '0'
19
- type: :runtime
20
- prerelease: false
21
- version_requirements: !ruby/object:Gem::Requirement
22
- requirements:
23
- - - ">="
24
- - !ruby/object:Gem::Version
25
- version: '0'
26
12
  - !ruby/object:Gem::Dependency
27
13
  name: addressable
28
14
  requirement: !ruby/object:Gem::Requirement
@@ -52,47 +38,47 @@ dependencies:
52
38
  - !ruby/object:Gem::Version
53
39
  version: '1.0'
54
40
  - !ruby/object:Gem::Dependency
55
- name: hitimes
41
+ name: ethon
56
42
  requirement: !ruby/object:Gem::Requirement
57
43
  requirements:
58
- - - ">="
44
+ - - "~>"
59
45
  - !ruby/object:Gem::Version
60
- version: '0'
46
+ version: 0.18.0
61
47
  type: :runtime
62
48
  prerelease: false
63
49
  version_requirements: !ruby/object:Gem::Requirement
64
50
  requirements:
65
- - - ">="
51
+ - - "~>"
66
52
  - !ruby/object:Gem::Version
67
- version: '0'
53
+ version: 0.18.0
68
54
  - !ruby/object:Gem::Dependency
69
- name: logging
55
+ name: msgpack
70
56
  requirement: !ruby/object:Gem::Requirement
71
57
  requirements:
72
58
  - - "~>"
73
59
  - !ruby/object:Gem::Version
74
- version: '2.0'
60
+ version: '1.2'
75
61
  type: :runtime
76
62
  prerelease: false
77
63
  version_requirements: !ruby/object:Gem::Requirement
78
64
  requirements:
79
65
  - - "~>"
80
66
  - !ruby/object:Gem::Version
81
- version: '2.0'
67
+ version: '1.2'
82
68
  - !ruby/object:Gem::Dependency
83
- name: msgpack
69
+ name: nio4r
84
70
  requirement: !ruby/object:Gem::Requirement
85
71
  requirements:
86
72
  - - "~>"
87
73
  - !ruby/object:Gem::Version
88
- version: '1.2'
74
+ version: '2.0'
89
75
  type: :runtime
90
76
  prerelease: false
91
77
  version_requirements: !ruby/object:Gem::Requirement
92
78
  requirements:
93
79
  - - "~>"
94
80
  - !ruby/object:Gem::Version
95
- version: '1.2'
81
+ version: '2.0'
96
82
  - !ruby/object:Gem::Dependency
97
83
  name: opentelemetry-api
98
84
  requirement: !ruby/object:Gem::Requirement
@@ -135,20 +121,6 @@ dependencies:
135
121
  - - ">="
136
122
  - !ruby/object:Gem::Version
137
123
  version: '0'
138
- - !ruby/object:Gem::Dependency
139
- name: typhoeus
140
- requirement: !ruby/object:Gem::Requirement
141
- requirements:
142
- - - "~>"
143
- - !ruby/object:Gem::Version
144
- version: '1.3'
145
- type: :runtime
146
- prerelease: false
147
- version_requirements: !ruby/object:Gem::Requirement
148
- requirements:
149
- - - "~>"
150
- - !ruby/object:Gem::Version
151
- version: '1.3'
152
124
  description: An experimental hypermedia REST client that uses parallel, keep-alive
153
125
  and pipelined requests by default.
154
126
  email:
@@ -162,6 +134,8 @@ files:
162
134
  - README.md
163
135
  - lib/restify.rb
164
136
  - lib/restify/adapter/base.rb
137
+ - lib/restify/adapter/ethon.rb
138
+ - lib/restify/adapter/loop_lock.rb
165
139
  - lib/restify/adapter/telemetry.rb
166
140
  - lib/restify/adapter/typhoeus.rb
167
141
  - lib/restify/cache.rb
@@ -182,15 +156,24 @@ files:
182
156
  - lib/restify/response.rb
183
157
  - lib/restify/timeout.rb
184
158
  - lib/restify/version.rb
159
+ - lib/restify/webmock.rb
185
160
  - spec/restify/adapter/base_spec.rb
161
+ - spec/restify/adapter/ethon_spec.rb
162
+ - spec/restify/adapter/loop_lock_spec.rb
163
+ - spec/restify/adapter/telemetry_spec.rb
164
+ - spec/restify/adapter/typhoeus_spec.rb
186
165
  - spec/restify/cache_spec.rb
187
166
  - spec/restify/context_spec.rb
188
167
  - spec/restify/error_spec.rb
189
168
  - spec/restify/features/head_requests_spec.rb
190
169
  - spec/restify/features/opentelemetry_spec.rb
170
+ - spec/restify/features/protocols_spec.rb
171
+ - spec/restify/features/redirects_spec.rb
191
172
  - spec/restify/features/request_bodies_spec.rb
192
173
  - spec/restify/features/request_errors_spec.rb
193
174
  - spec/restify/features/request_headers_spec.rb
175
+ - spec/restify/features/response_bodies_spec.rb
176
+ - spec/restify/features/response_encoding_spec.rb
194
177
  - spec/restify/features/response_errors_spec.rb
195
178
  - spec/restify/features/webmock_spec.rb
196
179
  - spec/restify/global_spec.rb
@@ -201,179 +184,13 @@ files:
201
184
  - spec/restify/promise_spec.rb
202
185
  - spec/restify/registry_spec.rb
203
186
  - spec/restify/relation_spec.rb
187
+ - spec/restify/request_spec.rb
204
188
  - spec/restify/resource_spec.rb
205
189
  - spec/restify/timeout_spec.rb
206
190
  - spec/restify_spec.rb
207
191
  - spec/spec_helper.rb
208
192
  - spec/support/opentelemetry.rb
209
193
  - spec/support/stub_server.rb
210
- - vendor/bundle/ruby/4.0.0/bundler/gems/my-rubocop-2b861962124a/LICENSE
211
- - vendor/bundle/ruby/4.0.0/bundler/gems/my-rubocop-2b861962124a/README.md
212
- - vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.3/CHANGELOG.md
213
- - vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.3/MIT-LICENSE
214
- - vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.3/README.rdoc
215
- - vendor/bundle/ruby/4.0.0/gems/addressable-2.9.0/CHANGELOG.md
216
- - vendor/bundle/ruby/4.0.0/gems/addressable-2.9.0/LICENSE.txt
217
- - vendor/bundle/ruby/4.0.0/gems/addressable-2.9.0/README.md
218
- - vendor/bundle/ruby/4.0.0/gems/ast-2.4.3/LICENSE.MIT
219
- - vendor/bundle/ruby/4.0.0/gems/ast-2.4.3/README.YARD.md
220
- - vendor/bundle/ruby/4.0.0/gems/base64-0.3.0/README.md
221
- - vendor/bundle/ruby/4.0.0/gems/bigdecimal-4.1.2/LICENSE
222
- - vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.7/CHANGELOG.md
223
- - vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.7/LICENSE.txt
224
- - vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.7/README.md
225
- - vendor/bundle/ruby/4.0.0/gems/connection_pool-3.0.2/LICENSE
226
- - vendor/bundle/ruby/4.0.0/gems/connection_pool-3.0.2/README.md
227
- - vendor/bundle/ruby/4.0.0/gems/crack-1.0.1/LICENSE
228
- - vendor/bundle/ruby/4.0.0/gems/crack-1.0.1/README.md
229
- - vendor/bundle/ruby/4.0.0/gems/diff-lcs-1.6.2/CHANGELOG.md
230
- - vendor/bundle/ruby/4.0.0/gems/diff-lcs-1.6.2/README.md
231
- - vendor/bundle/ruby/4.0.0/gems/docile-1.4.1/LICENSE
232
- - vendor/bundle/ruby/4.0.0/gems/docile-1.4.1/README.md
233
- - vendor/bundle/ruby/4.0.0/gems/drb-2.2.3/LICENSE.txt
234
- - vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/CHANGELOG.md
235
- - vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/LICENSE
236
- - vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/README.md
237
- - vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/CHANGELOG.md
238
- - vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/LICENSE
239
- - vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/LICENSE.SPECS
240
- - vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/README.md
241
- - vendor/bundle/ruby/4.0.0/gems/hashdiff-1.2.1/LICENSE
242
- - vendor/bundle/ruby/4.0.0/gems/hashdiff-1.2.1/README.md
243
- - vendor/bundle/ruby/4.0.0/gems/hashdiff-1.2.1/changelog.md
244
- - vendor/bundle/ruby/4.0.0/gems/hitimes-3.2.0/LICENSE.txt
245
- - vendor/bundle/ruby/4.0.0/gems/hitimes-3.2.0/README.md
246
- - vendor/bundle/ruby/4.0.0/gems/i18n-1.15.2/MIT-LICENSE
247
- - vendor/bundle/ruby/4.0.0/gems/i18n-1.15.2/README.md
248
- - vendor/bundle/ruby/4.0.0/gems/json-2.19.9/README.md
249
- - vendor/bundle/ruby/4.0.0/gems/language_server-protocol-3.17.0.5/LICENSE.txt
250
- - vendor/bundle/ruby/4.0.0/gems/language_server-protocol-3.17.0.5/README.md
251
- - vendor/bundle/ruby/4.0.0/gems/lint_roller-1.1.0/CHANGELOG.md
252
- - vendor/bundle/ruby/4.0.0/gems/lint_roller-1.1.0/LICENSE.txt
253
- - vendor/bundle/ruby/4.0.0/gems/lint_roller-1.1.0/README.md
254
- - vendor/bundle/ruby/4.0.0/gems/little-plugger-1.1.4/README.rdoc
255
- - vendor/bundle/ruby/4.0.0/gems/logger-1.7.0/README.md
256
- - vendor/bundle/ruby/4.0.0/gems/logging-2.4.0/LICENSE
257
- - vendor/bundle/ruby/4.0.0/gems/logging-2.4.0/README.md
258
- - vendor/bundle/ruby/4.0.0/gems/minitest-6.0.6/README.rdoc
259
- - vendor/bundle/ruby/4.0.0/gems/msgpack-1.8.3/ChangeLog
260
- - vendor/bundle/ruby/4.0.0/gems/msgpack-1.8.3/LICENSE
261
- - vendor/bundle/ruby/4.0.0/gems/msgpack-1.8.3/README.md
262
- - vendor/bundle/ruby/4.0.0/gems/multi_json-1.21.1/LICENSE.md
263
- - vendor/bundle/ruby/4.0.0/gems/multi_json-1.21.1/README.md
264
- - vendor/bundle/ruby/4.0.0/gems/nio4r-2.7.5/ext/libev/LICENSE
265
- - vendor/bundle/ruby/4.0.0/gems/nio4r-2.7.5/ext/libev/README
266
- - vendor/bundle/ruby/4.0.0/gems/nio4r-2.7.5/license.md
267
- - vendor/bundle/ruby/4.0.0/gems/nio4r-2.7.5/readme.md
268
- - vendor/bundle/ruby/4.0.0/gems/opentelemetry-api-1.10.0/CHANGELOG.md
269
- - vendor/bundle/ruby/4.0.0/gems/opentelemetry-api-1.10.0/LICENSE
270
- - vendor/bundle/ruby/4.0.0/gems/opentelemetry-api-1.10.0/README.md
271
- - vendor/bundle/ruby/4.0.0/gems/opentelemetry-common-0.25.0/CHANGELOG.md
272
- - vendor/bundle/ruby/4.0.0/gems/opentelemetry-common-0.25.0/LICENSE
273
- - vendor/bundle/ruby/4.0.0/gems/opentelemetry-common-0.25.0/README.md
274
- - vendor/bundle/ruby/4.0.0/gems/opentelemetry-instrumentation-base-0.26.1/CHANGELOG.md
275
- - vendor/bundle/ruby/4.0.0/gems/opentelemetry-instrumentation-base-0.26.1/LICENSE
276
- - vendor/bundle/ruby/4.0.0/gems/opentelemetry-instrumentation-base-0.26.1/README.md
277
- - vendor/bundle/ruby/4.0.0/gems/opentelemetry-instrumentation-ethon-0.29.0/CHANGELOG.md
278
- - vendor/bundle/ruby/4.0.0/gems/opentelemetry-instrumentation-ethon-0.29.0/LICENSE
279
- - vendor/bundle/ruby/4.0.0/gems/opentelemetry-instrumentation-ethon-0.29.0/README.md
280
- - vendor/bundle/ruby/4.0.0/gems/opentelemetry-registry-0.6.0/CHANGELOG.md
281
- - vendor/bundle/ruby/4.0.0/gems/opentelemetry-registry-0.6.0/LICENSE
282
- - vendor/bundle/ruby/4.0.0/gems/opentelemetry-registry-0.6.0/README.md
283
- - vendor/bundle/ruby/4.0.0/gems/opentelemetry-sdk-1.12.0/CHANGELOG.md
284
- - vendor/bundle/ruby/4.0.0/gems/opentelemetry-sdk-1.12.0/LICENSE
285
- - vendor/bundle/ruby/4.0.0/gems/opentelemetry-sdk-1.12.0/README.md
286
- - vendor/bundle/ruby/4.0.0/gems/opentelemetry-semantic_conventions-1.41.0/CHANGELOG.md
287
- - vendor/bundle/ruby/4.0.0/gems/opentelemetry-semantic_conventions-1.41.0/LICENSE
288
- - vendor/bundle/ruby/4.0.0/gems/opentelemetry-semantic_conventions-1.41.0/README.md
289
- - vendor/bundle/ruby/4.0.0/gems/parallel-2.1.0/MIT-LICENSE.txt
290
- - vendor/bundle/ruby/4.0.0/gems/parser-3.3.11.1/LICENSE.txt
291
- - vendor/bundle/ruby/4.0.0/gems/prism-1.9.0/CHANGELOG.md
292
- - vendor/bundle/ruby/4.0.0/gems/prism-1.9.0/LICENSE.md
293
- - vendor/bundle/ruby/4.0.0/gems/prism-1.9.0/README.md
294
- - vendor/bundle/ruby/4.0.0/gems/public_suffix-7.0.5/CHANGELOG.md
295
- - vendor/bundle/ruby/4.0.0/gems/public_suffix-7.0.5/LICENSE.txt
296
- - vendor/bundle/ruby/4.0.0/gems/public_suffix-7.0.5/README.md
297
- - vendor/bundle/ruby/4.0.0/gems/puma-8.0.2/LICENSE
298
- - vendor/bundle/ruby/4.0.0/gems/puma-8.0.2/README.md
299
- - vendor/bundle/ruby/4.0.0/gems/puma-8.0.2/docs/jungle/README.md
300
- - vendor/bundle/ruby/4.0.0/gems/puma-8.0.2/docs/jungle/rc.d/README.md
301
- - vendor/bundle/ruby/4.0.0/gems/racc-1.8.1/ChangeLog
302
- - vendor/bundle/ruby/4.0.0/gems/racc-1.8.1/README.ja.rdoc
303
- - vendor/bundle/ruby/4.0.0/gems/racc-1.8.1/README.rdoc
304
- - vendor/bundle/ruby/4.0.0/gems/rack-3.2.6/CHANGELOG.md
305
- - vendor/bundle/ruby/4.0.0/gems/rack-3.2.6/MIT-LICENSE
306
- - vendor/bundle/ruby/4.0.0/gems/rack-3.2.6/README.md
307
- - vendor/bundle/ruby/4.0.0/gems/rainbow-3.1.1/Changelog.md
308
- - vendor/bundle/ruby/4.0.0/gems/rainbow-3.1.1/LICENSE
309
- - vendor/bundle/ruby/4.0.0/gems/rainbow-3.1.1/README.markdown
310
- - vendor/bundle/ruby/4.0.0/gems/rake-13.4.2/MIT-LICENSE
311
- - vendor/bundle/ruby/4.0.0/gems/rake-13.4.2/README.rdoc
312
- - vendor/bundle/ruby/4.0.0/gems/rake-release-1.4.0/LICENSE
313
- - vendor/bundle/ruby/4.0.0/gems/rake-release-1.4.0/README.md
314
- - vendor/bundle/ruby/4.0.0/gems/regexp_parser-2.12.0/LICENSE
315
- - vendor/bundle/ruby/4.0.0/gems/rexml-3.4.4/LICENSE.txt
316
- - vendor/bundle/ruby/4.0.0/gems/rexml-3.4.4/README.md
317
- - vendor/bundle/ruby/4.0.0/gems/rspec-3.13.2/LICENSE.md
318
- - vendor/bundle/ruby/4.0.0/gems/rspec-3.13.2/README.md
319
- - vendor/bundle/ruby/4.0.0/gems/rspec-core-3.13.6/Changelog.md
320
- - vendor/bundle/ruby/4.0.0/gems/rspec-core-3.13.6/LICENSE.md
321
- - vendor/bundle/ruby/4.0.0/gems/rspec-core-3.13.6/README.md
322
- - vendor/bundle/ruby/4.0.0/gems/rspec-expectations-3.13.5/Changelog.md
323
- - vendor/bundle/ruby/4.0.0/gems/rspec-expectations-3.13.5/LICENSE.md
324
- - vendor/bundle/ruby/4.0.0/gems/rspec-expectations-3.13.5/README.md
325
- - vendor/bundle/ruby/4.0.0/gems/rspec-mocks-3.13.8/Changelog.md
326
- - vendor/bundle/ruby/4.0.0/gems/rspec-mocks-3.13.8/LICENSE.md
327
- - vendor/bundle/ruby/4.0.0/gems/rspec-mocks-3.13.8/README.md
328
- - vendor/bundle/ruby/4.0.0/gems/rspec-support-3.13.7/Changelog.md
329
- - vendor/bundle/ruby/4.0.0/gems/rspec-support-3.13.7/LICENSE.md
330
- - vendor/bundle/ruby/4.0.0/gems/rspec-support-3.13.7/README.md
331
- - vendor/bundle/ruby/4.0.0/gems/rubocop-1.88.0/LICENSE.txt
332
- - vendor/bundle/ruby/4.0.0/gems/rubocop-1.88.0/README.md
333
- - vendor/bundle/ruby/4.0.0/gems/rubocop-ast-1.49.1/LICENSE.txt
334
- - vendor/bundle/ruby/4.0.0/gems/rubocop-ast-1.49.1/README.md
335
- - vendor/bundle/ruby/4.0.0/gems/rubocop-capybara-2.23.0/CHANGELOG.md
336
- - vendor/bundle/ruby/4.0.0/gems/rubocop-capybara-2.23.0/MIT-LICENSE.md
337
- - vendor/bundle/ruby/4.0.0/gems/rubocop-capybara-2.23.0/README.md
338
- - vendor/bundle/ruby/4.0.0/gems/rubocop-factory_bot-2.28.0/CHANGELOG.md
339
- - vendor/bundle/ruby/4.0.0/gems/rubocop-factory_bot-2.28.0/MIT-LICENSE.md
340
- - vendor/bundle/ruby/4.0.0/gems/rubocop-factory_bot-2.28.0/README.md
341
- - vendor/bundle/ruby/4.0.0/gems/rubocop-performance-1.26.1/LICENSE.txt
342
- - vendor/bundle/ruby/4.0.0/gems/rubocop-performance-1.26.1/README.md
343
- - vendor/bundle/ruby/4.0.0/gems/rubocop-rspec-3.10.2/CHANGELOG.md
344
- - vendor/bundle/ruby/4.0.0/gems/rubocop-rspec-3.10.2/MIT-LICENSE.md
345
- - vendor/bundle/ruby/4.0.0/gems/rubocop-rspec-3.10.2/README.md
346
- - vendor/bundle/ruby/4.0.0/gems/rubocop-rspec_rails-2.32.0/CHANGELOG.md
347
- - vendor/bundle/ruby/4.0.0/gems/rubocop-rspec_rails-2.32.0/MIT-LICENSE.md
348
- - vendor/bundle/ruby/4.0.0/gems/rubocop-rspec_rails-2.32.0/README.md
349
- - vendor/bundle/ruby/4.0.0/gems/ruby-progressbar-1.13.0/LICENSE.txt
350
- - vendor/bundle/ruby/4.0.0/gems/ruby-progressbar-1.13.0/README.md
351
- - vendor/bundle/ruby/4.0.0/gems/securerandom-0.4.1/README.md
352
- - vendor/bundle/ruby/4.0.0/gems/simplecov-0.22.0/CHANGELOG.md
353
- - vendor/bundle/ruby/4.0.0/gems/simplecov-0.22.0/LICENSE
354
- - vendor/bundle/ruby/4.0.0/gems/simplecov-0.22.0/README.md
355
- - vendor/bundle/ruby/4.0.0/gems/simplecov-cobertura-3.2.0/LICENSE
356
- - vendor/bundle/ruby/4.0.0/gems/simplecov-cobertura-3.2.0/README.md
357
- - vendor/bundle/ruby/4.0.0/gems/simplecov-html-0.13.2/CHANGELOG.md
358
- - vendor/bundle/ruby/4.0.0/gems/simplecov-html-0.13.2/LICENSE
359
- - vendor/bundle/ruby/4.0.0/gems/simplecov-html-0.13.2/README.md
360
- - vendor/bundle/ruby/4.0.0/gems/simplecov_json_formatter-0.1.4/CHANGELOG.md
361
- - vendor/bundle/ruby/4.0.0/gems/simplecov_json_formatter-0.1.4/README.md
362
- - vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/CHANGELOG.md
363
- - vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/LICENSE
364
- - vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/README.md
365
- - vendor/bundle/ruby/4.0.0/gems/tzinfo-2.0.6/LICENSE
366
- - vendor/bundle/ruby/4.0.0/gems/tzinfo-2.0.6/README.md
367
- - vendor/bundle/ruby/4.0.0/gems/unicode-display_width-3.2.0/CHANGELOG.md
368
- - vendor/bundle/ruby/4.0.0/gems/unicode-display_width-3.2.0/MIT-LICENSE.txt
369
- - vendor/bundle/ruby/4.0.0/gems/unicode-display_width-3.2.0/README.md
370
- - vendor/bundle/ruby/4.0.0/gems/unicode-emoji-4.2.0/CHANGELOG.md
371
- - vendor/bundle/ruby/4.0.0/gems/unicode-emoji-4.2.0/MIT-LICENSE.txt
372
- - vendor/bundle/ruby/4.0.0/gems/unicode-emoji-4.2.0/README.md
373
- - vendor/bundle/ruby/4.0.0/gems/uri-1.1.1/README.md
374
- - vendor/bundle/ruby/4.0.0/gems/webmock-3.26.2/CHANGELOG.md
375
- - vendor/bundle/ruby/4.0.0/gems/webmock-3.26.2/LICENSE
376
- - vendor/bundle/ruby/4.0.0/gems/webmock-3.26.2/README.md
377
194
  homepage: https://github.com/jgraichen/restify
378
195
  licenses:
379
196
  - LGPL-3.0+
@@ -386,14 +203,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
386
203
  requirements:
387
204
  - - ">="
388
205
  - !ruby/object:Gem::Version
389
- version: 3.1.0
206
+ version: 3.3.0
390
207
  required_rubygems_version: !ruby/object:Gem::Requirement
391
208
  requirements:
392
209
  - - ">="
393
210
  - !ruby/object:Gem::Version
394
211
  version: '0'
395
212
  requirements: []
396
- rubygems_version: 4.0.10
213
+ rubygems_version: 4.0.20
397
214
  specification_version: 4
398
215
  summary: An experimental hypermedia REST client.
399
216
  test_files: []
@@ -1,21 +0,0 @@
1
- The MIT License (MIT)
2
-
3
- Copyright (c) 2020 Jan Graichen
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in
13
- all copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
- THE SOFTWARE.
@@ -1,23 +0,0 @@
1
- # Shared RuboCop Configuration
2
-
3
- Shared RuboCop configuration and defaults for my libraries and projects.
4
-
5
- ## Usage
6
-
7
- ```ruby
8
- # Gemfile
9
-
10
- gem 'rubocop-config', github: 'jgraichen/rubocop-config', tag: 'v13', require: false
11
- ```
12
-
13
- ```yaml
14
- # .rubocop.yml
15
-
16
- inherit_gem:
17
- rubocop-config: default.yml
18
-
19
- AllCops:
20
- TargetRubyVersion: 3.1
21
- SuggestExtensions: False
22
- NewCops: enable
23
- ```