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,458 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `rack-session` gem.
5
+ # Please instead update this file by running `bin/tapioca gem rack-session`.
6
+
7
+
8
+ # source://rack-session//lib/rack/session/constants.rb#7
9
+ module Rack
10
+ class << self
11
+ # source://rack/3.1.14/lib/rack/version.rb#18
12
+ def release; end
13
+ end
14
+ end
15
+
16
+ # source://rack-session//lib/rack/session/constants.rb#8
17
+ module Rack::Session; end
18
+
19
+ # source://rack-session//lib/rack/session/abstract/id.rb#47
20
+ module Rack::Session::Abstract; end
21
+
22
+ # source://rack-session//lib/rack/session/abstract/id.rb#499
23
+ class Rack::Session::Abstract::ID < ::Rack::Session::Abstract::Persisted
24
+ # source://rack-session//lib/rack/session/abstract/id.rb#529
25
+ def delete_session(req, sid, options); end
26
+
27
+ # source://rack-session//lib/rack/session/abstract/id.rb#514
28
+ def find_session(req, sid); end
29
+
30
+ # source://rack-session//lib/rack/session/abstract/id.rb#522
31
+ def write_session(req, sid, session, options); end
32
+
33
+ class << self
34
+ # source://rack-session//lib/rack/session/abstract/id.rb#500
35
+ def inherited(klass); end
36
+ end
37
+ end
38
+
39
+ # source://rack-session//lib/rack/session/abstract/id.rb#239
40
+ class Rack::Session::Abstract::Persisted
41
+ # source://rack-session//lib/rack/session/abstract/id.rb#257
42
+ def initialize(app, options = T.unsafe(nil)); end
43
+
44
+ # source://rack-session//lib/rack/session/abstract/id.rb#267
45
+ def call(env); end
46
+
47
+ # source://rack-session//lib/rack/session/abstract/id.rb#381
48
+ def commit_session(req, res); end
49
+
50
+ # source://rack-session//lib/rack/session/abstract/id.rb#271
51
+ def context(env, app = T.unsafe(nil)); end
52
+
53
+ # source://rack-session//lib/rack/session/abstract/id.rb#255
54
+ def default_options; end
55
+
56
+ # source://rack-session//lib/rack/session/abstract/id.rb#255
57
+ def key; end
58
+
59
+ # source://rack-session//lib/rack/session/abstract/id.rb#255
60
+ def same_site; end
61
+
62
+ # source://rack-session//lib/rack/session/abstract/id.rb#255
63
+ def sid_secure; end
64
+
65
+ private
66
+
67
+ # source://rack-session//lib/rack/session/abstract/id.rb#350
68
+ def commit_session?(req, session, options); end
69
+
70
+ # source://rack-session//lib/rack/session/abstract/id.rb#416
71
+ def cookie_value(data); end
72
+
73
+ # source://rack-session//lib/rack/session/abstract/id.rb#336
74
+ def current_session_id(req); end
75
+
76
+ # source://rack-session//lib/rack/session/abstract/id.rb#455
77
+ def delete_session(req, sid, options); end
78
+
79
+ # source://rack-session//lib/rack/session/abstract/id.rb#328
80
+ def extract_session_id(request); end
81
+
82
+ # source://rack-session//lib/rack/session/abstract/id.rb#440
83
+ def find_session(env, sid); end
84
+
85
+ # source://rack-session//lib/rack/session/abstract/id.rb#367
86
+ def force_options?(options); end
87
+
88
+ # source://rack-session//lib/rack/session/abstract/id.rb#363
89
+ def forced_session_update?(session, options); end
90
+
91
+ # source://rack-session//lib/rack/session/abstract/id.rb#296
92
+ def generate_sid(secure = T.unsafe(nil)); end
93
+
94
+ # source://rack-session//lib/rack/session/abstract/id.rb#286
95
+ def initialize_sid; end
96
+
97
+ # source://rack-session//lib/rack/session/abstract/id.rb#320
98
+ def load_session(req); end
99
+
100
+ # source://rack-session//lib/rack/session/abstract/id.rb#359
101
+ def loaded_session?(session); end
102
+
103
+ # source://rack-session//lib/rack/session/abstract/id.rb#282
104
+ def make_request(env); end
105
+
106
+ # source://rack-session//lib/rack/session/abstract/id.rb#309
107
+ def prepare_session(req); end
108
+
109
+ # source://rack-session//lib/rack/session/abstract/id.rb#371
110
+ def security_matches?(request, options); end
111
+
112
+ # source://rack-session//lib/rack/session/abstract/id.rb#431
113
+ def session_class; end
114
+
115
+ # source://rack-session//lib/rack/session/abstract/id.rb#342
116
+ def session_exists?(req); end
117
+
118
+ # source://rack-session//lib/rack/session/abstract/id.rb#423
119
+ def set_cookie(request, response, cookie); end
120
+
121
+ # source://rack-session//lib/rack/session/abstract/id.rb#448
122
+ def write_session(req, sid, session, options); end
123
+ end
124
+
125
+ # source://rack-session//lib/rack/session/abstract/id.rb#240
126
+ Rack::Session::Abstract::Persisted::DEFAULT_OPTIONS = T.let(T.unsafe(nil), Hash)
127
+
128
+ # source://rack-session//lib/rack/session/abstract/id.rb#460
129
+ class Rack::Session::Abstract::PersistedSecure < ::Rack::Session::Abstract::Persisted
130
+ # source://rack-session//lib/rack/session/abstract/id.rb#483
131
+ def extract_session_id(*_arg0); end
132
+
133
+ # source://rack-session//lib/rack/session/abstract/id.rb#477
134
+ def generate_sid(*_arg0); end
135
+
136
+ private
137
+
138
+ # source://rack-session//lib/rack/session/abstract/id.rb#494
139
+ def cookie_value(data); end
140
+
141
+ # source://rack-session//lib/rack/session/abstract/id.rb#490
142
+ def session_class; end
143
+ end
144
+
145
+ # source://rack-session//lib/rack/session/abstract/id.rb#461
146
+ class Rack::Session::Abstract::PersistedSecure::SecureSessionHash < ::Rack::Session::Abstract::SessionHash
147
+ # source://rack-session//lib/rack/session/abstract/id.rb#462
148
+ def [](key); end
149
+ end
150
+
151
+ # source://rack-session//lib/rack/session/abstract/id.rb#50
152
+ class Rack::Session::Abstract::SessionHash
153
+ include ::Enumerable
154
+
155
+ # source://rack-session//lib/rack/session/abstract/id.rb#68
156
+ def initialize(store, req); end
157
+
158
+ # source://rack-session//lib/rack/session/abstract/id.rb#88
159
+ def [](key); end
160
+
161
+ # source://rack-session//lib/rack/session/abstract/id.rb#114
162
+ def []=(key, value); end
163
+
164
+ # source://rack-session//lib/rack/session/abstract/id.rb#120
165
+ def clear; end
166
+
167
+ # source://rack-session//lib/rack/session/abstract/id.rb#146
168
+ def delete(key); end
169
+
170
+ # source://rack-session//lib/rack/session/abstract/id.rb#125
171
+ def destroy; end
172
+
173
+ # source://rack-session//lib/rack/session/abstract/id.rb#93
174
+ def dig(key, *keys); end
175
+
176
+ # source://rack-session//lib/rack/session/abstract/id.rb#83
177
+ def each(&block); end
178
+
179
+ # source://rack-session//lib/rack/session/abstract/id.rb#169
180
+ def empty?; end
181
+
182
+ # source://rack-session//lib/rack/session/abstract/id.rb#159
183
+ def exists?; end
184
+
185
+ # source://rack-session//lib/rack/session/abstract/id.rb#98
186
+ def fetch(key, default = T.unsafe(nil), &block); end
187
+
188
+ # source://rack-session//lib/rack/session/abstract/id.rb#107
189
+ def has_key?(key); end
190
+
191
+ # source://rack-session//lib/rack/session/abstract/id.rb#74
192
+ def id; end
193
+
194
+ # source://rack-session//lib/rack/session/abstract/id.rb#52
195
+ def id=(_arg0); end
196
+
197
+ # source://rack-session//lib/rack/session/abstract/id.rb#107
198
+ def include?(key); end
199
+
200
+ # source://rack-session//lib/rack/session/abstract/id.rb#151
201
+ def inspect; end
202
+
203
+ # source://rack-session//lib/rack/session/abstract/id.rb#107
204
+ def key?(key); end
205
+
206
+ # source://rack-session//lib/rack/session/abstract/id.rb#174
207
+ def keys; end
208
+
209
+ # source://rack-session//lib/rack/session/abstract/id.rb#165
210
+ def loaded?; end
211
+
212
+ # source://rack-session//lib/rack/session/abstract/id.rb#135
213
+ def merge!(hash); end
214
+
215
+ # source://rack-session//lib/rack/session/abstract/id.rb#79
216
+ def options; end
217
+
218
+ # source://rack-session//lib/rack/session/abstract/id.rb#141
219
+ def replace(hash); end
220
+
221
+ # source://rack-session//lib/rack/session/abstract/id.rb#114
222
+ def store(key, value); end
223
+
224
+ # source://rack-session//lib/rack/session/abstract/id.rb#130
225
+ def to_hash; end
226
+
227
+ # source://rack-session//lib/rack/session/abstract/id.rb#135
228
+ def update(hash); end
229
+
230
+ # source://rack-session//lib/rack/session/abstract/id.rb#179
231
+ def values; end
232
+
233
+ private
234
+
235
+ # source://rack-session//lib/rack/session/abstract/id.rb#194
236
+ def load!; end
237
+
238
+ # source://rack-session//lib/rack/session/abstract/id.rb#186
239
+ def load_for_read!; end
240
+
241
+ # source://rack-session//lib/rack/session/abstract/id.rb#190
242
+ def load_for_write!; end
243
+
244
+ # source://rack-session//lib/rack/session/abstract/id.rb#200
245
+ def stringify_keys(other); end
246
+
247
+ class << self
248
+ # source://rack-session//lib/rack/session/abstract/id.rb#56
249
+ def find(req); end
250
+
251
+ # source://rack-session//lib/rack/session/abstract/id.rb#60
252
+ def set(req, session); end
253
+
254
+ # source://rack-session//lib/rack/session/abstract/id.rb#64
255
+ def set_options(req, options); end
256
+ end
257
+ end
258
+
259
+ # source://rack-session//lib/rack/session/abstract/id.rb#54
260
+ Rack::Session::Abstract::SessionHash::Unspecified = T.let(T.unsafe(nil), Object)
261
+
262
+ # source://rack-session//lib/rack/session/cookie.rb#91
263
+ class Rack::Session::Cookie < ::Rack::Session::Abstract::PersistedSecure
264
+ # source://rack-session//lib/rack/session/cookie.rb#159
265
+ def initialize(app, options = T.unsafe(nil)); end
266
+
267
+ # source://rack-session//lib/rack/session/cookie.rb#157
268
+ def coder; end
269
+
270
+ # source://rack-session//lib/rack/session/cookie.rb#157
271
+ def encryptors; end
272
+
273
+ private
274
+
275
+ # source://rack-session//lib/rack/session/cookie.rb#277
276
+ def delete_session(req, session_id, options); end
277
+
278
+ # source://rack-session//lib/rack/session/cookie.rb#292
279
+ def encode_session_data(session); end
280
+
281
+ # source://rack-session//lib/rack/session/cookie.rb#209
282
+ def extract_session_id(request); end
283
+
284
+ # source://rack-session//lib/rack/session/cookie.rb#203
285
+ def find_session(req, sid); end
286
+
287
+ # source://rack-session//lib/rack/session/cookie.rb#282
288
+ def legacy_digest_match?(data, digest); end
289
+
290
+ # source://rack-session//lib/rack/session/cookie.rb#288
291
+ def legacy_generate_hmac(data); end
292
+
293
+ # source://rack-session//lib/rack/session/cookie.rb#250
294
+ def persistent_session_id!(data, sid = T.unsafe(nil)); end
295
+
296
+ # source://rack-session//lib/rack/session/cookie.rb#306
297
+ def secure?(options); end
298
+
299
+ # source://rack-session//lib/rack/session/cookie.rb#213
300
+ def unpacked_cookie_data(request); end
301
+
302
+ # source://rack-session//lib/rack/session/cookie.rb#265
303
+ def write_session(req, session_id, session, options); end
304
+ end
305
+
306
+ # source://rack-session//lib/rack/session/cookie.rb#93
307
+ class Rack::Session::Cookie::Base64
308
+ # source://rack-session//lib/rack/session/cookie.rb#98
309
+ def decode(str); end
310
+
311
+ # source://rack-session//lib/rack/session/cookie.rb#94
312
+ def encode(str); end
313
+ end
314
+
315
+ # source://rack-session//lib/rack/session/cookie.rb#116
316
+ class Rack::Session::Cookie::Base64::JSON < ::Rack::Session::Cookie::Base64
317
+ # source://rack-session//lib/rack/session/cookie.rb#121
318
+ def decode(str); end
319
+
320
+ # source://rack-session//lib/rack/session/cookie.rb#117
321
+ def encode(obj); end
322
+ end
323
+
324
+ # source://rack-session//lib/rack/session/cookie.rb#103
325
+ class Rack::Session::Cookie::Base64::Marshal < ::Rack::Session::Cookie::Base64
326
+ # source://rack-session//lib/rack/session/cookie.rb#108
327
+ def decode(str); end
328
+
329
+ # source://rack-session//lib/rack/session/cookie.rb#104
330
+ def encode(str); end
331
+ end
332
+
333
+ # source://rack-session//lib/rack/session/cookie.rb#127
334
+ class Rack::Session::Cookie::Base64::ZipJSON < ::Rack::Session::Cookie::Base64
335
+ # source://rack-session//lib/rack/session/cookie.rb#132
336
+ def decode(str); end
337
+
338
+ # source://rack-session//lib/rack/session/cookie.rb#128
339
+ def encode(obj); end
340
+ end
341
+
342
+ # source://rack-session//lib/rack/session/cookie.rb#142
343
+ class Rack::Session::Cookie::Identity
344
+ # source://rack-session//lib/rack/session/cookie.rb#144
345
+ def decode(str); end
346
+
347
+ # source://rack-session//lib/rack/session/cookie.rb#143
348
+ def encode(str); end
349
+ end
350
+
351
+ # source://rack-session//lib/rack/session/cookie.rb#147
352
+ class Rack::Session::Cookie::Marshal
353
+ # source://rack-session//lib/rack/session/cookie.rb#152
354
+ def decode(str); end
355
+
356
+ # source://rack-session//lib/rack/session/cookie.rb#148
357
+ def encode(str); end
358
+ end
359
+
360
+ # source://rack-session//lib/rack/session/cookie.rb#256
361
+ class Rack::Session::Cookie::SessionId
362
+ # source://rack-session//lib/rack/session/cookie.rb#259
363
+ def initialize(session_id, cookie_value); end
364
+
365
+ # source://rack-session//lib/rack/session/cookie.rb#257
366
+ def cookie_value; end
367
+ end
368
+
369
+ # source://rack-session//lib/rack/session/encryptor.rb#16
370
+ class Rack::Session::Encryptor
371
+ # source://rack-session//lib/rack/session/encryptor.rb#53
372
+ def initialize(secret, opts = T.unsafe(nil)); end
373
+
374
+ # source://rack-session//lib/rack/session/encryptor.rb#77
375
+ def decrypt(base64_data); end
376
+
377
+ # source://rack-session//lib/rack/session/encryptor.rb#102
378
+ def encrypt(message); end
379
+
380
+ private
381
+
382
+ # source://rack-session//lib/rack/session/encryptor.rb#139
383
+ def cipher_secret_from_message_secret(message_secret); end
384
+
385
+ # source://rack-session//lib/rack/session/encryptor.rb#151
386
+ def compute_signature(data); end
387
+
388
+ # source://rack-session//lib/rack/session/encryptor.rb#182
389
+ def deserialized_message(data); end
390
+
391
+ # source://rack-session//lib/rack/session/encryptor.rb#129
392
+ def new_cipher; end
393
+
394
+ # source://rack-session//lib/rack/session/encryptor.rb#133
395
+ def new_message_and_cipher_secret; end
396
+
397
+ # source://rack-session//lib/rack/session/encryptor.rb#169
398
+ def serialize_payload(message); end
399
+
400
+ # source://rack-session//lib/rack/session/encryptor.rb#147
401
+ def serializer; end
402
+
403
+ # source://rack-session//lib/rack/session/encryptor.rb#143
404
+ def set_cipher_key(cipher, key); end
405
+
406
+ # source://rack-session//lib/rack/session/encryptor.rb#158
407
+ def verify_authenticity!(data, signature); end
408
+ end
409
+
410
+ # source://rack-session//lib/rack/session/encryptor.rb#17
411
+ class Rack::Session::Encryptor::Error < ::StandardError; end
412
+
413
+ # source://rack-session//lib/rack/session/encryptor.rb#23
414
+ class Rack::Session::Encryptor::InvalidMessage < ::Rack::Session::Encryptor::Error; end
415
+
416
+ # source://rack-session//lib/rack/session/encryptor.rb#20
417
+ class Rack::Session::Encryptor::InvalidSignature < ::Rack::Session::Encryptor::Error; end
418
+
419
+ # source://rack-session//lib/rack/session/constants.rb#9
420
+ Rack::Session::RACK_SESSION = T.let(T.unsafe(nil), String)
421
+
422
+ # source://rack-session//lib/rack/session/constants.rb#10
423
+ Rack::Session::RACK_SESSION_OPTIONS = T.let(T.unsafe(nil), String)
424
+
425
+ # source://rack-session//lib/rack/session/constants.rb#11
426
+ Rack::Session::RACK_SESSION_UNPACKED_COOKIE_DATA = T.let(T.unsafe(nil), String)
427
+
428
+ # source://rack-session//lib/rack/session/abstract/id.rb#21
429
+ class Rack::Session::SessionId
430
+ # source://rack-session//lib/rack/session/abstract/id.rb#26
431
+ def initialize(public_id); end
432
+
433
+ # source://rack-session//lib/rack/session/abstract/id.rb#24
434
+ def cookie_value; end
435
+
436
+ # source://rack-session//lib/rack/session/abstract/id.rb#37
437
+ def empty?; end
438
+
439
+ # source://rack-session//lib/rack/session/abstract/id.rb#38
440
+ def inspect; end
441
+
442
+ # source://rack-session//lib/rack/session/abstract/id.rb#30
443
+ def private_id; end
444
+
445
+ # source://rack-session//lib/rack/session/abstract/id.rb#24
446
+ def public_id; end
447
+
448
+ # source://rack-session//lib/rack/session/abstract/id.rb#24
449
+ def to_s; end
450
+
451
+ private
452
+
453
+ # source://rack-session//lib/rack/session/abstract/id.rb#42
454
+ def hash_sid(sid); end
455
+ end
456
+
457
+ # source://rack-session//lib/rack/session/abstract/id.rb#22
458
+ Rack::Session::SessionId::ID_VERSION = T.let(T.unsafe(nil), Integer)