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
@@ -0,0 +1,297 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `circuitbox` gem.
5
+ # Please instead update this file by running `bin/tapioca gem circuitbox`.
6
+
7
+
8
+ # source://circuitbox//lib/circuitbox/version.rb#3
9
+ class Circuitbox
10
+ extend ::Circuitbox::Configuration
11
+
12
+ class << self
13
+ # source://circuitbox//lib/circuitbox.rb#36
14
+ def circuit(service_name, options, &block); end
15
+ end
16
+ end
17
+
18
+ # source://circuitbox//lib/circuitbox/circuit_breaker.rb#7
19
+ class Circuitbox::CircuitBreaker
20
+ # source://circuitbox//lib/circuitbox/circuit_breaker.rb#31
21
+ def initialize(service, options = T.unsafe(nil)); end
22
+
23
+ # source://circuitbox//lib/circuitbox/circuit_breaker.rb#8
24
+ def circuit_options; end
25
+
26
+ # source://circuitbox//lib/circuitbox/circuit_breaker.rb#8
27
+ def circuit_store; end
28
+
29
+ # source://circuitbox//lib/circuitbox/circuit_breaker.rb#109
30
+ def error_rate(failures = T.unsafe(nil), success = T.unsafe(nil)); end
31
+
32
+ # source://circuitbox//lib/circuitbox/circuit_breaker.rb#8
33
+ def exceptions; end
34
+
35
+ # source://circuitbox//lib/circuitbox/circuit_breaker.rb#119
36
+ def failure_count; end
37
+
38
+ # source://circuitbox//lib/circuitbox/circuit_breaker.rb#8
39
+ def notifier; end
40
+
41
+ # source://circuitbox//lib/circuitbox/circuit_breaker.rb#102
42
+ def open?; end
43
+
44
+ # source://circuitbox//lib/circuitbox/circuit_breaker.rb#58
45
+ def option_value(name); end
46
+
47
+ # source://circuitbox//lib/circuitbox/circuit_breaker.rb#78
48
+ def run(exception: T.unsafe(nil), &block); end
49
+
50
+ # source://circuitbox//lib/circuitbox/circuit_breaker.rb#8
51
+ def service; end
52
+
53
+ # source://circuitbox//lib/circuitbox/circuit_breaker.rb#126
54
+ def success_count; end
55
+
56
+ # source://circuitbox//lib/circuitbox/circuit_breaker.rb#8
57
+ def time_class; end
58
+
59
+ # source://circuitbox//lib/circuitbox/circuit_breaker.rb#135
60
+ def try_close_next_time; end
61
+
62
+ private
63
+
64
+ # source://circuitbox//lib/circuitbox/circuit_breaker.rb#252
65
+ def align_time_to_window(window = T.unsafe(nil)); end
66
+
67
+ # source://circuitbox//lib/circuitbox/circuit_breaker.rb#257
68
+ def check_sleep_window; end
69
+
70
+ # source://circuitbox//lib/circuitbox/circuit_breaker.rb#197
71
+ def close!; end
72
+
73
+ # source://circuitbox//lib/circuitbox/circuit_breaker.rb#268
74
+ def default_time_klass; end
75
+
76
+ # source://circuitbox//lib/circuitbox/circuit_breaker.rb#220
77
+ def failure!; end
78
+
79
+ # source://circuitbox//lib/circuitbox/circuit_breaker.rb#210
80
+ def half_open?; end
81
+
82
+ # source://circuitbox//lib/circuitbox/circuit_breaker.rb#164
83
+ def half_open_failure; end
84
+
85
+ # source://circuitbox//lib/circuitbox/circuit_breaker.rb#240
86
+ def increment_and_notify_event(event); end
87
+
88
+ # source://circuitbox//lib/circuitbox/circuit_breaker.rb#235
89
+ def notify_event(event); end
90
+
91
+ # source://circuitbox//lib/circuitbox/circuit_breaker.rb#188
92
+ def notify_opened; end
93
+
94
+ # source://circuitbox//lib/circuitbox/circuit_breaker.rb#176
95
+ def open!; end
96
+
97
+ # source://circuitbox//lib/circuitbox/circuit_breaker.rb#160
98
+ def passed_rate_threshold?(failures, successes); end
99
+
100
+ # source://circuitbox//lib/circuitbox/circuit_breaker.rb#156
101
+ def passed_volume_threshold?(failures, successes); end
102
+
103
+ # source://circuitbox//lib/circuitbox/circuit_breaker.rb#141
104
+ def should_open?; end
105
+
106
+ # source://circuitbox//lib/circuitbox/circuit_breaker.rb#230
107
+ def skipped!; end
108
+
109
+ # source://circuitbox//lib/circuitbox/circuit_breaker.rb#247
110
+ def stat_storage_key(event, aligned_time = T.unsafe(nil)); end
111
+
112
+ # source://circuitbox//lib/circuitbox/circuit_breaker.rb#214
113
+ def success!; end
114
+
115
+ # source://circuitbox//lib/circuitbox/circuit_breaker.rb#192
116
+ def trip; end
117
+ end
118
+
119
+ # source://circuitbox//lib/circuitbox/circuit_breaker.rb#11
120
+ Circuitbox::CircuitBreaker::DEFAULTS = T.let(T.unsafe(nil), Hash)
121
+
122
+ # source://circuitbox//lib/circuitbox/configuration.rb#8
123
+ module Circuitbox::Configuration
124
+ # source://circuitbox//lib/circuitbox/configuration.rb#27
125
+ def configure; end
126
+
127
+ # source://circuitbox//lib/circuitbox/configuration.rb#37
128
+ def default_circuit_store; end
129
+
130
+ # source://circuitbox//lib/circuitbox/configuration.rb#9
131
+ def default_circuit_store=(_arg0); end
132
+
133
+ # source://circuitbox//lib/circuitbox/configuration.rb#46
134
+ def default_notifier; end
135
+
136
+ # source://circuitbox//lib/circuitbox/configuration.rb#9
137
+ def default_notifier=(_arg0); end
138
+
139
+ private
140
+
141
+ # source://circuitbox//lib/circuitbox/configuration.rb#62
142
+ def clear_cached_circuits!; end
143
+
144
+ # source://circuitbox//lib/circuitbox/configuration.rb#56
145
+ def find_or_create_circuit_breaker(service_name, options); end
146
+
147
+ class << self
148
+ # source://circuitbox//lib/circuitbox/configuration.rb#12
149
+ def extended(base); end
150
+ end
151
+ end
152
+
153
+ # source://circuitbox//lib/circuitbox/errors/error.rb#4
154
+ class Circuitbox::Error < ::StandardError; end
155
+
156
+ # source://circuitbox//lib/circuitbox/memory_store/container.rb#6
157
+ class Circuitbox::MemoryStore
158
+ include ::Circuitbox::TimeHelper::Monotonic
159
+
160
+ # source://circuitbox//lib/circuitbox/memory_store.rb#10
161
+ def initialize(compaction_frequency: T.unsafe(nil)); end
162
+
163
+ # source://circuitbox//lib/circuitbox/memory_store.rb#57
164
+ def delete(key); end
165
+
166
+ # source://circuitbox//lib/circuitbox/memory_store.rb#24
167
+ def increment(key, amount = T.unsafe(nil), opts = T.unsafe(nil)); end
168
+
169
+ # source://circuitbox//lib/circuitbox/memory_store.rb#53
170
+ def key?(key); end
171
+
172
+ # source://circuitbox//lib/circuitbox/memory_store.rb#42
173
+ def load(key, _opts = T.unsafe(nil)); end
174
+
175
+ # source://circuitbox//lib/circuitbox/memory_store.rb#17
176
+ def store(key, value, opts = T.unsafe(nil)); end
177
+
178
+ # source://circuitbox//lib/circuitbox/memory_store.rb#46
179
+ def values_at(*keys, **_opts); end
180
+
181
+ private
182
+
183
+ # source://circuitbox//lib/circuitbox/memory_store.rb#78
184
+ def compact(current_time); end
185
+
186
+ # source://circuitbox//lib/circuitbox/memory_store.rb#63
187
+ def fetch_container(key, current_time = T.unsafe(nil)); end
188
+ end
189
+
190
+ # source://circuitbox//lib/circuitbox/memory_store/container.rb#7
191
+ class Circuitbox::MemoryStore::Container
192
+ include ::Circuitbox::TimeHelper::Monotonic
193
+
194
+ # source://circuitbox//lib/circuitbox/memory_store/container.rb#12
195
+ def initialize(value:, expiry: T.unsafe(nil)); end
196
+
197
+ # source://circuitbox//lib/circuitbox/memory_store/container.rb#17
198
+ def expired?; end
199
+
200
+ # source://circuitbox//lib/circuitbox/memory_store/container.rb#21
201
+ def expired_at?(clock_second); end
202
+
203
+ # source://circuitbox//lib/circuitbox/memory_store/container.rb#25
204
+ def expires_after(seconds = T.unsafe(nil)); end
205
+
206
+ # source://circuitbox//lib/circuitbox/memory_store/container.rb#10
207
+ def value; end
208
+
209
+ # source://circuitbox//lib/circuitbox/memory_store/container.rb#10
210
+ def value=(_arg0); end
211
+ end
212
+
213
+ # source://circuitbox//lib/circuitbox/notifier/active_support.rb#4
214
+ module Circuitbox::Notifier; end
215
+
216
+ # source://circuitbox//lib/circuitbox/notifier/active_support.rb#5
217
+ class Circuitbox::Notifier::ActiveSupport
218
+ # source://circuitbox//lib/circuitbox/notifier/active_support.rb#6
219
+ def notify(circuit_name, event); end
220
+
221
+ # source://circuitbox//lib/circuitbox/notifier/active_support.rb#14
222
+ def notify_run(circuit_name, &block); end
223
+
224
+ # source://circuitbox//lib/circuitbox/notifier/active_support.rb#10
225
+ def notify_warning(circuit_name, message); end
226
+ end
227
+
228
+ # source://circuitbox//lib/circuitbox/notifier/null.rb#5
229
+ class Circuitbox::Notifier::Null
230
+ # source://circuitbox//lib/circuitbox/notifier/null.rb#6
231
+ def notify(_circuit_name, _event); end
232
+
233
+ # source://circuitbox//lib/circuitbox/notifier/null.rb#10
234
+ def notify_run(_circuit_name); end
235
+
236
+ # source://circuitbox//lib/circuitbox/notifier/null.rb#8
237
+ def notify_warning(_circuit_name, _message); end
238
+ end
239
+
240
+ # source://circuitbox//lib/circuitbox/errors/open_circuit_error.rb#4
241
+ class Circuitbox::OpenCircuitError < ::Circuitbox::Error
242
+ # source://circuitbox//lib/circuitbox/errors/open_circuit_error.rb#7
243
+ def initialize(service); end
244
+
245
+ # source://circuitbox//lib/circuitbox/errors/open_circuit_error.rb#5
246
+ def service; end
247
+
248
+ # source://circuitbox//lib/circuitbox/errors/open_circuit_error.rb#12
249
+ def to_s; end
250
+ end
251
+
252
+ # source://circuitbox//lib/circuitbox/errors/service_failure_error.rb#4
253
+ class Circuitbox::ServiceFailureError < ::Circuitbox::Error
254
+ # source://circuitbox//lib/circuitbox/errors/service_failure_error.rb#7
255
+ def initialize(service, exception); end
256
+
257
+ # source://circuitbox//lib/circuitbox/errors/service_failure_error.rb#5
258
+ def original; end
259
+
260
+ # source://circuitbox//lib/circuitbox/errors/service_failure_error.rb#5
261
+ def service; end
262
+
263
+ # source://circuitbox//lib/circuitbox/errors/service_failure_error.rb#16
264
+ def to_s; end
265
+ end
266
+
267
+ # source://circuitbox//lib/circuitbox/time_helper/monotonic.rb#4
268
+ module Circuitbox::TimeHelper; end
269
+
270
+ # source://circuitbox//lib/circuitbox/time_helper/monotonic.rb#5
271
+ module Circuitbox::TimeHelper::Monotonic
272
+ private
273
+
274
+ # source://circuitbox//lib/circuitbox/time_helper/monotonic.rb#8
275
+ def current_second; end
276
+
277
+ class << self
278
+ # source://circuitbox//lib/circuitbox/time_helper/monotonic.rb#8
279
+ def current_second; end
280
+ end
281
+ end
282
+
283
+ # source://circuitbox//lib/circuitbox/time_helper/real.rb#5
284
+ module Circuitbox::TimeHelper::Real
285
+ private
286
+
287
+ # source://circuitbox//lib/circuitbox/time_helper/real.rb#8
288
+ def current_second; end
289
+
290
+ class << self
291
+ # source://circuitbox//lib/circuitbox/time_helper/real.rb#8
292
+ def current_second; end
293
+ end
294
+ end
295
+
296
+ # source://circuitbox//lib/circuitbox/version.rb#4
297
+ Circuitbox::VERSION = T.let(T.unsafe(nil), String)
@@ -0,0 +1,51 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `concord` gem.
5
+ # Please instead update this file by running `bin/tapioca gem concord`.
6
+
7
+
8
+ # source://concord//lib/concord.rb#5
9
+ class Concord < ::Module
10
+ include ::Equalizer::Methods
11
+ include ::Adamantium::Flat
12
+ include ::Adamantium
13
+ include ::Memoizable::InstanceMethods
14
+ include ::Memoizable
15
+ extend ::Memoizable::ModuleMethods
16
+ extend ::Adamantium::ModuleMethods
17
+ extend ::Adamantium::ClassMethods
18
+ extend ::Adamantium::Flat
19
+
20
+ # source://concord//lib/concord.rb#27
21
+ def initialize(*names); end
22
+
23
+ # source://concord//lib/concord.rb#17
24
+ def names; end
25
+
26
+ private
27
+
28
+ # source://concord//lib/concord.rb#54
29
+ def define_equalizer; end
30
+
31
+ # source://concord//lib/concord.rb#80
32
+ def define_initialize; end
33
+
34
+ # source://concord//lib/concord.rb#64
35
+ def define_readers; end
36
+
37
+ # source://concord//lib/concord.rb#44
38
+ def included(descendant); end
39
+
40
+ # source://concord//lib/concord.rb#100
41
+ def instance_variable_names; end
42
+ end
43
+
44
+ # source://concord//lib/concord.rb#9
45
+ Concord::MAX_NR_OF_OBJECTS = T.let(T.unsafe(nil), Integer)
46
+
47
+ # source://concord//lib/concord.rb#105
48
+ class Concord::Public < ::Concord
49
+ # source://concord//lib/concord.rb#115
50
+ def included(descendant); end
51
+ end