cloudsmith-api 2.0.24 → 2.0.25

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 (501) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +9 -7
  3. data/README.md +21 -5
  4. data/build.json +1 -1
  5. data/docs/AlpinePackageUpload.md +1 -0
  6. data/docs/AlpineUpstream.md +32 -0
  7. data/docs/AlpineUpstreamRequest.md +20 -0
  8. data/docs/AlpineUpstreamRequestPatch.md +20 -0
  9. data/docs/BulkActionApi.md +70 -0
  10. data/docs/CargoPackageUpload.md +1 -0
  11. data/docs/CargoUpstream.md +4 -4
  12. data/docs/CocoapodsPackageUpload.md +1 -0
  13. data/docs/ComposerPackageUpload.md +1 -0
  14. data/docs/ComposerUpstream.md +4 -4
  15. data/docs/ConanPackageUpload.md +1 -0
  16. data/docs/CondaPackageUpload.md +1 -0
  17. data/docs/CondaUpstream.md +4 -4
  18. data/docs/CranPackageUpload.md +1 -0
  19. data/docs/CranUpstream.md +4 -4
  20. data/docs/DartPackageUpload.md +1 -0
  21. data/docs/DartUpstream.md +4 -4
  22. data/docs/DebPackageUpload.md +1 -0
  23. data/docs/DebUpstream.md +4 -4
  24. data/docs/DockerPackageUpload.md +1 -0
  25. data/docs/DockerUpstream.md +2 -2
  26. data/docs/FormatSupportUpstream.md +1 -0
  27. data/docs/GenericPackageUpload.md +1 -0
  28. data/docs/GenericUpstream.md +4 -4
  29. data/docs/GoPackageUpload.md +1 -0
  30. data/docs/GoUpstream.md +4 -4
  31. data/docs/HelmPackageUpload.md +1 -0
  32. data/docs/HelmUpstream.md +4 -4
  33. data/docs/HexPackageUpload.md +1 -0
  34. data/docs/HexUpstream.md +4 -4
  35. data/docs/HuggingfacePackageUpload.md +1 -0
  36. data/docs/HuggingfaceUpstream.md +4 -4
  37. data/docs/LuarocksPackageUpload.md +1 -0
  38. data/docs/MavenPackageUpload.md +1 -0
  39. data/docs/MavenUpstream.md +4 -4
  40. data/docs/NpmPackageUpload.md +1 -0
  41. data/docs/NpmUpstream.md +5 -4
  42. data/docs/NpmUpstreamRequest.md +1 -0
  43. data/docs/NpmUpstreamRequestPatch.md +1 -0
  44. data/docs/NugetPackageUpload.md +1 -0
  45. data/docs/NugetUpstream.md +4 -4
  46. data/docs/OrganizationTeamMembers.md +1 -1
  47. data/docs/{OrganizationTeamMembership.md → OrganizationTeamServiceMember.md} +2 -1
  48. data/docs/P2PackageUpload.md +1 -0
  49. data/docs/Package.md +1 -0
  50. data/docs/PackageBulkAction.md +11 -0
  51. data/docs/PackageBulkActionResponse.md +10 -0
  52. data/docs/PackageCopy.md +1 -0
  53. data/docs/PackageMove.md +1 -0
  54. data/docs/PackageQuarantine.md +1 -0
  55. data/docs/PackageResync.md +1 -0
  56. data/docs/PackageTag.md +1 -0
  57. data/docs/PackagesApi.md +131 -0
  58. data/docs/PythonPackageUpload.md +1 -0
  59. data/docs/PythonUpstream.md +4 -4
  60. data/docs/RawPackageUpload.md +1 -0
  61. data/docs/ReposApi.md +406 -1
  62. data/docs/Repository.md +2 -0
  63. data/docs/RepositoryCreate.md +2 -0
  64. data/docs/RepositoryCreateRequest.md +1 -0
  65. data/docs/RepositoryRequestPatch.md +1 -0
  66. data/docs/RpmPackageUpload.md +1 -0
  67. data/docs/RpmUpstream.md +4 -4
  68. data/docs/RubyPackageUpload.md +1 -0
  69. data/docs/RubyUpstream.md +4 -4
  70. data/docs/SwiftPackageUpload.md +1 -0
  71. data/docs/SwiftUpstream.md +4 -4
  72. data/docs/TerraformPackageUpload.md +1 -0
  73. data/docs/VagrantPackageUpload.md +1 -0
  74. data/docs/VsxPackageUpload.md +91 -0
  75. data/docs/VsxPackageUploadRequest.md +10 -0
  76. data/lib/cloudsmith-api/api/bulk_action_api.rb +77 -0
  77. data/lib/cloudsmith-api/api/packages_api.rb +123 -0
  78. data/lib/cloudsmith-api/api/repos_api.rb +401 -0
  79. data/lib/cloudsmith-api/models/alpine_package_upload.rb +10 -1
  80. data/lib/cloudsmith-api/models/alpine_upstream.rb +496 -0
  81. data/lib/cloudsmith-api/models/alpine_upstream_request.rb +365 -0
  82. data/lib/cloudsmith-api/models/alpine_upstream_request_patch.rb +355 -0
  83. data/lib/cloudsmith-api/models/cargo_package_upload.rb +10 -1
  84. data/lib/cloudsmith-api/models/cargo_upstream.rb +7 -4
  85. data/lib/cloudsmith-api/models/cocoapods_package_upload.rb +10 -1
  86. data/lib/cloudsmith-api/models/composer_package_upload.rb +10 -1
  87. data/lib/cloudsmith-api/models/composer_upstream.rb +7 -4
  88. data/lib/cloudsmith-api/models/conan_package_upload.rb +10 -1
  89. data/lib/cloudsmith-api/models/conda_package_upload.rb +10 -1
  90. data/lib/cloudsmith-api/models/conda_upstream.rb +7 -4
  91. data/lib/cloudsmith-api/models/cran_package_upload.rb +10 -1
  92. data/lib/cloudsmith-api/models/cran_upstream.rb +7 -4
  93. data/lib/cloudsmith-api/models/dart_package_upload.rb +10 -1
  94. data/lib/cloudsmith-api/models/dart_upstream.rb +7 -4
  95. data/lib/cloudsmith-api/models/deb_package_upload.rb +10 -1
  96. data/lib/cloudsmith-api/models/deb_upstream.rb +7 -4
  97. data/lib/cloudsmith-api/models/docker_package_upload.rb +10 -1
  98. data/lib/cloudsmith-api/models/docker_upstream.rb +4 -2
  99. data/lib/cloudsmith-api/models/format_support_upstream.rb +19 -4
  100. data/lib/cloudsmith-api/models/generic_package_upload.rb +10 -1
  101. data/lib/cloudsmith-api/models/generic_upstream.rb +7 -4
  102. data/lib/cloudsmith-api/models/go_package_upload.rb +10 -1
  103. data/lib/cloudsmith-api/models/go_upstream.rb +7 -4
  104. data/lib/cloudsmith-api/models/helm_package_upload.rb +10 -1
  105. data/lib/cloudsmith-api/models/helm_upstream.rb +7 -4
  106. data/lib/cloudsmith-api/models/hex_package_upload.rb +10 -1
  107. data/lib/cloudsmith-api/models/hex_upstream.rb +7 -4
  108. data/lib/cloudsmith-api/models/huggingface_package_upload.rb +10 -1
  109. data/lib/cloudsmith-api/models/huggingface_upstream.rb +7 -4
  110. data/lib/cloudsmith-api/models/luarocks_package_upload.rb +10 -1
  111. data/lib/cloudsmith-api/models/maven_package_upload.rb +10 -1
  112. data/lib/cloudsmith-api/models/maven_upstream.rb +7 -4
  113. data/lib/cloudsmith-api/models/npm_package_upload.rb +10 -1
  114. data/lib/cloudsmith-api/models/npm_upstream.rb +32 -5
  115. data/lib/cloudsmith-api/models/npm_upstream_request.rb +25 -1
  116. data/lib/cloudsmith-api/models/npm_upstream_request_patch.rb +25 -1
  117. data/lib/cloudsmith-api/models/nuget_package_upload.rb +10 -1
  118. data/lib/cloudsmith-api/models/nuget_upstream.rb +7 -4
  119. data/lib/cloudsmith-api/models/organization_team_members.rb +1 -1
  120. data/lib/cloudsmith-api/models/{organization_team_membership.rb → organization_team_service_member.rb} +28 -5
  121. data/lib/cloudsmith-api/models/p2_package_upload.rb +10 -1
  122. data/lib/cloudsmith-api/models/package.rb +10 -1
  123. data/lib/cloudsmith-api/models/package_bulk_action.rb +261 -0
  124. data/lib/cloudsmith-api/models/package_bulk_action_response.rb +209 -0
  125. data/lib/cloudsmith-api/models/package_copy.rb +10 -1
  126. data/lib/cloudsmith-api/models/package_move.rb +10 -1
  127. data/lib/cloudsmith-api/models/package_quarantine.rb +10 -1
  128. data/lib/cloudsmith-api/models/package_resync.rb +10 -1
  129. data/lib/cloudsmith-api/models/package_tag.rb +10 -1
  130. data/lib/cloudsmith-api/models/python_package_upload.rb +10 -1
  131. data/lib/cloudsmith-api/models/python_upstream.rb +7 -4
  132. data/lib/cloudsmith-api/models/raw_package_upload.rb +10 -1
  133. data/lib/cloudsmith-api/models/repository.rb +21 -1
  134. data/lib/cloudsmith-api/models/repository_create.rb +21 -1
  135. data/lib/cloudsmith-api/models/repository_create_request.rb +11 -1
  136. data/lib/cloudsmith-api/models/repository_request_patch.rb +11 -1
  137. data/lib/cloudsmith-api/models/rpm_package_upload.rb +10 -1
  138. data/lib/cloudsmith-api/models/rpm_upstream.rb +7 -4
  139. data/lib/cloudsmith-api/models/ruby_package_upload.rb +10 -1
  140. data/lib/cloudsmith-api/models/ruby_upstream.rb +7 -4
  141. data/lib/cloudsmith-api/models/swift_package_upload.rb +10 -1
  142. data/lib/cloudsmith-api/models/swift_upstream.rb +7 -4
  143. data/lib/cloudsmith-api/models/terraform_package_upload.rb +10 -1
  144. data/lib/cloudsmith-api/models/vagrant_package_upload.rb +10 -1
  145. data/lib/cloudsmith-api/models/vsx_package_upload.rb +1001 -0
  146. data/lib/cloudsmith-api/models/vsx_package_upload_request.rb +210 -0
  147. data/lib/cloudsmith-api/version.rb +1 -1
  148. data/lib/cloudsmith-api.rb +9 -1
  149. data/spec/api/bulk_action_api_spec.rb +47 -0
  150. data/spec/api/packages_api_spec.rb +28 -0
  151. data/spec/api/repos_api_spec.rb +89 -0
  152. data/spec/models/alpine_package_upload_spec.rb +6 -0
  153. data/spec/models/alpine_upstream_request_patch_spec.rb +121 -0
  154. data/spec/models/alpine_upstream_request_spec.rb +121 -0
  155. data/spec/models/alpine_upstream_spec.rb +197 -0
  156. data/spec/models/cargo_package_upload_spec.rb +6 -0
  157. data/spec/models/cocoapods_package_upload_spec.rb +6 -0
  158. data/spec/models/composer_package_upload_spec.rb +6 -0
  159. data/spec/models/conan_package_upload_spec.rb +6 -0
  160. data/spec/models/conda_package_upload_spec.rb +6 -0
  161. data/spec/models/cran_package_upload_spec.rb +6 -0
  162. data/spec/models/dart_package_upload_spec.rb +6 -0
  163. data/spec/models/deb_package_upload_spec.rb +6 -0
  164. data/spec/models/docker_package_upload_spec.rb +6 -0
  165. data/spec/models/format_support_upstream_spec.rb +6 -0
  166. data/spec/models/generic_package_upload_spec.rb +6 -0
  167. data/spec/models/go_package_upload_spec.rb +6 -0
  168. data/spec/models/helm_package_upload_spec.rb +6 -0
  169. data/spec/models/hex_package_upload_spec.rb +6 -0
  170. data/spec/models/huggingface_package_upload_spec.rb +6 -0
  171. data/spec/models/luarocks_package_upload_spec.rb +6 -0
  172. data/spec/models/maven_package_upload_spec.rb +6 -0
  173. data/spec/models/npm_package_upload_spec.rb +6 -0
  174. data/spec/models/npm_upstream_request_patch_spec.rb +10 -0
  175. data/spec/models/npm_upstream_request_spec.rb +10 -0
  176. data/spec/models/npm_upstream_spec.rb +10 -0
  177. data/spec/models/nuget_package_upload_spec.rb +6 -0
  178. data/spec/models/{organization_team_membership_spec.rb → organization_team_service_member_spec.rb} +16 -6
  179. data/spec/models/p2_package_upload_spec.rb +6 -0
  180. data/spec/models/package_bulk_action_response_spec.rb +53 -0
  181. data/spec/models/package_bulk_action_spec.rb +63 -0
  182. data/spec/models/package_copy_spec.rb +6 -0
  183. data/spec/models/package_move_spec.rb +6 -0
  184. data/spec/models/package_quarantine_spec.rb +6 -0
  185. data/spec/models/package_resync_spec.rb +6 -0
  186. data/spec/models/package_spec.rb +6 -0
  187. data/spec/models/package_tag_spec.rb +6 -0
  188. data/spec/models/python_package_upload_spec.rb +6 -0
  189. data/spec/models/raw_package_upload_spec.rb +6 -0
  190. data/spec/models/repository_create_request_spec.rb +6 -0
  191. data/spec/models/repository_create_spec.rb +12 -0
  192. data/spec/models/repository_request_patch_spec.rb +6 -0
  193. data/spec/models/repository_spec.rb +12 -0
  194. data/spec/models/rpm_package_upload_spec.rb +6 -0
  195. data/spec/models/ruby_package_upload_spec.rb +6 -0
  196. data/spec/models/swift_package_upload_spec.rb +6 -0
  197. data/spec/models/terraform_package_upload_spec.rb +6 -0
  198. data/spec/models/vagrant_package_upload_spec.rb +6 -0
  199. data/spec/models/vsx_package_upload_request_spec.rb +53 -0
  200. data/spec/models/vsx_package_upload_spec.rb +543 -0
  201. data/vendor/bundle/ruby/2.6.0/cache/addressable-2.8.9.gem +0 -0
  202. data/vendor/bundle/ruby/2.6.0/cache/ethon-0.18.0.gem +0 -0
  203. data/vendor/bundle/ruby/2.6.0/cache/logger-1.7.0.gem +0 -0
  204. data/vendor/bundle/ruby/2.6.0/cache/rspec-mocks-3.13.8.gem +0 -0
  205. data/vendor/bundle/ruby/2.6.0/cache/rspec-support-3.13.7.gem +0 -0
  206. data/vendor/bundle/ruby/2.6.0/cache/typhoeus-1.6.0.gem +0 -0
  207. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/autotest-fsevent-0.3.1/gem_make.out +1 -1
  208. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/bigdecimal-4.0.1/gem_make.out +2 -2
  209. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/bigdecimal-4.0.1/mkmf.log +4 -4
  210. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/ffi-1.17.3/gem_make.out +2 -2
  211. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/ffi-1.17.3/mkmf.log +1 -1
  212. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/json-2.7.6/gem_make.out +2 -2
  213. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/json-2.7.6/mkmf.log +1 -1
  214. data/vendor/bundle/ruby/2.6.0/gems/{addressable-2.8.8 → addressable-2.8.9}/CHANGELOG.md +10 -1
  215. data/vendor/bundle/ruby/2.6.0/gems/{addressable-2.8.8 → addressable-2.8.9}/lib/addressable/idna/pure.rb +0 -10
  216. data/vendor/bundle/ruby/2.6.0/gems/{addressable-2.8.8 → addressable-2.8.9}/lib/addressable/version.rb +1 -1
  217. data/vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.0.1/ext/bigdecimal/Makefile +2 -2
  218. data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/CHANGELOG.md +46 -1
  219. data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/README.md +23 -0
  220. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.18.0/ethon.gemspec +37 -0
  221. data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/curls/classes.rb +12 -2
  222. data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/curls/codes.rb +3 -2
  223. data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/curls/options.rb +4 -3
  224. data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/easy/callbacks.rb +10 -3
  225. data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/easy/informations.rb +3 -0
  226. data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/easy/response_callbacks.rb +6 -1
  227. data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/loggable.rb +0 -1
  228. data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/version.rb +1 -1
  229. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/Makefile +2 -2
  230. data/vendor/bundle/ruby/2.6.0/gems/json-2.7.6/ext/json/ext/generator/Makefile +2 -2
  231. data/vendor/bundle/ruby/2.6.0/gems/json-2.7.6/ext/json/ext/parser/Makefile +2 -2
  232. data/vendor/bundle/ruby/2.6.0/gems/logger-1.7.0/.document +4 -0
  233. data/vendor/bundle/ruby/2.6.0/gems/logger-1.7.0/.rdoc_options +3 -0
  234. data/vendor/bundle/ruby/2.6.0/gems/logger-1.7.0/BSDL +22 -0
  235. data/vendor/bundle/ruby/2.6.0/gems/logger-1.7.0/COPYING +56 -0
  236. data/vendor/bundle/ruby/2.6.0/gems/logger-1.7.0/README.md +104 -0
  237. data/vendor/bundle/ruby/2.6.0/gems/logger-1.7.0/lib/logger/errors.rb +9 -0
  238. data/vendor/bundle/ruby/2.6.0/gems/logger-1.7.0/lib/logger/formatter.rb +36 -0
  239. data/vendor/bundle/ruby/2.6.0/gems/logger-1.7.0/lib/logger/log_device.rb +265 -0
  240. data/vendor/bundle/ruby/2.6.0/gems/logger-1.7.0/lib/logger/period.rb +47 -0
  241. data/vendor/bundle/ruby/2.6.0/gems/logger-1.7.0/lib/logger/severity.rb +38 -0
  242. data/vendor/bundle/ruby/2.6.0/gems/logger-1.7.0/lib/logger/version.rb +5 -0
  243. data/vendor/bundle/ruby/2.6.0/gems/logger-1.7.0/lib/logger.rb +789 -0
  244. data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/Changelog.md +9 -1
  245. data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/any_instance/recorder.rb +3 -1
  246. data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/order_group.rb +15 -4
  247. data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/version.rb +1 -1
  248. data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/Changelog.md +10 -3
  249. data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/fuzzy_matcher.rb +3 -0
  250. data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/version.rb +1 -1
  251. data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/CHANGELOG.md +14 -1
  252. data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/README.md +2 -2
  253. data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/version.rb +1 -1
  254. data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/typhoeus.gemspec +1 -1
  255. data/vendor/bundle/ruby/2.6.0/specifications/{addressable-2.8.8.gemspec → addressable-2.8.9.gemspec} +3 -5
  256. data/vendor/bundle/ruby/2.6.0/specifications/{ethon-0.15.0.gemspec → ethon-0.18.0.gemspec} +8 -4
  257. data/vendor/bundle/ruby/2.6.0/specifications/logger-1.7.0.gemspec +22 -0
  258. data/vendor/bundle/ruby/2.6.0/specifications/{rspec-mocks-3.13.7.gemspec → rspec-mocks-3.13.8.gemspec} +5 -5
  259. data/vendor/bundle/ruby/2.6.0/specifications/{rspec-support-3.13.6.gemspec → rspec-support-3.13.7.gemspec} +4 -4
  260. data/vendor/bundle/ruby/2.6.0/specifications/{typhoeus-1.5.0.gemspec → typhoeus-1.6.0.gemspec} +5 -5
  261. metadata +265 -279
  262. data/vendor/bundle/ruby/2.6.0/cache/addressable-2.8.8.gem +0 -0
  263. data/vendor/bundle/ruby/2.6.0/cache/ethon-0.15.0.gem +0 -0
  264. data/vendor/bundle/ruby/2.6.0/cache/rspec-mocks-3.13.7.gem +0 -0
  265. data/vendor/bundle/ruby/2.6.0/cache/rspec-support-3.13.6.gem +0 -0
  266. data/vendor/bundle/ruby/2.6.0/cache/typhoeus-1.5.0.gem +0 -0
  267. data/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.8/Gemfile +0 -31
  268. data/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.8/Rakefile +0 -37
  269. data/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.8/addressable.gemspec +0 -28
  270. data/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.8/spec/addressable/idna_spec.rb +0 -302
  271. data/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.8/spec/addressable/net_http_compat_spec.rb +0 -29
  272. data/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.8/spec/addressable/security_spec.rb +0 -58
  273. data/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.8/spec/addressable/template_spec.rb +0 -1264
  274. data/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.8/spec/addressable/uri_spec.rb +0 -6854
  275. data/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.8/spec/spec_helper.rb +0 -33
  276. data/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.8/tasks/clobber.rake +0 -4
  277. data/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.8/tasks/gem.rake +0 -100
  278. data/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.8/tasks/git.rake +0 -47
  279. data/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.8/tasks/metrics.rake +0 -24
  280. data/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.8/tasks/profile.rake +0 -72
  281. data/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.8/tasks/rspec.rake +0 -23
  282. data/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.8/tasks/yard.rake +0 -29
  283. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/.github/workflows/ruby.yml +0 -41
  284. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/.gitignore +0 -8
  285. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/.rspec +0 -3
  286. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/Gemfile +0 -43
  287. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/Guardfile +0 -10
  288. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/Rakefile +0 -40
  289. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/ethon.gemspec +0 -26
  290. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/profile/benchmarks.rb +0 -104
  291. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/profile/memory_leaks.rb +0 -114
  292. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/profile/perf_spec_helper.rb +0 -37
  293. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/profile/support/memory_test_helpers.rb +0 -76
  294. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/profile/support/os_memory_leak_tracker.rb +0 -48
  295. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/profile/support/ruby_object_leak_tracker.rb +0 -49
  296. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/curl_spec.rb +0 -38
  297. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/easy/callbacks_spec.rb +0 -59
  298. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/easy/debug_info_spec.rb +0 -54
  299. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/easy/features_spec.rb +0 -24
  300. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/easy/form_spec.rb +0 -104
  301. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/easy/header_spec.rb +0 -79
  302. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/easy/http/custom_spec.rb +0 -177
  303. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/easy/http/delete_spec.rb +0 -21
  304. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/easy/http/get_spec.rb +0 -126
  305. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/easy/http/head_spec.rb +0 -80
  306. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/easy/http/options_spec.rb +0 -51
  307. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/easy/http/patch_spec.rb +0 -51
  308. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/easy/http/post_spec.rb +0 -317
  309. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/easy/http/put_spec.rb +0 -168
  310. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/easy/http_spec.rb +0 -64
  311. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/easy/informations_spec.rb +0 -120
  312. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/easy/mirror_spec.rb +0 -47
  313. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/easy/operations_spec.rb +0 -268
  314. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/easy/options_spec.rb +0 -193
  315. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/easy/queryable_spec.rb +0 -235
  316. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/easy/response_callbacks_spec.rb +0 -152
  317. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/easy/util_spec.rb +0 -28
  318. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/easy_spec.rb +0 -203
  319. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/libc_spec.rb +0 -14
  320. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/loggable_spec.rb +0 -22
  321. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/multi/operations_spec.rb +0 -298
  322. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/multi/options_spec.rb +0 -182
  323. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/multi/stack_spec.rb +0 -80
  324. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/multi_spec.rb +0 -152
  325. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/spec_helper.rb +0 -28
  326. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/support/localhost_server.rb +0 -95
  327. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/support/server.rb +0 -115
  328. /data/vendor/bundle/ruby/2.6.0/gems/{addressable-2.8.8 → addressable-2.8.9}/LICENSE.txt +0 -0
  329. /data/vendor/bundle/ruby/2.6.0/gems/{addressable-2.8.8 → addressable-2.8.9}/README.md +0 -0
  330. /data/vendor/bundle/ruby/2.6.0/gems/{addressable-2.8.8 → addressable-2.8.9}/lib/addressable/idna/native.rb +0 -0
  331. /data/vendor/bundle/ruby/2.6.0/gems/{addressable-2.8.8 → addressable-2.8.9}/lib/addressable/idna.rb +0 -0
  332. /data/vendor/bundle/ruby/2.6.0/gems/{addressable-2.8.8 → addressable-2.8.9}/lib/addressable/template.rb +0 -0
  333. /data/vendor/bundle/ruby/2.6.0/gems/{addressable-2.8.8 → addressable-2.8.9}/lib/addressable/uri.rb +0 -0
  334. /data/vendor/bundle/ruby/2.6.0/gems/{addressable-2.8.8 → addressable-2.8.9}/lib/addressable.rb +0 -0
  335. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/LICENSE +0 -0
  336. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/curl.rb +0 -0
  337. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/curls/constants.rb +0 -0
  338. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/curls/form_options.rb +0 -0
  339. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/curls/functions.rb +0 -0
  340. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/curls/infos.rb +0 -0
  341. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/curls/messages.rb +0 -0
  342. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/curls/settings.rb +0 -0
  343. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/easy/debug_info.rb +0 -0
  344. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/easy/features.rb +0 -0
  345. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/easy/form.rb +0 -0
  346. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/easy/header.rb +0 -0
  347. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/easy/http/actionable.rb +0 -0
  348. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/easy/http/custom.rb +0 -0
  349. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/easy/http/delete.rb +0 -0
  350. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/easy/http/get.rb +0 -0
  351. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/easy/http/head.rb +0 -0
  352. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/easy/http/options.rb +0 -0
  353. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/easy/http/patch.rb +0 -0
  354. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/easy/http/post.rb +0 -0
  355. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/easy/http/postable.rb +0 -0
  356. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/easy/http/put.rb +0 -0
  357. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/easy/http/putable.rb +0 -0
  358. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/easy/http.rb +0 -0
  359. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/easy/mirror.rb +0 -0
  360. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/easy/operations.rb +0 -0
  361. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/easy/options.rb +0 -0
  362. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/easy/params.rb +0 -0
  363. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/easy/queryable.rb +0 -0
  364. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/easy/util.rb +0 -0
  365. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/easy.rb +0 -0
  366. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/errors/ethon_error.rb +0 -0
  367. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/errors/global_init.rb +0 -0
  368. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/errors/invalid_option.rb +0 -0
  369. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/errors/invalid_value.rb +0 -0
  370. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/errors/multi_add.rb +0 -0
  371. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/errors/multi_fdset.rb +0 -0
  372. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/errors/multi_remove.rb +0 -0
  373. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/errors/multi_timeout.rb +0 -0
  374. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/errors/select.rb +0 -0
  375. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/errors.rb +0 -0
  376. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/libc.rb +0 -0
  377. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/multi/operations.rb +0 -0
  378. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/multi/options.rb +0 -0
  379. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/multi/stack.rb +0 -0
  380. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/multi.rb +0 -0
  381. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon.rb +0 -0
  382. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/.document +0 -0
  383. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/.yardopts +0 -0
  384. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/LICENSE.md +0 -0
  385. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/README.md +0 -0
  386. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/any_instance/chain.rb +0 -0
  387. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/any_instance/error_generator.rb +0 -0
  388. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/any_instance/expect_chain_chain.rb +0 -0
  389. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/any_instance/expectation_chain.rb +0 -0
  390. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/any_instance/message_chains.rb +0 -0
  391. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/any_instance/proxy.rb +0 -0
  392. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/any_instance/stub_chain.rb +0 -0
  393. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/any_instance/stub_chain_chain.rb +0 -0
  394. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/any_instance.rb +0 -0
  395. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/argument_list_matcher.rb +0 -0
  396. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/argument_matchers.rb +0 -0
  397. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/configuration.rb +0 -0
  398. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/error_generator.rb +0 -0
  399. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/example_methods.rb +0 -0
  400. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/instance_method_stasher.rb +0 -0
  401. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/marshal_extension.rb +0 -0
  402. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/matchers/expectation_customization.rb +0 -0
  403. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/matchers/have_received.rb +0 -0
  404. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/matchers/receive.rb +0 -0
  405. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/matchers/receive_message_chain.rb +0 -0
  406. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/matchers/receive_messages.rb +0 -0
  407. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/message_chain.rb +0 -0
  408. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/message_expectation.rb +0 -0
  409. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/method_double.rb +0 -0
  410. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/method_reference.rb +0 -0
  411. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/minitest_integration.rb +0 -0
  412. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/mutate_const.rb +0 -0
  413. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/object_reference.rb +0 -0
  414. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/proxy.rb +0 -0
  415. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/space.rb +0 -0
  416. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/standalone.rb +0 -0
  417. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/syntax.rb +0 -0
  418. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/targets.rb +0 -0
  419. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/test_double.rb +0 -0
  420. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/verifying_double.rb +0 -0
  421. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/verifying_message_expectation.rb +0 -0
  422. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/verifying_proxy.rb +0 -0
  423. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks.rb +0 -0
  424. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/LICENSE.md +0 -0
  425. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/README.md +0 -0
  426. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/caller_filter.rb +0 -0
  427. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/comparable_version.rb +0 -0
  428. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/differ.rb +0 -0
  429. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/directory_maker.rb +0 -0
  430. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/encoded_string.rb +0 -0
  431. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/hunk_generator.rb +0 -0
  432. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/matcher_definition.rb +0 -0
  433. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/method_signature_verifier.rb +0 -0
  434. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/mutex.rb +0 -0
  435. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/object_formatter.rb +0 -0
  436. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/recursive_const_methods.rb +0 -0
  437. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/reentrant_mutex.rb +0 -0
  438. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/ruby_features.rb +0 -0
  439. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/source/location.rb +0 -0
  440. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/source/node.rb +0 -0
  441. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/source/token.rb +0 -0
  442. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/source.rb +0 -0
  443. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/spec/deprecation_helpers.rb +0 -0
  444. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/spec/diff_helpers.rb +0 -0
  445. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/spec/formatting_support.rb +0 -0
  446. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/spec/in_sub_process.rb +0 -0
  447. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/spec/library_wide_checks.rb +0 -0
  448. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/spec/shell_out.rb +0 -0
  449. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/spec/stderr_splitter.rb +0 -0
  450. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/spec/string_matcher.rb +0 -0
  451. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/spec/with_isolated_directory.rb +0 -0
  452. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/spec/with_isolated_stderr.rb +0 -0
  453. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/spec.rb +0 -0
  454. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/warnings.rb +0 -0
  455. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/with_keywords_when_needed.rb +0 -0
  456. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support.rb +0 -0
  457. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/CONTRIBUTING.md +0 -0
  458. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/LICENSE +0 -0
  459. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/UPGRADE.md +0 -0
  460. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/rack/typhoeus/middleware/params_decoder/helper.rb +0 -0
  461. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/rack/typhoeus/middleware/params_decoder.rb +0 -0
  462. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/rack/typhoeus.rb +0 -0
  463. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/adapters/faraday.rb +0 -0
  464. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/cache/dalli.rb +0 -0
  465. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/cache/rails.rb +0 -0
  466. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/cache/redis.rb +0 -0
  467. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/config.rb +0 -0
  468. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/easy_factory.rb +0 -0
  469. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/errors/no_stub.rb +0 -0
  470. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/errors/typhoeus_error.rb +0 -0
  471. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/errors.rb +0 -0
  472. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/expectation.rb +0 -0
  473. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/hydra/addable.rb +0 -0
  474. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/hydra/before.rb +0 -0
  475. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/hydra/block_connection.rb +0 -0
  476. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/hydra/cacheable.rb +0 -0
  477. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/hydra/memoizable.rb +0 -0
  478. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/hydra/queueable.rb +0 -0
  479. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/hydra/runnable.rb +0 -0
  480. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/hydra/stubbable.rb +0 -0
  481. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/hydra.rb +0 -0
  482. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/pool.rb +0 -0
  483. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/railtie.rb +0 -0
  484. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/request/actions.rb +0 -0
  485. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/request/before.rb +0 -0
  486. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/request/block_connection.rb +0 -0
  487. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/request/cacheable.rb +0 -0
  488. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/request/callbacks.rb +0 -0
  489. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/request/marshal.rb +0 -0
  490. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/request/memoizable.rb +0 -0
  491. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/request/operations.rb +0 -0
  492. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/request/responseable.rb +0 -0
  493. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/request/streamable.rb +0 -0
  494. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/request/stubbable.rb +0 -0
  495. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/request.rb +0 -0
  496. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/response/cacheable.rb +0 -0
  497. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/response/header.rb +0 -0
  498. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/response/informations.rb +0 -0
  499. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/response/status.rb +0 -0
  500. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/response.rb +0 -0
  501. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus.rb +0 -0
@@ -1,182 +0,0 @@
1
- # frozen_string_literal: true
2
- require 'spec_helper'
3
-
4
- describe Ethon::Multi::Options do
5
- let(:multi) { Ethon::Multi.new }
6
-
7
- [
8
- :maxconnects, :pipelining, :socketdata, :socketfunction,
9
- :timerdata, :timerfunction, :max_total_connections
10
- ].each do |name|
11
- describe "#{name}=" do
12
- it "responds_to" do
13
- expect(multi).to respond_to("#{name}=")
14
- end
15
-
16
- it "sets option" do
17
- expect(Ethon::Curl).to receive(:set_option).with(name, anything, anything, anything)
18
- multi.method("#{name}=").call(1)
19
- end
20
- end
21
- end
22
-
23
- context "socket_action mode" do
24
- let(:multi) { Ethon::Multi.new(execution_mode: :socket_action) }
25
-
26
- describe "#socketfunction callbacks" do
27
- it "allows multi_code return values" do
28
- calls = []
29
- multi.socketfunction = proc do |handle, sock, what, userp, socketp|
30
- calls << what
31
- :ok
32
- end
33
-
34
- easy = Ethon::Easy.new
35
- easy.url = "http://localhost:3001/?delay=1"
36
- multi.add(easy)
37
- expect(calls).to eq([])
38
- 5.times do
39
- multi.socket_action
40
- break unless calls.empty?
41
- sleep 0.1
42
- end
43
- expect(calls.last).to eq(:in).or(eq(:out))
44
- multi.delete(easy)
45
- expect(calls.last).to eq(:remove)
46
- end
47
-
48
- it "allows integer return values (compatibility)" do
49
- called = false
50
- multi.socketfunction = proc do |handle, sock, what, userp, socketp|
51
- called = true
52
- 0
53
- end
54
-
55
- easy = Ethon::Easy.new
56
- easy.url = "http://localhost:3001/?delay=1"
57
- multi.add(easy)
58
- 5.times do
59
- multi.socket_action
60
- break if called
61
- sleep 0.1
62
- end
63
- multi.delete(easy)
64
-
65
- expect(called).to be_truthy
66
- end
67
-
68
- it "errors on invalid return codes" do
69
- called = false
70
- multi.socketfunction = proc do |handle, sock, what, userp, socketp|
71
- called = true
72
- "hi"
73
- end
74
-
75
- easy = Ethon::Easy.new
76
- easy.url = "http://localhost:3001/?delay=1"
77
- multi.add(easy)
78
- expect {
79
- 5.times do
80
- multi.socket_action
81
- break if called
82
- sleep 0.1
83
- end
84
- }.to raise_error(ArgumentError)
85
- expect { multi.delete(easy) }.to raise_error(ArgumentError)
86
- end
87
- end
88
-
89
- describe "#timerfunction callbacks" do
90
- it "allows multi_code return values" do
91
- calls = []
92
- multi.timerfunction = proc do |handle, timeout_ms, userp|
93
- calls << timeout_ms
94
- :ok
95
- end
96
-
97
- easy = Ethon::Easy.new
98
- easy.url = "http://localhost:3001/?delay=1"
99
- multi.add(easy)
100
- expect(calls.last).to be >= 0 # adds an immediate timeout
101
-
102
- multi.delete(easy)
103
- expect(calls.last).to eq(-1) # cancels the timer
104
- end
105
-
106
- it "allows integer return values (compatibility)" do
107
- called = false
108
- multi.timerfunction = proc do |handle, timeout_ms, userp|
109
- called = true
110
- 0
111
- end
112
-
113
- easy = Ethon::Easy.new
114
- easy.url = "http://localhost:3001/?delay=1"
115
- multi.add(easy)
116
- multi.socket_action
117
- multi.delete(easy)
118
-
119
- expect(called).to be_truthy
120
- end
121
-
122
- it "errors on invalid return codes" do
123
- called = false
124
- multi.timerfunction = proc do |handle, timeout_ms, userp|
125
- called = true
126
- "hi"
127
- end
128
-
129
- easy = Ethon::Easy.new
130
- easy.url = "http://localhost:3001/?delay=1"
131
- expect { multi.add(easy) }.to raise_error(ArgumentError)
132
- end
133
- end
134
- end
135
-
136
- describe "#value_for" do
137
- context "when option in bool" do
138
- context "when value true" do
139
- let(:value) { true }
140
-
141
- it "returns 1" do
142
- expect(multi.method(:value_for).call(value, :bool)).to eq(1)
143
- end
144
- end
145
-
146
- context "when value false" do
147
- let(:value) { false }
148
-
149
- it "returns 0" do
150
- expect(multi.method(:value_for).call(value, :bool)).to eq(0)
151
- end
152
- end
153
- end
154
-
155
-
156
- context "when value in int" do
157
- let(:value) { "2" }
158
-
159
- it "returns value casted to int" do
160
- expect(multi.method(:value_for).call(value, :int)).to eq(2)
161
- end
162
- end
163
-
164
- context "when value in unspecific_options" do
165
- context "when value a string" do
166
- let(:value) { "www.example.\0com" }
167
-
168
- it "returns zero byte escaped string" do
169
- expect(multi.method(:value_for).call(value, nil)).to eq("www.example.\\0com")
170
- end
171
- end
172
-
173
- context "when value not a string" do
174
- let(:value) { 1 }
175
-
176
- it "returns value" do
177
- expect(multi.method(:value_for).call(value, nil)).to eq(1)
178
- end
179
- end
180
- end
181
- end
182
- end
@@ -1,80 +0,0 @@
1
- # frozen_string_literal: true
2
- require 'spec_helper'
3
-
4
- describe Ethon::Multi::Stack do
5
- let(:multi) { Ethon::Multi.new }
6
- let(:easy) { Ethon::Easy.new }
7
-
8
- describe "#add" do
9
- context "when easy already added" do
10
- before { multi.add(easy) }
11
-
12
- it "returns nil" do
13
- expect(multi.add(easy)).to be_nil
14
- end
15
- end
16
-
17
- context "when easy new" do
18
- it "adds easy to multi" do
19
- expect(Ethon::Curl).to receive(:multi_add_handle).and_return(:ok)
20
- multi.add(easy)
21
- end
22
-
23
- it "adds easy to easy_handles" do
24
- multi.add(easy)
25
- expect(multi.easy_handles).to include(easy)
26
- end
27
- end
28
-
29
- context "when multi_add_handle fails" do
30
- it "raises multi add error" do
31
- expect(Ethon::Curl).to receive(:multi_add_handle).and_return(:bad_easy_handle)
32
- expect{ multi.add(easy) }.to raise_error(Ethon::Errors::MultiAdd)
33
- end
34
- end
35
-
36
- context "when multi cleaned up before" do
37
- it "raises multi add error" do
38
- Ethon::Curl.multi_cleanup(multi.handle)
39
- expect{ multi.add(easy) }.to raise_error(Ethon::Errors::MultiAdd)
40
- end
41
- end
42
- end
43
-
44
- describe "#delete" do
45
- context "when easy in easy_handles" do
46
- before { multi.add(easy) }
47
-
48
- it "deletes easy from multi" do
49
- expect(Ethon::Curl).to receive(:multi_remove_handle).and_return(:ok)
50
- multi.delete(easy)
51
- end
52
-
53
- it "deletes easy from easy_handles" do
54
- multi.delete(easy)
55
- expect(multi.easy_handles).to_not include(easy)
56
- end
57
- end
58
-
59
- context "when easy is not in easy_handles" do
60
- it "does nothing" do
61
- expect(Ethon::Curl).to receive(:multi_add_handle).and_return(:ok)
62
- multi.add(easy)
63
- end
64
-
65
- it "adds easy to easy_handles" do
66
- multi.add(easy)
67
- expect(multi.easy_handles).to include(easy)
68
- end
69
- end
70
-
71
- context "when multi_remove_handle fails" do
72
- before { multi.add(easy) }
73
-
74
- it "raises multi remove error" do
75
- expect(Ethon::Curl).to receive(:multi_remove_handle).and_return(:bad_easy_handle)
76
- expect{ multi.delete(easy) }.to raise_error(Ethon::Errors::MultiRemove)
77
- end
78
- end
79
- end
80
- end
@@ -1,152 +0,0 @@
1
- # frozen_string_literal: true
2
- require 'spec_helper'
3
-
4
- describe Ethon::Multi do
5
- describe ".new" do
6
- it "inits curl" do
7
- expect(Ethon::Curl).to receive(:init)
8
- Ethon::Multi.new
9
- end
10
-
11
- context "with default options" do
12
- it "allows running #perform with the default execution_mode" do
13
- Ethon::Multi.new.perform
14
- end
15
-
16
- it "refuses to run #socket_action" do
17
- expect { Ethon::Multi.new.socket_action }.to raise_error(ArgumentError)
18
- end
19
- end
20
-
21
- context "when options not empty" do
22
- context "when pipelining is set" do
23
- let(:options) { { :pipelining => true } }
24
-
25
- it "sets pipelining" do
26
- expect_any_instance_of(Ethon::Multi).to receive(:pipelining=).with(true)
27
- Ethon::Multi.new(options)
28
- end
29
- end
30
-
31
- context "when execution_mode option is :socket_action" do
32
- let(:options) { { :execution_mode => :socket_action } }
33
- let(:multi) { Ethon::Multi.new(options) }
34
-
35
- it "refuses to run #perform" do
36
- expect { multi.perform }.to raise_error(ArgumentError)
37
- end
38
-
39
- it "allows running #socket_action" do
40
- multi.socket_action
41
- end
42
- end
43
- end
44
- end
45
-
46
- describe "#socket_action" do
47
- let(:options) { { :execution_mode => :socket_action } }
48
- let(:select_state) { { :readers => [], :writers => [], :timeout => 0 } }
49
- let(:multi) {
50
- multi = Ethon::Multi.new(options)
51
- multi.timerfunction = proc do |handle, timeout_ms, userp|
52
- timeout_ms = nil if timeout_ms == -1
53
- select_state[:timeout] = timeout_ms
54
- :ok
55
- end
56
- multi.socketfunction = proc do |handle, sock, what, userp, socketp|
57
- case what
58
- when :remove
59
- select_state[:readers].delete(sock)
60
- select_state[:writers].delete(sock)
61
- when :in
62
- select_state[:readers].push(sock) unless select_state[:readers].include? sock
63
- select_state[:writers].delete(sock)
64
- when :out
65
- select_state[:readers].delete(sock)
66
- select_state[:writers].push(sock) unless select_state[:writers].include? sock
67
- when :inout
68
- select_state[:readers].push(sock) unless select_state[:readers].include? sock
69
- select_state[:writers].push(sock) unless select_state[:writers].include? sock
70
- else
71
- raise ArgumentError, "invalid value for 'what' in socketfunction callback"
72
- end
73
- :ok
74
- end
75
- multi
76
- }
77
-
78
- def fds_to_ios(fds)
79
- fds.map do |fd|
80
- IO.for_fd(fd).tap { |io| io.autoclose = false }
81
- end
82
- end
83
-
84
- def perform_socket_action_until_complete
85
- multi.socket_action # start things off
86
-
87
- while multi.ongoing?
88
- readers, writers, _ = IO.select(
89
- fds_to_ios(select_state[:readers]),
90
- fds_to_ios(select_state[:writers]),
91
- [],
92
- select_state[:timeout]
93
- )
94
-
95
- to_notify = Hash.new { |hash, key| hash[key] = [] }
96
- unless readers.nil?
97
- readers.each do |reader|
98
- to_notify[reader] << :in
99
- end
100
- end
101
- unless writers.nil?
102
- writers.each do |writer|
103
- to_notify[writer] << :out
104
- end
105
- end
106
-
107
- to_notify.each do |io, readiness|
108
- multi.socket_action(io, readiness)
109
- end
110
-
111
- # if we didn't have anything to notify, then we timed out
112
- multi.socket_action if to_notify.empty?
113
- end
114
- ensure
115
- multi.easy_handles.dup.each do |h|
116
- multi.delete(h)
117
- end
118
- end
119
-
120
- it "supports an end-to-end request" do
121
- easy = Ethon::Easy.new
122
- easy.url = "http://localhost:3001/"
123
- multi.add(easy)
124
-
125
- perform_socket_action_until_complete
126
-
127
- expect(multi.ongoing?).to eq(false)
128
- end
129
-
130
- it "supports multiple concurrent requests" do
131
- handles = []
132
- 10.times do
133
- easy = Ethon::Easy.new
134
- easy.url = "http://localhost:3001/?delay=1"
135
- multi.add(easy)
136
- handles << easy
137
- end
138
-
139
- start = Time.now
140
- perform_socket_action_until_complete
141
- duration = Time.now - start
142
-
143
- # these should have happened concurrently
144
- expect(duration).to be < 2
145
- expect(multi.ongoing?).to eq(false)
146
-
147
- handles.each do |handle|
148
- expect(handle.response_code).to eq(200)
149
- end
150
- end
151
- end
152
- end
@@ -1,28 +0,0 @@
1
- # frozen_string_literal: true
2
- $LOAD_PATH.unshift(File.dirname(__FILE__))
3
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
4
-
5
- require 'bundler'
6
- Bundler.setup
7
- require "ethon"
8
- require 'rspec'
9
-
10
- if defined? require_relative
11
- require_relative 'support/localhost_server'
12
- require_relative 'support/server'
13
- else
14
- require 'support/localhost_server'
15
- require 'support/server'
16
- end
17
-
18
- # Ethon.logger = Logger.new($stdout).tap do |log|
19
- # log.level = Logger::DEBUG
20
- # end
21
-
22
- RSpec.configure do |config|
23
- # config.order = :rand
24
-
25
- config.before(:suite) do
26
- LocalhostServer.new(TESTSERVER.new, 3001)
27
- end
28
- end
@@ -1,95 +0,0 @@
1
- # frozen_string_literal: true
2
- require 'rack'
3
- require 'rack/handler/webrick'
4
- require 'net/http'
5
-
6
- # The code for this is inspired by Capybara's server:
7
- # http://github.com/jnicklas/capybara/blob/0.3.9/lib/capybara/server.rb
8
- class LocalhostServer
9
- READY_MESSAGE = "Server ready"
10
-
11
- class Identify
12
- def initialize(app)
13
- @app = app
14
- end
15
-
16
- def call(env)
17
- if env["PATH_INFO"] == "/__identify__"
18
- [200, {}, [LocalhostServer::READY_MESSAGE]]
19
- else
20
- @app.call(env)
21
- end
22
- end
23
- end
24
-
25
- attr_reader :port
26
-
27
- def initialize(rack_app, port = nil)
28
- @port = port || find_available_port
29
- @rack_app = rack_app
30
- concurrently { boot }
31
- wait_until(10, "Boot failed.") { booted? }
32
- end
33
-
34
- private
35
-
36
- def find_available_port
37
- server = TCPServer.new('127.0.0.1', 0)
38
- server.addr[1]
39
- ensure
40
- server.close if server
41
- end
42
-
43
- def boot
44
- # Use WEBrick since it's part of the ruby standard library and is available on all ruby interpreters.
45
- options = { :Port => port }
46
- options.merge!(:AccessLog => [], :Logger => WEBrick::BasicLog.new(StringIO.new)) unless ENV['VERBOSE_SERVER']
47
- Rack::Handler::WEBrick.run(Identify.new(@rack_app), **options)
48
- end
49
-
50
- def booted?
51
- res = ::Net::HTTP.get_response("localhost", '/__identify__', port)
52
- if res.is_a?(::Net::HTTPSuccess) or res.is_a?(::Net::HTTPRedirection)
53
- return res.body == READY_MESSAGE
54
- end
55
- rescue Errno::ECONNREFUSED, Errno::EBADF
56
- return false
57
- end
58
-
59
- def concurrently
60
- if should_use_subprocess?
61
- pid = Process.fork do
62
- trap(:INT) { ::Rack::Handler::WEBrick.shutdown }
63
- yield
64
- exit # manually exit; otherwise this sub-process will re-run the specs that haven't run yet.
65
- end
66
-
67
- at_exit do
68
- Process.kill('INT', pid)
69
- begin
70
- Process.wait(pid)
71
- rescue Errno::ECHILD
72
- # ignore this error...I think it means the child process has already exited.
73
- end
74
- end
75
- else
76
- Thread.new { yield }
77
- end
78
- end
79
-
80
- def should_use_subprocess?
81
- # !ENV['THREADED']
82
- false
83
- end
84
-
85
- def wait_until(timeout, error_message, &block)
86
- start_time = Time.now
87
-
88
- while true
89
- return if yield
90
- raise TimeoutError.new(error_message) if (Time.now - start_time) > timeout
91
- sleep(0.05)
92
- end
93
- end
94
- end
95
-
@@ -1,115 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # frozen_string_literal: true
3
- require 'json'
4
- require 'zlib'
5
- require 'sinatra/base'
6
-
7
- TESTSERVER = Sinatra.new do
8
- set :logging, nil
9
-
10
- fail_count = 0
11
-
12
- post '/file' do
13
- {
14
- 'content-type' => params[:file][:type],
15
- 'filename' => params[:file][:filename],
16
- 'content' => params[:file][:tempfile].read,
17
- 'request-content-type' => request.env['CONTENT_TYPE']
18
- }.to_json
19
- end
20
-
21
- get '/multiple-headers' do
22
- [200, { 'Set-Cookie' => %w[ foo bar ], 'Content-Type' => 'text/plain' }, ['']]
23
- end
24
-
25
- get '/fail/:number' do
26
- if fail_count >= params[:number].to_i
27
- "ok"
28
- else
29
- fail_count += 1
30
- error 500, "oh noes!"
31
- end
32
- end
33
-
34
- get '/fail_forever' do
35
- error 500, "oh noes!"
36
- end
37
-
38
- get '/redirect' do
39
- redirect '/'
40
- end
41
-
42
- post '/redirect' do
43
- redirect '/'
44
- end
45
-
46
- get '/bad_redirect' do
47
- redirect '/bad_redirect'
48
- end
49
-
50
- get '/auth_basic/:username/:password' do
51
- @auth ||= Rack::Auth::Basic::Request.new(request.env)
52
- # Check that we've got a basic auth, and that it's credentials match the ones
53
- # provided in the request
54
- if @auth.provided? && @auth.basic? && @auth.credentials == [ params[:username], params[:password] ]
55
- # auth is valid - confirm it
56
- true
57
- else
58
- # invalid auth - request the authentication
59
- response['WWW-Authenticate'] = %(Basic realm="Testing HTTP Auth")
60
- throw(:halt, [401, "Not authorized\n"])
61
- end
62
- end
63
-
64
- get '/auth_ntlm' do
65
- # we're just checking for the existence if NTLM auth header here. It's validation
66
- # is too troublesome and really doesn't bother is much, it's up to libcurl to make
67
- # it valid
68
- response['WWW-Authenticate'] = 'NTLM'
69
- is_ntlm_auth = /^NTLM/ =~ request.env['HTTP_AUTHORIZATION']
70
- true if is_ntlm_auth
71
- throw(:halt, [401, "Not authorized\n"]) if !is_ntlm_auth
72
- end
73
-
74
- get '/gzipped' do
75
- req_env = request.env.to_json
76
- z = Zlib::Deflate.new
77
- gzipped_env = z.deflate(req_env, Zlib::FINISH)
78
- z.close
79
- response['Content-Encoding'] = 'gzip'
80
- gzipped_env
81
- end
82
-
83
- get '/**' do
84
- sleep params["delay"].to_i if params.has_key?("delay")
85
- request.env.merge!(:body => request.body.read).to_json
86
- end
87
-
88
- head '/**' do
89
- sleep params["delay"].to_i if params.has_key?("delay")
90
- end
91
-
92
- put '/**' do
93
- request.env.merge!(:body => request.body.read).to_json
94
- end
95
-
96
- post '/**' do
97
- request.env.merge!(:body => request.body.read).to_json
98
- end
99
-
100
- delete '/**' do
101
- request.env.merge!(:body => request.body.read).to_json
102
- end
103
-
104
- patch '/**' do
105
- request.env.merge!(:body => request.body.read).to_json
106
- end
107
-
108
- options '/**' do
109
- request.env.merge!(:body => request.body.read).to_json
110
- end
111
-
112
- route 'PURGE', '/**' do
113
- request.env.merge!(:body => request.body.read).to_json
114
- end
115
- end