alchemrest 3.1.0

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 (245) hide show
  1. checksums.yaml +7 -0
  2. data/.rspec +3 -0
  3. data/.rubocop.yml +22 -0
  4. data/.rubocop_todo.yml +242 -0
  5. data/.ruby-version +1 -0
  6. data/Appraisals +19 -0
  7. data/Gemfile +6 -0
  8. data/Gemfile.lock +378 -0
  9. data/Rakefile +29 -0
  10. data/alchemrest.gemspec +71 -0
  11. data/coach.yml +5 -0
  12. data/examples/bank_api/client.rb +31 -0
  13. data/examples/bank_api/data/account.rb +21 -0
  14. data/examples/bank_api/data/ach.rb +16 -0
  15. data/examples/bank_api/data/business_account.rb +22 -0
  16. data/examples/bank_api/data/card.rb +21 -0
  17. data/examples/bank_api/data/check.rb +19 -0
  18. data/examples/bank_api/data/product.rb +20 -0
  19. data/examples/bank_api/data/transaction.rb +49 -0
  20. data/examples/bank_api/data/user.rb +27 -0
  21. data/examples/bank_api/factories.rb +68 -0
  22. data/examples/bank_api/graph_visualization.rb +45 -0
  23. data/examples/bank_api/positive_interest_string.rb +33 -0
  24. data/examples/bank_api/requests/delete_user.rb +17 -0
  25. data/examples/bank_api/requests/get_business_account.rb +24 -0
  26. data/examples/bank_api/requests/get_products.rb +12 -0
  27. data/examples/bank_api/requests/get_transactions.rb +34 -0
  28. data/examples/bank_api/requests/get_user.rb +19 -0
  29. data/examples/bank_api/requests/post_transaction.rb +20 -0
  30. data/examples/bank_api/requests/update_user.rb +28 -0
  31. data/examples/bank_api/root.rb +52 -0
  32. data/examples/bank_api.rb +33 -0
  33. data/gemfiles/faraday_2.gemfile +9 -0
  34. data/gemfiles/faraday_2.gemfile.lock +363 -0
  35. data/gemfiles/rails_7_0.gemfile.lock +341 -0
  36. data/gemfiles/rails_7_2.gemfile +9 -0
  37. data/gemfiles/rails_7_2.gemfile.lock +384 -0
  38. data/gemfiles/rails_8_0.gemfile +9 -0
  39. data/gemfiles/rails_8_0.gemfile.lock +385 -0
  40. data/lib/alchemrest/circuit_breaker.rb +84 -0
  41. data/lib/alchemrest/client/configuration/connection.rb +83 -0
  42. data/lib/alchemrest/client/configuration.rb +89 -0
  43. data/lib/alchemrest/client.rb +48 -0
  44. data/lib/alchemrest/cop.rb +8 -0
  45. data/lib/alchemrest/data/capture_configuration.rb +77 -0
  46. data/lib/alchemrest/data/field.rb +36 -0
  47. data/lib/alchemrest/data/graph.rb +40 -0
  48. data/lib/alchemrest/data/record.rb +60 -0
  49. data/lib/alchemrest/data/schema.rb +80 -0
  50. data/lib/alchemrest/data.rb +9 -0
  51. data/lib/alchemrest/endpoint_definition.rb +47 -0
  52. data/lib/alchemrest/error.rb +122 -0
  53. data/lib/alchemrest/factory_bot.rb +64 -0
  54. data/lib/alchemrest/faraday_middleware/external_api_instrumentation.rb +24 -0
  55. data/lib/alchemrest/faraday_middleware/json_parser.rb +30 -0
  56. data/lib/alchemrest/faraday_middleware/kill_switch.rb +22 -0
  57. data/lib/alchemrest/faraday_middleware/underscore_response.rb +24 -0
  58. data/lib/alchemrest/hash_path.rb +81 -0
  59. data/lib/alchemrest/http_request.rb +75 -0
  60. data/lib/alchemrest/kill_switch/adapters.rb +88 -0
  61. data/lib/alchemrest/kill_switch.rb +31 -0
  62. data/lib/alchemrest/railtie.rb +25 -0
  63. data/lib/alchemrest/request/endpoint.rb +29 -0
  64. data/lib/alchemrest/request/returns.rb +46 -0
  65. data/lib/alchemrest/request.rb +80 -0
  66. data/lib/alchemrest/request_definition/builder.rb +13 -0
  67. data/lib/alchemrest/request_definition.rb +26 -0
  68. data/lib/alchemrest/response/pipeline/extract_payload.rb +64 -0
  69. data/lib/alchemrest/response/pipeline/final.rb +11 -0
  70. data/lib/alchemrest/response/pipeline/omit.rb +46 -0
  71. data/lib/alchemrest/response/pipeline/sanitize.rb +59 -0
  72. data/lib/alchemrest/response/pipeline/transform.rb +26 -0
  73. data/lib/alchemrest/response/pipeline/was_successful.rb +29 -0
  74. data/lib/alchemrest/response/pipeline.rb +71 -0
  75. data/lib/alchemrest/response.rb +73 -0
  76. data/lib/alchemrest/response_captured_handler.rb +68 -0
  77. data/lib/alchemrest/result/halt.rb +15 -0
  78. data/lib/alchemrest/result/try_helpers.rb +16 -0
  79. data/lib/alchemrest/result.rb +128 -0
  80. data/lib/alchemrest/root.rb +77 -0
  81. data/lib/alchemrest/transforms/base_to_type_transform_registry.rb +42 -0
  82. data/lib/alchemrest/transforms/constrainable.rb +41 -0
  83. data/lib/alchemrest/transforms/constraint/block.rb +22 -0
  84. data/lib/alchemrest/transforms/constraint/greater_than.rb +19 -0
  85. data/lib/alchemrest/transforms/constraint/greater_than_or_eq.rb +19 -0
  86. data/lib/alchemrest/transforms/constraint/in_list.rb +19 -0
  87. data/lib/alchemrest/transforms/constraint/is_instance_of.rb +19 -0
  88. data/lib/alchemrest/transforms/constraint/is_uuid.rb +19 -0
  89. data/lib/alchemrest/transforms/constraint/less_than.rb +19 -0
  90. data/lib/alchemrest/transforms/constraint/less_than_or_eq.rb +19 -0
  91. data/lib/alchemrest/transforms/constraint/matches_regex.rb +19 -0
  92. data/lib/alchemrest/transforms/constraint/max_length.rb +19 -0
  93. data/lib/alchemrest/transforms/constraint/min_length.rb +19 -0
  94. data/lib/alchemrest/transforms/constraint.rb +17 -0
  95. data/lib/alchemrest/transforms/constraint_builder/for_number.rb +25 -0
  96. data/lib/alchemrest/transforms/constraint_builder/for_string.rb +21 -0
  97. data/lib/alchemrest/transforms/constraint_builder.rb +15 -0
  98. data/lib/alchemrest/transforms/date_transform.rb +30 -0
  99. data/lib/alchemrest/transforms/enum.rb +52 -0
  100. data/lib/alchemrest/transforms/epoch_time.rb +32 -0
  101. data/lib/alchemrest/transforms/from_chain.rb +15 -0
  102. data/lib/alchemrest/transforms/from_number/to_type_transform_registry.rb +18 -0
  103. data/lib/alchemrest/transforms/from_number.rb +47 -0
  104. data/lib/alchemrest/transforms/from_string/to_type_transform_registry.rb +17 -0
  105. data/lib/alchemrest/transforms/from_string.rb +36 -0
  106. data/lib/alchemrest/transforms/from_type/empty_to_type_transform_registry.rb +14 -0
  107. data/lib/alchemrest/transforms/from_type.rb +64 -0
  108. data/lib/alchemrest/transforms/iso_time.rb +58 -0
  109. data/lib/alchemrest/transforms/json_number.rb +26 -0
  110. data/lib/alchemrest/transforms/loose_hash.rb +96 -0
  111. data/lib/alchemrest/transforms/money_transform.rb +42 -0
  112. data/lib/alchemrest/transforms/number.rb +27 -0
  113. data/lib/alchemrest/transforms/output_type.rb +65 -0
  114. data/lib/alchemrest/transforms/to_decimal.rb +22 -0
  115. data/lib/alchemrest/transforms/to_type/from_string_to_time_selector.rb +29 -0
  116. data/lib/alchemrest/transforms/to_type/transforms_selector.rb +61 -0
  117. data/lib/alchemrest/transforms/to_type.rb +86 -0
  118. data/lib/alchemrest/transforms/typed.rb +32 -0
  119. data/lib/alchemrest/transforms/union.rb +44 -0
  120. data/lib/alchemrest/transforms/with_constraint.rb +26 -0
  121. data/lib/alchemrest/transforms.rb +93 -0
  122. data/lib/alchemrest/url_builder/encoders.rb +39 -0
  123. data/lib/alchemrest/url_builder/options.rb +33 -0
  124. data/lib/alchemrest/url_builder.rb +31 -0
  125. data/lib/alchemrest/version.rb +5 -0
  126. data/lib/alchemrest/webmock_helpers.rb +27 -0
  127. data/lib/alchemrest.rb +159 -0
  128. data/lib/generators/alchemrest/kill_switch_migration_generator.rb +27 -0
  129. data/lib/generators/alchemrest/templates/kill_switch_migration.rb.erb +17 -0
  130. data/lib/rubocop/cop/alchemrest/define_request_using_with_params.rb +53 -0
  131. data/lib/rubocop/cop/alchemrest/endpoint_definition_using_generic_params.rb +55 -0
  132. data/lib/rubocop/cop/alchemrest/request_hash_returning_block.rb +54 -0
  133. data/lib/rubocop/cop/alchemrest/time_transform_with_no_zone.rb +56 -0
  134. data/lib/tapioca/dsl/compilers/alchemrest_data.rb +84 -0
  135. data/lib/tapioca/dsl/compilers/alchemrest_root.rb +68 -0
  136. data/mutant.yml +16 -0
  137. data/rbi/alchemrest/result.rbi +80 -0
  138. data/rbi/alchemrest.rbi +246 -0
  139. data/sorbet/config +5 -0
  140. data/sorbet/rbi/gems/.gitattributes +1 -0
  141. data/sorbet/rbi/gems/abstract_type@0.0.7.rbi +41 -0
  142. data/sorbet/rbi/gems/actionpack@8.0.4.rbi +11733 -0
  143. data/sorbet/rbi/gems/actionview@8.0.4.rbi +6560 -0
  144. data/sorbet/rbi/gems/activemodel@8.0.4.rbi +2891 -0
  145. data/sorbet/rbi/gems/activesupport@8.0.4.rbi +9621 -0
  146. data/sorbet/rbi/gems/adamantium@0.2.0.rbi +144 -0
  147. data/sorbet/rbi/gems/addressable@2.8.7.rbi +779 -0
  148. data/sorbet/rbi/gems/anima@0.3.2.rbi +103 -0
  149. data/sorbet/rbi/gems/ast@2.4.2.rbi +107 -0
  150. data/sorbet/rbi/gems/base64@0.3.0.rbi +52 -0
  151. data/sorbet/rbi/gems/benchmark@0.5.0.rbi +153 -0
  152. data/sorbet/rbi/gems/bigdecimal@3.3.1.rbi +77 -0
  153. data/sorbet/rbi/gems/builder@3.3.0.rbi +9 -0
  154. data/sorbet/rbi/gems/circuitbox@2.0.0.rbi +297 -0
  155. data/sorbet/rbi/gems/concord@0.1.6.rbi +51 -0
  156. data/sorbet/rbi/gems/concurrent-ruby@1.3.5.rbi +4716 -0
  157. data/sorbet/rbi/gems/connection_pool@2.5.4.rbi +9 -0
  158. data/sorbet/rbi/gems/crack@1.0.0.rbi +110 -0
  159. data/sorbet/rbi/gems/crass@1.0.6.rbi +294 -0
  160. data/sorbet/rbi/gems/date@3.4.1.rbi +58 -0
  161. data/sorbet/rbi/gems/drb@2.2.3.rbi +639 -0
  162. data/sorbet/rbi/gems/equalizer@0.0.11.rbi +38 -0
  163. data/sorbet/rbi/gems/erubi@1.13.1.rbi +85 -0
  164. data/sorbet/rbi/gems/factory_bot@6.5.0.rbi +1529 -0
  165. data/sorbet/rbi/gems/faraday-em_http@1.0.0.rbi +181 -0
  166. data/sorbet/rbi/gems/faraday-em_synchrony@1.0.1.rbi +120 -0
  167. data/sorbet/rbi/gems/faraday-excon@1.1.0.rbi +128 -0
  168. data/sorbet/rbi/gems/faraday-httpclient@1.0.1.rbi +123 -0
  169. data/sorbet/rbi/gems/faraday-multipart@1.2.0.rbi +190 -0
  170. data/sorbet/rbi/gems/faraday-net_http@1.0.2.rbi +140 -0
  171. data/sorbet/rbi/gems/faraday-net_http_persistent@1.2.0.rbi +116 -0
  172. data/sorbet/rbi/gems/faraday-patron@1.0.0.rbi +119 -0
  173. data/sorbet/rbi/gems/faraday-rack@1.0.0.rbi +113 -0
  174. data/sorbet/rbi/gems/faraday-retry@1.0.3.rbi +149 -0
  175. data/sorbet/rbi/gems/faraday@1.10.5.rbi +1620 -0
  176. data/sorbet/rbi/gems/hansi@0.2.1.rbi +9 -0
  177. data/sorbet/rbi/gems/hashdiff@1.1.2.rbi +174 -0
  178. data/sorbet/rbi/gems/i18n@1.14.7.rbi +1328 -0
  179. data/sorbet/rbi/gems/ice_nine@0.11.2.rbi +145 -0
  180. data/sorbet/rbi/gems/io-console@0.8.0.rbi +9 -0
  181. data/sorbet/rbi/gems/json@2.9.1.rbi +282 -0
  182. data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +8057 -0
  183. data/sorbet/rbi/gems/logger@1.7.0.rbi +260 -0
  184. data/sorbet/rbi/gems/loofah@2.24.0.rbi +571 -0
  185. data/sorbet/rbi/gems/memoizable@0.4.2.rbi +131 -0
  186. data/sorbet/rbi/gems/memosa@0.8.2.rbi +185 -0
  187. data/sorbet/rbi/gems/minitest@5.26.0.rbi +824 -0
  188. data/sorbet/rbi/gems/money@6.19.0.rbi +815 -0
  189. data/sorbet/rbi/gems/morpher@0.4.2.rbi +388 -0
  190. data/sorbet/rbi/gems/mprelude@0.1.0.rbi +140 -0
  191. data/sorbet/rbi/gems/multi_json@1.15.0.rbi +180 -0
  192. data/sorbet/rbi/gems/multipart-post@2.4.1.rbi +154 -0
  193. data/sorbet/rbi/gems/mustermann-contrib@3.0.3.rbi +9 -0
  194. data/sorbet/rbi/gems/mustermann@3.0.3.rbi +809 -0
  195. data/sorbet/rbi/gems/netrc@0.11.0.rbi +112 -0
  196. data/sorbet/rbi/gems/nokogiri@1.19.1.rbi +3412 -0
  197. data/sorbet/rbi/gems/parallel@1.26.3.rbi +234 -0
  198. data/sorbet/rbi/gems/parser@3.3.7.0.rbi +4877 -0
  199. data/sorbet/rbi/gems/pp@0.6.2.rbi +176 -0
  200. data/sorbet/rbi/gems/prettyprint@0.2.0.rbi +155 -0
  201. data/sorbet/rbi/gems/prism@1.5.1.rbi +26368 -0
  202. data/sorbet/rbi/gems/procto@0.0.3.rbi +9 -0
  203. data/sorbet/rbi/gems/psych@5.2.3.rbi +806 -0
  204. data/sorbet/rbi/gems/public_suffix@6.0.1.rbi +267 -0
  205. data/sorbet/rbi/gems/racc@1.8.1.rbi +120 -0
  206. data/sorbet/rbi/gems/rack-session@2.1.1.rbi +458 -0
  207. data/sorbet/rbi/gems/rack-test@2.2.0.rbi +405 -0
  208. data/sorbet/rbi/gems/rack@3.1.14.rbi +2774 -0
  209. data/sorbet/rbi/gems/rackup@2.2.1.rbi +132 -0
  210. data/sorbet/rbi/gems/rails-dom-testing@2.2.0.rbi +266 -0
  211. data/sorbet/rbi/gems/rails-html-sanitizer@1.6.2.rbi +545 -0
  212. data/sorbet/rbi/gems/railties@8.0.4.rbi +2150 -0
  213. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +333 -0
  214. data/sorbet/rbi/gems/rake@13.2.1.rbi +2054 -0
  215. data/sorbet/rbi/gems/rbi@0.2.3.rbi +3961 -0
  216. data/sorbet/rbi/gems/rdoc@6.13.1.rbi +6784 -0
  217. data/sorbet/rbi/gems/regexp_parser@2.11.3.rbi +3020 -0
  218. data/sorbet/rbi/gems/reline@0.6.0.rbi +9 -0
  219. data/sorbet/rbi/gems/rexml@3.4.2.rbi +1777 -0
  220. data/sorbet/rbi/gems/rubocop-ast@1.38.0.rbi +5293 -0
  221. data/sorbet/rbi/gems/rubocop@1.71.1.rbi +31846 -0
  222. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +980 -0
  223. data/sorbet/rbi/gems/ruby2_keywords@0.0.5.rbi +9 -0
  224. data/sorbet/rbi/gems/securerandom@0.4.1.rbi +33 -0
  225. data/sorbet/rbi/gems/sentry-ruby@5.22.1.rbi +3782 -0
  226. data/sorbet/rbi/gems/spoom@1.5.1.rbi +4321 -0
  227. data/sorbet/rbi/gems/stringio@3.1.2.rbi +9 -0
  228. data/sorbet/rbi/gems/tapioca@0.16.8.rbi +3399 -0
  229. data/sorbet/rbi/gems/thor@1.3.2.rbi +2012 -0
  230. data/sorbet/rbi/gems/thread_safe@0.3.6.rbi +711 -0
  231. data/sorbet/rbi/gems/timeout@0.4.4.rbi +80 -0
  232. data/sorbet/rbi/gems/tsort@0.2.0.rbi +50 -0
  233. data/sorbet/rbi/gems/tzinfo@2.0.6.rbi +1677 -0
  234. data/sorbet/rbi/gems/unicode-display_width@2.6.0.rbi +62 -0
  235. data/sorbet/rbi/gems/uri@1.1.0.rbi +760 -0
  236. data/sorbet/rbi/gems/useragent@0.16.11.rbi +9 -0
  237. data/sorbet/rbi/gems/webmock@3.24.0.rbi +1362 -0
  238. data/sorbet/rbi/gems/yard-sorbet@0.9.0.rbi +345 -0
  239. data/sorbet/rbi/gems/yard@0.9.37.rbi +8795 -0
  240. data/sorbet/rbi/gems/zeitwerk@2.7.1.rbi +589 -0
  241. data/sorbet/tapioca/config.yml +45 -0
  242. data/sorbet/tapioca/require.rb +8 -0
  243. data/sorbet/tapioca/sorbet/rbi/dsl/.gitattributes +1 -0
  244. data/sorbet/tapioca/sorbet/rbi/dsl/active_support/callbacks.rbi +23 -0
  245. metadata +737 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 7ae6c012d98d405cd04d89808da0eef6bcfa5ec25154f27f8aff803970efb0bc
4
+ data.tar.gz: dbf659f030a414544b0b092c066de31110ef8c187915daa6e8b283ae97d4e3cb
5
+ SHA512:
6
+ metadata.gz: b366c86e18838ab98b07f420592ab2c581aa9e1299f595fe26cd605f31dbfd5bc17e87ef2cf8d75b8be96ebacd0b391b750cbf7452276e632691c5fd3c3676bb
7
+ data.tar.gz: 600351a023a80bbf4cce0171cc0f2adb1fdcaa72c0ee1c030f1180cd7d1f1cef4ee50649b696cb76c02edbc32daec08d42e745c68cdd2c525f0201c843a25511
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --format documentation
2
+ --color
3
+ --require spec_helper
data/.rubocop.yml ADDED
@@ -0,0 +1,22 @@
1
+ inherit_from: .rubocop_todo.yml
2
+
3
+ inherit_gem:
4
+ betterlint: config/default.yml
5
+ memosa: config/rubocop.yml
6
+
7
+ inherit_mode:
8
+ merge:
9
+ - Exclude
10
+
11
+ require:
12
+ - alchemrest/cop
13
+
14
+ Style/SuperArguments:
15
+ Enabled: false
16
+
17
+ AllCops:
18
+ Exclude:
19
+ - 'gemfiles/*'
20
+ - 'vendor/bundle/**/*'
21
+ - .pryrc
22
+ TargetRubyVersion: 3.2
data/.rubocop_todo.yml ADDED
@@ -0,0 +1,242 @@
1
+ # This configuration was generated by
2
+ # `rubocop --auto-gen-config --auto-gen-only-exclude --no-exclude-limit --no-auto-gen-timestamp`
3
+ # using RuboCop version 1.71.1.
4
+ # The point is for the user to remove these configuration records
5
+ # one by one as the offenses are removed from the code base.
6
+ # Note that changes in the inspected code, or installation of new
7
+ # versions of RuboCop, may require this file to be generated again.
8
+
9
+ # Offense count: 18
10
+ # Configuration parameters: EnforcedStyle, AllowedGems, Include.
11
+ # SupportedStyles: Gemfile, gems.rb, gemspec
12
+ # Include: **/*.gemspec, **/Gemfile, **/gems.rb
13
+ Gemspec/DevelopmentDependencies:
14
+ Exclude:
15
+ - 'alchemrest.gemspec'
16
+
17
+ # Offense count: 1
18
+ # This cop supports safe autocorrection (--autocorrect).
19
+ # Configuration parameters: Severity, Include.
20
+ # Include: **/*.gemspec
21
+ Gemspec/RequireMFA:
22
+ Exclude:
23
+ - 'alchemrest.gemspec'
24
+
25
+ # Offense count: 7
26
+ # This cop supports safe autocorrection (--autocorrect).
27
+ # Configuration parameters: EnforcedStyle, IndentationWidth.
28
+ # SupportedStyles: with_first_argument, with_fixed_indentation
29
+ Layout/ArgumentAlignment:
30
+ Exclude:
31
+ - 'lib/alchemrest/client/configuration.rb'
32
+ - 'lib/alchemrest/transforms/to_type.rb'
33
+ - 'lib/generators/alchemrest/kill_switch_migration_generator.rb'
34
+
35
+ # Offense count: 2
36
+ # This cop supports safe autocorrection (--autocorrect).
37
+ # Configuration parameters: EnforcedStyle, IndentationWidth.
38
+ # SupportedStyles: with_first_element, with_fixed_indentation
39
+ Layout/ArrayAlignment:
40
+ Exclude:
41
+ - 'spec/alchemrest/transforms_spec.rb'
42
+ - 'spec/integration/capturing_responses_for_debugging_spec.rb'
43
+
44
+ # Offense count: 71
45
+ # This cop supports safe autocorrection (--autocorrect).
46
+ # Configuration parameters: EnforcedStyle, IndentOneStep, IndentationWidth.
47
+ # SupportedStyles: case, end
48
+ Layout/CaseIndentation:
49
+ Exclude:
50
+ - 'lib/alchemrest/circuit_breaker.rb'
51
+ - 'lib/alchemrest/client/configuration.rb'
52
+ - 'lib/alchemrest/faraday_middleware/underscore_response.rb'
53
+ - 'lib/alchemrest/hash_path.rb'
54
+ - 'lib/alchemrest/response/pipeline.rb'
55
+ - 'lib/alchemrest/response_captured_handler.rb'
56
+ - 'lib/alchemrest/result.rb'
57
+ - 'lib/alchemrest/result/try_helpers.rb'
58
+ - 'lib/alchemrest/root.rb'
59
+ - 'lib/alchemrest/sentry.rb'
60
+ - 'lib/alchemrest/transforms.rb'
61
+ - 'lib/alchemrest/transforms/enum.rb'
62
+ - 'lib/alchemrest/transforms/epoch_time.rb'
63
+ - 'lib/alchemrest/transforms/money_transform.rb'
64
+ - 'lib/alchemrest/transforms/number.rb'
65
+ - 'spec/alchemrest/result_spec.rb'
66
+ - 'spec/alchemrest_integration_helpers.rb'
67
+ - 'spec/integration/advanced_pattern_matching_spec.rb'
68
+ - 'spec/integration/error_handling_spec.rb'
69
+ - 'spec/integration/working_with_kill_switches_and_circuit_breakers_spec.rb'
70
+
71
+ # Offense count: 2
72
+ # This cop supports safe autocorrection (--autocorrect).
73
+ Layout/ClosingParenthesisIndentation:
74
+ Exclude:
75
+ - 'lib/alchemrest/transforms/epoch_time.rb'
76
+ - 'lib/alchemrest/transforms/iso_time.rb'
77
+
78
+ # Offense count: 6
79
+ # This cop supports safe autocorrection (--autocorrect).
80
+ Layout/ElseAlignment:
81
+ Exclude:
82
+ - 'lib/alchemrest/faraday_middleware/json_parser.rb'
83
+ - 'lib/alchemrest/transforms/base_to_type_transform_registry.rb'
84
+ - 'lib/alchemrest/transforms/constrainable.rb'
85
+ - 'lib/alchemrest/webmock_helpers.rb'
86
+
87
+ # Offense count: 19
88
+ # This cop supports safe autocorrection (--autocorrect).
89
+ # Configuration parameters: EnforcedStyleAlignWith, Severity.
90
+ # SupportedStylesAlignWith: keyword, variable, start_of_line
91
+ Layout/EndAlignment:
92
+ Exclude:
93
+ - 'lib/alchemrest/client/configuration.rb'
94
+ - 'lib/alchemrest/faraday_middleware/json_parser.rb'
95
+ - 'lib/alchemrest/response_captured_handler.rb'
96
+ - 'lib/alchemrest/sentry.rb'
97
+ - 'lib/alchemrest/transforms/base_to_type_transform_registry.rb'
98
+ - 'lib/alchemrest/transforms/constrainable.rb'
99
+ - 'lib/alchemrest/transforms/epoch_time.rb'
100
+ - 'lib/alchemrest/webmock_helpers.rb'
101
+ - 'spec/alchemrest/result_spec.rb'
102
+ - 'spec/integration/error_handling_spec.rb'
103
+ - 'spec/integration/working_with_kill_switches_and_circuit_breakers_spec.rb'
104
+
105
+ # Offense count: 8
106
+ # This cop supports safe autocorrection (--autocorrect).
107
+ # Configuration parameters: EnforcedStyle, IndentationWidth.
108
+ # SupportedStyles: special_inside_parentheses, consistent, align_braces
109
+ Layout/FirstHashElementIndentation:
110
+ Exclude:
111
+ - 'spec/alchemrest/factory_bot_spec.rb'
112
+ - 'spec/alchemrest/request_spec.rb'
113
+ - 'spec/alchemrest/transforms_spec.rb'
114
+
115
+ # Offense count: 5
116
+ # This cop supports safe autocorrection (--autocorrect).
117
+ # Configuration parameters: Width, AllowedPatterns.
118
+ Layout/IndentationWidth:
119
+ Exclude:
120
+ - 'lib/alchemrest/faraday_middleware/json_parser.rb'
121
+ - 'lib/alchemrest/transforms/base_to_type_transform_registry.rb'
122
+ - 'lib/alchemrest/transforms/constrainable.rb'
123
+ - 'lib/alchemrest/webmock_helpers.rb'
124
+
125
+ # Offense count: 2
126
+ # This cop supports safe autocorrection (--autocorrect).
127
+ Layout/RescueEnsureAlignment:
128
+ Exclude:
129
+ - 'lib/alchemrest/response/pipeline/extract_payload.rb'
130
+ - 'lib/alchemrest/transforms/iso_time.rb'
131
+
132
+ # Offense count: 19
133
+ # Configuration parameters: AllowedParentClasses.
134
+ Lint/MissingSuper:
135
+ Exclude:
136
+ - 'spec/alchemrest/client_spec.rb'
137
+ - 'spec/alchemrest/request_spec.rb'
138
+
139
+ # Offense count: 2
140
+ # This cop supports safe autocorrection (--autocorrect).
141
+ Lint/RedundantCopDisableDirective:
142
+ Exclude:
143
+ - 'lib/alchemrest/data/record.rb'
144
+ - 'lib/alchemrest/hash_path.rb'
145
+
146
+ # Offense count: 1
147
+ # This cop supports safe autocorrection (--autocorrect).
148
+ # Configuration parameters: AutoCorrect, CheckForMethodsWithNoSideEffects.
149
+ Lint/Void:
150
+ Exclude:
151
+ - 'lib/alchemrest/result/halt.rb'
152
+
153
+ # Offense count: 4
154
+ # This cop supports safe autocorrection (--autocorrect).
155
+ # Configuration parameters: EnforcedStyle, BlockForwardingName.
156
+ # SupportedStyles: anonymous, explicit
157
+ Naming/BlockForwarding:
158
+ Exclude:
159
+ - 'lib/alchemrest/client.rb'
160
+ - 'lib/alchemrest/hash_path.rb'
161
+
162
+ # Offense count: 4
163
+ # This cop supports safe autocorrection (--autocorrect).
164
+ Performance/BigDecimalWithNumericArgument:
165
+ Exclude:
166
+ - 'spec/alchemrest/transforms/json_number_spec.rb'
167
+ - 'spec/alchemrest/transforms/to_decimal_spec.rb'
168
+
169
+ # Offense count: 1
170
+ # This cop supports safe autocorrection (--autocorrect).
171
+ Performance/StringIdentifierArgument:
172
+ Exclude:
173
+ - 'spec/alchemrest/root_spec.rb'
174
+
175
+ # Offense count: 2
176
+ # This cop supports safe autocorrection (--autocorrect).
177
+ # Configuration parameters: EnforcedStyle.
178
+ # SupportedStyles: be, be_nil
179
+ RSpec/BeNil:
180
+ Exclude:
181
+ - 'spec/alchemrest/response_spec.rb'
182
+ - 'spec/alchemrest_spec.rb'
183
+
184
+ # Offense count: 27
185
+ # This cop supports safe autocorrection (--autocorrect).
186
+ # Configuration parameters: EnforcedStyle.
187
+ # SupportedStyles: be_a, be_kind_of
188
+ RSpec/ClassCheck:
189
+ Exclude:
190
+ - 'spec/alchemrest/client_spec.rb'
191
+ - 'spec/alchemrest/data_spec.rb'
192
+ - 'spec/alchemrest/response_spec.rb'
193
+ - 'spec/alchemrest/root_spec.rb'
194
+ - 'spec/integration/advanced_pattern_matching_spec.rb'
195
+ - 'spec/integration/anatomy_of_an_alchemrest_integration_spec.rb'
196
+ - 'spec/integration/working_with_data_spec.rb'
197
+
198
+ # Offense count: 1
199
+ # This cop supports safe autocorrection (--autocorrect).
200
+ RSpec/ExcessiveDocstringSpacing:
201
+ Exclude:
202
+ - 'spec/integration/error_handling_spec.rb'
203
+
204
+ # Offense count: 3
205
+ RSpec/IdenticalEqualityAssertion:
206
+ Exclude:
207
+ - 'spec/alchemrest/result_spec.rb'
208
+
209
+ # Offense count: 2
210
+ # This cop supports safe autocorrection (--autocorrect).
211
+ # Configuration parameters: AllowOnlyRestArgument, UseAnonymousForwarding, RedundantRestArgumentNames, RedundantKeywordRestArgumentNames, RedundantBlockArgumentNames.
212
+ # RedundantRestArgumentNames: args, arguments
213
+ # RedundantKeywordRestArgumentNames: kwargs, options, opts
214
+ # RedundantBlockArgumentNames: blk, block, proc
215
+ Style/ArgumentsForwarding:
216
+ Exclude:
217
+ - 'lib/alchemrest/hash_path.rb'
218
+
219
+ # Offense count: 1
220
+ # This cop supports safe autocorrection (--autocorrect).
221
+ Style/KeywordArgumentsMerging:
222
+ Exclude:
223
+ - 'lib/alchemrest/request_definition.rb'
224
+
225
+ # Offense count: 1
226
+ # This cop supports unsafe autocorrection (--autocorrect-all).
227
+ Style/MapIntoArray:
228
+ Exclude:
229
+ - 'lib/alchemrest/data/capture_configuration.rb'
230
+
231
+ # Offense count: 3
232
+ Style/OpenStructUse:
233
+ Exclude:
234
+ - 'spec/alchemrest/request_spec.rb'
235
+
236
+ # Offense count: 3
237
+ # This cop supports safe autocorrection (--autocorrect).
238
+ Style/SuperArguments:
239
+ Exclude:
240
+ - 'lib/alchemrest/client/configuration.rb'
241
+ - 'lib/alchemrest/http_request.rb'
242
+ - 'lib/alchemrest/transforms/typed.rb'
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 3.2.2
data/Appraisals ADDED
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ appraise 'rails-7-2' do
4
+ gem 'activerecord', '~> 7.2.0'
5
+ gem 'activesupport', '~> 7.2.0'
6
+ gem 'faraday', '~> 1.10'
7
+ end
8
+
9
+ appraise 'rails-8-0' do
10
+ gem 'activerecord', '~> 8.0.0'
11
+ gem 'activesupport', '~> 8.0.0'
12
+ gem 'faraday', '~> 1.10'
13
+ end
14
+
15
+ appraise 'faraday-2' do
16
+ gem 'activerecord', '~> 7.2.0'
17
+ gem 'activesupport', '~> 7.2.0'
18
+ gem 'faraday', '~> 2.12'
19
+ end
data/Gemfile ADDED
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ source "https://rubygems.org"
4
+
5
+ # Specify your gem's dependencies in alchemrest.gemspec
6
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,378 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ alchemrest (3.1.0)
5
+ activerecord (>= 7.2, < 8.1)
6
+ activesupport (>= 7.2, < 8.1)
7
+ circuitbox (~> 2.0.0)
8
+ faraday (>= 1.10, < 3.0)
9
+ memosa (>= 0.8.2)
10
+ money (>= 6.0)
11
+ morpher (>= 0.4.1)
12
+ multi_json (~> 1.0)
13
+ mustermann-contrib (>= 1.0)
14
+ railties (>= 7.2, < 8.1)
15
+ sentry-ruby
16
+ sorbet-runtime (>= 0.5.0)
17
+
18
+ GEM
19
+ remote: https://rubygems.org/
20
+ specs:
21
+ abstract_type (0.0.7)
22
+ actionpack (8.0.4)
23
+ actionview (= 8.0.4)
24
+ activesupport (= 8.0.4)
25
+ nokogiri (>= 1.8.5)
26
+ rack (>= 2.2.4)
27
+ rack-session (>= 1.0.1)
28
+ rack-test (>= 0.6.3)
29
+ rails-dom-testing (~> 2.2)
30
+ rails-html-sanitizer (~> 1.6)
31
+ useragent (~> 0.16)
32
+ actionview (8.0.4)
33
+ activesupport (= 8.0.4)
34
+ builder (~> 3.1)
35
+ erubi (~> 1.11)
36
+ rails-dom-testing (~> 2.2)
37
+ rails-html-sanitizer (~> 1.6)
38
+ activemodel (8.0.4)
39
+ activesupport (= 8.0.4)
40
+ activerecord (8.0.4)
41
+ activemodel (= 8.0.4)
42
+ activesupport (= 8.0.4)
43
+ timeout (>= 0.4.0)
44
+ activesupport (8.0.4)
45
+ base64
46
+ benchmark (>= 0.3)
47
+ bigdecimal
48
+ concurrent-ruby (~> 1.0, >= 1.3.1)
49
+ connection_pool (>= 2.2.5)
50
+ drb
51
+ i18n (>= 1.6, < 2)
52
+ logger (>= 1.4.2)
53
+ minitest (>= 5.1)
54
+ securerandom (>= 0.3)
55
+ tzinfo (~> 2.0, >= 2.0.5)
56
+ uri (>= 0.13.1)
57
+ adamantium (0.2.0)
58
+ ice_nine (~> 0.11.0)
59
+ memoizable (~> 0.4.0)
60
+ addressable (2.8.7)
61
+ public_suffix (>= 2.0.2, < 7.0)
62
+ anima (0.3.2)
63
+ abstract_type (~> 0.0.7)
64
+ adamantium (~> 0.2)
65
+ equalizer (~> 0.0.11)
66
+ appraisal (2.5.0)
67
+ bundler
68
+ rake
69
+ thor (>= 0.14.0)
70
+ ast (2.4.2)
71
+ base64 (0.3.0)
72
+ benchmark (0.5.0)
73
+ betterlint (1.18.0)
74
+ rubocop (~> 1.71)
75
+ rubocop-graphql (~> 1.5)
76
+ rubocop-performance (~> 1.23)
77
+ rubocop-rails (~> 2.29)
78
+ rubocop-rake (~> 0.6)
79
+ rubocop-rspec (~> 2.29)
80
+ bigdecimal (3.3.1)
81
+ builder (3.3.0)
82
+ circuitbox (2.0.0)
83
+ coderay (1.1.3)
84
+ combustion (1.5.0)
85
+ activesupport (>= 3.0.0)
86
+ railties (>= 3.0.0)
87
+ thor (>= 0.14.6)
88
+ concord (0.1.6)
89
+ adamantium (~> 0.2.0)
90
+ equalizer (~> 0.0.9)
91
+ concurrent-ruby (1.3.5)
92
+ connection_pool (2.5.4)
93
+ crack (1.0.0)
94
+ bigdecimal
95
+ rexml
96
+ crass (1.0.6)
97
+ date (3.4.1)
98
+ diff-lcs (1.6.2)
99
+ drb (2.2.3)
100
+ equalizer (0.0.11)
101
+ erubi (1.13.1)
102
+ factory_bot (6.5.0)
103
+ activesupport (>= 5.0.0)
104
+ faraday (1.10.5)
105
+ faraday-em_http (~> 1.0)
106
+ faraday-em_synchrony (~> 1.0)
107
+ faraday-excon (~> 1.1)
108
+ faraday-httpclient (~> 1.0)
109
+ faraday-multipart (~> 1.0)
110
+ faraday-net_http (~> 1.0)
111
+ faraday-net_http_persistent (~> 1.0)
112
+ faraday-patron (~> 1.0)
113
+ faraday-rack (~> 1.0)
114
+ faraday-retry (~> 1.0)
115
+ ruby2_keywords (>= 0.0.4)
116
+ faraday-em_http (1.0.0)
117
+ faraday-em_synchrony (1.0.1)
118
+ faraday-excon (1.1.0)
119
+ faraday-httpclient (1.0.1)
120
+ faraday-multipart (1.2.0)
121
+ multipart-post (~> 2.0)
122
+ faraday-net_http (1.0.2)
123
+ faraday-net_http_persistent (1.2.0)
124
+ faraday-patron (1.0.0)
125
+ faraday-rack (1.0.0)
126
+ faraday-retry (1.0.3)
127
+ hansi (0.2.1)
128
+ hashdiff (1.1.2)
129
+ i18n (1.14.7)
130
+ concurrent-ruby (~> 1.0)
131
+ ice_nine (0.11.2)
132
+ io-console (0.8.0)
133
+ irb (1.15.2)
134
+ pp (>= 0.6.0)
135
+ rdoc (>= 4.0.0)
136
+ reline (>= 0.4.2)
137
+ json (2.9.1)
138
+ language_server-protocol (3.17.0.3)
139
+ logger (1.7.0)
140
+ loofah (2.24.0)
141
+ crass (~> 1.0.2)
142
+ nokogiri (>= 1.12.0)
143
+ memoizable (0.4.2)
144
+ thread_safe (~> 0.3, >= 0.3.1)
145
+ memosa (0.8.2)
146
+ method_source (1.1.0)
147
+ minitest (5.26.0)
148
+ moneta (1.6.0)
149
+ money (6.19.0)
150
+ i18n (>= 0.6.4, <= 2)
151
+ morpher (0.4.2)
152
+ abstract_type (~> 0.0.7)
153
+ adamantium (~> 0.2.0)
154
+ anima (~> 0.3.0)
155
+ concord (~> 0.1.5)
156
+ equalizer (~> 0.0.9)
157
+ mprelude (~> 0.1.0)
158
+ procto (~> 0.0.2)
159
+ mprelude (0.1.0)
160
+ abstract_type (~> 0.0.7)
161
+ adamantium (~> 0.2.0)
162
+ concord (~> 0.1.5)
163
+ equalizer (~> 0.0.9)
164
+ ice_nine (~> 0.11.1)
165
+ procto (~> 0.0.2)
166
+ multi_json (1.15.0)
167
+ multipart-post (2.4.1)
168
+ mustermann (3.0.3)
169
+ ruby2_keywords (~> 0.0.1)
170
+ mustermann-contrib (3.0.3)
171
+ hansi (~> 0.2.0)
172
+ mustermann (= 3.0.3)
173
+ mutant (0.13.4)
174
+ diff-lcs (~> 1.3)
175
+ irb (~> 1.15.2)
176
+ parser (~> 3.3.0)
177
+ regexp_parser (~> 2.10)
178
+ sorbet-runtime (~> 0.5.0)
179
+ unparser (~> 0.8.0)
180
+ mutant-rspec (0.13.4)
181
+ mutant (= 0.13.4)
182
+ rspec-core (>= 3.8.0, < 4.0.0)
183
+ netrc (0.11.0)
184
+ nokogiri (1.19.1-aarch64-linux-gnu)
185
+ racc (~> 1.4)
186
+ nokogiri (1.19.1-arm64-darwin)
187
+ racc (~> 1.4)
188
+ nokogiri (1.19.1-x86_64-darwin)
189
+ racc (~> 1.4)
190
+ nokogiri (1.19.1-x86_64-linux-gnu)
191
+ racc (~> 1.4)
192
+ parallel (1.26.3)
193
+ parser (3.3.7.0)
194
+ ast (~> 2.4.1)
195
+ racc
196
+ pg (1.5.9)
197
+ pp (0.6.2)
198
+ prettyprint
199
+ prettyprint (0.2.0)
200
+ prism (1.5.1)
201
+ procto (0.0.3)
202
+ pry (0.15.2)
203
+ coderay (~> 1.1)
204
+ method_source (~> 1.0)
205
+ psych (5.2.3)
206
+ date
207
+ stringio
208
+ public_suffix (6.0.1)
209
+ racc (1.8.1)
210
+ rack (3.1.14)
211
+ rack-session (2.1.1)
212
+ base64 (>= 0.1.0)
213
+ rack (>= 3.0.0)
214
+ rack-test (2.2.0)
215
+ rack (>= 1.3)
216
+ rackup (2.2.1)
217
+ rack (>= 3)
218
+ rails-dom-testing (2.2.0)
219
+ activesupport (>= 5.0.0)
220
+ minitest
221
+ nokogiri (>= 1.6)
222
+ rails-html-sanitizer (1.6.2)
223
+ loofah (~> 2.21)
224
+ nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
225
+ railties (8.0.4)
226
+ actionpack (= 8.0.4)
227
+ activesupport (= 8.0.4)
228
+ irb (~> 1.13)
229
+ rackup (>= 1.0.0)
230
+ rake (>= 12.2)
231
+ thor (~> 1.0, >= 1.2.2)
232
+ tsort (>= 0.2)
233
+ zeitwerk (~> 2.6)
234
+ rainbow (3.1.1)
235
+ rake (13.2.1)
236
+ rbi (0.2.3)
237
+ prism (~> 1.0)
238
+ sorbet-runtime (>= 0.5.9204)
239
+ rdoc (6.13.1)
240
+ psych (>= 4.0.0)
241
+ regexp_parser (2.11.3)
242
+ reline (0.6.0)
243
+ io-console (~> 0.5)
244
+ rexml (3.4.2)
245
+ rspec (3.13.0)
246
+ rspec-core (~> 3.13.0)
247
+ rspec-expectations (~> 3.13.0)
248
+ rspec-mocks (~> 3.13.0)
249
+ rspec-core (3.13.2)
250
+ rspec-support (~> 3.13.0)
251
+ rspec-expectations (3.13.3)
252
+ diff-lcs (>= 1.2.0, < 2.0)
253
+ rspec-support (~> 3.13.0)
254
+ rspec-mocks (3.13.2)
255
+ diff-lcs (>= 1.2.0, < 2.0)
256
+ rspec-support (~> 3.13.0)
257
+ rspec-support (3.13.2)
258
+ rspec_junit_formatter (0.6.0)
259
+ rspec-core (>= 2, < 4, != 2.12.0)
260
+ rubocop (1.71.1)
261
+ json (~> 2.3)
262
+ language_server-protocol (>= 3.17.0)
263
+ parallel (~> 1.10)
264
+ parser (>= 3.3.0.2)
265
+ rainbow (>= 2.2.2, < 4.0)
266
+ regexp_parser (>= 2.9.3, < 3.0)
267
+ rubocop-ast (>= 1.38.0, < 2.0)
268
+ ruby-progressbar (~> 1.7)
269
+ unicode-display_width (>= 2.4.0, < 4.0)
270
+ rubocop-ast (1.38.0)
271
+ parser (>= 3.3.1.0)
272
+ rubocop-capybara (2.21.0)
273
+ rubocop (~> 1.41)
274
+ rubocop-factory_bot (2.26.1)
275
+ rubocop (~> 1.61)
276
+ rubocop-graphql (1.5.4)
277
+ rubocop (>= 1.50, < 2)
278
+ rubocop-performance (1.23.1)
279
+ rubocop (>= 1.48.1, < 2.0)
280
+ rubocop-ast (>= 1.31.1, < 2.0)
281
+ rubocop-rails (2.29.1)
282
+ activesupport (>= 4.2.0)
283
+ rack (>= 1.1)
284
+ rubocop (>= 1.52.0, < 2.0)
285
+ rubocop-ast (>= 1.31.1, < 2.0)
286
+ rubocop-rake (0.6.0)
287
+ rubocop (~> 1.0)
288
+ rubocop-rspec (2.31.0)
289
+ rubocop (~> 1.40)
290
+ rubocop-capybara (~> 2.17)
291
+ rubocop-factory_bot (~> 2.22)
292
+ rubocop-rspec_rails (~> 2.28)
293
+ rubocop-rspec_rails (2.29.1)
294
+ rubocop (~> 1.61)
295
+ ruby-progressbar (1.13.0)
296
+ ruby2_keywords (0.0.5)
297
+ securerandom (0.4.1)
298
+ sentry-ruby (5.22.1)
299
+ bigdecimal
300
+ concurrent-ruby (~> 1.0, >= 1.0.2)
301
+ sorbet (0.5.11763)
302
+ sorbet-static (= 0.5.11763)
303
+ sorbet-runtime (0.5.11763)
304
+ sorbet-static (0.5.11763-aarch64-linux)
305
+ sorbet-static (0.5.11763-universal-darwin)
306
+ sorbet-static (0.5.11763-x86_64-linux)
307
+ sorbet-static-and-runtime (0.5.11763)
308
+ sorbet (= 0.5.11763)
309
+ sorbet-runtime (= 0.5.11763)
310
+ spoom (1.5.1)
311
+ erubi (>= 1.10.0)
312
+ prism (>= 0.28.0)
313
+ sorbet-static-and-runtime (>= 0.5.10187)
314
+ thor (>= 0.19.2)
315
+ stringio (3.1.2)
316
+ tapioca (0.16.8)
317
+ benchmark
318
+ bundler (>= 2.2.25)
319
+ netrc (>= 0.11.0)
320
+ parallel (>= 1.21.0)
321
+ rbi (~> 0.2)
322
+ sorbet-static-and-runtime (>= 0.5.11087)
323
+ spoom (>= 1.2.0)
324
+ thor (>= 1.2.0)
325
+ yard-sorbet
326
+ thor (1.3.2)
327
+ thread_safe (0.3.6)
328
+ timecop (0.9.10)
329
+ timeout (0.4.4)
330
+ tsort (0.2.0)
331
+ tzinfo (2.0.6)
332
+ concurrent-ruby (~> 1.0)
333
+ unicode-display_width (2.6.0)
334
+ unparser (0.8.0)
335
+ diff-lcs (~> 1.6)
336
+ parser (>= 3.3.0)
337
+ prism (>= 1.4)
338
+ uri (1.1.0)
339
+ useragent (0.16.11)
340
+ webmock (3.24.0)
341
+ addressable (>= 2.8.0)
342
+ crack (>= 0.3.2)
343
+ hashdiff (>= 0.4.0, < 2.0.0)
344
+ yard (0.9.37)
345
+ yard-sorbet (0.9.0)
346
+ sorbet-runtime
347
+ yard
348
+ zeitwerk (2.7.1)
349
+
350
+ PLATFORMS
351
+ aarch64-linux
352
+ arm64-darwin
353
+ x86_64-darwin
354
+ x86_64-linux
355
+
356
+ DEPENDENCIES
357
+ activemodel
358
+ alchemrest!
359
+ appraisal
360
+ betterlint
361
+ combustion
362
+ factory_bot
363
+ moneta
364
+ mutant-rspec (~> 0.13.4)
365
+ pg
366
+ pry
367
+ rake (~> 13.0)
368
+ rspec (~> 3.0)
369
+ rspec_junit_formatter
370
+ rubocop
371
+ rubocop-rspec
372
+ sorbet
373
+ tapioca (>= 0.16.6)
374
+ timecop
375
+ webmock
376
+
377
+ BUNDLED WITH
378
+ 2.6.9