acfs 1.7.0 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (237) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +144 -116
  3. data/README.md +19 -24
  4. data/acfs.gemspec +7 -10
  5. data/lib/acfs/collections/paginatable.rb +11 -11
  6. data/lib/acfs/configuration.rb +1 -1
  7. data/lib/acfs/errors.rb +6 -6
  8. data/lib/acfs/global.rb +2 -2
  9. data/lib/acfs/location.rb +1 -1
  10. data/lib/acfs/resource/attributes/uuid.rb +1 -1
  11. data/lib/acfs/resource/attributes.rb +1 -1
  12. data/lib/acfs/resource/dirty.rb +1 -1
  13. data/lib/acfs/resource/operational.rb +4 -4
  14. data/lib/acfs/resource/query_methods.rb +3 -3
  15. data/lib/acfs/response/status.rb +1 -1
  16. data/lib/acfs/service/middleware.rb +2 -2
  17. data/lib/acfs/singleton_resource.rb +2 -2
  18. data/lib/acfs/stub.rb +1 -1
  19. data/lib/acfs/version.rb +2 -2
  20. data/lib/acfs/yard.rb +1 -0
  21. data/spec/acfs/adapter/typhoeus_spec.rb +3 -3
  22. data/spec/acfs/configuration_spec.rb +1 -1
  23. data/spec/acfs/global_spec.rb +5 -5
  24. data/spec/acfs/location_spec.rb +1 -1
  25. data/spec/acfs/middleware/json_spec.rb +1 -1
  26. data/spec/acfs/middleware/message_pack_spec.rb +1 -1
  27. data/spec/acfs/operation_spec.rb +1 -1
  28. data/spec/acfs/resource/attributes/boolean_spec.rb +31 -31
  29. data/spec/acfs/resource/attributes/date_time_spec.rb +9 -9
  30. data/spec/acfs/resource/attributes/dict_spec.rb +10 -10
  31. data/spec/acfs/resource/attributes/float_spec.rb +11 -11
  32. data/spec/acfs/resource/attributes/integer_spec.rb +6 -6
  33. data/spec/acfs/resource/attributes/list_spec.rb +1 -1
  34. data/spec/acfs/resource/attributes/uuid_spec.rb +8 -8
  35. data/spec/acfs/resource/attributes_spec.rb +8 -8
  36. data/spec/acfs/resource/dirty_spec.rb +1 -1
  37. data/spec/acfs/resource/persistence_spec.rb +7 -7
  38. data/spec/acfs/resource/query_methods_spec.rb +1 -1
  39. data/spec/acfs/runner_spec.rb +12 -12
  40. data/spec/acfs/stub_spec.rb +13 -18
  41. data/spec/acfs_spec.rb +4 -4
  42. data/spec/spec_helper.rb +9 -5
  43. data/spec/support/hash.rb +1 -1
  44. data/vendor/bundle/ruby/3.4.0/bundler/gems/rubocop-config-67802c9d1826/LICENSE +21 -0
  45. data/vendor/bundle/ruby/3.4.0/bundler/gems/rubocop-config-67802c9d1826/README.md +23 -0
  46. data/vendor/bundle/ruby/3.4.0/bundler/gems/rubocop-config-67802c9d1826/rubocop-config.gemspec +31 -0
  47. data/vendor/bundle/ruby/3.4.0/gems/actionpack-8.0.1/CHANGELOG.md +205 -0
  48. data/vendor/bundle/ruby/3.4.0/gems/actionpack-8.0.1/MIT-LICENSE +21 -0
  49. data/vendor/bundle/ruby/3.4.0/gems/actionpack-8.0.1/README.rdoc +57 -0
  50. data/vendor/bundle/ruby/3.4.0/gems/actionview-8.0.1/CHANGELOG.md +67 -0
  51. data/vendor/bundle/ruby/3.4.0/gems/actionview-8.0.1/MIT-LICENSE +21 -0
  52. data/vendor/bundle/ruby/3.4.0/gems/actionview-8.0.1/README.rdoc +40 -0
  53. data/vendor/bundle/ruby/3.4.0/gems/activemodel-8.0.1/CHANGELOG.md +110 -0
  54. data/vendor/bundle/ruby/3.4.0/gems/activemodel-8.0.1/MIT-LICENSE +21 -0
  55. data/vendor/bundle/ruby/3.4.0/gems/activemodel-8.0.1/README.rdoc +266 -0
  56. data/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.1/CHANGELOG.md +157 -0
  57. data/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.1/MIT-LICENSE +20 -0
  58. data/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.1/README.rdoc +40 -0
  59. data/vendor/bundle/ruby/3.4.0/gems/addressable-2.8.7/CHANGELOG.md +301 -0
  60. data/vendor/bundle/ruby/3.4.0/gems/addressable-2.8.7/LICENSE.txt +202 -0
  61. data/vendor/bundle/ruby/3.4.0/gems/addressable-2.8.7/README.md +121 -0
  62. data/vendor/bundle/ruby/3.4.0/gems/addressable-2.8.7/addressable.gemspec +28 -0
  63. data/vendor/bundle/ruby/3.4.0/gems/appraisal-2.5.0/MIT-LICENSE +21 -0
  64. data/vendor/bundle/ruby/3.4.0/gems/appraisal-2.5.0/README.md +243 -0
  65. data/vendor/bundle/ruby/3.4.0/gems/appraisal-2.5.0/appraisal.gemspec +29 -0
  66. data/vendor/bundle/ruby/3.4.0/gems/base64-0.2.0/LICENSE.txt +22 -0
  67. data/vendor/bundle/ruby/3.4.0/gems/base64-0.2.0/README.md +48 -0
  68. data/vendor/bundle/ruby/3.4.0/gems/benchmark-0.4.0/README.md +138 -0
  69. data/vendor/bundle/ruby/3.4.0/gems/benchmark-0.4.0/benchmark.gemspec +32 -0
  70. data/vendor/bundle/ruby/3.4.0/gems/bigdecimal-3.1.9/LICENSE +56 -0
  71. data/vendor/bundle/ruby/3.4.0/gems/bigdecimal-3.1.9/bigdecimal.gemspec +57 -0
  72. data/vendor/bundle/ruby/3.4.0/gems/builder-3.3.0/MIT-LICENSE +20 -0
  73. data/vendor/bundle/ruby/3.4.0/gems/builder-3.3.0/README.md +258 -0
  74. data/vendor/bundle/ruby/3.4.0/gems/builder-3.3.0/builder.gemspec +49 -0
  75. data/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.5/CHANGELOG.md +603 -0
  76. data/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.5/LICENSE.txt +21 -0
  77. data/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.5/README.md +407 -0
  78. data/vendor/bundle/ruby/3.4.0/gems/connection_pool-2.5.0/LICENSE +20 -0
  79. data/vendor/bundle/ruby/3.4.0/gems/connection_pool-2.5.0/README.md +167 -0
  80. data/vendor/bundle/ruby/3.4.0/gems/connection_pool-2.5.0/connection_pool.gemspec +24 -0
  81. data/vendor/bundle/ruby/3.4.0/gems/crack-1.0.0/LICENSE +20 -0
  82. data/vendor/bundle/ruby/3.4.0/gems/crack-1.0.0/README.md +43 -0
  83. data/vendor/bundle/ruby/3.4.0/gems/crass-1.0.6/LICENSE +18 -0
  84. data/vendor/bundle/ruby/3.4.0/gems/crass-1.0.6/README.md +192 -0
  85. data/vendor/bundle/ruby/3.4.0/gems/crass-1.0.6/crass.gemspec +31 -0
  86. data/vendor/bundle/ruby/3.4.0/gems/diff-lcs-1.5.1/License.md +41 -0
  87. data/vendor/bundle/ruby/3.4.0/gems/diff-lcs-1.5.1/README.rdoc +84 -0
  88. data/vendor/bundle/ruby/3.4.0/gems/drb-2.2.1/LICENSE.txt +22 -0
  89. data/vendor/bundle/ruby/3.4.0/gems/drb-2.2.1/drb.gemspec +41 -0
  90. data/vendor/bundle/ruby/3.4.0/gems/erubi-1.13.1/CHANGELOG +111 -0
  91. data/vendor/bundle/ruby/3.4.0/gems/erubi-1.13.1/MIT-LICENSE +21 -0
  92. data/vendor/bundle/ruby/3.4.0/gems/erubi-1.13.1/README.rdoc +151 -0
  93. data/vendor/bundle/ruby/3.4.0/gems/ethon-0.16.0/CHANGELOG.md +375 -0
  94. data/vendor/bundle/ruby/3.4.0/gems/ethon-0.16.0/LICENSE +20 -0
  95. data/vendor/bundle/ruby/3.4.0/gems/ethon-0.16.0/README.md +118 -0
  96. data/vendor/bundle/ruby/3.4.0/gems/ethon-0.16.0/ethon.gemspec +26 -0
  97. data/vendor/bundle/ruby/3.4.0/gems/ffi-1.17.1-x86_64-linux-gnu/CHANGELOG.md +465 -0
  98. data/vendor/bundle/ruby/3.4.0/gems/ffi-1.17.1-x86_64-linux-gnu/LICENSE +24 -0
  99. data/vendor/bundle/ruby/3.4.0/gems/ffi-1.17.1-x86_64-linux-gnu/LICENSE.SPECS +22 -0
  100. data/vendor/bundle/ruby/3.4.0/gems/ffi-1.17.1-x86_64-linux-gnu/README.md +137 -0
  101. data/vendor/bundle/ruby/3.4.0/gems/ffi-1.17.1-x86_64-linux-gnu/ffi.gemspec +42 -0
  102. data/vendor/bundle/ruby/3.4.0/gems/hashdiff-1.1.2/LICENSE +19 -0
  103. data/vendor/bundle/ruby/3.4.0/gems/hashdiff-1.1.2/README.md +298 -0
  104. data/vendor/bundle/ruby/3.4.0/gems/hashdiff-1.1.2/changelog.md +119 -0
  105. data/vendor/bundle/ruby/3.4.0/gems/hashdiff-1.1.2/hashdiff.gemspec +39 -0
  106. data/vendor/bundle/ruby/3.4.0/gems/i18n-1.14.6/MIT-LICENSE +20 -0
  107. data/vendor/bundle/ruby/3.4.0/gems/i18n-1.14.6/README.md +127 -0
  108. data/vendor/bundle/ruby/3.4.0/gems/json-2.9.1/README.md +195 -0
  109. data/vendor/bundle/ruby/3.4.0/gems/json-2.9.1/json.gemspec +64 -0
  110. data/vendor/bundle/ruby/3.4.0/gems/logger-1.6.5/README.md +104 -0
  111. data/vendor/bundle/ruby/3.4.0/gems/logger-1.6.5/logger.gemspec +28 -0
  112. data/vendor/bundle/ruby/3.4.0/gems/loofah-2.24.0/CHANGELOG.md +591 -0
  113. data/vendor/bundle/ruby/3.4.0/gems/loofah-2.24.0/MIT-LICENSE.txt +23 -0
  114. data/vendor/bundle/ruby/3.4.0/gems/loofah-2.24.0/README.md +410 -0
  115. data/vendor/bundle/ruby/3.4.0/gems/minitest-5.25.4/README.rdoc +835 -0
  116. data/vendor/bundle/ruby/3.4.0/gems/multi_json-1.15.0/CHANGELOG.md +275 -0
  117. data/vendor/bundle/ruby/3.4.0/gems/multi_json-1.15.0/LICENSE.md +20 -0
  118. data/vendor/bundle/ruby/3.4.0/gems/multi_json-1.15.0/README.md +121 -0
  119. data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.18.1-x86_64-linux-gnu/LICENSE-DEPENDENCIES.md +2224 -0
  120. data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.18.1-x86_64-linux-gnu/LICENSE.md +9 -0
  121. data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.18.1-x86_64-linux-gnu/README.md +293 -0
  122. data/vendor/bundle/ruby/3.4.0/gems/public_suffix-6.0.1/CHANGELOG.md +491 -0
  123. data/vendor/bundle/ruby/3.4.0/gems/public_suffix-6.0.1/LICENSE.txt +22 -0
  124. data/vendor/bundle/ruby/3.4.0/gems/public_suffix-6.0.1/README.md +222 -0
  125. data/vendor/bundle/ruby/3.4.0/gems/racc-1.8.1/ChangeLog +846 -0
  126. data/vendor/bundle/ruby/3.4.0/gems/racc-1.8.1/README.ja.rdoc +58 -0
  127. data/vendor/bundle/ruby/3.4.0/gems/racc-1.8.1/README.rdoc +60 -0
  128. data/vendor/bundle/ruby/3.4.0/gems/rack-3.1.8/CHANGELOG.md +998 -0
  129. data/vendor/bundle/ruby/3.4.0/gems/rack-3.1.8/MIT-LICENSE +20 -0
  130. data/vendor/bundle/ruby/3.4.0/gems/rack-3.1.8/README.md +328 -0
  131. data/vendor/bundle/ruby/3.4.0/gems/rack-session-2.1.0/license.md +72 -0
  132. data/vendor/bundle/ruby/3.4.0/gems/rack-session-2.1.0/readme.md +47 -0
  133. data/vendor/bundle/ruby/3.4.0/gems/rack-test-2.2.0/MIT-LICENSE.txt +20 -0
  134. data/vendor/bundle/ruby/3.4.0/gems/rack-test-2.2.0/README.md +139 -0
  135. data/vendor/bundle/ruby/3.4.0/gems/rails-dom-testing-2.2.0/MIT-LICENSE +23 -0
  136. data/vendor/bundle/ruby/3.4.0/gems/rails-dom-testing-2.2.0/README.md +91 -0
  137. data/vendor/bundle/ruby/3.4.0/gems/rails-html-sanitizer-1.6.2/CHANGELOG.md +255 -0
  138. data/vendor/bundle/ruby/3.4.0/gems/rails-html-sanitizer-1.6.2/MIT-LICENSE +23 -0
  139. data/vendor/bundle/ruby/3.4.0/gems/rails-html-sanitizer-1.6.2/README.md +267 -0
  140. data/vendor/bundle/ruby/3.4.0/gems/rake-13.2.1/MIT-LICENSE +21 -0
  141. data/vendor/bundle/ruby/3.4.0/gems/rake-13.2.1/README.rdoc +155 -0
  142. data/vendor/bundle/ruby/3.4.0/gems/rake-13.2.1/rake.gemspec +101 -0
  143. data/vendor/bundle/ruby/3.4.0/gems/rake-release-1.3.0/LICENSE +21 -0
  144. data/vendor/bundle/ruby/3.4.0/gems/rake-release-1.3.0/README.md +107 -0
  145. data/vendor/bundle/ruby/3.4.0/gems/rake-release-1.3.0/rake-release.gemspec +23 -0
  146. data/vendor/bundle/ruby/3.4.0/gems/rexml-3.4.0/LICENSE.txt +22 -0
  147. data/vendor/bundle/ruby/3.4.0/gems/rexml-3.4.0/README.md +57 -0
  148. data/vendor/bundle/ruby/3.4.0/gems/rspec-3.13.0/LICENSE.md +27 -0
  149. data/vendor/bundle/ruby/3.4.0/gems/rspec-3.13.0/README.md +47 -0
  150. data/vendor/bundle/ruby/3.4.0/gems/rspec-collection_matchers-1.2.1/Changelog.md +68 -0
  151. data/vendor/bundle/ruby/3.4.0/gems/rspec-collection_matchers-1.2.1/LICENSE.txt +27 -0
  152. data/vendor/bundle/ruby/3.4.0/gems/rspec-collection_matchers-1.2.1/README.md +76 -0
  153. data/vendor/bundle/ruby/3.4.0/gems/rspec-collection_matchers-1.2.1/rspec-collection_matchers.gemspec +33 -0
  154. data/vendor/bundle/ruby/3.4.0/gems/rspec-core-3.13.2/Changelog.md +2415 -0
  155. data/vendor/bundle/ruby/3.4.0/gems/rspec-core-3.13.2/LICENSE.md +26 -0
  156. data/vendor/bundle/ruby/3.4.0/gems/rspec-core-3.13.2/README.md +389 -0
  157. data/vendor/bundle/ruby/3.4.0/gems/rspec-expectations-3.13.3/Changelog.md +1352 -0
  158. data/vendor/bundle/ruby/3.4.0/gems/rspec-expectations-3.13.3/LICENSE.md +25 -0
  159. data/vendor/bundle/ruby/3.4.0/gems/rspec-expectations-3.13.3/README.md +326 -0
  160. data/vendor/bundle/ruby/3.4.0/gems/rspec-its-2.0.0/Changelog.md +73 -0
  161. data/vendor/bundle/ruby/3.4.0/gems/rspec-its-2.0.0/LICENSE.txt +27 -0
  162. data/vendor/bundle/ruby/3.4.0/gems/rspec-its-2.0.0/README.md +104 -0
  163. data/vendor/bundle/ruby/3.4.0/gems/rspec-its-2.0.0/rspec-its.gemspec +31 -0
  164. data/vendor/bundle/ruby/3.4.0/gems/rspec-mocks-3.13.2/Changelog.md +1299 -0
  165. data/vendor/bundle/ruby/3.4.0/gems/rspec-mocks-3.13.2/LICENSE.md +25 -0
  166. data/vendor/bundle/ruby/3.4.0/gems/rspec-mocks-3.13.2/README.md +465 -0
  167. data/vendor/bundle/ruby/3.4.0/gems/rspec-support-3.13.2/Changelog.md +408 -0
  168. data/vendor/bundle/ruby/3.4.0/gems/rspec-support-3.13.2/LICENSE.md +23 -0
  169. data/vendor/bundle/ruby/3.4.0/gems/rspec-support-3.13.2/README.md +40 -0
  170. data/vendor/bundle/ruby/3.4.0/gems/securerandom-0.4.1/README.md +72 -0
  171. data/vendor/bundle/ruby/3.4.0/gems/thor-1.3.2/LICENSE.md +20 -0
  172. data/vendor/bundle/ruby/3.4.0/gems/thor-1.3.2/README.md +45 -0
  173. data/vendor/bundle/ruby/3.4.0/gems/thor-1.3.2/thor.gemspec +33 -0
  174. data/vendor/bundle/ruby/3.4.0/gems/typhoeus-1.4.1/CHANGELOG.md +410 -0
  175. data/vendor/bundle/ruby/3.4.0/gems/typhoeus-1.4.1/LICENSE +22 -0
  176. data/vendor/bundle/ruby/3.4.0/gems/typhoeus-1.4.1/README.md +588 -0
  177. data/vendor/bundle/ruby/3.4.0/gems/typhoeus-1.4.1/typhoeus.gemspec +25 -0
  178. data/vendor/bundle/ruby/3.4.0/gems/tzinfo-2.0.6/LICENSE +19 -0
  179. data/vendor/bundle/ruby/3.4.0/gems/tzinfo-2.0.6/README.md +406 -0
  180. data/vendor/bundle/ruby/3.4.0/gems/uri-1.0.2/README.md +55 -0
  181. data/vendor/bundle/ruby/3.4.0/gems/useragent-0.16.11/LICENSE +20 -0
  182. data/vendor/bundle/ruby/3.4.0/gems/useragent-0.16.11/README.md +42 -0
  183. data/vendor/bundle/ruby/3.4.0/gems/webmock-3.24.0/CHANGELOG.md +2104 -0
  184. data/vendor/bundle/ruby/3.4.0/gems/webmock-3.24.0/LICENSE +20 -0
  185. data/vendor/bundle/ruby/3.4.0/gems/webmock-3.24.0/README.md +1222 -0
  186. data/vendor/bundle/ruby/3.4.0/specifications/actionpack-8.0.1.gemspec +36 -0
  187. data/vendor/bundle/ruby/3.4.0/specifications/actionview-8.0.1.gemspec +33 -0
  188. data/vendor/bundle/ruby/3.4.0/specifications/activemodel-8.0.1.gemspec +26 -0
  189. data/vendor/bundle/ruby/3.4.0/specifications/activesupport-8.0.1.gemspec +38 -0
  190. data/vendor/bundle/ruby/3.4.0/specifications/addressable-2.8.7.gemspec +30 -0
  191. data/vendor/bundle/ruby/3.4.0/specifications/appraisal-2.5.0.gemspec +31 -0
  192. data/vendor/bundle/ruby/3.4.0/specifications/base64-0.2.0.gemspec +23 -0
  193. data/vendor/bundle/ruby/3.4.0/specifications/benchmark-0.4.0.gemspec +23 -0
  194. data/vendor/bundle/ruby/3.4.0/specifications/bigdecimal-3.1.9.gemspec +25 -0
  195. data/vendor/bundle/ruby/3.4.0/specifications/builder-3.3.0.gemspec +22 -0
  196. data/vendor/bundle/ruby/3.4.0/specifications/concurrent-ruby-1.3.5.gemspec +24 -0
  197. data/vendor/bundle/ruby/3.4.0/specifications/connection_pool-2.5.0.gemspec +28 -0
  198. data/vendor/bundle/ruby/3.4.0/specifications/crack-1.0.0.gemspec +27 -0
  199. data/vendor/bundle/ruby/3.4.0/specifications/crass-1.0.6.gemspec +27 -0
  200. data/vendor/bundle/ruby/3.4.0/specifications/diff-lcs-1.5.1.gemspec +37 -0
  201. data/vendor/bundle/ruby/3.4.0/specifications/drb-2.2.1.gemspec +22 -0
  202. data/vendor/bundle/ruby/3.4.0/specifications/erubi-1.13.1.gemspec +29 -0
  203. data/vendor/bundle/ruby/3.4.0/specifications/ethon-0.16.0.gemspec +24 -0
  204. data/vendor/bundle/ruby/3.4.0/specifications/ffi-1.17.1-x86_64-linux-gnu.gemspec +31 -0
  205. data/vendor/bundle/ruby/3.4.0/specifications/hashdiff-1.1.2.gemspec +30 -0
  206. data/vendor/bundle/ruby/3.4.0/specifications/i18n-1.14.6.gemspec +27 -0
  207. data/vendor/bundle/ruby/3.4.0/specifications/json-2.9.1.gemspec +0 -0
  208. data/vendor/bundle/ruby/3.4.0/specifications/logger-1.6.5.gemspec +22 -0
  209. data/vendor/bundle/ruby/3.4.0/specifications/loofah-2.24.0.gemspec +27 -0
  210. data/vendor/bundle/ruby/3.4.0/specifications/minitest-5.25.4.gemspec +31 -0
  211. data/vendor/bundle/ruby/3.4.0/specifications/multi_json-1.15.0.gemspec +26 -0
  212. data/vendor/bundle/ruby/3.4.0/specifications/nokogiri-1.18.1-x86_64-linux-gnu.gemspec +31 -0
  213. data/vendor/bundle/ruby/3.4.0/specifications/public_suffix-6.0.1.gemspec +24 -0
  214. data/vendor/bundle/ruby/3.4.0/specifications/racc-1.8.1.gemspec +28 -0
  215. data/vendor/bundle/ruby/3.4.0/specifications/rack-3.1.8.gemspec +31 -0
  216. data/vendor/bundle/ruby/3.4.0/specifications/rack-session-2.1.0.gemspec +30 -0
  217. data/vendor/bundle/ruby/3.4.0/specifications/rack-test-2.2.0.gemspec +29 -0
  218. data/vendor/bundle/ruby/3.4.0/specifications/rails-dom-testing-2.2.0.gemspec +28 -0
  219. data/vendor/bundle/ruby/3.4.0/specifications/rails-html-sanitizer-1.6.2.gemspec +27 -0
  220. data/vendor/bundle/ruby/3.4.0/specifications/rake-13.2.1.gemspec +26 -0
  221. data/vendor/bundle/ruby/3.4.0/specifications/rake-release-1.3.0.gemspec +26 -0
  222. data/vendor/bundle/ruby/3.4.0/specifications/rexml-3.4.0.gemspec +25 -0
  223. data/vendor/bundle/ruby/3.4.0/specifications/rspec-3.13.0.gemspec +31 -0
  224. data/vendor/bundle/ruby/3.4.0/specifications/rspec-collection_matchers-1.2.1.gemspec +27 -0
  225. data/vendor/bundle/ruby/3.4.0/specifications/rspec-core-3.13.2.gemspec +39 -0
  226. data/vendor/bundle/ruby/3.4.0/specifications/rspec-expectations-3.13.3.gemspec +33 -0
  227. data/vendor/bundle/ruby/3.4.0/specifications/rspec-its-2.0.0.gemspec +27 -0
  228. data/vendor/bundle/ruby/3.4.0/specifications/rspec-mocks-3.13.2.gemspec +33 -0
  229. data/vendor/bundle/ruby/3.4.0/specifications/rspec-support-3.13.2.gemspec +29 -0
  230. data/vendor/bundle/ruby/3.4.0/specifications/securerandom-0.4.1.gemspec +23 -0
  231. data/vendor/bundle/ruby/3.4.0/specifications/thor-1.3.2.gemspec +28 -0
  232. data/vendor/bundle/ruby/3.4.0/specifications/typhoeus-1.4.1.gemspec +24 -0
  233. data/vendor/bundle/ruby/3.4.0/specifications/tzinfo-2.0.6.gemspec +30 -0
  234. data/vendor/bundle/ruby/3.4.0/specifications/uri-1.0.2.gemspec +23 -0
  235. data/vendor/bundle/ruby/3.4.0/specifications/useragent-0.16.11.gemspec +25 -0
  236. data/vendor/bundle/ruby/3.4.0/specifications/webmock-3.24.0.gemspec +45 -0
  237. metadata +204 -67
@@ -0,0 +1,151 @@
1
+ = Erubi
2
+
3
+ Erubi is a ERB template engine for ruby. It is a simplified fork of Erubis, using
4
+ the same basic algorithm, with the following differences:
5
+
6
+ * Handles postfix conditionals when using escaping (e.g. <tt><%= foo if bar %></tt>)
7
+ * Supports frozen_string_literal: true in templates via :freeze option
8
+ * Works with ruby's <tt>--enable-frozen-string-literal</tt> option
9
+ * Automatically freezes strings for template text when ruby optimizes it (on ruby 2.1+)
10
+ * Escapes <tt>'</tt> (apostrophe) when escaping for better XSS protection
11
+ * Has 15x-6x faster escaping by using erb/escape or cgi/escape
12
+ * Has 81% smaller memory footprint (calculated using +ObjectSpace.memsize_of_all+)
13
+ * Does no monkey patching (Erubis adds a method to Kernel)
14
+ * Uses an immutable design (all options passed to the constructor, which returns a frozen object)
15
+ * Has simpler internals (1 file, <150 lines of code)
16
+ * Is not dead (Erubis hasn't been updated since 2011)
17
+
18
+ It is not designed with Erubis API compatibility in mind, though most Erubis
19
+ ERB syntax works, with the following exceptions:
20
+
21
+ * No support for <tt><%===</tt> for debug output
22
+
23
+ = Installation
24
+
25
+ gem install erubi
26
+
27
+ = Source Code
28
+
29
+ Source code is available on GitHub at https://github.com/jeremyevans/erubi
30
+
31
+ = Usage
32
+
33
+ Erubi only has built in support for retrieving the generated source for a
34
+ file:
35
+
36
+ require 'erubi'
37
+ eval(Erubi::Engine.new(File.read('filename.erb')).src)
38
+
39
+ Most users will probably use Erubi via Rails or Tilt. Erubi is the default
40
+ erb template handler in Tilt 2.0.6+ and Rails 5.1+.
41
+
42
+ == Capturing
43
+
44
+ Erubi does not support capturing block output into the template by default.
45
+ It currently ships with two implementations that allow it.
46
+
47
+ === Erubi::CaptureBlockEngine
48
+
49
+ The recommended implementation can be required via +erubi/capture_block+,
50
+ which allows capturing to work with normal <tt><%=</tt> and <tt><%==</tt>
51
+ tags.
52
+
53
+ <%= form do %>
54
+ <input>
55
+ <% end %>
56
+
57
+ When using the capture_block support, capture methods should just return
58
+ the text it emit into the template, and call +capture+ on the buffer value.
59
+ Since the buffer variable is a local variable and not an instance variable
60
+ by default, you'll probably want to set the +:bufvar+ variable when using
61
+ the capture_block support to an instance variable, and have any methods
62
+ used call capture on that instance variable. Example:
63
+
64
+ def form(&block)
65
+ "<form>#{@_buf.capture(&block)}</form>"
66
+ end
67
+
68
+ puts eval(Erubi::CaptureBlockEngine.new(<<-END, bufvar: '@_buf', trim: false).src)
69
+ before
70
+ <%= form do %>
71
+ inside
72
+ <% end %>
73
+ after
74
+ END
75
+
76
+ # Output:
77
+ # before
78
+ # <form>
79
+ # inside
80
+ # </form>
81
+ # after
82
+
83
+ To use the capture_block support with tilt:
84
+
85
+ require 'tilt'
86
+ require 'erubi/capture_block'
87
+ Tilt.new("filename.erb", :engine_class=>Erubi::CaptureBlockEngine).render
88
+
89
+ Note that the capture_block support, while very compatible with the default
90
+ support, is not 100% compatible. One area where behavior differs is when
91
+ using multiple statements inside <tt><%=</tt> and <tt><%==</tt> tags:
92
+
93
+ <%= 1; 2 %>
94
+
95
+ The default support will output 2, but the capture_block support will output
96
+ 1.
97
+
98
+ === Erubi::CaptureEndEngine
99
+
100
+ An alternative capture implementation can be required via +erubi/capture_end+,
101
+ which supports it via <tt><%|=</tt> and <tt><%|==</tt> tags which are
102
+ closed with a <tt><%|</tt> tag:
103
+
104
+ <%|= form do %>
105
+ <input>
106
+ <%| end %>
107
+
108
+ It is only recommended to use +erubi/capture_end+ for backwards
109
+ compatibilty.
110
+
111
+ When using the capture_end support, capture methods (such as +form+ in the example
112
+ above) should return the (potentially modified) buffer. Similar to the
113
+ capture_block support, using an instance variable is recommended. Example:
114
+
115
+ def form
116
+ @_buf << "<form>"
117
+ yield
118
+ @_buf << "</form>"
119
+ @_buf
120
+ end
121
+
122
+ puts eval(Erubi::CaptureEndEngine.new(<<-END, bufvar: '@_buf').src)
123
+ before
124
+ <%|= form do %>
125
+ inside
126
+ <%| end %>
127
+ after
128
+ END
129
+
130
+ # Output:
131
+ # before
132
+ # <form>
133
+ # inside
134
+ # </form>
135
+ # after
136
+
137
+ Alternatively, passing the option <tt>:yield_returns_buffer => true</tt> will return the
138
+ buffer captured by the block instead of the last expression in the block.
139
+
140
+ = Reporting Bugs
141
+
142
+ The bug tracker is located at https://github.com/jeremyevans/erubi/issues
143
+
144
+ = License
145
+
146
+ MIT
147
+
148
+ = Authors
149
+
150
+ Jeremy Evans <code@jeremyevans.net>
151
+ kuwata-lab.com
@@ -0,0 +1,375 @@
1
+ # Changelog
2
+
3
+ ## Master
4
+
5
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.15.0...master)
6
+
7
+ * Added `redirect_url` value to available informations and `Easy::Mirror`.
8
+ ([Adrien Rey-Jarthon](https://github.com/jarthod)
9
+
10
+ ## 0.15.0
11
+
12
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.14.0...v0.15.0)
13
+
14
+ ## 0.12.0
15
+
16
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.11.0...v0.12.0)
17
+
18
+ - Removed deprecated `CURLE_SSL_CACERT` pinned in curl v7.62.0 ([@arku](https://github.com/arku) in [#158](https://github.com/typhoeus/ethon/pull/158))
19
+
20
+
21
+ ## 0.11.0
22
+
23
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.10.1...v0.11.0)
24
+
25
+ ## 0.10.1
26
+
27
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.10.0...v0.10.1)
28
+
29
+ ## 0.10.0
30
+
31
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.9.1...v0.10.0)
32
+
33
+ ## 0.9.1
34
+
35
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.9.0...v0.9.1)
36
+
37
+ ## 0.9.0
38
+
39
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.8.1...v0.9.0)
40
+
41
+ ## 0.8.1
42
+
43
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.8.0...v0.8.1)
44
+
45
+ * Support optional escaping of params.
46
+ ([Tasos Laskos](https://github.com/zapotek)
47
+ * `Easy::Mirror`: Reduced object allocations and method calls during info handling.
48
+ ([Tasos Laskos](https://github.com/zapotek)
49
+
50
+ ## 0.8.0
51
+
52
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.7.3...v0.7.4)
53
+
54
+ * `Easy::Mirror`: Reduced object allocations and method calls during info handling.
55
+ ([Tasos Laskos](https://github.com/zapotek)
56
+
57
+ ## 0.7.4
58
+
59
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.7.3...v0.7.4)
60
+
61
+ * Support different array encodings for params.
62
+ ([Marcello Barnaba](https://github.com/ifad), [\#104](https://github.com/typhoeus/ethon/pull/104))
63
+ * Programtic access to version infos.
64
+ ([Jonas Wagner](https://github.com/jwagner), [\#90](https://github.com/typhoeus/ethon/pull/90))
65
+
66
+
67
+ ## 0.7.3
68
+
69
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.7.2...v0.7.3)
70
+
71
+ * `Ethon::Curl::FDSet`
72
+ * Set `:fd_array` size to the current MS Windows `FD_SETSIZE` (2048).
73
+ ([Tasos Laskos](https://github.com/zapotek)
74
+
75
+ * Added `redirect_time` value to available informations and `Easy::Mirror`.
76
+ ([Adrien Jarthon](https://github.com/jarthod)
77
+
78
+ ## 0.7.2
79
+
80
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.7.1...v0.7.2)
81
+
82
+ * FFI data-types updated to be more correct.
83
+
84
+ ## 0.7.1
85
+
86
+ * MS Windows determination delegated to `Gem.windows?` for better accuracy.
87
+ * FFI data-types updated to work on MS Windows.
88
+
89
+ ## 0.7.0
90
+
91
+ Not backwards compatible changes:
92
+
93
+ * `mime-types` are no longer a dependency. The gem will be still used if available to determine the mime type of a file which is uploaded. That means you have to have take care of the gem installation yourself.
94
+
95
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.6.3...v0.7.0)
96
+
97
+ ## 0.6.3
98
+
99
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.6.2...v0.6.3)
100
+
101
+ ## 0.6.2
102
+
103
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.6.1...v0.6.2)
104
+
105
+ ## 0.6.1
106
+
107
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.6.0...v0.6.1)
108
+
109
+ The changelog entries are coming soon!
110
+
111
+ ## 0.6.0
112
+
113
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.5.12...v0.6.0)
114
+
115
+ The changelog entries are coming soon!
116
+
117
+ Bugfixes:
118
+
119
+ * URL-encode nullbytes in parameters instead of escaping them to `\\0`.
120
+ ([Tasos Laskos](https://github.com/zapotek)
121
+
122
+ ## 0.5.12
123
+
124
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.5.11...v0.5.12)
125
+
126
+ Enhancements:
127
+
128
+ * Performance optimizations.
129
+ ([Kyle Oppenheim](https://github.com/koppenheim) and [Richie Vos](https://github.com/richievos), [\#48](https://github.com/typhoeus/ethon/pull/48))
130
+ * Reuse memory pointer.
131
+ ([Richie Vos](https://github.com/richievos), [\#49](https://github.com/typhoeus/ethon/pull/49))
132
+
133
+ Bugfixes:
134
+
135
+ * Fix windows install.
136
+ ([Derik Olsson](https://github.com/derikolsson), [\#47](https://github.com/typhoeus/ethon/pull/47))
137
+ * Handle urls that already contain query params.
138
+ ([Turner King](https://github.com/turnerking ), [\#45](https://github.com/typhoeus/ethon/pull/45))
139
+
140
+ ## 0.5.11
141
+
142
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.5.10...v0.5.11)
143
+
144
+ Enhancements:
145
+
146
+ * Add support for postredirs, unrestricted_auth.
147
+ * Add support for cookie, cookiejar, cookiefile.
148
+ ([erwanlr](https://github.com/erwanlr), [\#46](https://github.com/typhoeus/ethon/pull/46))
149
+ * Relax ffi requirements.
150
+ ([voxik](https://github.com/voxik), [\#40](https://github.com/typhoeus/ethon/pull/40))
151
+ * Various documentation improvements.
152
+ ([Craig Little](https://github.com/craiglittle))
153
+
154
+ Bugfixes:
155
+
156
+ * Fix the memory leaks.
157
+ ([Richie Vos](https://github.com/richievos), [\#45](https://github.com/typhoeus/ethon/pull/45))
158
+
159
+ ## 0.5.10
160
+
161
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.5.9...v0.5.10)
162
+
163
+ Enhancements:
164
+
165
+ * Allow custom requests.
166
+ ([Nathan Sutton](https://github.com/nate), [\#36](https://github.com/typhoeus/ethon/pull/36))
167
+ * Use updated version of FFI.
168
+
169
+ Bugfixes:
170
+
171
+ * Fix windows install issue.
172
+ ([brainsucker](https://github.com/brainsucker), [\#38](https://github.com/typhoeus/ethon/pull/38))
173
+
174
+ ## 0.5.9
175
+
176
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.5.8...v0.5.9)
177
+
178
+ Enhancements:
179
+
180
+ * Allow to set multiple protocols.
181
+
182
+ ## 0.5.8
183
+
184
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.5.7...v0.5.8)
185
+
186
+ Enhancements:
187
+
188
+ * Add support for protocols and redir_protocols(
189
+ [libcurl SASL buffer overflow vulnerability](http://curl.haxx.se/docs/adv_20130206.html)).
190
+ * Add max_send_speed_large and max_recv_speed_large([Paul Schuegraf](https://github.com/pschuegr), [\#33](https://github.com/typhoeus/ethon/pull/33))
191
+
192
+ ## 0.5.7
193
+
194
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.5.6...v0.5.7)
195
+
196
+ Enhancements:
197
+
198
+ * Use new version of ffi.
199
+
200
+ ## 0.5.6
201
+
202
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.5.4...v0.5.6)
203
+
204
+ Bugfixes:
205
+
206
+ * Easy#reset resets on_complete callbacks.
207
+
208
+ ## 0.5.4
209
+
210
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.5.3...v0.5.4)
211
+
212
+ Enhancements:
213
+
214
+ * Use Libc#getdtablesize to get the FDSet size.
215
+ * New libcurl option accept_encoding.
216
+ * Documentation updates.
217
+
218
+ ## 0.5.3
219
+
220
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.5.2...v0.5.3)
221
+
222
+ Enhancements:
223
+
224
+ * Deprecate Easy#prepare. It is no longer necessary.
225
+ * Unroll metaprogramming for easy and multi options.
226
+ * More specs.
227
+
228
+ Bugfixes:
229
+
230
+ * Correct size for FDSets
231
+ * Add proxytypes to enums.
232
+
233
+ ## 0.5.2
234
+
235
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.5.1...v0.5.2)
236
+
237
+ Enhancements:
238
+
239
+ * New libcurl option keypasswd.
240
+
241
+ Bugfixes:
242
+
243
+ * Correct request logging when using multi interface.
244
+ * Remove invalid libcurl option sslcertpasswd.
245
+
246
+ ## 0.5.1
247
+
248
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.5.0...v0.5.1)
249
+
250
+ Bugfixes:
251
+
252
+ * Mark Curl.select and Curl.easy_perform as blocking so that the GIL is
253
+ released by ffi.
254
+
255
+ ## 0.5.0
256
+
257
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.4.4...v0.5.0)
258
+
259
+ Enhancements:
260
+
261
+ * New libcurl option proxyuserpwd
262
+ * Rename response_header to response_headers
263
+
264
+ Bugfixes:
265
+
266
+ * Mark Curl.select and Curl.easy_perform as blocking so that the GIL is
267
+ released by ffi.
268
+
269
+ ## 0.4.4
270
+
271
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.4.3...v0.4.4)
272
+
273
+ Enhancements:
274
+
275
+ * Prepare multi explicit like easy
276
+
277
+ ## 0.4.3
278
+
279
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.4.2...v0.4.3)
280
+
281
+ Enhancements:
282
+
283
+ * Remove deprecated libcurl option put
284
+ * More documentation
285
+ * New libcurl option connecttimeout_ms and timeout_ms
286
+ * Support multi options
287
+
288
+ Bugfixes:
289
+
290
+ * Handle nil values in query params
291
+
292
+ ## 0.4.2
293
+
294
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.4.1...v0.4.2)
295
+
296
+ Enhancements:
297
+
298
+ * New libcurl option forbid_reuse
299
+ * Use libcurls escape instead of CGI::escape
300
+
301
+ ## 0.4.1
302
+
303
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.4.0...v0.4.1)
304
+
305
+ Bugfixes:
306
+
307
+ * Handle nested hash in an array in params correct
308
+ ( [\#201](https://github.com/typhoeus/typhoeus/issues/201) )
309
+
310
+ ## 0.4.0
311
+
312
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.3.0...v0.4.0)
313
+
314
+ Enhancements:
315
+
316
+ * ruby 1.8.7 compatible
317
+ * Ethon.logger
318
+ * Deal with string param/body
319
+ * More documentation
320
+
321
+ Bugfixes:
322
+
323
+ * Add multi_cleanup to curl
324
+
325
+ ## 0.3.0
326
+
327
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.2.0...v0.3.0)
328
+
329
+ Enhancements:
330
+
331
+ * New libcurl option proxyport
332
+ * Raise invalid value error when providing a wrong key for sslversion or httpauth
333
+
334
+ Bugfixes:
335
+
336
+ * Libcurl option sslversion is handled correct
337
+
338
+ ## 0.2.0
339
+
340
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.1.0...v0.2.0)
341
+
342
+ Enhancements:
343
+
344
+ * GET requests are using custom requests only when there is a request body
345
+ * Easy#on_complete takes multiple callbacks
346
+ * raise Errors::GlobalInit when libcurls global_init failed instead of
347
+ runtime error
348
+ * raise Errors::InvalidOption if option is invalid
349
+
350
+ ## 0.1.0
351
+
352
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.0.2...v0.1.0)
353
+
354
+ Enhancements:
355
+
356
+ * Documentation
357
+ ( [Alex P](https://github.com/ifesdjeen), [\#13](https://github.com/typhoeus/ethon/issues/13) )
358
+ * New libcurl option dns_cache_timeout
359
+ ( [Chris Heald](https://github.com/cheald), [\#192](https://github.com/typhoeus/typhoeus/pull/192) )
360
+
361
+ Bugfixes:
362
+
363
+ * Libcurl option ssl_verifyhost takes an integer.
364
+ * Add space between header key and value.
365
+
366
+ ## 0.0.2
367
+
368
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.0.1...v0.0.2)
369
+
370
+ Bugfixes:
371
+
372
+ * Add libcurl.so.4 to ffi_lib in order to load correct lib on Debian.
373
+ * Escape zero bytes.
374
+
375
+ ## 0.0.1 Initial version
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2012-2016 Hans Hasselberg
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,118 @@
1
+ [![Gem Version](https://badge.fury.io/rb/ethon.svg)](https://badge.fury.io/rb/ethon)
2
+ [![Build Status](https://github.com/typhoeus/ethon/workflows/Ruby/badge.svg)](https://github.com/typhoeus/ethon/actions/workflows/ruby.yml)
3
+
4
+ # Ethon
5
+
6
+ In Greek mythology, Ethon, the son of Typhoeus and Echidna, is a gigantic eagle. So much for the history.
7
+ In the modern world, Ethon is a very basic libcurl wrapper using ffi.
8
+
9
+ * [Documentation](http://rubydoc.info/github/typhoeus/ethon/frames/Ethon)
10
+ * [Website](http://typhoeus.github.com/)
11
+ * [Mailing list](http://groups.google.com/group/typhoeus)
12
+
13
+ ## Installation
14
+
15
+ With bundler:
16
+
17
+ gem "ethon"
18
+
19
+ With rubygems:
20
+
21
+ gem install ethon
22
+
23
+ ## Usage
24
+
25
+ Making the first request is simple:
26
+
27
+ ```ruby
28
+ easy = Ethon::Easy.new(url: "www.example.com")
29
+ easy.perform
30
+ #=> :ok
31
+ ```
32
+
33
+ You have access to various options, such as following redirects:
34
+
35
+ ```ruby
36
+ easy = Ethon::Easy.new(url: "www.example.com", followlocation: true)
37
+ easy.perform
38
+ #=> :ok
39
+ ```
40
+
41
+ Once you're done you can inspect the response code and body:
42
+
43
+ ```ruby
44
+ easy = Ethon::Easy.new(url: "www.example.com", followlocation: true)
45
+ easy.perform
46
+ easy.response_code
47
+ #=> 200
48
+ easy.response_body
49
+ #=> "<!doctype html><html ..."
50
+ ```
51
+
52
+ ## Http
53
+
54
+ In order to make life easier, there are some helpers for making HTTP requests:
55
+
56
+ ```ruby
57
+ easy = Ethon::Easy.new
58
+ easy.http_request("www.example.com", :get, { params: {a: 1} })
59
+ easy.perform
60
+ #=> :ok
61
+ ```
62
+
63
+ ```ruby
64
+ easy = Ethon::Easy.new
65
+ easy.http_request("www.example.com", :post, { params: { a: 1 }, body: { b: 2 } })
66
+ easy.perform
67
+ #=> :ok
68
+ ```
69
+
70
+ This is really handy when making requests since you don't have to care about setting
71
+ everything up correctly.
72
+
73
+ ## Http2
74
+ Standard http2 servers require the client to connect once and create a session (multi) and then add simple requests to the multi handler.
75
+ The `perform` method then takes all the requests in the multi handler and sends them to the server.
76
+
77
+ See the following example
78
+ ```ruby
79
+ multi = Ethon::Multi.new
80
+ easy = Ethon::Easy.new
81
+
82
+ easy.http_request("www.example.com/get", :get, { http_version: :httpv2_0 })
83
+
84
+ # Sending a request with http version 2 will send an Upgrade header to the server, which many older servers will not support
85
+ # See below for more info: https://everything.curl.dev/http/http2
86
+ # If this is a problem, send the below:
87
+ easy.http_request("www.example.com/get", :get, { http_version: :httpv2_prior_knowledge })
88
+
89
+ # To set the server to use http2 with https and http1 with http, send the following:
90
+ easy.http_request("www.example.com/get", :get, { http_version: :httpv2_tls }
91
+
92
+ multi.add(easy)
93
+ multi.perform
94
+ ```
95
+
96
+ ## LICENSE
97
+
98
+ (The MIT License)
99
+
100
+ Copyright © 2012-2016 [Hans Hasselberg](http://www.hans.io)
101
+
102
+ Permission is hereby granted, free of charge, to any person obtaining a
103
+ copy of this software and associated documentation files (the "Software"),
104
+ to deal in the Software without restriction, including without
105
+ limitation the rights to use, copy, modify, merge, publish, distribute,
106
+ sublicense, and/or sell copies of the Software, and to permit persons
107
+ to whom the Software is furnished to do so, subject to the following conditions:
108
+
109
+ The above copyright notice and this permission notice shall be included
110
+ in all copies or substantial portions of the Software.
111
+
112
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
113
+ OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
114
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
115
+ THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
116
+ OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
117
+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
118
+ OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,26 @@
1
+ # encoding: utf-8
2
+ # frozen_string_literal: true
3
+ lib = File.expand_path('../lib/', __FILE__)
4
+ $:.unshift lib unless $:.include?(lib)
5
+
6
+ require 'ethon/version'
7
+
8
+ Gem::Specification.new do |s|
9
+ s.name = "ethon"
10
+ s.version = Ethon::VERSION
11
+ s.platform = Gem::Platform::RUBY
12
+ s.authors = ["Hans Hasselberg"]
13
+ s.email = ["me@hans.io"]
14
+ s.homepage = "https://github.com/typhoeus/ethon"
15
+ s.summary = "Libcurl wrapper."
16
+ s.description = "Very lightweight libcurl wrapper."
17
+
18
+ s.required_rubygems_version = ">= 1.3.6"
19
+ s.license = 'MIT'
20
+
21
+ s.add_dependency('ffi', ['>= 1.15.0'])
22
+
23
+ s.files = `git ls-files`.split("\n")
24
+ s.test_files = `git ls-files -- spec/*`.split("\n")
25
+ s.require_path = 'lib'
26
+ end