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,545 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `rails-html-sanitizer` gem.
5
+ # Please instead update this file by running `bin/tapioca gem rails-html-sanitizer`.
6
+
7
+
8
+ # source://rails-html-sanitizer//lib/rails-html-sanitizer.rb#14
9
+ module ActionView
10
+ class << self
11
+ # source://actionview/8.0.1/lib/action_view/deprecator.rb#4
12
+ def deprecator; end
13
+
14
+ # source://actionview/8.0.1/lib/action_view.rb#93
15
+ def eager_load!; end
16
+
17
+ # source://actionview/8.0.1/lib/action_view/gem_version.rb#5
18
+ def gem_version; end
19
+
20
+ # source://actionview/8.0.1/lib/action_view/version.rb#7
21
+ def version; end
22
+ end
23
+ end
24
+
25
+ # source://rails-html-sanitizer//lib/rails-html-sanitizer.rb#15
26
+ module ActionView::Helpers
27
+ include ::ActionView::Helpers::SanitizeHelper
28
+ include ::ActionView::Helpers::TextHelper
29
+ include ::ActionView::Helpers::UrlHelper
30
+ include ::ActionView::Helpers::SanitizeHelper
31
+ include ::ActionView::Helpers::TextHelper
32
+ include ::ActionView::Helpers::FormTagHelper
33
+ include ::ActionView::Helpers::FormHelper
34
+ include ::ActionView::Helpers::TranslationHelper
35
+
36
+ mixes_in_class_methods ::ActionView::Helpers::UrlHelper::ClassMethods
37
+ mixes_in_class_methods ::ActionView::Helpers::SanitizeHelper::ClassMethods
38
+
39
+ class << self
40
+ # source://actionview/8.0.1/lib/action_view/helpers.rb#35
41
+ def eager_load!; end
42
+ end
43
+ end
44
+
45
+ # source://rails-html-sanitizer//lib/rails-html-sanitizer.rb#16
46
+ module ActionView::Helpers::SanitizeHelper
47
+ mixes_in_class_methods ::ActionView::Helpers::SanitizeHelper::ClassMethods
48
+
49
+ # source://actionview/8.0.1/lib/action_view/helpers/sanitize_helper.rb#111
50
+ def sanitize(html, options = T.unsafe(nil)); end
51
+
52
+ # source://actionview/8.0.1/lib/action_view/helpers/sanitize_helper.rb#116
53
+ def sanitize_css(style); end
54
+
55
+ # source://actionview/8.0.1/lib/action_view/helpers/sanitize_helper.rb#12
56
+ def sanitizer_vendor; end
57
+
58
+ # source://actionview/8.0.1/lib/action_view/helpers/sanitize_helper.rb#12
59
+ def sanitizer_vendor=(val); end
60
+
61
+ # source://actionview/8.0.1/lib/action_view/helpers/sanitize_helper.rb#150
62
+ def strip_links(html); end
63
+
64
+ # source://actionview/8.0.1/lib/action_view/helpers/sanitize_helper.rb#133
65
+ def strip_tags(html); end
66
+
67
+ class << self
68
+ # source://actionview/8.0.1/lib/action_view/helpers/sanitize_helper.rb#12
69
+ def sanitizer_vendor; end
70
+
71
+ # source://actionview/8.0.1/lib/action_view/helpers/sanitize_helper.rb#12
72
+ def sanitizer_vendor=(val); end
73
+ end
74
+ end
75
+
76
+ # source://rails-html-sanitizer//lib/rails-html-sanitizer.rb#17
77
+ module ActionView::Helpers::SanitizeHelper::ClassMethods
78
+ # source://actionview/8.0.1/lib/action_view/helpers/sanitize_helper.rb#175
79
+ def full_sanitizer; end
80
+
81
+ # source://actionview/8.0.1/lib/action_view/helpers/sanitize_helper.rb#155
82
+ def full_sanitizer=(_arg0); end
83
+
84
+ # source://actionview/8.0.1/lib/action_view/helpers/sanitize_helper.rb#185
85
+ def link_sanitizer; end
86
+
87
+ # source://actionview/8.0.1/lib/action_view/helpers/sanitize_helper.rb#155
88
+ def link_sanitizer=(_arg0); end
89
+
90
+ # source://actionview/8.0.1/lib/action_view/helpers/sanitize_helper.rb#195
91
+ def safe_list_sanitizer; end
92
+
93
+ # source://actionview/8.0.1/lib/action_view/helpers/sanitize_helper.rb#155
94
+ def safe_list_sanitizer=(_arg0); end
95
+
96
+ # source://actionview/8.0.1/lib/action_view/helpers/sanitize_helper.rb#165
97
+ def sanitized_allowed_attributes; end
98
+
99
+ # source://rails-html-sanitizer//lib/rails-html-sanitizer.rb#34
100
+ def sanitized_allowed_attributes=(attributes); end
101
+
102
+ # source://rails-html-sanitizer//lib/rails-html-sanitizer.rb#47
103
+ def sanitized_allowed_css_keywords; end
104
+
105
+ # source://rails-html-sanitizer//lib/rails-html-sanitizer.rb#48
106
+ def sanitized_allowed_css_keywords=(_); end
107
+
108
+ # source://rails-html-sanitizer//lib/rails-html-sanitizer.rb#47
109
+ def sanitized_allowed_css_properties; end
110
+
111
+ # source://rails-html-sanitizer//lib/rails-html-sanitizer.rb#48
112
+ def sanitized_allowed_css_properties=(_); end
113
+
114
+ # source://rails-html-sanitizer//lib/rails-html-sanitizer.rb#47
115
+ def sanitized_allowed_protocols; end
116
+
117
+ # source://rails-html-sanitizer//lib/rails-html-sanitizer.rb#48
118
+ def sanitized_allowed_protocols=(_); end
119
+
120
+ # source://actionview/8.0.1/lib/action_view/helpers/sanitize_helper.rb#161
121
+ def sanitized_allowed_tags; end
122
+
123
+ # source://rails-html-sanitizer//lib/rails-html-sanitizer.rb#24
124
+ def sanitized_allowed_tags=(tags); end
125
+
126
+ # source://rails-html-sanitizer//lib/rails-html-sanitizer.rb#47
127
+ def sanitized_bad_tags; end
128
+
129
+ # source://rails-html-sanitizer//lib/rails-html-sanitizer.rb#48
130
+ def sanitized_bad_tags=(_); end
131
+
132
+ # source://rails-html-sanitizer//lib/rails-html-sanitizer.rb#47
133
+ def sanitized_protocol_separator; end
134
+
135
+ # source://rails-html-sanitizer//lib/rails-html-sanitizer.rb#48
136
+ def sanitized_protocol_separator=(_); end
137
+
138
+ # source://rails-html-sanitizer//lib/rails-html-sanitizer.rb#47
139
+ def sanitized_shorthand_css_properties; end
140
+
141
+ # source://rails-html-sanitizer//lib/rails-html-sanitizer.rb#48
142
+ def sanitized_shorthand_css_properties=(_); end
143
+
144
+ # source://rails-html-sanitizer//lib/rails-html-sanitizer.rb#47
145
+ def sanitized_uri_attributes; end
146
+
147
+ # source://rails-html-sanitizer//lib/rails-html-sanitizer.rb#48
148
+ def sanitized_uri_attributes=(_); end
149
+
150
+ # source://actionview/8.0.1/lib/action_view/helpers/sanitize_helper.rb#157
151
+ def sanitizer_vendor; end
152
+
153
+ private
154
+
155
+ # source://rails-html-sanitizer//lib/rails-html-sanitizer.rb#52
156
+ def deprecate_option(name); end
157
+ end
158
+
159
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer/version.rb#3
160
+ module Rails
161
+ class << self
162
+ # source://railties/8.0.1/lib/rails.rb#44
163
+ def app_class; end
164
+
165
+ # source://railties/8.0.1/lib/rails.rb#44
166
+ def app_class=(_arg0); end
167
+
168
+ # source://railties/8.0.1/lib/rails.rb#45
169
+ def application; end
170
+
171
+ # source://railties/8.0.1/lib/rails.rb#43
172
+ def application=(_arg0); end
173
+
174
+ # source://railties/8.0.1/lib/rails.rb#126
175
+ def autoloaders; end
176
+
177
+ # source://railties/8.0.1/lib/rails.rb#56
178
+ def backtrace_cleaner; end
179
+
180
+ # source://railties/8.0.1/lib/rails.rb#44
181
+ def cache; end
182
+
183
+ # source://railties/8.0.1/lib/rails.rb#44
184
+ def cache=(_arg0); end
185
+
186
+ # source://railties/8.0.1/lib/rails.rb#52
187
+ def configuration; end
188
+
189
+ # source://railties/8.0.1/lib/rails/deprecator.rb#4
190
+ def deprecator; end
191
+
192
+ # source://railties/8.0.1/lib/rails.rb#75
193
+ def env; end
194
+
195
+ # source://railties/8.0.1/lib/rails.rb#82
196
+ def env=(environment); end
197
+
198
+ # source://railties/8.0.1/lib/rails.rb#93
199
+ def error; end
200
+
201
+ # source://railties/8.0.1/lib/rails/gem_version.rb#5
202
+ def gem_version; end
203
+
204
+ # source://railties/8.0.1/lib/rails.rb#106
205
+ def groups(*groups); end
206
+
207
+ # source://railties/8.0.1/lib/rails.rb#49
208
+ def initialize!(*_arg0, **_arg1, &_arg2); end
209
+
210
+ # source://railties/8.0.1/lib/rails.rb#49
211
+ def initialized?(*_arg0, **_arg1, &_arg2); end
212
+
213
+ # source://railties/8.0.1/lib/rails.rb#44
214
+ def logger; end
215
+
216
+ # source://railties/8.0.1/lib/rails.rb#44
217
+ def logger=(_arg0); end
218
+
219
+ # source://railties/8.0.1/lib/rails.rb#122
220
+ def public_path; end
221
+
222
+ # source://railties/8.0.1/lib/rails.rb#65
223
+ def root; end
224
+
225
+ # source://railties/8.0.1/lib/rails/version.rb#7
226
+ def version; end
227
+ end
228
+ end
229
+
230
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer/version.rb#4
231
+ module Rails::HTML; end
232
+
233
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#194
234
+ module Rails::HTML4; end
235
+
236
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#225
237
+ class Rails::HTML4::FullSanitizer < ::Rails::HTML::Sanitizer
238
+ include ::Rails::HTML::Concern::ComposedSanitize
239
+ include ::Rails::HTML::Concern::Parser::HTML4
240
+ include ::Rails::HTML::Concern::Scrubber::Full
241
+ include ::Rails::HTML::Concern::Serializer::UTF8Encode
242
+ end
243
+
244
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#240
245
+ class Rails::HTML4::LinkSanitizer < ::Rails::HTML::Sanitizer
246
+ include ::Rails::HTML::Concern::ComposedSanitize
247
+ include ::Rails::HTML::Concern::Parser::HTML4
248
+ include ::Rails::HTML::Concern::Scrubber::Link
249
+ include ::Rails::HTML::Concern::Serializer::UTF8Encode
250
+ end
251
+
252
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#298
253
+ class Rails::HTML4::SafeListSanitizer < ::Rails::HTML::Sanitizer
254
+ include ::Rails::HTML::Concern::ComposedSanitize
255
+ include ::Rails::HTML::Concern::Parser::HTML4
256
+ include ::Rails::HTML::Concern::Scrubber::SafeList
257
+ include ::Rails::HTML::Concern::Serializer::UTF8Encode
258
+
259
+ class << self
260
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#145
261
+ def allowed_attributes; end
262
+
263
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#145
264
+ def allowed_attributes=(_arg0); end
265
+
266
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#144
267
+ def allowed_tags; end
268
+
269
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#144
270
+ def allowed_tags=(_arg0); end
271
+ end
272
+ end
273
+
274
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#195
275
+ module Rails::HTML4::Sanitizer
276
+ extend ::Rails::HTML4::Sanitizer::VendorMethods
277
+ end
278
+
279
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#196
280
+ module Rails::HTML4::Sanitizer::VendorMethods
281
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#197
282
+ def full_sanitizer; end
283
+
284
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#201
285
+ def link_sanitizer; end
286
+
287
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#205
288
+ def safe_list_sanitizer; end
289
+
290
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#209
291
+ def white_list_sanitizer; end
292
+ end
293
+
294
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#306
295
+ module Rails::HTML5; end
296
+
297
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#335
298
+ class Rails::HTML5::FullSanitizer < ::Rails::HTML::Sanitizer
299
+ include ::Rails::HTML::Concern::ComposedSanitize
300
+ include ::Rails::HTML::Concern::Parser::HTML5
301
+ include ::Rails::HTML::Concern::Scrubber::Full
302
+ include ::Rails::HTML::Concern::Serializer::UTF8Encode
303
+ end
304
+
305
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#350
306
+ class Rails::HTML5::LinkSanitizer < ::Rails::HTML::Sanitizer
307
+ include ::Rails::HTML::Concern::ComposedSanitize
308
+ include ::Rails::HTML::Concern::Parser::HTML5
309
+ include ::Rails::HTML::Concern::Scrubber::Link
310
+ include ::Rails::HTML::Concern::Serializer::UTF8Encode
311
+ end
312
+
313
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#408
314
+ class Rails::HTML5::SafeListSanitizer < ::Rails::HTML::Sanitizer
315
+ include ::Rails::HTML::Concern::ComposedSanitize
316
+ include ::Rails::HTML::Concern::Parser::HTML5
317
+ include ::Rails::HTML::Concern::Scrubber::SafeList
318
+ include ::Rails::HTML::Concern::Serializer::UTF8Encode
319
+
320
+ class << self
321
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#145
322
+ def allowed_attributes; end
323
+
324
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#145
325
+ def allowed_attributes=(_arg0); end
326
+
327
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#144
328
+ def allowed_tags; end
329
+
330
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#144
331
+ def allowed_tags=(_arg0); end
332
+ end
333
+ end
334
+
335
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#307
336
+ class Rails::HTML5::Sanitizer
337
+ class << self
338
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#309
339
+ def full_sanitizer; end
340
+
341
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#313
342
+ def link_sanitizer; end
343
+
344
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#317
345
+ def safe_list_sanitizer; end
346
+
347
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#321
348
+ def white_list_sanitizer; end
349
+ end
350
+ end
351
+
352
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#33
353
+ module Rails::HTML::Concern; end
354
+
355
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#34
356
+ module Rails::HTML::Concern::ComposedSanitize
357
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#35
358
+ def sanitize(html, options = T.unsafe(nil)); end
359
+ end
360
+
361
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#43
362
+ module Rails::HTML::Concern::Parser; end
363
+
364
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#44
365
+ module Rails::HTML::Concern::Parser::HTML4
366
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#45
367
+ def parse_fragment(html); end
368
+ end
369
+
370
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#50
371
+ module Rails::HTML::Concern::Parser::HTML5
372
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#51
373
+ def parse_fragment(html); end
374
+ end
375
+
376
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#57
377
+ module Rails::HTML::Concern::Scrubber; end
378
+
379
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#58
380
+ module Rails::HTML::Concern::Scrubber::Full
381
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#59
382
+ def scrub(fragment, options = T.unsafe(nil)); end
383
+ end
384
+
385
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#64
386
+ module Rails::HTML::Concern::Scrubber::Link
387
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#65
388
+ def initialize; end
389
+
390
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#72
391
+ def scrub(fragment, options = T.unsafe(nil)); end
392
+ end
393
+
394
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#77
395
+ module Rails::HTML::Concern::Scrubber::SafeList
396
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#152
397
+ def initialize(prune: T.unsafe(nil)); end
398
+
399
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#169
400
+ def sanitize_css(style_string); end
401
+
402
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#156
403
+ def scrub(fragment, options = T.unsafe(nil)); end
404
+
405
+ private
406
+
407
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#178
408
+ def allowed_attributes(options); end
409
+
410
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#174
411
+ def allowed_tags(options); end
412
+
413
+ class << self
414
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#142
415
+ def included(klass); end
416
+ end
417
+ end
418
+
419
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#126
420
+ Rails::HTML::Concern::Scrubber::SafeList::DEFAULT_ALLOWED_ATTRIBUTES = T.let(T.unsafe(nil), Set)
421
+
422
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#79
423
+ Rails::HTML::Concern::Scrubber::SafeList::DEFAULT_ALLOWED_TAGS = T.let(T.unsafe(nil), Set)
424
+
425
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#184
426
+ module Rails::HTML::Concern::Serializer; end
427
+
428
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#185
429
+ module Rails::HTML::Concern::Serializer::UTF8Encode
430
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#186
431
+ def serialize(fragment); end
432
+ end
433
+
434
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#418
435
+ Rails::HTML::FullSanitizer = Rails::HTML4::FullSanitizer
436
+
437
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#419
438
+ Rails::HTML::LinkSanitizer = Rails::HTML4::LinkSanitizer
439
+
440
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#49
441
+ class Rails::HTML::PermitScrubber < ::Loofah::Scrubber
442
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#52
443
+ def initialize(prune: T.unsafe(nil)); end
444
+
445
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#50
446
+ def attributes; end
447
+
448
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#62
449
+ def attributes=(attributes); end
450
+
451
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#50
452
+ def prune; end
453
+
454
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#66
455
+ def scrub(node); end
456
+
457
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#50
458
+ def tags; end
459
+
460
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#58
461
+ def tags=(tags); end
462
+
463
+ protected
464
+
465
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#83
466
+ def allowed_node?(node); end
467
+
468
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#95
469
+ def keep_node?(node); end
470
+
471
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#162
472
+ def scrub_attribute(node, attr_node); end
473
+
474
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#91
475
+ def scrub_attribute?(name); end
476
+
477
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#112
478
+ def scrub_attributes(node); end
479
+
480
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#128
481
+ def scrub_css_attribute(node); end
482
+
483
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#103
484
+ def scrub_node(node); end
485
+
486
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#87
487
+ def skip_node?(node); end
488
+
489
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#137
490
+ def validate!(var, name); end
491
+ end
492
+
493
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#420
494
+ Rails::HTML::SafeListSanitizer = Rails::HTML4::SafeListSanitizer
495
+
496
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer/version.rb#5
497
+ class Rails::HTML::Sanitizer
498
+ extend ::Rails::HTML4::Sanitizer::VendorMethods
499
+
500
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#18
501
+ def sanitize(html, options = T.unsafe(nil)); end
502
+
503
+ private
504
+
505
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#28
506
+ def properly_encode(fragment, options); end
507
+
508
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#23
509
+ def remove_xpaths(node, xpaths); end
510
+
511
+ class << self
512
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#13
513
+ def best_supported_vendor; end
514
+
515
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#7
516
+ def html5_support?; end
517
+ end
518
+ end
519
+
520
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer/version.rb#6
521
+ Rails::HTML::Sanitizer::VERSION = T.let(T.unsafe(nil), String)
522
+
523
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#195
524
+ class Rails::HTML::TargetScrubber < ::Rails::HTML::PermitScrubber
525
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#196
526
+ def allowed_node?(node); end
527
+
528
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#200
529
+ def scrub_attribute?(name); end
530
+ end
531
+
532
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#210
533
+ class Rails::HTML::TextOnlyScrubber < ::Loofah::Scrubber
534
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#211
535
+ def initialize; end
536
+
537
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#215
538
+ def scrub(node); end
539
+ end
540
+
541
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#421
542
+ Rails::HTML::WhiteListSanitizer = Rails::HTML4::SafeListSanitizer
543
+
544
+ # source://rails-html-sanitizer//lib/rails-html-sanitizer.rb#11
545
+ Rails::Html = Rails::HTML