lightning_ui_kit 0.3.3 → 0.3.5

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 (1107) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +4 -2
  3. data/app/assets/stylesheets/lightning_ui_kit/application.css +2 -0
  4. data/app/assets/stylesheets/lightning_ui_kit/themes.css +15 -2
  5. data/app/components/lightning_ui_kit/accordion/item_component.html.erb +30 -0
  6. data/app/components/lightning_ui_kit/accordion/item_component.rb +13 -0
  7. data/app/components/lightning_ui_kit/accordion_component.html.erb +5 -0
  8. data/app/components/lightning_ui_kit/accordion_component.rb +22 -0
  9. data/app/components/lightning_ui_kit/alert_component.html.erb +14 -3
  10. data/app/components/lightning_ui_kit/alert_component.rb +58 -5
  11. data/app/components/lightning_ui_kit/button_component.rb +22 -13
  12. data/app/components/lightning_ui_kit/card_component.html.erb +34 -0
  13. data/app/components/lightning_ui_kit/card_component.rb +22 -0
  14. data/app/components/lightning_ui_kit/layout_component.html.erb +5 -5
  15. data/app/components/lightning_ui_kit/layout_component.rb +0 -1
  16. data/app/components/lightning_ui_kit/pagination_component.html.erb +2 -2
  17. data/app/components/lightning_ui_kit/radio_group/option_component.html.erb +1 -0
  18. data/app/components/lightning_ui_kit/radio_group/option_component.rb +14 -0
  19. data/app/components/lightning_ui_kit/radio_group_component.html.erb +60 -0
  20. data/app/components/lightning_ui_kit/radio_group_component.rb +70 -0
  21. data/app/components/lightning_ui_kit/table_component.html.erb +1 -1
  22. data/app/components/lightning_ui_kit/tabs/tab_component.html.erb +1 -0
  23. data/app/components/lightning_ui_kit/tabs/tab_component.rb +8 -0
  24. data/app/components/lightning_ui_kit/tabs_component.html.erb +30 -0
  25. data/app/components/lightning_ui_kit/tabs_component.rb +65 -0
  26. data/app/javascript/lightning_ui_kit/controllers/radio_group_controller.js +74 -0
  27. data/app/javascript/lightning_ui_kit/controllers/tabs_controller.js +77 -0
  28. data/app/javascript/lightning_ui_kit/index.js +6 -2
  29. data/lib/lightning_ui_kit/builder.rb +16 -8
  30. data/lib/lightning_ui_kit/version.rb +1 -1
  31. data/vendor/bundle/ruby/3.4.0/bin/minitest +29 -0
  32. data/vendor/bundle/ruby/3.4.0/cache/benchmark-0.5.0.gem +0 -0
  33. data/vendor/bundle/ruby/3.4.0/cache/bigdecimal-4.1.2.gem +0 -0
  34. data/vendor/bundle/ruby/3.4.0/cache/concurrent-ruby-1.3.6.gem +0 -0
  35. data/vendor/bundle/ruby/3.4.0/cache/connection_pool-3.0.2.gem +0 -0
  36. data/vendor/bundle/ruby/3.4.0/cache/i18n-1.14.8.gem +0 -0
  37. data/vendor/bundle/ruby/3.4.0/cache/loofah-2.25.1.gem +0 -0
  38. data/vendor/bundle/ruby/3.4.0/cache/minitest-6.0.6.gem +0 -0
  39. data/vendor/bundle/ruby/3.4.0/cache/nokogiri-1.19.3-x86_64-linux-gnu.gem +0 -0
  40. data/vendor/bundle/ruby/3.4.0/cache/prism-1.9.0.gem +0 -0
  41. data/vendor/bundle/ruby/3.4.0/cache/rails-html-sanitizer-1.7.0.gem +0 -0
  42. data/vendor/bundle/ruby/3.4.0/cache/tailwind_merge-1.4.0.gem +0 -0
  43. data/vendor/bundle/ruby/3.4.0/cache/uri-1.1.1.gem +0 -0
  44. data/vendor/bundle/ruby/3.4.0/cache/view_component-4.8.0.gem +0 -0
  45. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/bigdecimal-4.1.2/bigdecimal.so +0 -0
  46. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/bigdecimal-4.1.2/gem_make.out +39 -0
  47. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/bigdecimal-4.1.2/mkmf.log +474 -0
  48. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/date-3.4.1/date_core.so +0 -0
  49. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/date-3.4.1/gem_make.out +6 -6
  50. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/date-3.4.1/mkmf.log +4 -4
  51. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/erb-5.0.2/erb/escape.so +0 -0
  52. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/erb-5.0.2/gem_make.out +6 -6
  53. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/erb-5.0.2/mkmf.log +2 -2
  54. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/io-console-0.8.1/gem_make.out +6 -6
  55. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/io-console-0.8.1/io/console.so +0 -0
  56. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/io-console-0.8.1/mkmf.log +16 -16
  57. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/json-2.18.0/gem_make.out +6 -6
  58. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/json-2.18.0/json/ext/generator.so +0 -0
  59. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/json-2.18.0/json/ext/parser.so +0 -0
  60. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/json-2.18.0/mkmf.log +9 -9
  61. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/nio4r-2.7.4/gem_make.out +6 -6
  62. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/nio4r-2.7.4/mkmf.log +12 -12
  63. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/nio4r-2.7.4/nio4r_ext.so +0 -0
  64. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/prism-1.9.0/gem_make.out +44 -0
  65. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/prism-1.9.0/mkmf.log +74 -0
  66. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/prism-1.9.0/prism/prism.so +0 -0
  67. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/psych-5.2.6/gem_make.out +6 -6
  68. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/psych-5.2.6/mkmf.log +10 -10
  69. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/psych-5.2.6/psych.so +0 -0
  70. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/racc-1.8.1/gem_make.out +6 -6
  71. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/racc-1.8.1/racc/cparse.so +0 -0
  72. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/stringio-3.1.7/gem_make.out +6 -6
  73. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/stringio-3.1.7/mkmf.log +2 -2
  74. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/stringio-3.1.7/stringio.so +0 -0
  75. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/websocket-driver-0.8.0/gem_make.out +6 -6
  76. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/websocket-driver-0.8.0/websocket_mask.so +0 -0
  77. data/vendor/bundle/ruby/3.4.0/gems/benchmark-0.5.0/lib/benchmark.rb +608 -0
  78. data/vendor/bundle/ruby/3.4.0/gems/bigdecimal-4.1.2/bigdecimal.gemspec +62 -0
  79. data/vendor/bundle/ruby/3.4.0/gems/bigdecimal-4.1.2/ext/bigdecimal/Makefile +274 -0
  80. data/vendor/bundle/ruby/3.4.0/gems/bigdecimal-4.1.2/ext/bigdecimal/bigdecimal.c +6207 -0
  81. data/vendor/bundle/ruby/3.4.0/gems/bigdecimal-4.1.2/ext/bigdecimal/bigdecimal.h +298 -0
  82. data/vendor/bundle/ruby/3.4.0/gems/bigdecimal-4.1.2/ext/bigdecimal/bits.h +144 -0
  83. data/vendor/bundle/ruby/3.4.0/gems/bigdecimal-4.1.2/ext/bigdecimal/div.h +192 -0
  84. data/vendor/bundle/ruby/3.4.0/gems/bigdecimal-4.1.2/ext/bigdecimal/extconf.rb +63 -0
  85. data/vendor/bundle/ruby/3.4.0/gems/bigdecimal-4.1.2/ext/bigdecimal/missing/dtoa.c +3509 -0
  86. data/vendor/bundle/ruby/3.4.0/gems/bigdecimal-4.1.2/ext/bigdecimal/missing.h +106 -0
  87. data/vendor/bundle/ruby/3.4.0/gems/bigdecimal-4.1.2/ext/bigdecimal/ntt.h +191 -0
  88. data/vendor/bundle/ruby/3.4.0/gems/bigdecimal-4.1.2/lib/bigdecimal/jacobian.rb +92 -0
  89. data/vendor/bundle/ruby/3.4.0/gems/bigdecimal-4.1.2/lib/bigdecimal/ludcmp.rb +91 -0
  90. data/vendor/bundle/ruby/3.4.0/gems/bigdecimal-4.1.2/lib/bigdecimal/math.rb +927 -0
  91. data/vendor/bundle/ruby/3.4.0/gems/bigdecimal-4.1.2/lib/bigdecimal/newton.rb +82 -0
  92. data/vendor/bundle/ruby/3.4.0/gems/bigdecimal-4.1.2/lib/bigdecimal/util.rb +186 -0
  93. data/vendor/bundle/ruby/3.4.0/gems/bigdecimal-4.1.2/lib/bigdecimal.rb +404 -0
  94. data/vendor/bundle/ruby/3.4.0/gems/bigdecimal-4.1.2/lib/bigdecimal.so +0 -0
  95. data/vendor/bundle/ruby/3.4.0/gems/bigdecimal-4.1.2/sample/linear.rb +110 -0
  96. data/vendor/bundle/ruby/3.4.0/gems/bigdecimal-4.1.2/sample/nlsolve.rb +57 -0
  97. data/vendor/bundle/ruby/3.4.0/gems/bigdecimal-4.1.2/sample/pi.rb +16 -0
  98. data/vendor/bundle/ruby/3.4.0/gems/bigdecimal-4.1.2/sig/big_decimal.rbs +1502 -0
  99. data/vendor/bundle/ruby/3.4.0/gems/bigdecimal-4.1.2/sig/big_decimal_util.rbs +158 -0
  100. data/vendor/bundle/ruby/3.4.0/gems/bigdecimal-4.1.2/sig/big_math.rbs +423 -0
  101. data/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/CHANGELOG.md +609 -0
  102. data/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/README.md +409 -0
  103. data/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/atomic/lock_local_var.rb +29 -0
  104. data/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/collection/ruby_timeout_queue.rb +55 -0
  105. data/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/collection/timeout_queue.rb +18 -0
  106. data/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/concurrent_ruby.jar +0 -0
  107. data/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/fixed_thread_pool.rb +222 -0
  108. data/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/java_executor_service.rb +101 -0
  109. data/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/java_thread_pool_executor.rb +147 -0
  110. data/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_single_thread_executor.rb +23 -0
  111. data/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb +396 -0
  112. data/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/timer_set.rb +179 -0
  113. data/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executors.rb +19 -0
  114. data/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/mvar.rb +242 -0
  115. data/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/promise.rb +580 -0
  116. data/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/timer_task.rb +366 -0
  117. data/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/version.rb +3 -0
  118. data/vendor/bundle/ruby/3.4.0/gems/connection_pool-3.0.2/Changes.md +220 -0
  119. data/vendor/bundle/ruby/3.4.0/gems/connection_pool-3.0.2/README.md +182 -0
  120. data/vendor/bundle/ruby/3.4.0/gems/connection_pool-3.0.2/connection_pool.gemspec +35 -0
  121. data/vendor/bundle/ruby/3.4.0/gems/connection_pool-3.0.2/lib/connection_pool/fork.rb +40 -0
  122. data/vendor/bundle/ruby/3.4.0/gems/connection_pool-3.0.2/lib/connection_pool/timed_stack.rb +236 -0
  123. data/vendor/bundle/ruby/3.4.0/gems/connection_pool-3.0.2/lib/connection_pool/version.rb +3 -0
  124. data/vendor/bundle/ruby/3.4.0/gems/connection_pool-3.0.2/lib/connection_pool/wrapper.rb +43 -0
  125. data/vendor/bundle/ruby/3.4.0/gems/connection_pool-3.0.2/lib/connection_pool.rb +185 -0
  126. data/vendor/bundle/ruby/3.4.0/gems/date-3.4.1/ext/date/Makefile +3 -3
  127. data/vendor/bundle/ruby/3.4.0/gems/date-3.4.1/lib/date_core.so +0 -0
  128. data/vendor/bundle/ruby/3.4.0/gems/erb-5.0.2/ext/erb/escape/Makefile +3 -3
  129. data/vendor/bundle/ruby/3.4.0/gems/erb-5.0.2/lib/erb/escape.so +0 -0
  130. data/vendor/bundle/ruby/3.4.0/gems/i18n-1.14.8/lib/i18n/backend/interpolation_compiler.rb +122 -0
  131. data/vendor/bundle/ruby/3.4.0/gems/i18n-1.14.8/lib/i18n/exceptions.rb +155 -0
  132. data/vendor/bundle/ruby/3.4.0/gems/i18n-1.14.8/lib/i18n/middleware.rb +17 -0
  133. data/vendor/bundle/ruby/3.4.0/gems/i18n-1.14.8/lib/i18n/tests/interpolation.rb +185 -0
  134. data/vendor/bundle/ruby/3.4.0/gems/i18n-1.14.8/lib/i18n/version.rb +5 -0
  135. data/vendor/bundle/ruby/3.4.0/gems/i18n-1.14.8/lib/i18n.rb +478 -0
  136. data/vendor/bundle/ruby/3.4.0/gems/io-console-0.8.1/ext/io/console/Makefile +3 -3
  137. data/vendor/bundle/ruby/3.4.0/gems/io-console-0.8.1/lib/io/console.so +0 -0
  138. data/vendor/bundle/ruby/3.4.0/gems/json-2.18.0/ext/json/ext/generator/Makefile +3 -3
  139. data/vendor/bundle/ruby/3.4.0/gems/json-2.18.0/ext/json/ext/parser/Makefile +3 -3
  140. data/vendor/bundle/ruby/3.4.0/gems/json-2.18.0/lib/json/ext/generator.so +0 -0
  141. data/vendor/bundle/ruby/3.4.0/gems/json-2.18.0/lib/json/ext/parser.so +0 -0
  142. data/vendor/bundle/ruby/3.4.0/gems/loofah-2.25.1/CHANGELOG.md +608 -0
  143. data/vendor/bundle/ruby/3.4.0/gems/loofah-2.25.1/SECURITY.md +18 -0
  144. data/vendor/bundle/ruby/3.4.0/gems/loofah-2.25.1/lib/loofah/html5/scrub.rb +244 -0
  145. data/vendor/bundle/ruby/3.4.0/gems/loofah-2.25.1/lib/loofah/version.rb +6 -0
  146. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/History.rdoc +1860 -0
  147. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/Manifest.txt +41 -0
  148. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/README.rdoc +763 -0
  149. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/Rakefile +89 -0
  150. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/bin/minitest +5 -0
  151. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/design_rationale.rb +54 -0
  152. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/lib/hoe/minitest.rb +30 -0
  153. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/lib/minitest/assertions.rb +821 -0
  154. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/lib/minitest/autorun.rb +5 -0
  155. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/lib/minitest/benchmark.rb +452 -0
  156. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/lib/minitest/bisect.rb +304 -0
  157. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/lib/minitest/complete.rb +56 -0
  158. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/lib/minitest/find_minimal_combination.rb +127 -0
  159. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/lib/minitest/hell.rb +11 -0
  160. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/lib/minitest/manual_plugins.rb +4 -0
  161. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/lib/minitest/parallel.rb +72 -0
  162. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/lib/minitest/path_expander.rb +432 -0
  163. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/lib/minitest/pride.rb +4 -0
  164. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/lib/minitest/pride_plugin.rb +135 -0
  165. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/lib/minitest/server.rb +49 -0
  166. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/lib/minitest/server_plugin.rb +88 -0
  167. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/lib/minitest/spec.rb +324 -0
  168. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/lib/minitest/sprint.rb +105 -0
  169. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/lib/minitest/sprint_plugin.rb +39 -0
  170. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/lib/minitest/test.rb +232 -0
  171. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/lib/minitest/test_task.rb +331 -0
  172. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/lib/minitest.rb +1232 -0
  173. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/test/minitest/metametameta.rb +150 -0
  174. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/test/minitest/test_bisect.rb +249 -0
  175. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/test/minitest/test_find_minimal_combination.rb +138 -0
  176. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/test/minitest/test_minitest_assertions.rb +1729 -0
  177. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/test/minitest/test_minitest_benchmark.rb +151 -0
  178. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/test/minitest/test_minitest_reporter.rb +437 -0
  179. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/test/minitest/test_minitest_spec.rb +1095 -0
  180. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/test/minitest/test_minitest_test.rb +1295 -0
  181. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/test/minitest/test_path_expander.rb +229 -0
  182. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/test/minitest/test_server.rb +146 -0
  183. data/vendor/bundle/ruby/3.4.0/gems/nio4r-2.7.4/ext/nio4r/Makefile +3 -3
  184. data/vendor/bundle/ruby/3.4.0/gems/nio4r-2.7.4/lib/nio4r_ext.so +0 -0
  185. data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.19.3-x86_64-linux-gnu/Gemfile +40 -0
  186. data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.19.3-x86_64-linux-gnu/LICENSE-DEPENDENCIES.md +2411 -0
  187. data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.19.3-x86_64-linux-gnu/README.md +308 -0
  188. data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.19.3-x86_64-linux-gnu/dependencies.yml +31 -0
  189. data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.19.3-x86_64-linux-gnu/ext/nokogiri/extconf.rb +1165 -0
  190. data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.19.3-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlIO.h +438 -0
  191. data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.19.3-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlversion.h +347 -0
  192. data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.19.3-x86_64-linux-gnu/ext/nokogiri/xml_document.c +788 -0
  193. data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.19.3-x86_64-linux-gnu/ext/nokogiri/xslt_stylesheet.c +457 -0
  194. data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.19.3-x86_64-linux-gnu/lib/nokogiri/3.2/nokogiri.so +0 -0
  195. data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.19.3-x86_64-linux-gnu/lib/nokogiri/3.3/nokogiri.so +0 -0
  196. data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.19.3-x86_64-linux-gnu/lib/nokogiri/3.4/nokogiri.so +0 -0
  197. data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.19.3-x86_64-linux-gnu/lib/nokogiri/4.0/nokogiri.so +0 -0
  198. data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.19.3-x86_64-linux-gnu/lib/nokogiri/class_resolver.rb +65 -0
  199. data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.19.3-x86_64-linux-gnu/lib/nokogiri/css/tokenizer.rb +155 -0
  200. data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.19.3-x86_64-linux-gnu/lib/nokogiri/css/tokenizer.rex +57 -0
  201. data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.19.3-x86_64-linux-gnu/lib/nokogiri/jruby/nokogiri_jars.rb +48 -0
  202. data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.19.3-x86_64-linux-gnu/lib/nokogiri/version/constant.rb +6 -0
  203. data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.19.3-x86_64-linux-gnu/lib/nokogiri/xml/parse_options.rb +217 -0
  204. data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.19.3-x86_64-linux-gnu/lib/nokogiri/xml/sax/document.rb +258 -0
  205. data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.19.3-x86_64-linux-gnu/lib/nokogiri/xslt/stylesheet.rb +54 -0
  206. data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.19.3-x86_64-linux-gnu/lib/nokogiri/xslt.rb +138 -0
  207. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/CHANGELOG.md +786 -0
  208. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/config.yml +4739 -0
  209. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/docs/ripper_translation.md +63 -0
  210. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/ext/prism/Makefile +273 -0
  211. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/ext/prism/extension.h +19 -0
  212. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/include/prism/ast.h +8254 -0
  213. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/include/prism/version.h +29 -0
  214. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/lib/prism/lex_compat.rb +911 -0
  215. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/lib/prism/node.rb +19966 -0
  216. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/lib/prism/parse_result.rb +907 -0
  217. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/lib/prism/prism.so +0 -0
  218. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/lib/prism/serialize.rb +2400 -0
  219. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/lib/prism/translation/ripper/filter.rb +53 -0
  220. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/lib/prism/translation/ripper/lexer.rb +135 -0
  221. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/lib/prism/translation/ripper.rb +3520 -0
  222. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/lib/prism.rb +98 -0
  223. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/prism.gemspec +172 -0
  224. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/rbi/prism/node.rbi +8750 -0
  225. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/rbi/prism.rbi +63 -0
  226. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/sig/prism/node.rbs +4042 -0
  227. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/sig/prism/parse_result.rbs +197 -0
  228. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/sig/prism.rbs +272 -0
  229. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/src/prism.c +22679 -0
  230. data/vendor/bundle/ruby/3.4.0/gems/psych-5.2.6/ext/psych/Makefile +3 -3
  231. data/vendor/bundle/ruby/3.4.0/gems/psych-5.2.6/lib/psych.so +0 -0
  232. data/vendor/bundle/ruby/3.4.0/gems/racc-1.8.1/ext/racc/cparse/Makefile +3 -3
  233. data/vendor/bundle/ruby/3.4.0/gems/racc-1.8.1/lib/racc/cparse.so +0 -0
  234. data/vendor/bundle/ruby/3.4.0/gems/rails-html-sanitizer-1.7.0/CHANGELOG.md +265 -0
  235. data/vendor/bundle/ruby/3.4.0/gems/rails-html-sanitizer-1.7.0/lib/rails/html/sanitizer/version.rb +9 -0
  236. data/vendor/bundle/ruby/3.4.0/gems/rails-html-sanitizer-1.7.0/lib/rails/html/sanitizer.rb +427 -0
  237. data/vendor/bundle/ruby/3.4.0/gems/rails-html-sanitizer-1.7.0/test/rails_api_test.rb +101 -0
  238. data/vendor/bundle/ruby/3.4.0/gems/rails-html-sanitizer-1.7.0/test/sanitizer_test.rb +1284 -0
  239. data/vendor/bundle/ruby/3.4.0/gems/rails-html-sanitizer-1.7.0/test/scrubbers_test.rb +294 -0
  240. data/vendor/bundle/ruby/3.4.0/gems/rails-html-sanitizer-1.7.0/test/test_helper.rb +7 -0
  241. data/vendor/bundle/ruby/3.4.0/gems/stringio-3.1.7/ext/stringio/Makefile +3 -3
  242. data/vendor/bundle/ruby/3.4.0/gems/stringio-3.1.7/lib/stringio.so +0 -0
  243. data/vendor/bundle/ruby/3.4.0/gems/tailwind_merge-1.4.0/CHANGELOG.md +302 -0
  244. data/vendor/bundle/ruby/3.4.0/gems/tailwind_merge-1.4.0/Gemfile +17 -0
  245. data/vendor/bundle/ruby/3.4.0/gems/tailwind_merge-1.4.0/README.md +397 -0
  246. data/vendor/bundle/ruby/3.4.0/gems/tailwind_merge-1.4.0/lib/tailwind_merge/config.rb +2417 -0
  247. data/vendor/bundle/ruby/3.4.0/gems/tailwind_merge-1.4.0/lib/tailwind_merge/validators.rb +193 -0
  248. data/vendor/bundle/ruby/3.4.0/gems/tailwind_merge-1.4.0/lib/tailwind_merge/version.rb +5 -0
  249. data/vendor/bundle/ruby/3.4.0/gems/tailwind_merge-1.4.0/tailwind_merge.gemspec +42 -0
  250. data/vendor/bundle/ruby/3.4.0/gems/uri-1.1.1/lib/uri/common.rb +922 -0
  251. data/vendor/bundle/ruby/3.4.0/gems/uri-1.1.1/lib/uri/file.rb +100 -0
  252. data/vendor/bundle/ruby/3.4.0/gems/uri-1.1.1/lib/uri/generic.rb +1592 -0
  253. data/vendor/bundle/ruby/3.4.0/gems/uri-1.1.1/lib/uri/http.rb +137 -0
  254. data/vendor/bundle/ruby/3.4.0/gems/uri-1.1.1/lib/uri/rfc2396_parser.rb +547 -0
  255. data/vendor/bundle/ruby/3.4.0/gems/uri-1.1.1/lib/uri/version.rb +6 -0
  256. data/vendor/bundle/ruby/3.4.0/gems/view_component-4.8.0/app/controllers/concerns/view_component/preview_actions.rb +105 -0
  257. data/vendor/bundle/ruby/3.4.0/gems/view_component-4.8.0/app/controllers/view_components_system_test_controller.rb +25 -0
  258. data/vendor/bundle/ruby/3.4.0/gems/view_component-4.8.0/app/views/test_mailer/test_asset_email.html.erb +1 -0
  259. data/vendor/bundle/ruby/3.4.0/gems/view_component-4.8.0/app/views/test_mailer/test_url_email.html.erb +1 -0
  260. data/vendor/bundle/ruby/3.4.0/gems/view_component-4.8.0/app/views/view_components/preview.html.erb +5 -0
  261. data/vendor/bundle/ruby/3.4.0/gems/view_component-4.8.0/docs/CHANGELOG.md +3565 -0
  262. data/vendor/bundle/ruby/3.4.0/gems/view_component-4.8.0/lib/generators/view_component/abstract_generator.rb +56 -0
  263. data/vendor/bundle/ruby/3.4.0/gems/view_component-4.8.0/lib/generators/view_component/component/component_generator.rb +80 -0
  264. data/vendor/bundle/ruby/3.4.0/gems/view_component-4.8.0/lib/generators/view_component/component/templates/component.rb.tt +21 -0
  265. data/vendor/bundle/ruby/3.4.0/gems/view_component-4.8.0/lib/generators/view_component/erb/erb_generator.rb +34 -0
  266. data/vendor/bundle/ruby/3.4.0/gems/view_component-4.8.0/lib/generators/view_component/haml/haml_generator.rb +22 -0
  267. data/vendor/bundle/ruby/3.4.0/gems/view_component-4.8.0/lib/generators/view_component/locale/locale_generator.rb +46 -0
  268. data/vendor/bundle/ruby/3.4.0/gems/view_component-4.8.0/lib/generators/view_component/preview/preview_generator.rb +39 -0
  269. data/vendor/bundle/ruby/3.4.0/gems/view_component-4.8.0/lib/generators/view_component/rspec/rspec_generator.rb +31 -0
  270. data/vendor/bundle/ruby/3.4.0/gems/view_component-4.8.0/lib/generators/view_component/slim/slim_generator.rb +22 -0
  271. data/vendor/bundle/ruby/3.4.0/gems/view_component-4.8.0/lib/generators/view_component/stimulus/stimulus_generator.rb +44 -0
  272. data/vendor/bundle/ruby/3.4.0/gems/view_component-4.8.0/lib/generators/view_component/tailwindcss/tailwindcss_generator.rb +11 -0
  273. data/vendor/bundle/ruby/3.4.0/gems/view_component-4.8.0/lib/generators/view_component/test_unit/test_unit_generator.rb +20 -0
  274. data/vendor/bundle/ruby/3.4.0/gems/view_component-4.8.0/lib/view_component/base.rb +749 -0
  275. data/vendor/bundle/ruby/3.4.0/gems/view_component-4.8.0/lib/view_component/collection.rb +78 -0
  276. data/vendor/bundle/ruby/3.4.0/gems/view_component-4.8.0/lib/view_component/compiler.rb +204 -0
  277. data/vendor/bundle/ruby/3.4.0/gems/view_component-4.8.0/lib/view_component/config.rb +191 -0
  278. data/vendor/bundle/ruby/3.4.0/gems/view_component-4.8.0/lib/view_component/configurable.rb +33 -0
  279. data/vendor/bundle/ruby/3.4.0/gems/view_component-4.8.0/lib/view_component/deprecation.rb +8 -0
  280. data/vendor/bundle/ruby/3.4.0/gems/view_component-4.8.0/lib/view_component/engine.rb +128 -0
  281. data/vendor/bundle/ruby/3.4.0/gems/view_component-4.8.0/lib/view_component/errors.rb +222 -0
  282. data/vendor/bundle/ruby/3.4.0/gems/view_component-4.8.0/lib/view_component/inline_template.rb +55 -0
  283. data/vendor/bundle/ruby/3.4.0/gems/view_component-4.8.0/lib/view_component/instrumentation.rb +38 -0
  284. data/vendor/bundle/ruby/3.4.0/gems/view_component-4.8.0/lib/view_component/preview.rb +109 -0
  285. data/vendor/bundle/ruby/3.4.0/gems/view_component-4.8.0/lib/view_component/request_details.rb +30 -0
  286. data/vendor/bundle/ruby/3.4.0/gems/view_component-4.8.0/lib/view_component/slot.rb +118 -0
  287. data/vendor/bundle/ruby/3.4.0/gems/view_component-4.8.0/lib/view_component/slotable.rb +456 -0
  288. data/vendor/bundle/ruby/3.4.0/gems/view_component-4.8.0/lib/view_component/system_spec_helpers.rb +11 -0
  289. data/vendor/bundle/ruby/3.4.0/gems/view_component-4.8.0/lib/view_component/system_test_helpers.rb +26 -0
  290. data/vendor/bundle/ruby/3.4.0/gems/view_component-4.8.0/lib/view_component/template.rb +210 -0
  291. data/vendor/bundle/ruby/3.4.0/gems/view_component-4.8.0/lib/view_component/test_helpers.rb +316 -0
  292. data/vendor/bundle/ruby/3.4.0/gems/view_component-4.8.0/lib/view_component/translatable.rb +149 -0
  293. data/vendor/bundle/ruby/3.4.0/gems/view_component-4.8.0/lib/view_component/version.rb +14 -0
  294. data/vendor/bundle/ruby/3.4.0/gems/view_component-4.8.0/lib/view_component.rb +29 -0
  295. data/vendor/bundle/ruby/3.4.0/gems/websocket-driver-0.8.0/ext/websocket-driver/Makefile +3 -3
  296. data/vendor/bundle/ruby/3.4.0/gems/websocket-driver-0.8.0/lib/websocket_mask.so +0 -0
  297. data/vendor/bundle/ruby/3.4.0/specifications/benchmark-0.5.0.gemspec +23 -0
  298. data/vendor/bundle/ruby/3.4.0/specifications/bigdecimal-4.1.2.gemspec +25 -0
  299. data/vendor/bundle/ruby/3.4.0/specifications/concurrent-ruby-1.3.6.gemspec +24 -0
  300. data/vendor/bundle/ruby/3.4.0/specifications/connection_pool-3.0.2.gemspec +28 -0
  301. data/vendor/bundle/ruby/3.4.0/specifications/i18n-1.14.8.gemspec +26 -0
  302. data/vendor/bundle/ruby/3.4.0/specifications/loofah-2.25.1.gemspec +27 -0
  303. data/vendor/bundle/ruby/3.4.0/specifications/minitest-6.0.6.gemspec +35 -0
  304. data/vendor/bundle/ruby/3.4.0/specifications/nokogiri-1.19.3-x86_64-linux-gnu.gemspec +31 -0
  305. data/vendor/bundle/ruby/3.4.0/specifications/prism-1.9.0.gemspec +24 -0
  306. data/vendor/bundle/ruby/3.4.0/specifications/rails-html-sanitizer-1.7.0.gemspec +27 -0
  307. data/vendor/bundle/ruby/3.4.0/specifications/tailwind_merge-1.4.0.gemspec +28 -0
  308. data/vendor/bundle/ruby/3.4.0/specifications/uri-1.1.1.gemspec +23 -0
  309. data/vendor/bundle/ruby/3.4.0/specifications/view_component-4.8.0.gemspec +26 -0
  310. metadata +802 -798
  311. data/app/assets/vendor/lightning_ui_kit.css +0 -3232
  312. data/app/assets/vendor/lightning_ui_kit.js +0 -12
  313. data/app/components/lightning_ui_kit/banner_component.html.erb +0 -17
  314. data/app/components/lightning_ui_kit/banner_component.rb +0 -33
  315. data/app/components/lightning_ui_kit/sidebar_component.html.erb +0 -1
  316. data/app/components/lightning_ui_kit/sidebar_component.rb +0 -2
  317. data/vendor/bundle/ruby/3.4.0/cache/benchmark-0.4.1.gem +0 -0
  318. data/vendor/bundle/ruby/3.4.0/cache/bigdecimal-3.2.2.gem +0 -0
  319. data/vendor/bundle/ruby/3.4.0/cache/concurrent-ruby-1.3.5.gem +0 -0
  320. data/vendor/bundle/ruby/3.4.0/cache/connection_pool-2.5.3.gem +0 -0
  321. data/vendor/bundle/ruby/3.4.0/cache/i18n-1.14.7.gem +0 -0
  322. data/vendor/bundle/ruby/3.4.0/cache/loofah-2.24.1.gem +0 -0
  323. data/vendor/bundle/ruby/3.4.0/cache/method_source-1.1.0.gem +0 -0
  324. data/vendor/bundle/ruby/3.4.0/cache/minitest-5.25.5.gem +0 -0
  325. data/vendor/bundle/ruby/3.4.0/cache/nokogiri-1.18.9-x86_64-linux-gnu.gem +0 -0
  326. data/vendor/bundle/ruby/3.4.0/cache/prism-1.8.0.gem +0 -0
  327. data/vendor/bundle/ruby/3.4.0/cache/rails-html-sanitizer-1.6.2.gem +0 -0
  328. data/vendor/bundle/ruby/3.4.0/cache/tailwind_merge-1.3.1.gem +0 -0
  329. data/vendor/bundle/ruby/3.4.0/cache/uri-1.0.3.gem +0 -0
  330. data/vendor/bundle/ruby/3.4.0/cache/view_component-3.23.2.gem +0 -0
  331. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/bigdecimal-3.2.2/bigdecimal.so +0 -0
  332. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/bigdecimal-3.2.2/gem_make.out +0 -44
  333. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/bigdecimal-3.2.2/mkmf.log +0 -643
  334. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/prism-1.8.0/gem_make.out +0 -44
  335. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/prism-1.8.0/mkmf.log +0 -74
  336. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/prism-1.8.0/prism/prism.so +0 -0
  337. data/vendor/bundle/ruby/3.4.0/gems/benchmark-0.4.1/lib/benchmark.rb +0 -595
  338. data/vendor/bundle/ruby/3.4.0/gems/bigdecimal-3.2.2/bigdecimal.gemspec +0 -57
  339. data/vendor/bundle/ruby/3.4.0/gems/bigdecimal-3.2.2/ext/bigdecimal/Makefile +0 -274
  340. data/vendor/bundle/ruby/3.4.0/gems/bigdecimal-3.2.2/ext/bigdecimal/bigdecimal.c +0 -7761
  341. data/vendor/bundle/ruby/3.4.0/gems/bigdecimal-3.2.2/ext/bigdecimal/bigdecimal.h +0 -313
  342. data/vendor/bundle/ruby/3.4.0/gems/bigdecimal-3.2.2/ext/bigdecimal/bits.h +0 -141
  343. data/vendor/bundle/ruby/3.4.0/gems/bigdecimal-3.2.2/ext/bigdecimal/extconf.rb +0 -64
  344. data/vendor/bundle/ruby/3.4.0/gems/bigdecimal-3.2.2/ext/bigdecimal/missing/dtoa.c +0 -3462
  345. data/vendor/bundle/ruby/3.4.0/gems/bigdecimal-3.2.2/ext/bigdecimal/missing.h +0 -196
  346. data/vendor/bundle/ruby/3.4.0/gems/bigdecimal-3.2.2/lib/bigdecimal/jacobian.rb +0 -90
  347. data/vendor/bundle/ruby/3.4.0/gems/bigdecimal-3.2.2/lib/bigdecimal/ludcmp.rb +0 -89
  348. data/vendor/bundle/ruby/3.4.0/gems/bigdecimal-3.2.2/lib/bigdecimal/math.rb +0 -231
  349. data/vendor/bundle/ruby/3.4.0/gems/bigdecimal-3.2.2/lib/bigdecimal/newton.rb +0 -80
  350. data/vendor/bundle/ruby/3.4.0/gems/bigdecimal-3.2.2/lib/bigdecimal/util.rb +0 -185
  351. data/vendor/bundle/ruby/3.4.0/gems/bigdecimal-3.2.2/lib/bigdecimal.rb +0 -5
  352. data/vendor/bundle/ruby/3.4.0/gems/bigdecimal-3.2.2/lib/bigdecimal.so +0 -0
  353. data/vendor/bundle/ruby/3.4.0/gems/bigdecimal-3.2.2/sample/linear.rb +0 -74
  354. data/vendor/bundle/ruby/3.4.0/gems/bigdecimal-3.2.2/sample/nlsolve.rb +0 -40
  355. data/vendor/bundle/ruby/3.4.0/gems/bigdecimal-3.2.2/sample/pi.rb +0 -21
  356. data/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.5/CHANGELOG.md +0 -603
  357. data/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.5/README.md +0 -407
  358. data/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.5/lib/concurrent-ruby/concurrent/atomic/lock_local_var.rb +0 -28
  359. data/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.5/lib/concurrent-ruby/concurrent/concurrent_ruby.jar +0 -0
  360. data/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.5/lib/concurrent-ruby/concurrent/executor/fixed_thread_pool.rb +0 -224
  361. data/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.5/lib/concurrent-ruby/concurrent/executor/java_executor_service.rb +0 -100
  362. data/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.5/lib/concurrent-ruby/concurrent/executor/java_thread_pool_executor.rb +0 -145
  363. data/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.5/lib/concurrent-ruby/concurrent/executor/ruby_single_thread_executor.rb +0 -21
  364. data/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.5/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb +0 -373
  365. data/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.5/lib/concurrent-ruby/concurrent/executor/timer_set.rb +0 -176
  366. data/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.5/lib/concurrent-ruby/concurrent/executors.rb +0 -20
  367. data/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.5/lib/concurrent-ruby/concurrent/mvar.rb +0 -242
  368. data/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.5/lib/concurrent-ruby/concurrent/promise.rb +0 -580
  369. data/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.5/lib/concurrent-ruby/concurrent/timer_task.rb +0 -361
  370. data/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.5/lib/concurrent-ruby/concurrent/version.rb +0 -3
  371. data/vendor/bundle/ruby/3.4.0/gems/connection_pool-2.5.3/Changes.md +0 -185
  372. data/vendor/bundle/ruby/3.4.0/gems/connection_pool-2.5.3/README.md +0 -167
  373. data/vendor/bundle/ruby/3.4.0/gems/connection_pool-2.5.3/connection_pool.gemspec +0 -24
  374. data/vendor/bundle/ruby/3.4.0/gems/connection_pool-2.5.3/lib/connection_pool/timed_stack.rb +0 -221
  375. data/vendor/bundle/ruby/3.4.0/gems/connection_pool-2.5.3/lib/connection_pool/version.rb +0 -3
  376. data/vendor/bundle/ruby/3.4.0/gems/connection_pool-2.5.3/lib/connection_pool/wrapper.rb +0 -56
  377. data/vendor/bundle/ruby/3.4.0/gems/connection_pool-2.5.3/lib/connection_pool.rb +0 -184
  378. data/vendor/bundle/ruby/3.4.0/gems/i18n-1.14.7/lib/i18n/backend/interpolation_compiler.rb +0 -121
  379. data/vendor/bundle/ruby/3.4.0/gems/i18n-1.14.7/lib/i18n/exceptions.rb +0 -157
  380. data/vendor/bundle/ruby/3.4.0/gems/i18n-1.14.7/lib/i18n/middleware.rb +0 -17
  381. data/vendor/bundle/ruby/3.4.0/gems/i18n-1.14.7/lib/i18n/tests/interpolation.rb +0 -185
  382. data/vendor/bundle/ruby/3.4.0/gems/i18n-1.14.7/lib/i18n/version.rb +0 -5
  383. data/vendor/bundle/ruby/3.4.0/gems/i18n-1.14.7/lib/i18n.rb +0 -477
  384. data/vendor/bundle/ruby/3.4.0/gems/loofah-2.24.1/CHANGELOG.md +0 -598
  385. data/vendor/bundle/ruby/3.4.0/gems/loofah-2.24.1/SECURITY.md +0 -18
  386. data/vendor/bundle/ruby/3.4.0/gems/loofah-2.24.1/lib/loofah/html5/scrub.rb +0 -230
  387. data/vendor/bundle/ruby/3.4.0/gems/loofah-2.24.1/lib/loofah/version.rb +0 -6
  388. data/vendor/bundle/ruby/3.4.0/gems/method_source-1.1.0/CHANGELOG.md +0 -15
  389. data/vendor/bundle/ruby/3.4.0/gems/method_source-1.1.0/Gemfile +0 -6
  390. data/vendor/bundle/ruby/3.4.0/gems/method_source-1.1.0/LICENSE +0 -22
  391. data/vendor/bundle/ruby/3.4.0/gems/method_source-1.1.0/README.markdown +0 -101
  392. data/vendor/bundle/ruby/3.4.0/gems/method_source-1.1.0/Rakefile +0 -81
  393. data/vendor/bundle/ruby/3.4.0/gems/method_source-1.1.0/lib/method_source/code_helpers.rb +0 -154
  394. data/vendor/bundle/ruby/3.4.0/gems/method_source-1.1.0/lib/method_source/source_location.rb +0 -138
  395. data/vendor/bundle/ruby/3.4.0/gems/method_source-1.1.0/lib/method_source/version.rb +0 -3
  396. data/vendor/bundle/ruby/3.4.0/gems/method_source-1.1.0/lib/method_source.rb +0 -177
  397. data/vendor/bundle/ruby/3.4.0/gems/method_source-1.1.0/method_source.gemspec +0 -19
  398. data/vendor/bundle/ruby/3.4.0/gems/method_source-1.1.0/spec/method_source/code_helpers_spec.rb +0 -43
  399. data/vendor/bundle/ruby/3.4.0/gems/method_source-1.1.0/spec/method_source_spec.rb +0 -157
  400. data/vendor/bundle/ruby/3.4.0/gems/method_source-1.1.0/spec/spec_helper.rb +0 -107
  401. data/vendor/bundle/ruby/3.4.0/gems/minitest-5.25.5/History.rdoc +0 -1690
  402. data/vendor/bundle/ruby/3.4.0/gems/minitest-5.25.5/Manifest.txt +0 -32
  403. data/vendor/bundle/ruby/3.4.0/gems/minitest-5.25.5/README.rdoc +0 -842
  404. data/vendor/bundle/ruby/3.4.0/gems/minitest-5.25.5/Rakefile +0 -81
  405. data/vendor/bundle/ruby/3.4.0/gems/minitest-5.25.5/design_rationale.rb +0 -52
  406. data/vendor/bundle/ruby/3.4.0/gems/minitest-5.25.5/lib/hoe/minitest.rb +0 -29
  407. data/vendor/bundle/ruby/3.4.0/gems/minitest-5.25.5/lib/minitest/assertions.rb +0 -855
  408. data/vendor/bundle/ruby/3.4.0/gems/minitest-5.25.5/lib/minitest/autorun.rb +0 -6
  409. data/vendor/bundle/ruby/3.4.0/gems/minitest-5.25.5/lib/minitest/benchmark.rb +0 -452
  410. data/vendor/bundle/ruby/3.4.0/gems/minitest-5.25.5/lib/minitest/hell.rb +0 -11
  411. data/vendor/bundle/ruby/3.4.0/gems/minitest-5.25.5/lib/minitest/manual_plugins.rb +0 -16
  412. data/vendor/bundle/ruby/3.4.0/gems/minitest-5.25.5/lib/minitest/mock.rb +0 -347
  413. data/vendor/bundle/ruby/3.4.0/gems/minitest-5.25.5/lib/minitest/parallel.rb +0 -70
  414. data/vendor/bundle/ruby/3.4.0/gems/minitest-5.25.5/lib/minitest/pride.rb +0 -4
  415. data/vendor/bundle/ruby/3.4.0/gems/minitest-5.25.5/lib/minitest/pride_plugin.rb +0 -135
  416. data/vendor/bundle/ruby/3.4.0/gems/minitest-5.25.5/lib/minitest/spec.rb +0 -350
  417. data/vendor/bundle/ruby/3.4.0/gems/minitest-5.25.5/lib/minitest/test.rb +0 -237
  418. data/vendor/bundle/ruby/3.4.0/gems/minitest-5.25.5/lib/minitest/test_task.rb +0 -307
  419. data/vendor/bundle/ruby/3.4.0/gems/minitest-5.25.5/lib/minitest/unit.rb +0 -42
  420. data/vendor/bundle/ruby/3.4.0/gems/minitest-5.25.5/lib/minitest.rb +0 -1235
  421. data/vendor/bundle/ruby/3.4.0/gems/minitest-5.25.5/test/minitest/metametameta.rb +0 -150
  422. data/vendor/bundle/ruby/3.4.0/gems/minitest-5.25.5/test/minitest/test_minitest_assertions.rb +0 -1720
  423. data/vendor/bundle/ruby/3.4.0/gems/minitest-5.25.5/test/minitest/test_minitest_benchmark.rb +0 -137
  424. data/vendor/bundle/ruby/3.4.0/gems/minitest-5.25.5/test/minitest/test_minitest_mock.rb +0 -1218
  425. data/vendor/bundle/ruby/3.4.0/gems/minitest-5.25.5/test/minitest/test_minitest_reporter.rb +0 -436
  426. data/vendor/bundle/ruby/3.4.0/gems/minitest-5.25.5/test/minitest/test_minitest_spec.rb +0 -1163
  427. data/vendor/bundle/ruby/3.4.0/gems/minitest-5.25.5/test/minitest/test_minitest_test.rb +0 -1374
  428. data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.18.9-x86_64-linux-gnu/Gemfile +0 -40
  429. data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.18.9-x86_64-linux-gnu/LICENSE-DEPENDENCIES.md +0 -2224
  430. data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.18.9-x86_64-linux-gnu/README.md +0 -293
  431. data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.18.9-x86_64-linux-gnu/dependencies.yml +0 -42
  432. data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.18.9-x86_64-linux-gnu/ext/nokogiri/extconf.rb +0 -1165
  433. data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.18.9-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlIO.h +0 -438
  434. data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.18.9-x86_64-linux-gnu/ext/nokogiri/include/libxml2/libxml/xmlversion.h +0 -347
  435. data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.18.9-x86_64-linux-gnu/ext/nokogiri/xml_document.c +0 -784
  436. data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.18.9-x86_64-linux-gnu/ext/nokogiri/xslt_stylesheet.c +0 -421
  437. data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.18.9-x86_64-linux-gnu/lib/nokogiri/3.1/nokogiri.so +0 -0
  438. data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.18.9-x86_64-linux-gnu/lib/nokogiri/3.2/nokogiri.so +0 -0
  439. data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.18.9-x86_64-linux-gnu/lib/nokogiri/3.3/nokogiri.so +0 -0
  440. data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.18.9-x86_64-linux-gnu/lib/nokogiri/3.4/nokogiri.so +0 -0
  441. data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.18.9-x86_64-linux-gnu/lib/nokogiri/class_resolver.rb +0 -67
  442. data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.18.9-x86_64-linux-gnu/lib/nokogiri/css/tokenizer.rb +0 -155
  443. data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.18.9-x86_64-linux-gnu/lib/nokogiri/css/tokenizer.rex +0 -57
  444. data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.18.9-x86_64-linux-gnu/lib/nokogiri/jruby/nokogiri_jars.rb +0 -43
  445. data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.18.9-x86_64-linux-gnu/lib/nokogiri/version/constant.rb +0 -6
  446. data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.18.9-x86_64-linux-gnu/lib/nokogiri/xml/parse_options.rb +0 -213
  447. data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.18.9-x86_64-linux-gnu/lib/nokogiri/xml/sax/document.rb +0 -258
  448. data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.18.9-x86_64-linux-gnu/lib/nokogiri/xslt/stylesheet.rb +0 -49
  449. data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.18.9-x86_64-linux-gnu/lib/nokogiri/xslt.rb +0 -129
  450. data/vendor/bundle/ruby/3.4.0/gems/prism-1.8.0/CHANGELOG.md +0 -772
  451. data/vendor/bundle/ruby/3.4.0/gems/prism-1.8.0/config.yml +0 -4739
  452. data/vendor/bundle/ruby/3.4.0/gems/prism-1.8.0/docs/ripper_translation.md +0 -72
  453. data/vendor/bundle/ruby/3.4.0/gems/prism-1.8.0/ext/prism/Makefile +0 -273
  454. data/vendor/bundle/ruby/3.4.0/gems/prism-1.8.0/ext/prism/extension.h +0 -19
  455. data/vendor/bundle/ruby/3.4.0/gems/prism-1.8.0/include/prism/ast.h +0 -8254
  456. data/vendor/bundle/ruby/3.4.0/gems/prism-1.8.0/include/prism/version.h +0 -29
  457. data/vendor/bundle/ruby/3.4.0/gems/prism-1.8.0/lib/prism/lex_compat.rb +0 -870
  458. data/vendor/bundle/ruby/3.4.0/gems/prism-1.8.0/lib/prism/lex_ripper.rb +0 -64
  459. data/vendor/bundle/ruby/3.4.0/gems/prism-1.8.0/lib/prism/node.rb +0 -19958
  460. data/vendor/bundle/ruby/3.4.0/gems/prism-1.8.0/lib/prism/parse_result.rb +0 -898
  461. data/vendor/bundle/ruby/3.4.0/gems/prism-1.8.0/lib/prism/prism.so +0 -0
  462. data/vendor/bundle/ruby/3.4.0/gems/prism-1.8.0/lib/prism/serialize.rb +0 -2400
  463. data/vendor/bundle/ruby/3.4.0/gems/prism-1.8.0/lib/prism/translation/ripper/lexer.rb +0 -46
  464. data/vendor/bundle/ruby/3.4.0/gems/prism-1.8.0/lib/prism/translation/ripper.rb +0 -3497
  465. data/vendor/bundle/ruby/3.4.0/gems/prism-1.8.0/lib/prism.rb +0 -111
  466. data/vendor/bundle/ruby/3.4.0/gems/prism-1.8.0/prism.gemspec +0 -172
  467. data/vendor/bundle/ruby/3.4.0/gems/prism-1.8.0/rbi/prism/node.rbi +0 -8747
  468. data/vendor/bundle/ruby/3.4.0/gems/prism-1.8.0/rbi/prism.rbi +0 -66
  469. data/vendor/bundle/ruby/3.4.0/gems/prism-1.8.0/sig/prism/node.rbs +0 -4039
  470. data/vendor/bundle/ruby/3.4.0/gems/prism-1.8.0/sig/prism/parse_result.rbs +0 -196
  471. data/vendor/bundle/ruby/3.4.0/gems/prism-1.8.0/sig/prism.rbs +0 -258
  472. data/vendor/bundle/ruby/3.4.0/gems/prism-1.8.0/src/prism.c +0 -22679
  473. data/vendor/bundle/ruby/3.4.0/gems/rails-html-sanitizer-1.6.2/CHANGELOG.md +0 -255
  474. data/vendor/bundle/ruby/3.4.0/gems/rails-html-sanitizer-1.6.2/lib/rails/html/sanitizer/version.rb +0 -9
  475. data/vendor/bundle/ruby/3.4.0/gems/rails-html-sanitizer-1.6.2/lib/rails/html/sanitizer.rb +0 -423
  476. data/vendor/bundle/ruby/3.4.0/gems/rails-html-sanitizer-1.6.2/test/rails_api_test.rb +0 -88
  477. data/vendor/bundle/ruby/3.4.0/gems/rails-html-sanitizer-1.6.2/test/sanitizer_test.rb +0 -1288
  478. data/vendor/bundle/ruby/3.4.0/gems/rails-html-sanitizer-1.6.2/test/scrubbers_test.rb +0 -295
  479. data/vendor/bundle/ruby/3.4.0/gems/tailwind_merge-1.3.1/CHANGELOG.md +0 -281
  480. data/vendor/bundle/ruby/3.4.0/gems/tailwind_merge-1.3.1/Gemfile +0 -17
  481. data/vendor/bundle/ruby/3.4.0/gems/tailwind_merge-1.3.1/README.md +0 -397
  482. data/vendor/bundle/ruby/3.4.0/gems/tailwind_merge-1.3.1/lib/tailwind_merge/config.rb +0 -2282
  483. data/vendor/bundle/ruby/3.4.0/gems/tailwind_merge-1.3.1/lib/tailwind_merge/validators.rb +0 -177
  484. data/vendor/bundle/ruby/3.4.0/gems/tailwind_merge-1.3.1/lib/tailwind_merge/version.rb +0 -5
  485. data/vendor/bundle/ruby/3.4.0/gems/tailwind_merge-1.3.1/tailwind_merge.gemspec +0 -42
  486. data/vendor/bundle/ruby/3.4.0/gems/uri-1.0.3/lib/uri/common.rb +0 -880
  487. data/vendor/bundle/ruby/3.4.0/gems/uri-1.0.3/lib/uri/file.rb +0 -100
  488. data/vendor/bundle/ruby/3.4.0/gems/uri-1.0.3/lib/uri/generic.rb +0 -1579
  489. data/vendor/bundle/ruby/3.4.0/gems/uri-1.0.3/lib/uri/http.rb +0 -125
  490. data/vendor/bundle/ruby/3.4.0/gems/uri-1.0.3/lib/uri/rfc2396_parser.rb +0 -546
  491. data/vendor/bundle/ruby/3.4.0/gems/uri-1.0.3/lib/uri/version.rb +0 -6
  492. data/vendor/bundle/ruby/3.4.0/gems/view_component-3.23.2/app/assets/vendor/prism.css +0 -4
  493. data/vendor/bundle/ruby/3.4.0/gems/view_component-3.23.2/app/assets/vendor/prism.min.js +0 -12
  494. data/vendor/bundle/ruby/3.4.0/gems/view_component-3.23.2/app/controllers/concerns/view_component/preview_actions.rb +0 -108
  495. data/vendor/bundle/ruby/3.4.0/gems/view_component-3.23.2/app/controllers/view_components_system_test_controller.rb +0 -30
  496. data/vendor/bundle/ruby/3.4.0/gems/view_component-3.23.2/app/helpers/preview_helper.rb +0 -85
  497. data/vendor/bundle/ruby/3.4.0/gems/view_component-3.23.2/app/views/view_components/_preview_source.html.erb +0 -17
  498. data/vendor/bundle/ruby/3.4.0/gems/view_component-3.23.2/app/views/view_components/preview.html.erb +0 -13
  499. data/vendor/bundle/ruby/3.4.0/gems/view_component-3.23.2/docs/CHANGELOG.md +0 -3105
  500. data/vendor/bundle/ruby/3.4.0/gems/view_component-3.23.2/lib/rails/generators/abstract_generator.rb +0 -56
  501. data/vendor/bundle/ruby/3.4.0/gems/view_component-3.23.2/lib/rails/generators/component/component_generator.rb +0 -67
  502. data/vendor/bundle/ruby/3.4.0/gems/view_component-3.23.2/lib/rails/generators/component/templates/component.rb.tt +0 -16
  503. data/vendor/bundle/ruby/3.4.0/gems/view_component-3.23.2/lib/rails/generators/erb/component_generator.rb +0 -33
  504. data/vendor/bundle/ruby/3.4.0/gems/view_component-3.23.2/lib/rails/generators/haml/component_generator.rb +0 -22
  505. data/vendor/bundle/ruby/3.4.0/gems/view_component-3.23.2/lib/rails/generators/locale/component_generator.rb +0 -46
  506. data/vendor/bundle/ruby/3.4.0/gems/view_component-3.23.2/lib/rails/generators/preview/component_generator.rb +0 -39
  507. data/vendor/bundle/ruby/3.4.0/gems/view_component-3.23.2/lib/rails/generators/rspec/component_generator.rb +0 -31
  508. data/vendor/bundle/ruby/3.4.0/gems/view_component-3.23.2/lib/rails/generators/slim/component_generator.rb +0 -22
  509. data/vendor/bundle/ruby/3.4.0/gems/view_component-3.23.2/lib/rails/generators/stimulus/component_generator.rb +0 -44
  510. data/vendor/bundle/ruby/3.4.0/gems/view_component-3.23.2/lib/rails/generators/tailwindcss/component_generator.rb +0 -11
  511. data/vendor/bundle/ruby/3.4.0/gems/view_component-3.23.2/lib/rails/generators/test_unit/component_generator.rb +0 -20
  512. data/vendor/bundle/ruby/3.4.0/gems/view_component-3.23.2/lib/view_component/base.rb +0 -712
  513. data/vendor/bundle/ruby/3.4.0/gems/view_component-3.23.2/lib/view_component/capture_compatibility.rb +0 -44
  514. data/vendor/bundle/ruby/3.4.0/gems/view_component-3.23.2/lib/view_component/collection.rb +0 -83
  515. data/vendor/bundle/ruby/3.4.0/gems/view_component-3.23.2/lib/view_component/compiler.rb +0 -229
  516. data/vendor/bundle/ruby/3.4.0/gems/view_component-3.23.2/lib/view_component/component_error.rb +0 -6
  517. data/vendor/bundle/ruby/3.4.0/gems/view_component-3.23.2/lib/view_component/config.rb +0 -225
  518. data/vendor/bundle/ruby/3.4.0/gems/view_component-3.23.2/lib/view_component/configurable.rb +0 -17
  519. data/vendor/bundle/ruby/3.4.0/gems/view_component-3.23.2/lib/view_component/deprecation.rb +0 -8
  520. data/vendor/bundle/ruby/3.4.0/gems/view_component-3.23.2/lib/view_component/engine.rb +0 -192
  521. data/vendor/bundle/ruby/3.4.0/gems/view_component-3.23.2/lib/view_component/errors.rb +0 -240
  522. data/vendor/bundle/ruby/3.4.0/gems/view_component-3.23.2/lib/view_component/inline_template.rb +0 -55
  523. data/vendor/bundle/ruby/3.4.0/gems/view_component-3.23.2/lib/view_component/instrumentation.rb +0 -31
  524. data/vendor/bundle/ruby/3.4.0/gems/view_component-3.23.2/lib/view_component/preview.rb +0 -116
  525. data/vendor/bundle/ruby/3.4.0/gems/view_component-3.23.2/lib/view_component/rails/tasks/view_component.rake +0 -20
  526. data/vendor/bundle/ruby/3.4.0/gems/view_component-3.23.2/lib/view_component/render_component_helper.rb +0 -10
  527. data/vendor/bundle/ruby/3.4.0/gems/view_component-3.23.2/lib/view_component/render_component_to_string_helper.rb +0 -9
  528. data/vendor/bundle/ruby/3.4.0/gems/view_component-3.23.2/lib/view_component/render_monkey_patch.rb +0 -13
  529. data/vendor/bundle/ruby/3.4.0/gems/view_component-3.23.2/lib/view_component/render_to_string_monkey_patch.rb +0 -13
  530. data/vendor/bundle/ruby/3.4.0/gems/view_component-3.23.2/lib/view_component/rendering_component_helper.rb +0 -9
  531. data/vendor/bundle/ruby/3.4.0/gems/view_component-3.23.2/lib/view_component/rendering_monkey_patch.rb +0 -13
  532. data/vendor/bundle/ruby/3.4.0/gems/view_component-3.23.2/lib/view_component/slot.rb +0 -125
  533. data/vendor/bundle/ruby/3.4.0/gems/view_component-3.23.2/lib/view_component/slotable.rb +0 -444
  534. data/vendor/bundle/ruby/3.4.0/gems/view_component-3.23.2/lib/view_component/slotable_default.rb +0 -20
  535. data/vendor/bundle/ruby/3.4.0/gems/view_component-3.23.2/lib/view_component/system_test_helpers.rb +0 -27
  536. data/vendor/bundle/ruby/3.4.0/gems/view_component-3.23.2/lib/view_component/template.rb +0 -134
  537. data/vendor/bundle/ruby/3.4.0/gems/view_component-3.23.2/lib/view_component/test_helpers.rb +0 -301
  538. data/vendor/bundle/ruby/3.4.0/gems/view_component-3.23.2/lib/view_component/translatable.rb +0 -148
  539. data/vendor/bundle/ruby/3.4.0/gems/view_component-3.23.2/lib/view_component/use_helpers.rb +0 -42
  540. data/vendor/bundle/ruby/3.4.0/gems/view_component-3.23.2/lib/view_component/version.rb +0 -14
  541. data/vendor/bundle/ruby/3.4.0/gems/view_component-3.23.2/lib/view_component.rb +0 -26
  542. data/vendor/bundle/ruby/3.4.0/specifications/benchmark-0.4.1.gemspec +0 -23
  543. data/vendor/bundle/ruby/3.4.0/specifications/bigdecimal-3.2.2.gemspec +0 -25
  544. data/vendor/bundle/ruby/3.4.0/specifications/concurrent-ruby-1.3.5.gemspec +0 -24
  545. data/vendor/bundle/ruby/3.4.0/specifications/connection_pool-2.5.3.gemspec +0 -28
  546. data/vendor/bundle/ruby/3.4.0/specifications/i18n-1.14.7.gemspec +0 -26
  547. data/vendor/bundle/ruby/3.4.0/specifications/loofah-2.24.1.gemspec +0 -27
  548. data/vendor/bundle/ruby/3.4.0/specifications/method_source-1.1.0.gemspec +0 -21
  549. data/vendor/bundle/ruby/3.4.0/specifications/minitest-5.25.5.gemspec +0 -31
  550. data/vendor/bundle/ruby/3.4.0/specifications/nokogiri-1.18.9-x86_64-linux-gnu.gemspec +0 -31
  551. data/vendor/bundle/ruby/3.4.0/specifications/prism-1.8.0.gemspec +0 -24
  552. data/vendor/bundle/ruby/3.4.0/specifications/rails-html-sanitizer-1.6.2.gemspec +0 -27
  553. data/vendor/bundle/ruby/3.4.0/specifications/tailwind_merge-1.3.1.gemspec +0 -28
  554. data/vendor/bundle/ruby/3.4.0/specifications/uri-1.0.3.gemspec +0 -23
  555. data/vendor/bundle/ruby/3.4.0/specifications/view_component-3.23.2.gemspec +0 -62
  556. /data/app/javascript/lightning_ui_kit/controllers/{banner_controller.js → alert_controller.js} +0 -0
  557. /data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/{bigdecimal-3.2.2 → bigdecimal-4.1.2}/gem.build_complete +0 -0
  558. /data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/{prism-1.8.0 → prism-1.9.0}/gem.build_complete +0 -0
  559. /data/vendor/bundle/ruby/3.4.0/gems/{benchmark-0.4.1 → benchmark-0.5.0}/BSDL +0 -0
  560. /data/vendor/bundle/ruby/3.4.0/gems/{benchmark-0.4.1 → benchmark-0.5.0}/COPYING +0 -0
  561. /data/vendor/bundle/ruby/3.4.0/gems/{benchmark-0.4.1 → benchmark-0.5.0}/Gemfile +0 -0
  562. /data/vendor/bundle/ruby/3.4.0/gems/{benchmark-0.4.1 → benchmark-0.5.0}/README.md +0 -0
  563. /data/vendor/bundle/ruby/3.4.0/gems/{benchmark-0.4.1 → benchmark-0.5.0}/Rakefile +0 -0
  564. /data/vendor/bundle/ruby/3.4.0/gems/{benchmark-0.4.1 → benchmark-0.5.0}/benchmark.gemspec +0 -0
  565. /data/vendor/bundle/ruby/3.4.0/gems/{benchmark-0.4.1 → benchmark-0.5.0}/bin/console +0 -0
  566. /data/vendor/bundle/ruby/3.4.0/gems/{benchmark-0.4.1 → benchmark-0.5.0}/bin/setup +0 -0
  567. /data/vendor/bundle/ruby/3.4.0/gems/{bigdecimal-3.2.2 → bigdecimal-4.1.2}/LICENSE +0 -0
  568. /data/vendor/bundle/ruby/3.4.0/gems/{bigdecimal-3.2.2 → bigdecimal-4.1.2}/ext/bigdecimal/feature.h +0 -0
  569. /data/vendor/bundle/ruby/3.4.0/gems/{bigdecimal-3.2.2 → bigdecimal-4.1.2}/ext/bigdecimal/missing.c +0 -0
  570. /data/vendor/bundle/ruby/3.4.0/gems/{bigdecimal-3.2.2 → bigdecimal-4.1.2}/ext/bigdecimal/static_assert.h +0 -0
  571. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/Gemfile +0 -0
  572. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/LICENSE.txt +0 -0
  573. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/Rakefile +0 -0
  574. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/ext/concurrent-ruby/ConcurrentRubyService.java +0 -0
  575. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/ext/concurrent-ruby/com/concurrent_ruby/ext/AtomicReferenceLibrary.java +0 -0
  576. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/ext/concurrent-ruby/com/concurrent_ruby/ext/JRubyMapBackendLibrary.java +0 -0
  577. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/ext/concurrent-ruby/com/concurrent_ruby/ext/JavaAtomicBooleanLibrary.java +0 -0
  578. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/ext/concurrent-ruby/com/concurrent_ruby/ext/JavaAtomicFixnumLibrary.java +0 -0
  579. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/ext/concurrent-ruby/com/concurrent_ruby/ext/JavaSemaphoreLibrary.java +0 -0
  580. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/ext/concurrent-ruby/com/concurrent_ruby/ext/SynchronizationLibrary.java +0 -0
  581. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/ConcurrentHashMap.java +0 -0
  582. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/ConcurrentHashMapV8.java +0 -0
  583. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/LongAdder.java +0 -0
  584. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/Striped64.java +0 -0
  585. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/nounsafe/ConcurrentHashMapV8.java +0 -0
  586. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/nounsafe/LongAdder.java +0 -0
  587. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/nounsafe/Striped64.java +0 -0
  588. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166y/ThreadLocalRandom.java +0 -0
  589. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/agent.rb +0 -0
  590. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/array.rb +0 -0
  591. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/async.rb +0 -0
  592. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/atom.rb +0 -0
  593. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/atomic/atomic_boolean.rb +0 -0
  594. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/atomic/atomic_fixnum.rb +0 -0
  595. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/atomic/atomic_markable_reference.rb +0 -0
  596. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/atomic/atomic_reference.rb +0 -0
  597. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/atomic/count_down_latch.rb +0 -0
  598. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/atomic/cyclic_barrier.rb +0 -0
  599. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/atomic/event.rb +0 -0
  600. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/atomic/fiber_local_var.rb +0 -0
  601. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/atomic/java_count_down_latch.rb +0 -0
  602. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/atomic/locals.rb +0 -0
  603. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/atomic/mutex_atomic_boolean.rb +0 -0
  604. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/atomic/mutex_atomic_fixnum.rb +0 -0
  605. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/atomic/mutex_count_down_latch.rb +0 -0
  606. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/atomic/mutex_semaphore.rb +0 -0
  607. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/atomic/read_write_lock.rb +0 -0
  608. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/atomic/reentrant_read_write_lock.rb +0 -0
  609. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/atomic/semaphore.rb +0 -0
  610. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/atomic/thread_local_var.rb +0 -0
  611. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/atomic_reference/atomic_direct_update.rb +0 -0
  612. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/atomic_reference/mutex_atomic.rb +0 -0
  613. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/atomic_reference/numeric_cas_wrapper.rb +0 -0
  614. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/atomics.rb +0 -0
  615. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/collection/copy_on_notify_observer_set.rb +0 -0
  616. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/collection/copy_on_write_observer_set.rb +0 -0
  617. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/collection/java_non_concurrent_priority_queue.rb +0 -0
  618. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/collection/lock_free_stack.rb +0 -0
  619. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/collection/map/mri_map_backend.rb +0 -0
  620. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb +0 -0
  621. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/collection/map/synchronized_map_backend.rb +0 -0
  622. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/collection/map/truffleruby_map_backend.rb +0 -0
  623. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/collection/non_concurrent_priority_queue.rb +0 -0
  624. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb +0 -0
  625. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/concern/deprecation.rb +0 -0
  626. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/concern/dereferenceable.rb +0 -0
  627. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/concern/logging.rb +0 -0
  628. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/concern/obligation.rb +0 -0
  629. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/concern/observable.rb +0 -0
  630. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/configuration.rb +0 -0
  631. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/constants.rb +0 -0
  632. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/dataflow.rb +0 -0
  633. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/delay.rb +0 -0
  634. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/errors.rb +0 -0
  635. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/exchanger.rb +0 -0
  636. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/executor/abstract_executor_service.rb +0 -0
  637. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/executor/cached_thread_pool.rb +0 -0
  638. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/executor/executor_service.rb +0 -0
  639. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/executor/immediate_executor.rb +0 -0
  640. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/executor/indirect_immediate_executor.rb +0 -0
  641. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/executor/java_single_thread_executor.rb +0 -0
  642. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/executor/ruby_executor_service.rb +0 -0
  643. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb +0 -0
  644. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/executor/serial_executor_service.rb +0 -0
  645. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/executor/serialized_execution.rb +0 -0
  646. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/executor/serialized_execution_delegator.rb +0 -0
  647. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/executor/simple_executor_service.rb +0 -0
  648. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/executor/single_thread_executor.rb +0 -0
  649. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/executor/thread_pool_executor.rb +0 -0
  650. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/future.rb +0 -0
  651. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/hash.rb +0 -0
  652. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/immutable_struct.rb +0 -0
  653. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/ivar.rb +0 -0
  654. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/map.rb +0 -0
  655. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/maybe.rb +0 -0
  656. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/mutable_struct.rb +0 -0
  657. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/options.rb +0 -0
  658. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/promises.rb +0 -0
  659. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/re_include.rb +0 -0
  660. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/scheduled_task.rb +0 -0
  661. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/set.rb +0 -0
  662. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/settable_struct.rb +0 -0
  663. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/synchronization/abstract_lockable_object.rb +0 -0
  664. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/synchronization/abstract_object.rb +0 -0
  665. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb +0 -0
  666. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/synchronization/condition.rb +0 -0
  667. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/synchronization/full_memory_barrier.rb +0 -0
  668. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/synchronization/jruby_lockable_object.rb +0 -0
  669. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/synchronization/lock.rb +0 -0
  670. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/synchronization/lockable_object.rb +0 -0
  671. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb +0 -0
  672. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/synchronization/object.rb +0 -0
  673. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/synchronization/safe_initialization.rb +0 -0
  674. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/synchronization/volatile.rb +0 -0
  675. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/synchronization.rb +0 -0
  676. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/thread_safe/synchronized_delegator.rb +0 -0
  677. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/thread_safe/util/adder.rb +0 -0
  678. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb +0 -0
  679. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/thread_safe/util/power_of_two_tuple.rb +0 -0
  680. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/thread_safe/util/striped64.rb +0 -0
  681. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/thread_safe/util/volatile.rb +0 -0
  682. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/thread_safe/util/xor_shift_random.rb +0 -0
  683. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/thread_safe/util.rb +0 -0
  684. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/tuple.rb +0 -0
  685. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/tvar.rb +0 -0
  686. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/utility/engine.rb +0 -0
  687. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/utility/monotonic_time.rb +0 -0
  688. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/utility/native_extension_loader.rb +0 -0
  689. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/utility/native_integer.rb +0 -0
  690. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent/utility/processor_counter.rb +0 -0
  691. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent-ruby.rb +0 -0
  692. /data/vendor/bundle/ruby/3.4.0/gems/{concurrent-ruby-1.3.5 → concurrent-ruby-1.3.6}/lib/concurrent-ruby/concurrent.rb +0 -0
  693. /data/vendor/bundle/ruby/3.4.0/gems/{connection_pool-2.5.3 → connection_pool-3.0.2}/LICENSE +0 -0
  694. /data/vendor/bundle/ruby/3.4.0/gems/{i18n-1.14.7 → i18n-1.14.8}/MIT-LICENSE +0 -0
  695. /data/vendor/bundle/ruby/3.4.0/gems/{i18n-1.14.7 → i18n-1.14.8}/README.md +0 -0
  696. /data/vendor/bundle/ruby/3.4.0/gems/{i18n-1.14.7 → i18n-1.14.8}/lib/i18n/backend/base.rb +0 -0
  697. /data/vendor/bundle/ruby/3.4.0/gems/{i18n-1.14.7 → i18n-1.14.8}/lib/i18n/backend/cache.rb +0 -0
  698. /data/vendor/bundle/ruby/3.4.0/gems/{i18n-1.14.7 → i18n-1.14.8}/lib/i18n/backend/cache_file.rb +0 -0
  699. /data/vendor/bundle/ruby/3.4.0/gems/{i18n-1.14.7 → i18n-1.14.8}/lib/i18n/backend/cascade.rb +0 -0
  700. /data/vendor/bundle/ruby/3.4.0/gems/{i18n-1.14.7 → i18n-1.14.8}/lib/i18n/backend/chain.rb +0 -0
  701. /data/vendor/bundle/ruby/3.4.0/gems/{i18n-1.14.7 → i18n-1.14.8}/lib/i18n/backend/fallbacks.rb +0 -0
  702. /data/vendor/bundle/ruby/3.4.0/gems/{i18n-1.14.7 → i18n-1.14.8}/lib/i18n/backend/flatten.rb +0 -0
  703. /data/vendor/bundle/ruby/3.4.0/gems/{i18n-1.14.7 → i18n-1.14.8}/lib/i18n/backend/gettext.rb +0 -0
  704. /data/vendor/bundle/ruby/3.4.0/gems/{i18n-1.14.7 → i18n-1.14.8}/lib/i18n/backend/key_value.rb +0 -0
  705. /data/vendor/bundle/ruby/3.4.0/gems/{i18n-1.14.7 → i18n-1.14.8}/lib/i18n/backend/lazy_loadable.rb +0 -0
  706. /data/vendor/bundle/ruby/3.4.0/gems/{i18n-1.14.7 → i18n-1.14.8}/lib/i18n/backend/memoize.rb +0 -0
  707. /data/vendor/bundle/ruby/3.4.0/gems/{i18n-1.14.7 → i18n-1.14.8}/lib/i18n/backend/metadata.rb +0 -0
  708. /data/vendor/bundle/ruby/3.4.0/gems/{i18n-1.14.7 → i18n-1.14.8}/lib/i18n/backend/pluralization.rb +0 -0
  709. /data/vendor/bundle/ruby/3.4.0/gems/{i18n-1.14.7 → i18n-1.14.8}/lib/i18n/backend/simple.rb +0 -0
  710. /data/vendor/bundle/ruby/3.4.0/gems/{i18n-1.14.7 → i18n-1.14.8}/lib/i18n/backend/transliterator.rb +0 -0
  711. /data/vendor/bundle/ruby/3.4.0/gems/{i18n-1.14.7 → i18n-1.14.8}/lib/i18n/backend.rb +0 -0
  712. /data/vendor/bundle/ruby/3.4.0/gems/{i18n-1.14.7 → i18n-1.14.8}/lib/i18n/config.rb +0 -0
  713. /data/vendor/bundle/ruby/3.4.0/gems/{i18n-1.14.7 → i18n-1.14.8}/lib/i18n/gettext/helpers.rb +0 -0
  714. /data/vendor/bundle/ruby/3.4.0/gems/{i18n-1.14.7 → i18n-1.14.8}/lib/i18n/gettext/po_parser.rb +0 -0
  715. /data/vendor/bundle/ruby/3.4.0/gems/{i18n-1.14.7 → i18n-1.14.8}/lib/i18n/gettext.rb +0 -0
  716. /data/vendor/bundle/ruby/3.4.0/gems/{i18n-1.14.7 → i18n-1.14.8}/lib/i18n/interpolate/ruby.rb +0 -0
  717. /data/vendor/bundle/ruby/3.4.0/gems/{i18n-1.14.7 → i18n-1.14.8}/lib/i18n/locale/fallbacks.rb +0 -0
  718. /data/vendor/bundle/ruby/3.4.0/gems/{i18n-1.14.7 → i18n-1.14.8}/lib/i18n/locale/tag/parents.rb +0 -0
  719. /data/vendor/bundle/ruby/3.4.0/gems/{i18n-1.14.7 → i18n-1.14.8}/lib/i18n/locale/tag/rfc4646.rb +0 -0
  720. /data/vendor/bundle/ruby/3.4.0/gems/{i18n-1.14.7 → i18n-1.14.8}/lib/i18n/locale/tag/simple.rb +0 -0
  721. /data/vendor/bundle/ruby/3.4.0/gems/{i18n-1.14.7 → i18n-1.14.8}/lib/i18n/locale/tag.rb +0 -0
  722. /data/vendor/bundle/ruby/3.4.0/gems/{i18n-1.14.7 → i18n-1.14.8}/lib/i18n/locale.rb +0 -0
  723. /data/vendor/bundle/ruby/3.4.0/gems/{i18n-1.14.7 → i18n-1.14.8}/lib/i18n/tests/basics.rb +0 -0
  724. /data/vendor/bundle/ruby/3.4.0/gems/{i18n-1.14.7 → i18n-1.14.8}/lib/i18n/tests/defaults.rb +0 -0
  725. /data/vendor/bundle/ruby/3.4.0/gems/{i18n-1.14.7 → i18n-1.14.8}/lib/i18n/tests/link.rb +0 -0
  726. /data/vendor/bundle/ruby/3.4.0/gems/{i18n-1.14.7 → i18n-1.14.8}/lib/i18n/tests/localization/date.rb +0 -0
  727. /data/vendor/bundle/ruby/3.4.0/gems/{i18n-1.14.7 → i18n-1.14.8}/lib/i18n/tests/localization/date_time.rb +0 -0
  728. /data/vendor/bundle/ruby/3.4.0/gems/{i18n-1.14.7 → i18n-1.14.8}/lib/i18n/tests/localization/procs.rb +0 -0
  729. /data/vendor/bundle/ruby/3.4.0/gems/{i18n-1.14.7 → i18n-1.14.8}/lib/i18n/tests/localization/time.rb +0 -0
  730. /data/vendor/bundle/ruby/3.4.0/gems/{i18n-1.14.7 → i18n-1.14.8}/lib/i18n/tests/localization.rb +0 -0
  731. /data/vendor/bundle/ruby/3.4.0/gems/{i18n-1.14.7 → i18n-1.14.8}/lib/i18n/tests/lookup.rb +0 -0
  732. /data/vendor/bundle/ruby/3.4.0/gems/{i18n-1.14.7 → i18n-1.14.8}/lib/i18n/tests/pluralization.rb +0 -0
  733. /data/vendor/bundle/ruby/3.4.0/gems/{i18n-1.14.7 → i18n-1.14.8}/lib/i18n/tests/procs.rb +0 -0
  734. /data/vendor/bundle/ruby/3.4.0/gems/{i18n-1.14.7 → i18n-1.14.8}/lib/i18n/tests.rb +0 -0
  735. /data/vendor/bundle/ruby/3.4.0/gems/{i18n-1.14.7 → i18n-1.14.8}/lib/i18n/utils.rb +0 -0
  736. /data/vendor/bundle/ruby/3.4.0/gems/{loofah-2.24.1 → loofah-2.25.1}/MIT-LICENSE.txt +0 -0
  737. /data/vendor/bundle/ruby/3.4.0/gems/{loofah-2.24.1 → loofah-2.25.1}/README.md +0 -0
  738. /data/vendor/bundle/ruby/3.4.0/gems/{loofah-2.24.1 → loofah-2.25.1}/lib/loofah/concerns.rb +0 -0
  739. /data/vendor/bundle/ruby/3.4.0/gems/{loofah-2.24.1 → loofah-2.25.1}/lib/loofah/elements.rb +0 -0
  740. /data/vendor/bundle/ruby/3.4.0/gems/{loofah-2.24.1 → loofah-2.25.1}/lib/loofah/helpers.rb +0 -0
  741. /data/vendor/bundle/ruby/3.4.0/gems/{loofah-2.24.1 → loofah-2.25.1}/lib/loofah/html4/document.rb +0 -0
  742. /data/vendor/bundle/ruby/3.4.0/gems/{loofah-2.24.1 → loofah-2.25.1}/lib/loofah/html4/document_fragment.rb +0 -0
  743. /data/vendor/bundle/ruby/3.4.0/gems/{loofah-2.24.1 → loofah-2.25.1}/lib/loofah/html5/document.rb +0 -0
  744. /data/vendor/bundle/ruby/3.4.0/gems/{loofah-2.24.1 → loofah-2.25.1}/lib/loofah/html5/document_fragment.rb +0 -0
  745. /data/vendor/bundle/ruby/3.4.0/gems/{loofah-2.24.1 → loofah-2.25.1}/lib/loofah/html5/libxml2_workarounds.rb +0 -0
  746. /data/vendor/bundle/ruby/3.4.0/gems/{loofah-2.24.1 → loofah-2.25.1}/lib/loofah/html5/safelist.rb +0 -0
  747. /data/vendor/bundle/ruby/3.4.0/gems/{loofah-2.24.1 → loofah-2.25.1}/lib/loofah/metahelpers.rb +0 -0
  748. /data/vendor/bundle/ruby/3.4.0/gems/{loofah-2.24.1 → loofah-2.25.1}/lib/loofah/scrubber.rb +0 -0
  749. /data/vendor/bundle/ruby/3.4.0/gems/{loofah-2.24.1 → loofah-2.25.1}/lib/loofah/scrubbers.rb +0 -0
  750. /data/vendor/bundle/ruby/3.4.0/gems/{loofah-2.24.1 → loofah-2.25.1}/lib/loofah/xml/document.rb +0 -0
  751. /data/vendor/bundle/ruby/3.4.0/gems/{loofah-2.24.1 → loofah-2.25.1}/lib/loofah/xml/document_fragment.rb +0 -0
  752. /data/vendor/bundle/ruby/3.4.0/gems/{loofah-2.24.1 → loofah-2.25.1}/lib/loofah.rb +0 -0
  753. /data/vendor/bundle/ruby/3.4.0/gems/{minitest-5.25.5 → minitest-6.0.6}/lib/minitest/compress.rb +0 -0
  754. /data/vendor/bundle/ruby/3.4.0/gems/{minitest-5.25.5 → minitest-6.0.6}/lib/minitest/error_on_warning.rb +0 -0
  755. /data/vendor/bundle/ruby/3.4.0/gems/{minitest-5.25.5 → minitest-6.0.6}/lib/minitest/expectations.rb +0 -0
  756. /data/vendor/bundle/ruby/3.4.0/gems/{minitest-5.25.5 → minitest-6.0.6}/test/minitest/test_minitest_test_task.rb +0 -0
  757. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/LICENSE.md +0 -0
  758. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/bin/nokogiri +0 -0
  759. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/depend +0 -0
  760. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/gumbo.c +0 -0
  761. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/html4_document.c +0 -0
  762. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/html4_element_description.c +0 -0
  763. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/html4_entity_lookup.c +0 -0
  764. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/html4_sax_parser.c +0 -0
  765. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/html4_sax_parser_context.c +0 -0
  766. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/html4_sax_push_parser.c +0 -0
  767. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libexslt/exslt.h +0 -0
  768. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libexslt/exsltconfig.h +0 -0
  769. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libexslt/exsltexports.h +0 -0
  770. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxml2/libxml/HTMLparser.h +0 -0
  771. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxml2/libxml/HTMLtree.h +0 -0
  772. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxml2/libxml/SAX.h +0 -0
  773. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxml2/libxml/SAX2.h +0 -0
  774. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxml2/libxml/c14n.h +0 -0
  775. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxml2/libxml/catalog.h +0 -0
  776. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxml2/libxml/chvalid.h +0 -0
  777. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxml2/libxml/debugXML.h +0 -0
  778. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxml2/libxml/dict.h +0 -0
  779. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxml2/libxml/encoding.h +0 -0
  780. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxml2/libxml/entities.h +0 -0
  781. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxml2/libxml/globals.h +0 -0
  782. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxml2/libxml/hash.h +0 -0
  783. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxml2/libxml/list.h +0 -0
  784. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxml2/libxml/nanoftp.h +0 -0
  785. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxml2/libxml/nanohttp.h +0 -0
  786. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxml2/libxml/parser.h +0 -0
  787. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxml2/libxml/parserInternals.h +0 -0
  788. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxml2/libxml/pattern.h +0 -0
  789. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxml2/libxml/relaxng.h +0 -0
  790. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxml2/libxml/schemasInternals.h +0 -0
  791. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxml2/libxml/schematron.h +0 -0
  792. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxml2/libxml/threads.h +0 -0
  793. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxml2/libxml/tree.h +0 -0
  794. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxml2/libxml/uri.h +0 -0
  795. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxml2/libxml/valid.h +0 -0
  796. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxml2/libxml/xinclude.h +0 -0
  797. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxml2/libxml/xlink.h +0 -0
  798. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxml2/libxml/xmlautomata.h +0 -0
  799. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxml2/libxml/xmlerror.h +0 -0
  800. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxml2/libxml/xmlexports.h +0 -0
  801. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxml2/libxml/xmlmemory.h +0 -0
  802. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxml2/libxml/xmlmodule.h +0 -0
  803. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxml2/libxml/xmlreader.h +0 -0
  804. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxml2/libxml/xmlregexp.h +0 -0
  805. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxml2/libxml/xmlsave.h +0 -0
  806. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxml2/libxml/xmlschemas.h +0 -0
  807. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxml2/libxml/xmlschemastypes.h +0 -0
  808. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxml2/libxml/xmlstring.h +0 -0
  809. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxml2/libxml/xmlunicode.h +0 -0
  810. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxml2/libxml/xmlwriter.h +0 -0
  811. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxml2/libxml/xpath.h +0 -0
  812. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxml2/libxml/xpathInternals.h +0 -0
  813. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxml2/libxml/xpointer.h +0 -0
  814. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxslt/attributes.h +0 -0
  815. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxslt/documents.h +0 -0
  816. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxslt/extensions.h +0 -0
  817. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxslt/extra.h +0 -0
  818. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxslt/functions.h +0 -0
  819. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxslt/imports.h +0 -0
  820. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxslt/keys.h +0 -0
  821. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxslt/namespaces.h +0 -0
  822. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxslt/numbersInternals.h +0 -0
  823. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxslt/pattern.h +0 -0
  824. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxslt/preproc.h +0 -0
  825. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxslt/security.h +0 -0
  826. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxslt/templates.h +0 -0
  827. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxslt/transform.h +0 -0
  828. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxslt/variables.h +0 -0
  829. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxslt/xslt.h +0 -0
  830. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxslt/xsltInternals.h +0 -0
  831. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxslt/xsltconfig.h +0 -0
  832. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxslt/xsltexports.h +0 -0
  833. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxslt/xsltlocale.h +0 -0
  834. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/include/libxslt/xsltutils.h +0 -0
  835. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/libxml2_polyfill.c +0 -0
  836. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/nokogiri.c +0 -0
  837. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/nokogiri.h +0 -0
  838. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/test_global_handlers.c +0 -0
  839. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/xml_attr.c +0 -0
  840. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/xml_attribute_decl.c +0 -0
  841. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/xml_cdata.c +0 -0
  842. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/xml_comment.c +0 -0
  843. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/xml_document_fragment.c +0 -0
  844. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/xml_dtd.c +0 -0
  845. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/xml_element_content.c +0 -0
  846. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/xml_element_decl.c +0 -0
  847. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/xml_encoding_handler.c +0 -0
  848. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/xml_entity_decl.c +0 -0
  849. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/xml_entity_reference.c +0 -0
  850. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/xml_namespace.c +0 -0
  851. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/xml_node.c +0 -0
  852. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/xml_node_set.c +0 -0
  853. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/xml_processing_instruction.c +0 -0
  854. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/xml_reader.c +0 -0
  855. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/xml_relax_ng.c +0 -0
  856. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/xml_sax_parser.c +0 -0
  857. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/xml_sax_parser_context.c +0 -0
  858. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/xml_sax_push_parser.c +0 -0
  859. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/xml_schema.c +0 -0
  860. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/xml_syntax_error.c +0 -0
  861. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/xml_text.c +0 -0
  862. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/ext/nokogiri/xml_xpath_context.c +0 -0
  863. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/gumbo-parser/CHANGES.md +0 -0
  864. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/gumbo-parser/Makefile +0 -0
  865. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/gumbo-parser/THANKS +0 -0
  866. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/css/node.rb +0 -0
  867. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/css/parser.rb +0 -0
  868. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/css/parser.y +0 -0
  869. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/css/parser_extras.rb +0 -0
  870. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/css/selector_cache.rb +0 -0
  871. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/css/syntax_error.rb +0 -0
  872. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/css/xpath_visitor.rb +0 -0
  873. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/css.rb +0 -0
  874. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/decorators/slop.rb +0 -0
  875. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/encoding_handler.rb +0 -0
  876. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/extension.rb +0 -0
  877. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/gumbo.rb +0 -0
  878. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/html.rb +0 -0
  879. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/html4/builder.rb +0 -0
  880. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/html4/document.rb +0 -0
  881. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/html4/document_fragment.rb +0 -0
  882. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/html4/element_description.rb +0 -0
  883. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/html4/element_description_defaults.rb +0 -0
  884. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/html4/encoding_reader.rb +0 -0
  885. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/html4/entity_lookup.rb +0 -0
  886. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/html4/sax/parser.rb +0 -0
  887. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/html4/sax/parser_context.rb +0 -0
  888. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/html4/sax/push_parser.rb +0 -0
  889. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/html4.rb +0 -0
  890. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/html5/builder.rb +0 -0
  891. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/html5/document.rb +0 -0
  892. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/html5/document_fragment.rb +0 -0
  893. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/html5/node.rb +0 -0
  894. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/html5.rb +0 -0
  895. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/jruby/dependencies.rb +0 -0
  896. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/syntax_error.rb +0 -0
  897. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/version/info.rb +0 -0
  898. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/version.rb +0 -0
  899. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/xml/attr.rb +0 -0
  900. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/xml/attribute_decl.rb +0 -0
  901. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/xml/builder.rb +0 -0
  902. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/xml/cdata.rb +0 -0
  903. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/xml/character_data.rb +0 -0
  904. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/xml/document.rb +0 -0
  905. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/xml/document_fragment.rb +0 -0
  906. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/xml/dtd.rb +0 -0
  907. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/xml/element_content.rb +0 -0
  908. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/xml/element_decl.rb +0 -0
  909. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/xml/entity_decl.rb +0 -0
  910. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/xml/entity_reference.rb +0 -0
  911. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/xml/namespace.rb +0 -0
  912. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/xml/node/save_options.rb +0 -0
  913. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/xml/node.rb +0 -0
  914. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/xml/node_set.rb +0 -0
  915. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/xml/notation.rb +0 -0
  916. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/xml/pp/character_data.rb +0 -0
  917. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/xml/pp/node.rb +0 -0
  918. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/xml/pp.rb +0 -0
  919. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/xml/processing_instruction.rb +0 -0
  920. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/xml/reader.rb +0 -0
  921. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/xml/relax_ng.rb +0 -0
  922. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/xml/sax/parser.rb +0 -0
  923. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/xml/sax/parser_context.rb +0 -0
  924. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/xml/sax/push_parser.rb +0 -0
  925. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/xml/sax.rb +0 -0
  926. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/xml/schema.rb +0 -0
  927. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/xml/searchable.rb +0 -0
  928. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/xml/syntax_error.rb +0 -0
  929. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/xml/text.rb +0 -0
  930. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/xml/xpath/syntax_error.rb +0 -0
  931. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/xml/xpath.rb +0 -0
  932. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/xml/xpath_context.rb +0 -0
  933. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri/xml.rb +0 -0
  934. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/nokogiri.rb +0 -0
  935. /data/vendor/bundle/ruby/3.4.0/gems/{nokogiri-1.18.9-x86_64-linux-gnu → nokogiri-1.19.3-x86_64-linux-gnu}/lib/xsd/xmlparser/nokogiri.rb +0 -0
  936. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/BSDmakefile +0 -0
  937. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/CODE_OF_CONDUCT.md +0 -0
  938. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/CONTRIBUTING.md +0 -0
  939. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/LICENSE.md +0 -0
  940. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/Makefile +0 -0
  941. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/README.md +0 -0
  942. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/docs/build_system.md +0 -0
  943. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/docs/configuration.md +0 -0
  944. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/docs/cruby_compilation.md +0 -0
  945. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/docs/design.md +0 -0
  946. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/docs/encoding.md +0 -0
  947. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/docs/fuzzing.md +0 -0
  948. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/docs/heredocs.md +0 -0
  949. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/docs/javascript.md +0 -0
  950. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/docs/local_variable_depth.md +0 -0
  951. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/docs/mapping.md +0 -0
  952. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/docs/parser_translation.md +0 -0
  953. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/docs/parsing_rules.md +0 -0
  954. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/docs/releasing.md +0 -0
  955. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/docs/relocation.md +0 -0
  956. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/docs/ruby_api.md +0 -0
  957. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/docs/ruby_parser_translation.md +0 -0
  958. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/docs/serialization.md +0 -0
  959. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/docs/testing.md +0 -0
  960. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/ext/prism/api_node.c +0 -0
  961. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/ext/prism/api_pack.c +0 -0
  962. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/ext/prism/extconf.rb +0 -0
  963. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/ext/prism/extension.c +0 -0
  964. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/include/prism/defines.h +0 -0
  965. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/include/prism/diagnostic.h +0 -0
  966. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/include/prism/encoding.h +0 -0
  967. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/include/prism/node.h +0 -0
  968. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/include/prism/options.h +0 -0
  969. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/include/prism/pack.h +0 -0
  970. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/include/prism/parser.h +0 -0
  971. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/include/prism/prettyprint.h +0 -0
  972. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/include/prism/regexp.h +0 -0
  973. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/include/prism/static_literals.h +0 -0
  974. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/include/prism/util/pm_buffer.h +0 -0
  975. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/include/prism/util/pm_char.h +0 -0
  976. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/include/prism/util/pm_constant_pool.h +0 -0
  977. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/include/prism/util/pm_integer.h +0 -0
  978. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/include/prism/util/pm_list.h +0 -0
  979. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/include/prism/util/pm_memchr.h +0 -0
  980. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/include/prism/util/pm_newline_list.h +0 -0
  981. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/include/prism/util/pm_string.h +0 -0
  982. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/include/prism/util/pm_strncasecmp.h +0 -0
  983. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/include/prism/util/pm_strpbrk.h +0 -0
  984. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/include/prism.h +0 -0
  985. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/compiler.rb +0 -0
  986. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/desugar_compiler.rb +0 -0
  987. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/dispatcher.rb +0 -0
  988. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/dot_visitor.rb +0 -0
  989. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/dsl.rb +0 -0
  990. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/ffi.rb +0 -0
  991. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/inspect_visitor.rb +0 -0
  992. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/mutation_compiler.rb +0 -0
  993. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/node_ext.rb +0 -0
  994. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/pack.rb +0 -0
  995. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/parse_result/comments.rb +0 -0
  996. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/parse_result/errors.rb +0 -0
  997. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/parse_result/newlines.rb +0 -0
  998. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/pattern.rb +0 -0
  999. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/polyfill/append_as_bytes.rb +0 -0
  1000. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/polyfill/byteindex.rb +0 -0
  1001. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/polyfill/scan_byte.rb +0 -0
  1002. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/polyfill/unpack1.rb +0 -0
  1003. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/polyfill/warn.rb +0 -0
  1004. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/reflection.rb +0 -0
  1005. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/relocation.rb +0 -0
  1006. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/string_query.rb +0 -0
  1007. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/translation/parser/builder.rb +0 -0
  1008. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/translation/parser/compiler.rb +0 -0
  1009. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/translation/parser/lexer.rb +0 -0
  1010. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/translation/parser.rb +0 -0
  1011. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/translation/parser_current.rb +0 -0
  1012. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/translation/parser_versions.rb +0 -0
  1013. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/translation/ripper/sexp.rb +0 -0
  1014. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/translation/ripper/shim.rb +0 -0
  1015. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/translation/ruby_parser.rb +0 -0
  1016. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/translation.rb +0 -0
  1017. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/visitor.rb +0 -0
  1018. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/rbi/prism/compiler.rbi +0 -0
  1019. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/rbi/prism/dsl.rbi +0 -0
  1020. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/rbi/prism/inspect_visitor.rbi +0 -0
  1021. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/rbi/prism/node_ext.rbi +0 -0
  1022. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/rbi/prism/parse_result.rbi +0 -0
  1023. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/rbi/prism/reflection.rbi +0 -0
  1024. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/rbi/prism/string_query.rbi +0 -0
  1025. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/rbi/prism/translation/parser.rbi +0 -0
  1026. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/rbi/prism/translation/parser_versions.rbi +0 -0
  1027. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/rbi/prism/translation/ripper.rbi +0 -0
  1028. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/rbi/prism/visitor.rbi +0 -0
  1029. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/sig/prism/compiler.rbs +0 -0
  1030. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/sig/prism/dispatcher.rbs +0 -0
  1031. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/sig/prism/dot_visitor.rbs +0 -0
  1032. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/sig/prism/dsl.rbs +0 -0
  1033. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/sig/prism/inspect_visitor.rbs +0 -0
  1034. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/sig/prism/lex_compat.rbs +0 -0
  1035. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/sig/prism/mutation_compiler.rbs +0 -0
  1036. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/sig/prism/node_ext.rbs +0 -0
  1037. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/sig/prism/pack.rbs +0 -0
  1038. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/sig/prism/parse_result/comments.rbs +0 -0
  1039. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/sig/prism/pattern.rbs +0 -0
  1040. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/sig/prism/reflection.rbs +0 -0
  1041. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/sig/prism/relocation.rbs +0 -0
  1042. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/sig/prism/serialize.rbs +0 -0
  1043. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/sig/prism/string_query.rbs +0 -0
  1044. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/sig/prism/visitor.rbs +0 -0
  1045. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/src/diagnostic.c +0 -0
  1046. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/src/encoding.c +0 -0
  1047. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/src/node.c +0 -0
  1048. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/src/options.c +0 -0
  1049. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/src/pack.c +0 -0
  1050. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/src/prettyprint.c +0 -0
  1051. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/src/regexp.c +0 -0
  1052. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/src/serialize.c +0 -0
  1053. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/src/static_literals.c +0 -0
  1054. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/src/token_type.c +0 -0
  1055. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/src/util/pm_buffer.c +0 -0
  1056. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/src/util/pm_char.c +0 -0
  1057. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/src/util/pm_constant_pool.c +0 -0
  1058. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/src/util/pm_integer.c +0 -0
  1059. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/src/util/pm_list.c +0 -0
  1060. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/src/util/pm_memchr.c +0 -0
  1061. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/src/util/pm_newline_list.c +0 -0
  1062. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/src/util/pm_string.c +0 -0
  1063. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/src/util/pm_strncasecmp.c +0 -0
  1064. /data/vendor/bundle/ruby/3.4.0/gems/{prism-1.8.0 → prism-1.9.0}/src/util/pm_strpbrk.c +0 -0
  1065. /data/vendor/bundle/ruby/3.4.0/gems/{rails-html-sanitizer-1.6.2 → rails-html-sanitizer-1.7.0}/MIT-LICENSE +0 -0
  1066. /data/vendor/bundle/ruby/3.4.0/gems/{rails-html-sanitizer-1.6.2 → rails-html-sanitizer-1.7.0}/README.md +0 -0
  1067. /data/vendor/bundle/ruby/3.4.0/gems/{rails-html-sanitizer-1.6.2 → rails-html-sanitizer-1.7.0}/lib/rails/html/scrubbers.rb +0 -0
  1068. /data/vendor/bundle/ruby/3.4.0/gems/{rails-html-sanitizer-1.6.2 → rails-html-sanitizer-1.7.0}/lib/rails-html-sanitizer.rb +0 -0
  1069. /data/vendor/bundle/ruby/3.4.0/gems/{tailwind_merge-1.3.1 → tailwind_merge-1.4.0}/LICENSE.txt +0 -0
  1070. /data/vendor/bundle/ruby/3.4.0/gems/{tailwind_merge-1.3.1 → tailwind_merge-1.4.0}/Rakefile +0 -0
  1071. /data/vendor/bundle/ruby/3.4.0/gems/{tailwind_merge-1.3.1 → tailwind_merge-1.4.0}/lib/tailwind_merge/class_group_utils.rb +0 -0
  1072. /data/vendor/bundle/ruby/3.4.0/gems/{tailwind_merge-1.3.1 → tailwind_merge-1.4.0}/lib/tailwind_merge/parse_class_name.rb +0 -0
  1073. /data/vendor/bundle/ruby/3.4.0/gems/{tailwind_merge-1.3.1 → tailwind_merge-1.4.0}/lib/tailwind_merge/sort_modifiers.rb +0 -0
  1074. /data/vendor/bundle/ruby/3.4.0/gems/{tailwind_merge-1.3.1 → tailwind_merge-1.4.0}/lib/tailwind_merge.rb +0 -0
  1075. /data/vendor/bundle/ruby/3.4.0/gems/{tailwind_merge-1.3.1 → tailwind_merge-1.4.0}/script/test +0 -0
  1076. /data/vendor/bundle/ruby/3.4.0/gems/{uri-1.0.3 → uri-1.1.1}/BSDL +0 -0
  1077. /data/vendor/bundle/ruby/3.4.0/gems/{uri-1.0.3 → uri-1.1.1}/COPYING +0 -0
  1078. /data/vendor/bundle/ruby/3.4.0/gems/{uri-1.0.3 → uri-1.1.1}/README.md +0 -0
  1079. /data/vendor/bundle/ruby/3.4.0/gems/{uri-1.0.3 → uri-1.1.1}/docs/kernel.rb +0 -0
  1080. /data/vendor/bundle/ruby/3.4.0/gems/{uri-1.0.3 → uri-1.1.1}/lib/uri/ftp.rb +0 -0
  1081. /data/vendor/bundle/ruby/3.4.0/gems/{uri-1.0.3 → uri-1.1.1}/lib/uri/https.rb +0 -0
  1082. /data/vendor/bundle/ruby/3.4.0/gems/{uri-1.0.3 → uri-1.1.1}/lib/uri/ldap.rb +0 -0
  1083. /data/vendor/bundle/ruby/3.4.0/gems/{uri-1.0.3 → uri-1.1.1}/lib/uri/ldaps.rb +0 -0
  1084. /data/vendor/bundle/ruby/3.4.0/gems/{uri-1.0.3 → uri-1.1.1}/lib/uri/mailto.rb +0 -0
  1085. /data/vendor/bundle/ruby/3.4.0/gems/{uri-1.0.3 → uri-1.1.1}/lib/uri/rfc3986_parser.rb +0 -0
  1086. /data/vendor/bundle/ruby/3.4.0/gems/{uri-1.0.3 → uri-1.1.1}/lib/uri/ws.rb +0 -0
  1087. /data/vendor/bundle/ruby/3.4.0/gems/{uri-1.0.3 → uri-1.1.1}/lib/uri/wss.rb +0 -0
  1088. /data/vendor/bundle/ruby/3.4.0/gems/{uri-1.0.3 → uri-1.1.1}/lib/uri.rb +0 -0
  1089. /data/vendor/bundle/ruby/3.4.0/gems/{view_component-3.23.2 → view_component-4.8.0}/LICENSE.txt +0 -0
  1090. /data/vendor/bundle/ruby/3.4.0/gems/{view_component-3.23.2 → view_component-4.8.0}/README.md +0 -0
  1091. /data/vendor/bundle/ruby/3.4.0/gems/{view_component-3.23.2 → view_component-4.8.0}/app/controllers/view_components_controller.rb +0 -0
  1092. /data/vendor/bundle/ruby/3.4.0/gems/{view_component-3.23.2 → view_component-4.8.0}/app/views/test_mailer/test_email.html.erb +0 -0
  1093. /data/vendor/bundle/ruby/3.4.0/gems/{view_component-3.23.2 → view_component-4.8.0}/app/views/view_components/index.html.erb +0 -0
  1094. /data/vendor/bundle/ruby/3.4.0/gems/{view_component-3.23.2 → view_component-4.8.0}/app/views/view_components/previews.html.erb +0 -0
  1095. /data/vendor/bundle/ruby/3.4.0/gems/{view_component-3.23.2/lib/rails/generators → view_component-4.8.0/lib/generators/view_component}/erb/templates/component.html.erb.tt +0 -0
  1096. /data/vendor/bundle/ruby/3.4.0/gems/{view_component-3.23.2/lib/rails/generators → view_component-4.8.0/lib/generators/view_component}/haml/templates/component.html.haml.tt +0 -0
  1097. /data/vendor/bundle/ruby/3.4.0/gems/{view_component-3.23.2/lib/rails/generators → view_component-4.8.0/lib/generators/view_component}/preview/templates/component_preview.rb.tt +0 -0
  1098. /data/vendor/bundle/ruby/3.4.0/gems/{view_component-3.23.2/lib/rails/generators → view_component-4.8.0/lib/generators/view_component}/rspec/templates/component_spec.rb.tt +0 -0
  1099. /data/vendor/bundle/ruby/3.4.0/gems/{view_component-3.23.2/lib/rails/generators → view_component-4.8.0/lib/generators/view_component}/slim/templates/component.html.slim.tt +0 -0
  1100. /data/vendor/bundle/ruby/3.4.0/gems/{view_component-3.23.2/lib/rails/generators → view_component-4.8.0/lib/generators/view_component}/stimulus/templates/component_controller.js.tt +0 -0
  1101. /data/vendor/bundle/ruby/3.4.0/gems/{view_component-3.23.2/lib/rails/generators → view_component-4.8.0/lib/generators/view_component}/stimulus/templates/component_controller.ts.tt +0 -0
  1102. /data/vendor/bundle/ruby/3.4.0/gems/{view_component-3.23.2/lib/rails/generators → view_component-4.8.0/lib/generators/view_component}/tailwindcss/templates/component.html.erb.tt +0 -0
  1103. /data/vendor/bundle/ruby/3.4.0/gems/{view_component-3.23.2/lib/rails/generators → view_component-4.8.0/lib/generators/view_component}/test_unit/templates/component_test.rb.tt +0 -0
  1104. /data/vendor/bundle/ruby/3.4.0/gems/{view_component-3.23.2 → view_component-4.8.0}/lib/view_component/compile_cache.rb +0 -0
  1105. /data/vendor/bundle/ruby/3.4.0/gems/{view_component-3.23.2 → view_component-4.8.0}/lib/view_component/system_test_case.rb +0 -0
  1106. /data/vendor/bundle/ruby/3.4.0/gems/{view_component-3.23.2 → view_component-4.8.0}/lib/view_component/test_case.rb +0 -0
  1107. /data/vendor/bundle/ruby/3.4.0/gems/{view_component-3.23.2 → view_component-4.8.0}/lib/view_component/with_content_helper.rb +0 -0
@@ -1,3497 +0,0 @@
1
- # frozen_string_literal: true
2
- # :markup: markdown
3
-
4
- module Prism
5
- module Translation
6
- # This class provides a compatibility layer between prism and Ripper. It
7
- # functions by parsing the entire tree first and then walking it and
8
- # executing each of the Ripper callbacks as it goes. To use this class, you
9
- # treat `Prism::Translation::Ripper` effectively as you would treat the
10
- # `Ripper` class.
11
- #
12
- # Note that this class will serve the most common use cases, but Ripper's
13
- # API is extensive and undocumented. It relies on reporting the state of the
14
- # parser at any given time. We do our best to replicate that here, but
15
- # because it is a different architecture it is not possible to perfectly
16
- # replicate the behavior of Ripper.
17
- #
18
- # The main known difference is that we may omit dispatching some events in
19
- # some cases. This impacts the following events:
20
- #
21
- # - on_assign_error
22
- # - on_comma
23
- # - on_ignored_nl
24
- # - on_ignored_sp
25
- # - on_kw
26
- # - on_label_end
27
- # - on_lbrace
28
- # - on_lbracket
29
- # - on_lparen
30
- # - on_nl
31
- # - on_op
32
- # - on_operator_ambiguous
33
- # - on_rbrace
34
- # - on_rbracket
35
- # - on_rparen
36
- # - on_semicolon
37
- # - on_sp
38
- # - on_symbeg
39
- # - on_tstring_beg
40
- # - on_tstring_end
41
- #
42
- class Ripper < Compiler
43
- # Parses the given Ruby program read from +src+.
44
- # +src+ must be a String or an IO or a object with a #gets method.
45
- def self.parse(src, filename = "(ripper)", lineno = 1)
46
- new(src, filename, lineno).parse
47
- end
48
-
49
- # Tokenizes the Ruby program and returns an array of an array,
50
- # which is formatted like
51
- # <code>[[lineno, column], type, token, state]</code>.
52
- # The +filename+ argument is mostly ignored.
53
- # By default, this method does not handle syntax errors in +src+,
54
- # use the +raise_errors+ keyword to raise a SyntaxError for an error in +src+.
55
- #
56
- # require "ripper"
57
- # require "pp"
58
- #
59
- # pp Ripper.lex("def m(a) nil end")
60
- # #=> [[[1, 0], :on_kw, "def", FNAME ],
61
- # [[1, 3], :on_sp, " ", FNAME ],
62
- # [[1, 4], :on_ident, "m", ENDFN ],
63
- # [[1, 5], :on_lparen, "(", BEG|LABEL],
64
- # [[1, 6], :on_ident, "a", ARG ],
65
- # [[1, 7], :on_rparen, ")", ENDFN ],
66
- # [[1, 8], :on_sp, " ", BEG ],
67
- # [[1, 9], :on_kw, "nil", END ],
68
- # [[1, 12], :on_sp, " ", END ],
69
- # [[1, 13], :on_kw, "end", END ]]
70
- #
71
- def self.lex(src, filename = "-", lineno = 1, raise_errors: false)
72
- result = Prism.lex_compat(src, filepath: filename, line: lineno, version: "current")
73
-
74
- if result.failure? && raise_errors
75
- raise SyntaxError, result.errors.first.message
76
- else
77
- result.value
78
- end
79
- end
80
-
81
- # This contains a table of all of the parser events and their
82
- # corresponding arity.
83
- PARSER_EVENT_TABLE = {
84
- BEGIN: 1,
85
- END: 1,
86
- alias: 2,
87
- alias_error: 2,
88
- aref: 2,
89
- aref_field: 2,
90
- arg_ambiguous: 1,
91
- arg_paren: 1,
92
- args_add: 2,
93
- args_add_block: 2,
94
- args_add_star: 2,
95
- args_forward: 0,
96
- args_new: 0,
97
- array: 1,
98
- aryptn: 4,
99
- assign: 2,
100
- assign_error: 2,
101
- assoc_new: 2,
102
- assoc_splat: 1,
103
- assoclist_from_args: 1,
104
- bare_assoc_hash: 1,
105
- begin: 1,
106
- binary: 3,
107
- block_var: 2,
108
- blockarg: 1,
109
- bodystmt: 4,
110
- brace_block: 2,
111
- break: 1,
112
- call: 3,
113
- case: 2,
114
- class: 3,
115
- class_name_error: 2,
116
- command: 2,
117
- command_call: 4,
118
- const_path_field: 2,
119
- const_path_ref: 2,
120
- const_ref: 1,
121
- def: 3,
122
- defined: 1,
123
- defs: 5,
124
- do_block: 2,
125
- dot2: 2,
126
- dot3: 2,
127
- dyna_symbol: 1,
128
- else: 1,
129
- elsif: 3,
130
- ensure: 1,
131
- excessed_comma: 0,
132
- fcall: 1,
133
- field: 3,
134
- fndptn: 4,
135
- for: 3,
136
- hash: 1,
137
- heredoc_dedent: 2,
138
- hshptn: 3,
139
- if: 3,
140
- if_mod: 2,
141
- ifop: 3,
142
- in: 3,
143
- kwrest_param: 1,
144
- lambda: 2,
145
- magic_comment: 2,
146
- massign: 2,
147
- method_add_arg: 2,
148
- method_add_block: 2,
149
- mlhs_add: 2,
150
- mlhs_add_post: 2,
151
- mlhs_add_star: 2,
152
- mlhs_new: 0,
153
- mlhs_paren: 1,
154
- module: 2,
155
- mrhs_add: 2,
156
- mrhs_add_star: 2,
157
- mrhs_new: 0,
158
- mrhs_new_from_args: 1,
159
- next: 1,
160
- nokw_param: 1,
161
- opassign: 3,
162
- operator_ambiguous: 2,
163
- param_error: 2,
164
- params: 7,
165
- paren: 1,
166
- parse_error: 1,
167
- program: 1,
168
- qsymbols_add: 2,
169
- qsymbols_new: 0,
170
- qwords_add: 2,
171
- qwords_new: 0,
172
- redo: 0,
173
- regexp_add: 2,
174
- regexp_literal: 2,
175
- regexp_new: 0,
176
- rescue: 4,
177
- rescue_mod: 2,
178
- rest_param: 1,
179
- retry: 0,
180
- return: 1,
181
- return0: 0,
182
- sclass: 2,
183
- stmts_add: 2,
184
- stmts_new: 0,
185
- string_add: 2,
186
- string_concat: 2,
187
- string_content: 0,
188
- string_dvar: 1,
189
- string_embexpr: 1,
190
- string_literal: 1,
191
- super: 1,
192
- symbol: 1,
193
- symbol_literal: 1,
194
- symbols_add: 2,
195
- symbols_new: 0,
196
- top_const_field: 1,
197
- top_const_ref: 1,
198
- unary: 2,
199
- undef: 1,
200
- unless: 3,
201
- unless_mod: 2,
202
- until: 2,
203
- until_mod: 2,
204
- var_alias: 2,
205
- var_field: 1,
206
- var_ref: 1,
207
- vcall: 1,
208
- void_stmt: 0,
209
- when: 3,
210
- while: 2,
211
- while_mod: 2,
212
- word_add: 2,
213
- word_new: 0,
214
- words_add: 2,
215
- words_new: 0,
216
- xstring_add: 2,
217
- xstring_literal: 1,
218
- xstring_new: 0,
219
- yield: 1,
220
- yield0: 0,
221
- zsuper: 0
222
- }
223
-
224
- # This contains a table of all of the scanner events and their
225
- # corresponding arity.
226
- SCANNER_EVENT_TABLE = {
227
- CHAR: 1,
228
- __end__: 1,
229
- backref: 1,
230
- backtick: 1,
231
- comma: 1,
232
- comment: 1,
233
- const: 1,
234
- cvar: 1,
235
- embdoc: 1,
236
- embdoc_beg: 1,
237
- embdoc_end: 1,
238
- embexpr_beg: 1,
239
- embexpr_end: 1,
240
- embvar: 1,
241
- float: 1,
242
- gvar: 1,
243
- heredoc_beg: 1,
244
- heredoc_end: 1,
245
- ident: 1,
246
- ignored_nl: 1,
247
- imaginary: 1,
248
- int: 1,
249
- ivar: 1,
250
- kw: 1,
251
- label: 1,
252
- label_end: 1,
253
- lbrace: 1,
254
- lbracket: 1,
255
- lparen: 1,
256
- nl: 1,
257
- op: 1,
258
- period: 1,
259
- qsymbols_beg: 1,
260
- qwords_beg: 1,
261
- rational: 1,
262
- rbrace: 1,
263
- rbracket: 1,
264
- regexp_beg: 1,
265
- regexp_end: 1,
266
- rparen: 1,
267
- semicolon: 1,
268
- sp: 1,
269
- symbeg: 1,
270
- symbols_beg: 1,
271
- tlambda: 1,
272
- tlambeg: 1,
273
- tstring_beg: 1,
274
- tstring_content: 1,
275
- tstring_end: 1,
276
- words_beg: 1,
277
- words_sep: 1,
278
- ignored_sp: 1
279
- }
280
-
281
- # This array contains name of parser events.
282
- PARSER_EVENTS = PARSER_EVENT_TABLE.keys
283
-
284
- # This array contains name of scanner events.
285
- SCANNER_EVENTS = SCANNER_EVENT_TABLE.keys
286
-
287
- # This array contains name of all ripper events.
288
- EVENTS = PARSER_EVENTS + SCANNER_EVENTS
289
-
290
- # A list of all of the Ruby keywords.
291
- KEYWORDS = [
292
- "alias",
293
- "and",
294
- "begin",
295
- "BEGIN",
296
- "break",
297
- "case",
298
- "class",
299
- "def",
300
- "defined?",
301
- "do",
302
- "else",
303
- "elsif",
304
- "end",
305
- "END",
306
- "ensure",
307
- "false",
308
- "for",
309
- "if",
310
- "in",
311
- "module",
312
- "next",
313
- "nil",
314
- "not",
315
- "or",
316
- "redo",
317
- "rescue",
318
- "retry",
319
- "return",
320
- "self",
321
- "super",
322
- "then",
323
- "true",
324
- "undef",
325
- "unless",
326
- "until",
327
- "when",
328
- "while",
329
- "yield",
330
- "__ENCODING__",
331
- "__FILE__",
332
- "__LINE__"
333
- ]
334
-
335
- # A list of all of the Ruby binary operators.
336
- BINARY_OPERATORS = [
337
- :!=,
338
- :!~,
339
- :=~,
340
- :==,
341
- :===,
342
- :<=>,
343
- :>,
344
- :>=,
345
- :<,
346
- :<=,
347
- :&,
348
- :|,
349
- :^,
350
- :>>,
351
- :<<,
352
- :-,
353
- :+,
354
- :%,
355
- :/,
356
- :*,
357
- :**
358
- ]
359
-
360
- private_constant :KEYWORDS, :BINARY_OPERATORS
361
-
362
- # Parses +src+ and create S-exp tree.
363
- # Returns more readable tree rather than Ripper.sexp_raw.
364
- # This method is mainly for developer use.
365
- # The +filename+ argument is mostly ignored.
366
- # By default, this method does not handle syntax errors in +src+,
367
- # returning +nil+ in such cases. Use the +raise_errors+ keyword
368
- # to raise a SyntaxError for an error in +src+.
369
- #
370
- # require "ripper"
371
- # require "pp"
372
- #
373
- # pp Ripper.sexp("def m(a) nil end")
374
- # #=> [:program,
375
- # [[:def,
376
- # [:@ident, "m", [1, 4]],
377
- # [:paren, [:params, [[:@ident, "a", [1, 6]]], nil, nil, nil, nil, nil, nil]],
378
- # [:bodystmt, [[:var_ref, [:@kw, "nil", [1, 9]]]], nil, nil, nil]]]]
379
- #
380
- def self.sexp(src, filename = "-", lineno = 1, raise_errors: false)
381
- builder = SexpBuilderPP.new(src, filename, lineno)
382
- sexp = builder.parse
383
- if builder.error?
384
- if raise_errors
385
- raise SyntaxError, builder.error
386
- end
387
- else
388
- sexp
389
- end
390
- end
391
-
392
- # Parses +src+ and create S-exp tree.
393
- # This method is mainly for developer use.
394
- # The +filename+ argument is mostly ignored.
395
- # By default, this method does not handle syntax errors in +src+,
396
- # returning +nil+ in such cases. Use the +raise_errors+ keyword
397
- # to raise a SyntaxError for an error in +src+.
398
- #
399
- # require "ripper"
400
- # require "pp"
401
- #
402
- # pp Ripper.sexp_raw("def m(a) nil end")
403
- # #=> [:program,
404
- # [:stmts_add,
405
- # [:stmts_new],
406
- # [:def,
407
- # [:@ident, "m", [1, 4]],
408
- # [:paren, [:params, [[:@ident, "a", [1, 6]]], nil, nil, nil]],
409
- # [:bodystmt,
410
- # [:stmts_add, [:stmts_new], [:var_ref, [:@kw, "nil", [1, 9]]]],
411
- # nil,
412
- # nil,
413
- # nil]]]]
414
- #
415
- def self.sexp_raw(src, filename = "-", lineno = 1, raise_errors: false)
416
- builder = SexpBuilder.new(src, filename, lineno)
417
- sexp = builder.parse
418
- if builder.error?
419
- if raise_errors
420
- raise SyntaxError, builder.error
421
- end
422
- else
423
- sexp
424
- end
425
- end
426
-
427
- autoload :Lexer, "prism/translation/ripper/lexer"
428
- autoload :SexpBuilder, "prism/translation/ripper/sexp"
429
- autoload :SexpBuilderPP, "prism/translation/ripper/sexp"
430
-
431
- # :stopdoc:
432
- # This is not part of the public API but used by some gems.
433
-
434
- # Ripper-internal bitflags.
435
- LEX_STATE_NAMES = %i[
436
- BEG END ENDARG ENDFN ARG CMDARG MID FNAME DOT CLASS LABEL LABELED FITEM
437
- ].map.with_index.to_h { |name, i| [2 ** i, name] }.freeze
438
- private_constant :LEX_STATE_NAMES
439
-
440
- LEX_STATE_NAMES.each do |value, key|
441
- const_set("EXPR_#{key}", value)
442
- end
443
- EXPR_NONE = 0
444
- EXPR_VALUE = EXPR_BEG
445
- EXPR_BEG_ANY = EXPR_BEG | EXPR_MID | EXPR_CLASS
446
- EXPR_ARG_ANY = EXPR_ARG | EXPR_CMDARG
447
- EXPR_END_ANY = EXPR_END | EXPR_ENDARG | EXPR_ENDFN
448
-
449
- def self.lex_state_name(state)
450
- LEX_STATE_NAMES.filter_map { |flag, name| name if state & flag != 0 }.join("|")
451
- end
452
-
453
- # :startdoc:
454
-
455
- # The source that is being parsed.
456
- attr_reader :source
457
-
458
- # The filename of the source being parsed.
459
- attr_reader :filename
460
-
461
- # The current line number of the parser.
462
- attr_reader :lineno
463
-
464
- # The current column number of the parser.
465
- attr_reader :column
466
-
467
- # Create a new Translation::Ripper object with the given source.
468
- def initialize(source, filename = "(ripper)", lineno = 1)
469
- @source = source
470
- @filename = filename
471
- @lineno = lineno
472
- @column = 0
473
- @result = nil
474
- end
475
-
476
- ##########################################################################
477
- # Public interface
478
- ##########################################################################
479
-
480
- # True if the parser encountered an error during parsing.
481
- def error?
482
- result.failure?
483
- end
484
-
485
- # Parse the source and return the result.
486
- def parse
487
- result.comments.each do |comment|
488
- location = comment.location
489
- bounds(location)
490
-
491
- if comment.is_a?(InlineComment)
492
- on_comment(comment.slice)
493
- else
494
- offset = location.start_offset
495
- lines = comment.slice.lines
496
-
497
- lines.each_with_index do |line, index|
498
- bounds(location.copy(start_offset: offset))
499
-
500
- if index == 0
501
- on_embdoc_beg(line)
502
- elsif index == lines.size - 1
503
- on_embdoc_end(line)
504
- else
505
- on_embdoc(line)
506
- end
507
-
508
- offset += line.bytesize
509
- end
510
- end
511
- end
512
-
513
- result.magic_comments.each do |magic_comment|
514
- on_magic_comment(magic_comment.key, magic_comment.value)
515
- end
516
-
517
- unless result.data_loc.nil?
518
- on___end__(result.data_loc.slice.each_line.first)
519
- end
520
-
521
- result.warnings.each do |warning|
522
- bounds(warning.location)
523
-
524
- if warning.level == :default
525
- warning(warning.message)
526
- else
527
- case warning.type
528
- when :ambiguous_first_argument_plus
529
- on_arg_ambiguous("+")
530
- when :ambiguous_first_argument_minus
531
- on_arg_ambiguous("-")
532
- when :ambiguous_slash
533
- on_arg_ambiguous("/")
534
- else
535
- warn(warning.message)
536
- end
537
- end
538
- end
539
-
540
- if error?
541
- result.errors.each do |error|
542
- location = error.location
543
- bounds(location)
544
-
545
- case error.type
546
- when :alias_argument
547
- on_alias_error("can't make alias for the number variables", location.slice)
548
- when :argument_formal_class
549
- on_param_error("formal argument cannot be a class variable", location.slice)
550
- when :argument_format_constant
551
- on_param_error("formal argument cannot be a constant", location.slice)
552
- when :argument_formal_global
553
- on_param_error("formal argument cannot be a global variable", location.slice)
554
- when :argument_formal_ivar
555
- on_param_error("formal argument cannot be an instance variable", location.slice)
556
- when :class_name, :module_name
557
- on_class_name_error("class/module name must be CONSTANT", location.slice)
558
- else
559
- on_parse_error(error.message)
560
- end
561
- end
562
-
563
- nil
564
- else
565
- result.value.accept(self)
566
- end
567
- end
568
-
569
- ##########################################################################
570
- # Visitor methods
571
- ##########################################################################
572
-
573
- # alias foo bar
574
- # ^^^^^^^^^^^^^
575
- def visit_alias_method_node(node)
576
- new_name = visit(node.new_name)
577
- old_name = visit(node.old_name)
578
-
579
- bounds(node.location)
580
- on_alias(new_name, old_name)
581
- end
582
-
583
- # alias $foo $bar
584
- # ^^^^^^^^^^^^^^^
585
- def visit_alias_global_variable_node(node)
586
- new_name = visit_alias_global_variable_node_value(node.new_name)
587
- old_name = visit_alias_global_variable_node_value(node.old_name)
588
-
589
- bounds(node.location)
590
- on_var_alias(new_name, old_name)
591
- end
592
-
593
- # Visit one side of an alias global variable node.
594
- private def visit_alias_global_variable_node_value(node)
595
- bounds(node.location)
596
-
597
- case node
598
- when BackReferenceReadNode
599
- on_backref(node.slice)
600
- when GlobalVariableReadNode
601
- on_gvar(node.name.to_s)
602
- else
603
- raise
604
- end
605
- end
606
-
607
- # foo => bar | baz
608
- # ^^^^^^^^^
609
- def visit_alternation_pattern_node(node)
610
- left = visit_pattern_node(node.left)
611
- right = visit_pattern_node(node.right)
612
-
613
- bounds(node.location)
614
- on_binary(left, :|, right)
615
- end
616
-
617
- # Visit a pattern within a pattern match. This is used to bypass the
618
- # parenthesis node that can be used to wrap patterns.
619
- private def visit_pattern_node(node)
620
- if node.is_a?(ParenthesesNode)
621
- visit(node.body)
622
- else
623
- visit(node)
624
- end
625
- end
626
-
627
- # a and b
628
- # ^^^^^^^
629
- def visit_and_node(node)
630
- left = visit(node.left)
631
- right = visit(node.right)
632
-
633
- bounds(node.location)
634
- on_binary(left, node.operator.to_sym, right)
635
- end
636
-
637
- # []
638
- # ^^
639
- def visit_array_node(node)
640
- case (opening = node.opening)
641
- when /^%w/
642
- opening_loc = node.opening_loc
643
- bounds(opening_loc)
644
- on_qwords_beg(opening)
645
-
646
- elements = on_qwords_new
647
- previous = nil
648
-
649
- node.elements.each do |element|
650
- visit_words_sep(opening_loc, previous, element)
651
-
652
- bounds(element.location)
653
- elements = on_qwords_add(elements, on_tstring_content(element.content))
654
-
655
- previous = element
656
- end
657
-
658
- bounds(node.closing_loc)
659
- on_tstring_end(node.closing)
660
- when /^%i/
661
- opening_loc = node.opening_loc
662
- bounds(opening_loc)
663
- on_qsymbols_beg(opening)
664
-
665
- elements = on_qsymbols_new
666
- previous = nil
667
-
668
- node.elements.each do |element|
669
- visit_words_sep(opening_loc, previous, element)
670
-
671
- bounds(element.location)
672
- elements = on_qsymbols_add(elements, on_tstring_content(element.value))
673
-
674
- previous = element
675
- end
676
-
677
- bounds(node.closing_loc)
678
- on_tstring_end(node.closing)
679
- when /^%W/
680
- opening_loc = node.opening_loc
681
- bounds(opening_loc)
682
- on_words_beg(opening)
683
-
684
- elements = on_words_new
685
- previous = nil
686
-
687
- node.elements.each do |element|
688
- visit_words_sep(opening_loc, previous, element)
689
-
690
- bounds(element.location)
691
- elements =
692
- on_words_add(
693
- elements,
694
- if element.is_a?(StringNode)
695
- on_word_add(on_word_new, on_tstring_content(element.content))
696
- else
697
- element.parts.inject(on_word_new) do |word, part|
698
- word_part =
699
- if part.is_a?(StringNode)
700
- bounds(part.location)
701
- on_tstring_content(part.content)
702
- else
703
- visit(part)
704
- end
705
-
706
- on_word_add(word, word_part)
707
- end
708
- end
709
- )
710
-
711
- previous = element
712
- end
713
-
714
- bounds(node.closing_loc)
715
- on_tstring_end(node.closing)
716
- when /^%I/
717
- opening_loc = node.opening_loc
718
- bounds(opening_loc)
719
- on_symbols_beg(opening)
720
-
721
- elements = on_symbols_new
722
- previous = nil
723
-
724
- node.elements.each do |element|
725
- visit_words_sep(opening_loc, previous, element)
726
-
727
- bounds(element.location)
728
- elements =
729
- on_symbols_add(
730
- elements,
731
- if element.is_a?(SymbolNode)
732
- on_word_add(on_word_new, on_tstring_content(element.value))
733
- else
734
- element.parts.inject(on_word_new) do |word, part|
735
- word_part =
736
- if part.is_a?(StringNode)
737
- bounds(part.location)
738
- on_tstring_content(part.content)
739
- else
740
- visit(part)
741
- end
742
-
743
- on_word_add(word, word_part)
744
- end
745
- end
746
- )
747
-
748
- previous = element
749
- end
750
-
751
- bounds(node.closing_loc)
752
- on_tstring_end(node.closing)
753
- else
754
- bounds(node.opening_loc)
755
- on_lbracket(opening)
756
-
757
- elements = visit_arguments(node.elements) unless node.elements.empty?
758
-
759
- bounds(node.closing_loc)
760
- on_rbracket(node.closing)
761
- end
762
-
763
- bounds(node.location)
764
- on_array(elements)
765
- end
766
-
767
- # Dispatch a words_sep event that contains the space between the elements
768
- # of list literals.
769
- private def visit_words_sep(opening_loc, previous, current)
770
- end_offset = (previous.nil? ? opening_loc : previous.location).end_offset
771
- start_offset = current.location.start_offset
772
-
773
- if end_offset != start_offset
774
- bounds(current.location.copy(start_offset: end_offset))
775
- on_words_sep(source.byteslice(end_offset...start_offset))
776
- end
777
- end
778
-
779
- # Visit a list of elements, like the elements of an array or arguments.
780
- private def visit_arguments(elements)
781
- bounds(elements.first.location)
782
- elements.inject(on_args_new) do |args, element|
783
- arg = visit(element)
784
- bounds(element.location)
785
-
786
- case element
787
- when BlockArgumentNode
788
- on_args_add_block(args, arg)
789
- when SplatNode
790
- on_args_add_star(args, arg)
791
- else
792
- on_args_add(args, arg)
793
- end
794
- end
795
- end
796
-
797
- # foo => [bar]
798
- # ^^^^^
799
- def visit_array_pattern_node(node)
800
- constant = visit(node.constant)
801
- requireds = visit_all(node.requireds) if node.requireds.any?
802
- rest =
803
- if (rest_node = node.rest).is_a?(SplatNode)
804
- if rest_node.expression.nil?
805
- bounds(rest_node.location)
806
- on_var_field(nil)
807
- else
808
- visit(rest_node.expression)
809
- end
810
- end
811
-
812
- posts = visit_all(node.posts) if node.posts.any?
813
-
814
- bounds(node.location)
815
- on_aryptn(constant, requireds, rest, posts)
816
- end
817
-
818
- # foo(bar)
819
- # ^^^
820
- def visit_arguments_node(node)
821
- arguments, _ = visit_call_node_arguments(node, nil, false)
822
- arguments
823
- end
824
-
825
- # { a: 1 }
826
- # ^^^^
827
- def visit_assoc_node(node)
828
- key = visit(node.key)
829
- value = visit(node.value)
830
-
831
- bounds(node.location)
832
- on_assoc_new(key, value)
833
- end
834
-
835
- # def foo(**); bar(**); end
836
- # ^^
837
- #
838
- # { **foo }
839
- # ^^^^^
840
- def visit_assoc_splat_node(node)
841
- value = visit(node.value)
842
-
843
- bounds(node.location)
844
- on_assoc_splat(value)
845
- end
846
-
847
- # $+
848
- # ^^
849
- def visit_back_reference_read_node(node)
850
- bounds(node.location)
851
- on_backref(node.slice)
852
- end
853
-
854
- # begin end
855
- # ^^^^^^^^^
856
- def visit_begin_node(node)
857
- clauses = visit_begin_node_clauses(node.begin_keyword_loc, node, false)
858
-
859
- bounds(node.location)
860
- on_begin(clauses)
861
- end
862
-
863
- # Visit the clauses of a begin node to form an on_bodystmt call.
864
- private def visit_begin_node_clauses(location, node, allow_newline)
865
- statements =
866
- if node.statements.nil?
867
- on_stmts_add(on_stmts_new, on_void_stmt)
868
- else
869
- body = node.statements.body
870
- body.unshift(nil) if void_stmt?(location, node.statements.body[0].location, allow_newline)
871
-
872
- bounds(node.statements.location)
873
- visit_statements_node_body(body)
874
- end
875
-
876
- rescue_clause = visit(node.rescue_clause)
877
- else_clause =
878
- unless (else_clause_node = node.else_clause).nil?
879
- else_statements =
880
- if else_clause_node.statements.nil?
881
- [nil]
882
- else
883
- body = else_clause_node.statements.body
884
- body.unshift(nil) if void_stmt?(else_clause_node.else_keyword_loc, else_clause_node.statements.body[0].location, allow_newline)
885
- body
886
- end
887
-
888
- bounds(else_clause_node.location)
889
- visit_statements_node_body(else_statements)
890
- end
891
- ensure_clause = visit(node.ensure_clause)
892
-
893
- bounds(node.location)
894
- on_bodystmt(statements, rescue_clause, else_clause, ensure_clause)
895
- end
896
-
897
- # Visit the body of a structure that can have either a set of statements
898
- # or statements wrapped in rescue/else/ensure.
899
- private def visit_body_node(location, node, allow_newline = false)
900
- case node
901
- when nil
902
- bounds(location)
903
- on_bodystmt(visit_statements_node_body([nil]), nil, nil, nil)
904
- when StatementsNode
905
- body = [*node.body]
906
- body.unshift(nil) if void_stmt?(location, body[0].location, allow_newline)
907
- stmts = visit_statements_node_body(body)
908
-
909
- bounds(node.body.first.location)
910
- on_bodystmt(stmts, nil, nil, nil)
911
- when BeginNode
912
- visit_begin_node_clauses(location, node, allow_newline)
913
- else
914
- raise
915
- end
916
- end
917
-
918
- # foo(&bar)
919
- # ^^^^
920
- def visit_block_argument_node(node)
921
- visit(node.expression)
922
- end
923
-
924
- # foo { |; bar| }
925
- # ^^^
926
- def visit_block_local_variable_node(node)
927
- bounds(node.location)
928
- on_ident(node.name.to_s)
929
- end
930
-
931
- # Visit a BlockNode.
932
- def visit_block_node(node)
933
- braces = node.opening == "{"
934
- parameters = visit(node.parameters)
935
-
936
- body =
937
- case node.body
938
- when nil
939
- bounds(node.location)
940
- stmts = on_stmts_add(on_stmts_new, on_void_stmt)
941
-
942
- bounds(node.location)
943
- braces ? stmts : on_bodystmt(stmts, nil, nil, nil)
944
- when StatementsNode
945
- stmts = node.body.body
946
- stmts.unshift(nil) if void_stmt?(node.parameters&.location || node.opening_loc, node.body.location, false)
947
- stmts = visit_statements_node_body(stmts)
948
-
949
- bounds(node.body.location)
950
- braces ? stmts : on_bodystmt(stmts, nil, nil, nil)
951
- when BeginNode
952
- visit_body_node(node.parameters&.location || node.opening_loc, node.body)
953
- else
954
- raise
955
- end
956
-
957
- if braces
958
- bounds(node.location)
959
- on_brace_block(parameters, body)
960
- else
961
- bounds(node.location)
962
- on_do_block(parameters, body)
963
- end
964
- end
965
-
966
- # def foo(&bar); end
967
- # ^^^^
968
- def visit_block_parameter_node(node)
969
- if node.name_loc.nil?
970
- bounds(node.location)
971
- on_blockarg(nil)
972
- else
973
- bounds(node.name_loc)
974
- name = visit_token(node.name.to_s)
975
-
976
- bounds(node.location)
977
- on_blockarg(name)
978
- end
979
- end
980
-
981
- # A block's parameters.
982
- def visit_block_parameters_node(node)
983
- parameters =
984
- if node.parameters.nil?
985
- on_params(nil, nil, nil, nil, nil, nil, nil)
986
- else
987
- visit(node.parameters)
988
- end
989
-
990
- locals =
991
- if node.locals.any?
992
- visit_all(node.locals)
993
- else
994
- false
995
- end
996
-
997
- bounds(node.location)
998
- on_block_var(parameters, locals)
999
- end
1000
-
1001
- # break
1002
- # ^^^^^
1003
- #
1004
- # break foo
1005
- # ^^^^^^^^^
1006
- def visit_break_node(node)
1007
- if node.arguments.nil?
1008
- bounds(node.location)
1009
- on_break(on_args_new)
1010
- else
1011
- arguments = visit(node.arguments)
1012
-
1013
- bounds(node.location)
1014
- on_break(arguments)
1015
- end
1016
- end
1017
-
1018
- # foo
1019
- # ^^^
1020
- #
1021
- # foo.bar
1022
- # ^^^^^^^
1023
- #
1024
- # foo.bar() {}
1025
- # ^^^^^^^^^^^^
1026
- def visit_call_node(node)
1027
- if node.call_operator_loc.nil?
1028
- case node.name
1029
- when :[]
1030
- receiver = visit(node.receiver)
1031
- arguments, block = visit_call_node_arguments(node.arguments, node.block, trailing_comma?(node.arguments&.location || node.location, node.closing_loc))
1032
-
1033
- bounds(node.location)
1034
- call = on_aref(receiver, arguments)
1035
-
1036
- if block.nil?
1037
- call
1038
- else
1039
- bounds(node.location)
1040
- on_method_add_block(call, block)
1041
- end
1042
- when :[]=
1043
- receiver = visit(node.receiver)
1044
-
1045
- *arguments, last_argument = node.arguments.arguments
1046
- arguments << node.block if !node.block.nil?
1047
-
1048
- arguments =
1049
- if arguments.any?
1050
- args = visit_arguments(arguments)
1051
-
1052
- if !node.block.nil?
1053
- args
1054
- else
1055
- bounds(arguments.first.location)
1056
- on_args_add_block(args, false)
1057
- end
1058
- end
1059
-
1060
- bounds(node.location)
1061
- call = on_aref_field(receiver, arguments)
1062
- value = visit_write_value(last_argument)
1063
-
1064
- bounds(last_argument.location)
1065
- on_assign(call, value)
1066
- when :-@, :+@, :~
1067
- receiver = visit(node.receiver)
1068
-
1069
- bounds(node.location)
1070
- on_unary(node.name, receiver)
1071
- when :!
1072
- if node.message == "not"
1073
- receiver =
1074
- if !node.receiver.is_a?(ParenthesesNode) || !node.receiver.body.nil?
1075
- visit(node.receiver)
1076
- end
1077
-
1078
- bounds(node.location)
1079
- on_unary(:not, receiver)
1080
- else
1081
- receiver = visit(node.receiver)
1082
-
1083
- bounds(node.location)
1084
- on_unary(:!, receiver)
1085
- end
1086
- when *BINARY_OPERATORS
1087
- receiver = visit(node.receiver)
1088
- value = visit(node.arguments.arguments.first)
1089
-
1090
- bounds(node.location)
1091
- on_binary(receiver, node.name, value)
1092
- else
1093
- bounds(node.message_loc)
1094
- message = visit_token(node.message, false)
1095
-
1096
- if node.variable_call?
1097
- on_vcall(message)
1098
- else
1099
- arguments, block = visit_call_node_arguments(node.arguments, node.block, trailing_comma?(node.arguments&.location || node.location, node.closing_loc || node.location))
1100
- call =
1101
- if node.opening_loc.nil? && arguments&.any?
1102
- bounds(node.location)
1103
- on_command(message, arguments)
1104
- elsif !node.opening_loc.nil?
1105
- bounds(node.location)
1106
- on_method_add_arg(on_fcall(message), on_arg_paren(arguments))
1107
- else
1108
- bounds(node.location)
1109
- on_method_add_arg(on_fcall(message), on_args_new)
1110
- end
1111
-
1112
- if block.nil?
1113
- call
1114
- else
1115
- bounds(node.block.location)
1116
- on_method_add_block(call, block)
1117
- end
1118
- end
1119
- end
1120
- else
1121
- receiver = visit(node.receiver)
1122
-
1123
- bounds(node.call_operator_loc)
1124
- call_operator = visit_token(node.call_operator)
1125
-
1126
- message =
1127
- if node.message_loc.nil?
1128
- :call
1129
- else
1130
- bounds(node.message_loc)
1131
- visit_token(node.message, false)
1132
- end
1133
-
1134
- if node.name.end_with?("=") && !node.message.end_with?("=") && !node.arguments.nil? && node.block.nil?
1135
- value = visit_write_value(node.arguments.arguments.first)
1136
-
1137
- bounds(node.location)
1138
- on_assign(on_field(receiver, call_operator, message), value)
1139
- else
1140
- arguments, block = visit_call_node_arguments(node.arguments, node.block, trailing_comma?(node.arguments&.location || node.location, node.closing_loc || node.location))
1141
- call =
1142
- if node.opening_loc.nil?
1143
- bounds(node.location)
1144
-
1145
- if node.arguments.nil? && !node.block.is_a?(BlockArgumentNode)
1146
- on_call(receiver, call_operator, message)
1147
- else
1148
- on_command_call(receiver, call_operator, message, arguments)
1149
- end
1150
- else
1151
- bounds(node.opening_loc)
1152
- arguments = on_arg_paren(arguments)
1153
-
1154
- bounds(node.location)
1155
- on_method_add_arg(on_call(receiver, call_operator, message), arguments)
1156
- end
1157
-
1158
- if block.nil?
1159
- call
1160
- else
1161
- bounds(node.block.location)
1162
- on_method_add_block(call, block)
1163
- end
1164
- end
1165
- end
1166
- end
1167
-
1168
- # Visit the arguments and block of a call node and return the arguments
1169
- # and block as they should be used.
1170
- private def visit_call_node_arguments(arguments_node, block_node, trailing_comma)
1171
- arguments = arguments_node&.arguments || []
1172
- block = block_node
1173
-
1174
- if block.is_a?(BlockArgumentNode)
1175
- arguments << block
1176
- block = nil
1177
- end
1178
-
1179
- [
1180
- if arguments.length == 1 && arguments.first.is_a?(ForwardingArgumentsNode)
1181
- visit(arguments.first)
1182
- elsif arguments.any?
1183
- args = visit_arguments(arguments)
1184
-
1185
- if block_node.is_a?(BlockArgumentNode) || arguments.last.is_a?(ForwardingArgumentsNode) || command?(arguments.last) || trailing_comma
1186
- args
1187
- else
1188
- bounds(arguments.first.location)
1189
- on_args_add_block(args, false)
1190
- end
1191
- end,
1192
- visit(block)
1193
- ]
1194
- end
1195
-
1196
- # Returns true if the given node is a command node.
1197
- private def command?(node)
1198
- node.is_a?(CallNode) &&
1199
- node.opening_loc.nil? &&
1200
- (!node.arguments.nil? || node.block.is_a?(BlockArgumentNode)) &&
1201
- !BINARY_OPERATORS.include?(node.name)
1202
- end
1203
-
1204
- # foo.bar += baz
1205
- # ^^^^^^^^^^^^^^^
1206
- def visit_call_operator_write_node(node)
1207
- receiver = visit(node.receiver)
1208
-
1209
- bounds(node.call_operator_loc)
1210
- call_operator = visit_token(node.call_operator)
1211
-
1212
- bounds(node.message_loc)
1213
- message = visit_token(node.message)
1214
-
1215
- bounds(node.location)
1216
- target = on_field(receiver, call_operator, message)
1217
-
1218
- bounds(node.binary_operator_loc)
1219
- operator = on_op("#{node.binary_operator}=")
1220
- value = visit_write_value(node.value)
1221
-
1222
- bounds(node.location)
1223
- on_opassign(target, operator, value)
1224
- end
1225
-
1226
- # foo.bar &&= baz
1227
- # ^^^^^^^^^^^^^^^
1228
- def visit_call_and_write_node(node)
1229
- receiver = visit(node.receiver)
1230
-
1231
- bounds(node.call_operator_loc)
1232
- call_operator = visit_token(node.call_operator)
1233
-
1234
- bounds(node.message_loc)
1235
- message = visit_token(node.message)
1236
-
1237
- bounds(node.location)
1238
- target = on_field(receiver, call_operator, message)
1239
-
1240
- bounds(node.operator_loc)
1241
- operator = on_op("&&=")
1242
- value = visit_write_value(node.value)
1243
-
1244
- bounds(node.location)
1245
- on_opassign(target, operator, value)
1246
- end
1247
-
1248
- # foo.bar ||= baz
1249
- # ^^^^^^^^^^^^^^^
1250
- def visit_call_or_write_node(node)
1251
- receiver = visit(node.receiver)
1252
-
1253
- bounds(node.call_operator_loc)
1254
- call_operator = visit_token(node.call_operator)
1255
-
1256
- bounds(node.message_loc)
1257
- message = visit_token(node.message)
1258
-
1259
- bounds(node.location)
1260
- target = on_field(receiver, call_operator, message)
1261
-
1262
- bounds(node.operator_loc)
1263
- operator = on_op("||=")
1264
- value = visit_write_value(node.value)
1265
-
1266
- bounds(node.location)
1267
- on_opassign(target, operator, value)
1268
- end
1269
-
1270
- # foo.bar, = 1
1271
- # ^^^^^^^
1272
- def visit_call_target_node(node)
1273
- if node.call_operator == "::"
1274
- receiver = visit(node.receiver)
1275
-
1276
- bounds(node.message_loc)
1277
- message = visit_token(node.message)
1278
-
1279
- bounds(node.location)
1280
- on_const_path_field(receiver, message)
1281
- else
1282
- receiver = visit(node.receiver)
1283
-
1284
- bounds(node.call_operator_loc)
1285
- call_operator = visit_token(node.call_operator)
1286
-
1287
- bounds(node.message_loc)
1288
- message = visit_token(node.message)
1289
-
1290
- bounds(node.location)
1291
- on_field(receiver, call_operator, message)
1292
- end
1293
- end
1294
-
1295
- # foo => bar => baz
1296
- # ^^^^^^^^^^
1297
- def visit_capture_pattern_node(node)
1298
- value = visit(node.value)
1299
- target = visit(node.target)
1300
-
1301
- bounds(node.location)
1302
- on_binary(value, :"=>", target)
1303
- end
1304
-
1305
- # case foo; when bar; end
1306
- # ^^^^^^^^^^^^^^^^^^^^^^^
1307
- def visit_case_node(node)
1308
- predicate = visit(node.predicate)
1309
- clauses =
1310
- node.conditions.reverse_each.inject(visit(node.else_clause)) do |current, condition|
1311
- on_when(*visit(condition), current)
1312
- end
1313
-
1314
- bounds(node.location)
1315
- on_case(predicate, clauses)
1316
- end
1317
-
1318
- # case foo; in bar; end
1319
- # ^^^^^^^^^^^^^^^^^^^^^
1320
- def visit_case_match_node(node)
1321
- predicate = visit(node.predicate)
1322
- clauses =
1323
- node.conditions.reverse_each.inject(visit(node.else_clause)) do |current, condition|
1324
- on_in(*visit(condition), current)
1325
- end
1326
-
1327
- bounds(node.location)
1328
- on_case(predicate, clauses)
1329
- end
1330
-
1331
- # class Foo; end
1332
- # ^^^^^^^^^^^^^^
1333
- def visit_class_node(node)
1334
- constant_path =
1335
- if node.constant_path.is_a?(ConstantReadNode)
1336
- bounds(node.constant_path.location)
1337
- on_const_ref(on_const(node.constant_path.name.to_s))
1338
- else
1339
- visit(node.constant_path)
1340
- end
1341
-
1342
- superclass = visit(node.superclass)
1343
- bodystmt = visit_body_node(node.superclass&.location || node.constant_path.location, node.body, node.superclass.nil?)
1344
-
1345
- bounds(node.location)
1346
- on_class(constant_path, superclass, bodystmt)
1347
- end
1348
-
1349
- # @@foo
1350
- # ^^^^^
1351
- def visit_class_variable_read_node(node)
1352
- bounds(node.location)
1353
- on_var_ref(on_cvar(node.slice))
1354
- end
1355
-
1356
- # @@foo = 1
1357
- # ^^^^^^^^^
1358
- #
1359
- # @@foo, @@bar = 1
1360
- # ^^^^^ ^^^^^
1361
- def visit_class_variable_write_node(node)
1362
- bounds(node.name_loc)
1363
- target = on_var_field(on_cvar(node.name.to_s))
1364
- value = visit_write_value(node.value)
1365
-
1366
- bounds(node.location)
1367
- on_assign(target, value)
1368
- end
1369
-
1370
- # @@foo += bar
1371
- # ^^^^^^^^^^^^
1372
- def visit_class_variable_operator_write_node(node)
1373
- bounds(node.name_loc)
1374
- target = on_var_field(on_cvar(node.name.to_s))
1375
-
1376
- bounds(node.binary_operator_loc)
1377
- operator = on_op("#{node.binary_operator}=")
1378
- value = visit_write_value(node.value)
1379
-
1380
- bounds(node.location)
1381
- on_opassign(target, operator, value)
1382
- end
1383
-
1384
- # @@foo &&= bar
1385
- # ^^^^^^^^^^^^^
1386
- def visit_class_variable_and_write_node(node)
1387
- bounds(node.name_loc)
1388
- target = on_var_field(on_cvar(node.name.to_s))
1389
-
1390
- bounds(node.operator_loc)
1391
- operator = on_op("&&=")
1392
- value = visit_write_value(node.value)
1393
-
1394
- bounds(node.location)
1395
- on_opassign(target, operator, value)
1396
- end
1397
-
1398
- # @@foo ||= bar
1399
- # ^^^^^^^^^^^^^
1400
- def visit_class_variable_or_write_node(node)
1401
- bounds(node.name_loc)
1402
- target = on_var_field(on_cvar(node.name.to_s))
1403
-
1404
- bounds(node.operator_loc)
1405
- operator = on_op("||=")
1406
- value = visit_write_value(node.value)
1407
-
1408
- bounds(node.location)
1409
- on_opassign(target, operator, value)
1410
- end
1411
-
1412
- # @@foo, = bar
1413
- # ^^^^^
1414
- def visit_class_variable_target_node(node)
1415
- bounds(node.location)
1416
- on_var_field(on_cvar(node.name.to_s))
1417
- end
1418
-
1419
- # Foo
1420
- # ^^^
1421
- def visit_constant_read_node(node)
1422
- bounds(node.location)
1423
- on_var_ref(on_const(node.name.to_s))
1424
- end
1425
-
1426
- # Foo = 1
1427
- # ^^^^^^^
1428
- #
1429
- # Foo, Bar = 1
1430
- # ^^^ ^^^
1431
- def visit_constant_write_node(node)
1432
- bounds(node.name_loc)
1433
- target = on_var_field(on_const(node.name.to_s))
1434
- value = visit_write_value(node.value)
1435
-
1436
- bounds(node.location)
1437
- on_assign(target, value)
1438
- end
1439
-
1440
- # Foo += bar
1441
- # ^^^^^^^^^^^
1442
- def visit_constant_operator_write_node(node)
1443
- bounds(node.name_loc)
1444
- target = on_var_field(on_const(node.name.to_s))
1445
-
1446
- bounds(node.binary_operator_loc)
1447
- operator = on_op("#{node.binary_operator}=")
1448
- value = visit_write_value(node.value)
1449
-
1450
- bounds(node.location)
1451
- on_opassign(target, operator, value)
1452
- end
1453
-
1454
- # Foo &&= bar
1455
- # ^^^^^^^^^^^^
1456
- def visit_constant_and_write_node(node)
1457
- bounds(node.name_loc)
1458
- target = on_var_field(on_const(node.name.to_s))
1459
-
1460
- bounds(node.operator_loc)
1461
- operator = on_op("&&=")
1462
- value = visit_write_value(node.value)
1463
-
1464
- bounds(node.location)
1465
- on_opassign(target, operator, value)
1466
- end
1467
-
1468
- # Foo ||= bar
1469
- # ^^^^^^^^^^^^
1470
- def visit_constant_or_write_node(node)
1471
- bounds(node.name_loc)
1472
- target = on_var_field(on_const(node.name.to_s))
1473
-
1474
- bounds(node.operator_loc)
1475
- operator = on_op("||=")
1476
- value = visit_write_value(node.value)
1477
-
1478
- bounds(node.location)
1479
- on_opassign(target, operator, value)
1480
- end
1481
-
1482
- # Foo, = bar
1483
- # ^^^
1484
- def visit_constant_target_node(node)
1485
- bounds(node.location)
1486
- on_var_field(on_const(node.name.to_s))
1487
- end
1488
-
1489
- # Foo::Bar
1490
- # ^^^^^^^^
1491
- def visit_constant_path_node(node)
1492
- if node.parent.nil?
1493
- bounds(node.name_loc)
1494
- child = on_const(node.name.to_s)
1495
-
1496
- bounds(node.location)
1497
- on_top_const_ref(child)
1498
- else
1499
- parent = visit(node.parent)
1500
-
1501
- bounds(node.name_loc)
1502
- child = on_const(node.name.to_s)
1503
-
1504
- bounds(node.location)
1505
- on_const_path_ref(parent, child)
1506
- end
1507
- end
1508
-
1509
- # Foo::Bar = 1
1510
- # ^^^^^^^^^^^^
1511
- #
1512
- # Foo::Foo, Bar::Bar = 1
1513
- # ^^^^^^^^ ^^^^^^^^
1514
- def visit_constant_path_write_node(node)
1515
- target = visit_constant_path_write_node_target(node.target)
1516
- value = visit_write_value(node.value)
1517
-
1518
- bounds(node.location)
1519
- on_assign(target, value)
1520
- end
1521
-
1522
- # Visit a constant path that is part of a write node.
1523
- private def visit_constant_path_write_node_target(node)
1524
- if node.parent.nil?
1525
- bounds(node.name_loc)
1526
- child = on_const(node.name.to_s)
1527
-
1528
- bounds(node.location)
1529
- on_top_const_field(child)
1530
- else
1531
- parent = visit(node.parent)
1532
-
1533
- bounds(node.name_loc)
1534
- child = on_const(node.name.to_s)
1535
-
1536
- bounds(node.location)
1537
- on_const_path_field(parent, child)
1538
- end
1539
- end
1540
-
1541
- # Foo::Bar += baz
1542
- # ^^^^^^^^^^^^^^^
1543
- def visit_constant_path_operator_write_node(node)
1544
- target = visit_constant_path_write_node_target(node.target)
1545
- value = visit(node.value)
1546
-
1547
- bounds(node.binary_operator_loc)
1548
- operator = on_op("#{node.binary_operator}=")
1549
- value = visit_write_value(node.value)
1550
-
1551
- bounds(node.location)
1552
- on_opassign(target, operator, value)
1553
- end
1554
-
1555
- # Foo::Bar &&= baz
1556
- # ^^^^^^^^^^^^^^^^
1557
- def visit_constant_path_and_write_node(node)
1558
- target = visit_constant_path_write_node_target(node.target)
1559
- value = visit(node.value)
1560
-
1561
- bounds(node.operator_loc)
1562
- operator = on_op("&&=")
1563
- value = visit_write_value(node.value)
1564
-
1565
- bounds(node.location)
1566
- on_opassign(target, operator, value)
1567
- end
1568
-
1569
- # Foo::Bar ||= baz
1570
- # ^^^^^^^^^^^^^^^^
1571
- def visit_constant_path_or_write_node(node)
1572
- target = visit_constant_path_write_node_target(node.target)
1573
- value = visit(node.value)
1574
-
1575
- bounds(node.operator_loc)
1576
- operator = on_op("||=")
1577
- value = visit_write_value(node.value)
1578
-
1579
- bounds(node.location)
1580
- on_opassign(target, operator, value)
1581
- end
1582
-
1583
- # Foo::Bar, = baz
1584
- # ^^^^^^^^
1585
- def visit_constant_path_target_node(node)
1586
- visit_constant_path_write_node_target(node)
1587
- end
1588
-
1589
- # def foo; end
1590
- # ^^^^^^^^^^^^
1591
- #
1592
- # def self.foo; end
1593
- # ^^^^^^^^^^^^^^^^^
1594
- def visit_def_node(node)
1595
- receiver = visit(node.receiver)
1596
- operator =
1597
- if !node.operator_loc.nil?
1598
- bounds(node.operator_loc)
1599
- visit_token(node.operator)
1600
- end
1601
-
1602
- bounds(node.name_loc)
1603
- name = visit_token(node.name_loc.slice)
1604
-
1605
- parameters =
1606
- if node.parameters.nil?
1607
- bounds(node.location)
1608
- on_params(nil, nil, nil, nil, nil, nil, nil)
1609
- else
1610
- visit(node.parameters)
1611
- end
1612
-
1613
- if !node.lparen_loc.nil?
1614
- bounds(node.lparen_loc)
1615
- parameters = on_paren(parameters)
1616
- end
1617
-
1618
- bodystmt =
1619
- if node.equal_loc.nil?
1620
- visit_body_node(node.rparen_loc || node.end_keyword_loc, node.body)
1621
- else
1622
- body = visit(node.body.body.first)
1623
-
1624
- bounds(node.body.location)
1625
- on_bodystmt(body, nil, nil, nil)
1626
- end
1627
-
1628
- bounds(node.location)
1629
- if receiver.nil?
1630
- on_def(name, parameters, bodystmt)
1631
- else
1632
- on_defs(receiver, operator, name, parameters, bodystmt)
1633
- end
1634
- end
1635
-
1636
- # defined? a
1637
- # ^^^^^^^^^^
1638
- #
1639
- # defined?(a)
1640
- # ^^^^^^^^^^^
1641
- def visit_defined_node(node)
1642
- expression = visit(node.value)
1643
-
1644
- # Very weird circumstances here where something like:
1645
- #
1646
- # defined?
1647
- # (1)
1648
- #
1649
- # gets parsed in Ruby as having only the `1` expression but in Ripper it
1650
- # gets parsed as having a parentheses node. In this case we need to
1651
- # synthesize that node to match Ripper's behavior.
1652
- if node.lparen_loc && node.keyword_loc.join(node.lparen_loc).slice.include?("\n")
1653
- bounds(node.lparen_loc.join(node.rparen_loc))
1654
- expression = on_paren(on_stmts_add(on_stmts_new, expression))
1655
- end
1656
-
1657
- bounds(node.location)
1658
- on_defined(expression)
1659
- end
1660
-
1661
- # if foo then bar else baz end
1662
- # ^^^^^^^^^^^^
1663
- def visit_else_node(node)
1664
- statements =
1665
- if node.statements.nil?
1666
- [nil]
1667
- else
1668
- body = node.statements.body
1669
- body.unshift(nil) if void_stmt?(node.else_keyword_loc, node.statements.body[0].location, false)
1670
- body
1671
- end
1672
-
1673
- bounds(node.location)
1674
- on_else(visit_statements_node_body(statements))
1675
- end
1676
-
1677
- # "foo #{bar}"
1678
- # ^^^^^^
1679
- def visit_embedded_statements_node(node)
1680
- bounds(node.opening_loc)
1681
- on_embexpr_beg(node.opening)
1682
-
1683
- statements =
1684
- if node.statements.nil?
1685
- bounds(node.location)
1686
- on_stmts_add(on_stmts_new, on_void_stmt)
1687
- else
1688
- visit(node.statements)
1689
- end
1690
-
1691
- bounds(node.closing_loc)
1692
- on_embexpr_end(node.closing)
1693
-
1694
- bounds(node.location)
1695
- on_string_embexpr(statements)
1696
- end
1697
-
1698
- # "foo #@bar"
1699
- # ^^^^^
1700
- def visit_embedded_variable_node(node)
1701
- bounds(node.operator_loc)
1702
- on_embvar(node.operator)
1703
-
1704
- variable = visit(node.variable)
1705
-
1706
- bounds(node.location)
1707
- on_string_dvar(variable)
1708
- end
1709
-
1710
- # Visit an EnsureNode node.
1711
- def visit_ensure_node(node)
1712
- statements =
1713
- if node.statements.nil?
1714
- [nil]
1715
- else
1716
- body = node.statements.body
1717
- body.unshift(nil) if void_stmt?(node.ensure_keyword_loc, body[0].location, false)
1718
- body
1719
- end
1720
-
1721
- statements = visit_statements_node_body(statements)
1722
-
1723
- bounds(node.location)
1724
- on_ensure(statements)
1725
- end
1726
-
1727
- # false
1728
- # ^^^^^
1729
- def visit_false_node(node)
1730
- bounds(node.location)
1731
- on_var_ref(on_kw("false"))
1732
- end
1733
-
1734
- # foo => [*, bar, *]
1735
- # ^^^^^^^^^^^
1736
- def visit_find_pattern_node(node)
1737
- constant = visit(node.constant)
1738
- left =
1739
- if node.left.expression.nil?
1740
- bounds(node.left.location)
1741
- on_var_field(nil)
1742
- else
1743
- visit(node.left.expression)
1744
- end
1745
-
1746
- requireds = visit_all(node.requireds) if node.requireds.any?
1747
- right =
1748
- if node.right.expression.nil?
1749
- bounds(node.right.location)
1750
- on_var_field(nil)
1751
- else
1752
- visit(node.right.expression)
1753
- end
1754
-
1755
- bounds(node.location)
1756
- on_fndptn(constant, left, requireds, right)
1757
- end
1758
-
1759
- # if foo .. bar; end
1760
- # ^^^^^^^^^^
1761
- def visit_flip_flop_node(node)
1762
- left = visit(node.left)
1763
- right = visit(node.right)
1764
-
1765
- bounds(node.location)
1766
- if node.exclude_end?
1767
- on_dot3(left, right)
1768
- else
1769
- on_dot2(left, right)
1770
- end
1771
- end
1772
-
1773
- # 1.0
1774
- # ^^^
1775
- def visit_float_node(node)
1776
- visit_number_node(node) { |text| on_float(text) }
1777
- end
1778
-
1779
- # for foo in bar do end
1780
- # ^^^^^^^^^^^^^^^^^^^^^
1781
- def visit_for_node(node)
1782
- index = visit(node.index)
1783
- collection = visit(node.collection)
1784
- statements =
1785
- if node.statements.nil?
1786
- bounds(node.location)
1787
- on_stmts_add(on_stmts_new, on_void_stmt)
1788
- else
1789
- visit(node.statements)
1790
- end
1791
-
1792
- bounds(node.location)
1793
- on_for(index, collection, statements)
1794
- end
1795
-
1796
- # def foo(...); bar(...); end
1797
- # ^^^
1798
- def visit_forwarding_arguments_node(node)
1799
- bounds(node.location)
1800
- on_args_forward
1801
- end
1802
-
1803
- # def foo(...); end
1804
- # ^^^
1805
- def visit_forwarding_parameter_node(node)
1806
- bounds(node.location)
1807
- on_args_forward
1808
- end
1809
-
1810
- # super
1811
- # ^^^^^
1812
- #
1813
- # super {}
1814
- # ^^^^^^^^
1815
- def visit_forwarding_super_node(node)
1816
- if node.block.nil?
1817
- bounds(node.location)
1818
- on_zsuper
1819
- else
1820
- block = visit(node.block)
1821
-
1822
- bounds(node.location)
1823
- on_method_add_block(on_zsuper, block)
1824
- end
1825
- end
1826
-
1827
- # $foo
1828
- # ^^^^
1829
- def visit_global_variable_read_node(node)
1830
- bounds(node.location)
1831
- on_var_ref(on_gvar(node.name.to_s))
1832
- end
1833
-
1834
- # $foo = 1
1835
- # ^^^^^^^^
1836
- #
1837
- # $foo, $bar = 1
1838
- # ^^^^ ^^^^
1839
- def visit_global_variable_write_node(node)
1840
- bounds(node.name_loc)
1841
- target = on_var_field(on_gvar(node.name.to_s))
1842
- value = visit_write_value(node.value)
1843
-
1844
- bounds(node.location)
1845
- on_assign(target, value)
1846
- end
1847
-
1848
- # $foo += bar
1849
- # ^^^^^^^^^^^
1850
- def visit_global_variable_operator_write_node(node)
1851
- bounds(node.name_loc)
1852
- target = on_var_field(on_gvar(node.name.to_s))
1853
-
1854
- bounds(node.binary_operator_loc)
1855
- operator = on_op("#{node.binary_operator}=")
1856
- value = visit_write_value(node.value)
1857
-
1858
- bounds(node.location)
1859
- on_opassign(target, operator, value)
1860
- end
1861
-
1862
- # $foo &&= bar
1863
- # ^^^^^^^^^^^^
1864
- def visit_global_variable_and_write_node(node)
1865
- bounds(node.name_loc)
1866
- target = on_var_field(on_gvar(node.name.to_s))
1867
-
1868
- bounds(node.operator_loc)
1869
- operator = on_op("&&=")
1870
- value = visit_write_value(node.value)
1871
-
1872
- bounds(node.location)
1873
- on_opassign(target, operator, value)
1874
- end
1875
-
1876
- # $foo ||= bar
1877
- # ^^^^^^^^^^^^
1878
- def visit_global_variable_or_write_node(node)
1879
- bounds(node.name_loc)
1880
- target = on_var_field(on_gvar(node.name.to_s))
1881
-
1882
- bounds(node.operator_loc)
1883
- operator = on_op("||=")
1884
- value = visit_write_value(node.value)
1885
-
1886
- bounds(node.location)
1887
- on_opassign(target, operator, value)
1888
- end
1889
-
1890
- # $foo, = bar
1891
- # ^^^^
1892
- def visit_global_variable_target_node(node)
1893
- bounds(node.location)
1894
- on_var_field(on_gvar(node.name.to_s))
1895
- end
1896
-
1897
- # {}
1898
- # ^^
1899
- def visit_hash_node(node)
1900
- elements =
1901
- if node.elements.any?
1902
- args = visit_all(node.elements)
1903
-
1904
- bounds(node.elements.first.location)
1905
- on_assoclist_from_args(args)
1906
- end
1907
-
1908
- bounds(node.location)
1909
- on_hash(elements)
1910
- end
1911
-
1912
- # foo => {}
1913
- # ^^
1914
- def visit_hash_pattern_node(node)
1915
- constant = visit(node.constant)
1916
- elements =
1917
- if node.elements.any? || !node.rest.nil?
1918
- node.elements.map do |element|
1919
- [
1920
- if (key = element.key).opening_loc.nil?
1921
- visit(key)
1922
- else
1923
- bounds(key.value_loc)
1924
- if (value = key.value).empty?
1925
- on_string_content
1926
- else
1927
- on_string_add(on_string_content, on_tstring_content(value))
1928
- end
1929
- end,
1930
- visit(element.value)
1931
- ]
1932
- end
1933
- end
1934
-
1935
- rest =
1936
- case node.rest
1937
- when AssocSplatNode
1938
- visit(node.rest.value)
1939
- when NoKeywordsParameterNode
1940
- bounds(node.rest.location)
1941
- on_var_field(visit(node.rest))
1942
- end
1943
-
1944
- bounds(node.location)
1945
- on_hshptn(constant, elements, rest)
1946
- end
1947
-
1948
- # if foo then bar end
1949
- # ^^^^^^^^^^^^^^^^^^^
1950
- #
1951
- # bar if foo
1952
- # ^^^^^^^^^^
1953
- #
1954
- # foo ? bar : baz
1955
- # ^^^^^^^^^^^^^^^
1956
- def visit_if_node(node)
1957
- if node.then_keyword == "?"
1958
- predicate = visit(node.predicate)
1959
- truthy = visit(node.statements.body.first)
1960
- falsy = visit(node.subsequent.statements.body.first)
1961
-
1962
- bounds(node.location)
1963
- on_ifop(predicate, truthy, falsy)
1964
- elsif node.statements.nil? || (node.predicate.location.start_offset < node.statements.location.start_offset)
1965
- predicate = visit(node.predicate)
1966
- statements =
1967
- if node.statements.nil?
1968
- bounds(node.location)
1969
- on_stmts_add(on_stmts_new, on_void_stmt)
1970
- else
1971
- visit(node.statements)
1972
- end
1973
- subsequent = visit(node.subsequent)
1974
-
1975
- bounds(node.location)
1976
- if node.if_keyword == "if"
1977
- on_if(predicate, statements, subsequent)
1978
- else
1979
- on_elsif(predicate, statements, subsequent)
1980
- end
1981
- else
1982
- statements = visit(node.statements.body.first)
1983
- predicate = visit(node.predicate)
1984
-
1985
- bounds(node.location)
1986
- on_if_mod(predicate, statements)
1987
- end
1988
- end
1989
-
1990
- # 1i
1991
- # ^^
1992
- def visit_imaginary_node(node)
1993
- visit_number_node(node) { |text| on_imaginary(text) }
1994
- end
1995
-
1996
- # { foo: }
1997
- # ^^^^
1998
- def visit_implicit_node(node)
1999
- end
2000
-
2001
- # foo { |bar,| }
2002
- # ^
2003
- def visit_implicit_rest_node(node)
2004
- bounds(node.location)
2005
- on_excessed_comma
2006
- end
2007
-
2008
- # case foo; in bar; end
2009
- # ^^^^^^^^^^^^^^^^^^^^^
2010
- def visit_in_node(node)
2011
- # This is a special case where we're not going to call on_in directly
2012
- # because we don't have access to the subsequent. Instead, we'll return
2013
- # the component parts and let the parent node handle it.
2014
- pattern = visit_pattern_node(node.pattern)
2015
- statements =
2016
- if node.statements.nil?
2017
- bounds(node.location)
2018
- on_stmts_add(on_stmts_new, on_void_stmt)
2019
- else
2020
- visit(node.statements)
2021
- end
2022
-
2023
- [pattern, statements]
2024
- end
2025
-
2026
- # foo[bar] += baz
2027
- # ^^^^^^^^^^^^^^^
2028
- def visit_index_operator_write_node(node)
2029
- receiver = visit(node.receiver)
2030
- arguments, _ = visit_call_node_arguments(node.arguments, node.block, trailing_comma?(node.arguments&.location || node.location, node.closing_loc))
2031
-
2032
- bounds(node.location)
2033
- target = on_aref_field(receiver, arguments)
2034
-
2035
- bounds(node.binary_operator_loc)
2036
- operator = on_op("#{node.binary_operator}=")
2037
- value = visit_write_value(node.value)
2038
-
2039
- bounds(node.location)
2040
- on_opassign(target, operator, value)
2041
- end
2042
-
2043
- # foo[bar] &&= baz
2044
- # ^^^^^^^^^^^^^^^^
2045
- def visit_index_and_write_node(node)
2046
- receiver = visit(node.receiver)
2047
- arguments, _ = visit_call_node_arguments(node.arguments, node.block, trailing_comma?(node.arguments&.location || node.location, node.closing_loc))
2048
-
2049
- bounds(node.location)
2050
- target = on_aref_field(receiver, arguments)
2051
-
2052
- bounds(node.operator_loc)
2053
- operator = on_op("&&=")
2054
- value = visit_write_value(node.value)
2055
-
2056
- bounds(node.location)
2057
- on_opassign(target, operator, value)
2058
- end
2059
-
2060
- # foo[bar] ||= baz
2061
- # ^^^^^^^^^^^^^^^^
2062
- def visit_index_or_write_node(node)
2063
- receiver = visit(node.receiver)
2064
- arguments, _ = visit_call_node_arguments(node.arguments, node.block, trailing_comma?(node.arguments&.location || node.location, node.closing_loc))
2065
-
2066
- bounds(node.location)
2067
- target = on_aref_field(receiver, arguments)
2068
-
2069
- bounds(node.operator_loc)
2070
- operator = on_op("||=")
2071
- value = visit_write_value(node.value)
2072
-
2073
- bounds(node.location)
2074
- on_opassign(target, operator, value)
2075
- end
2076
-
2077
- # foo[bar], = 1
2078
- # ^^^^^^^^
2079
- def visit_index_target_node(node)
2080
- receiver = visit(node.receiver)
2081
- arguments, _ = visit_call_node_arguments(node.arguments, node.block, trailing_comma?(node.arguments&.location || node.location, node.closing_loc))
2082
-
2083
- bounds(node.location)
2084
- on_aref_field(receiver, arguments)
2085
- end
2086
-
2087
- # @foo
2088
- # ^^^^
2089
- def visit_instance_variable_read_node(node)
2090
- bounds(node.location)
2091
- on_var_ref(on_ivar(node.name.to_s))
2092
- end
2093
-
2094
- # @foo = 1
2095
- # ^^^^^^^^
2096
- def visit_instance_variable_write_node(node)
2097
- bounds(node.name_loc)
2098
- target = on_var_field(on_ivar(node.name.to_s))
2099
- value = visit_write_value(node.value)
2100
-
2101
- bounds(node.location)
2102
- on_assign(target, value)
2103
- end
2104
-
2105
- # @foo += bar
2106
- # ^^^^^^^^^^^
2107
- def visit_instance_variable_operator_write_node(node)
2108
- bounds(node.name_loc)
2109
- target = on_var_field(on_ivar(node.name.to_s))
2110
-
2111
- bounds(node.binary_operator_loc)
2112
- operator = on_op("#{node.binary_operator}=")
2113
- value = visit_write_value(node.value)
2114
-
2115
- bounds(node.location)
2116
- on_opassign(target, operator, value)
2117
- end
2118
-
2119
- # @foo &&= bar
2120
- # ^^^^^^^^^^^^
2121
- def visit_instance_variable_and_write_node(node)
2122
- bounds(node.name_loc)
2123
- target = on_var_field(on_ivar(node.name.to_s))
2124
-
2125
- bounds(node.operator_loc)
2126
- operator = on_op("&&=")
2127
- value = visit_write_value(node.value)
2128
-
2129
- bounds(node.location)
2130
- on_opassign(target, operator, value)
2131
- end
2132
-
2133
- # @foo ||= bar
2134
- # ^^^^^^^^^^^^
2135
- def visit_instance_variable_or_write_node(node)
2136
- bounds(node.name_loc)
2137
- target = on_var_field(on_ivar(node.name.to_s))
2138
-
2139
- bounds(node.operator_loc)
2140
- operator = on_op("||=")
2141
- value = visit_write_value(node.value)
2142
-
2143
- bounds(node.location)
2144
- on_opassign(target, operator, value)
2145
- end
2146
-
2147
- # @foo, = bar
2148
- # ^^^^
2149
- def visit_instance_variable_target_node(node)
2150
- bounds(node.location)
2151
- on_var_field(on_ivar(node.name.to_s))
2152
- end
2153
-
2154
- # 1
2155
- # ^
2156
- def visit_integer_node(node)
2157
- visit_number_node(node) { |text| on_int(text) }
2158
- end
2159
-
2160
- # if /foo #{bar}/ then end
2161
- # ^^^^^^^^^^^^
2162
- def visit_interpolated_match_last_line_node(node)
2163
- bounds(node.opening_loc)
2164
- on_regexp_beg(node.opening)
2165
-
2166
- bounds(node.parts.first.location)
2167
- parts =
2168
- node.parts.inject(on_regexp_new) do |content, part|
2169
- on_regexp_add(content, visit_string_content(part))
2170
- end
2171
-
2172
- bounds(node.closing_loc)
2173
- closing = on_regexp_end(node.closing)
2174
-
2175
- bounds(node.location)
2176
- on_regexp_literal(parts, closing)
2177
- end
2178
-
2179
- # /foo #{bar}/
2180
- # ^^^^^^^^^^^^
2181
- def visit_interpolated_regular_expression_node(node)
2182
- bounds(node.opening_loc)
2183
- on_regexp_beg(node.opening)
2184
-
2185
- bounds(node.parts.first.location)
2186
- parts =
2187
- node.parts.inject(on_regexp_new) do |content, part|
2188
- on_regexp_add(content, visit_string_content(part))
2189
- end
2190
-
2191
- bounds(node.closing_loc)
2192
- closing = on_regexp_end(node.closing)
2193
-
2194
- bounds(node.location)
2195
- on_regexp_literal(parts, closing)
2196
- end
2197
-
2198
- # "foo #{bar}"
2199
- # ^^^^^^^^^^^^
2200
- def visit_interpolated_string_node(node)
2201
- if node.opening&.start_with?("<<~")
2202
- heredoc = visit_heredoc_string_node(node)
2203
-
2204
- bounds(node.location)
2205
- on_string_literal(heredoc)
2206
- elsif !node.heredoc? && node.parts.length > 1 && node.parts.any? { |part| (part.is_a?(StringNode) || part.is_a?(InterpolatedStringNode)) && !part.opening_loc.nil? }
2207
- first, *rest = node.parts
2208
- rest.inject(visit(first)) do |content, part|
2209
- concat = visit(part)
2210
-
2211
- bounds(part.location)
2212
- on_string_concat(content, concat)
2213
- end
2214
- else
2215
- bounds(node.parts.first.location)
2216
- parts =
2217
- node.parts.inject(on_string_content) do |content, part|
2218
- on_string_add(content, visit_string_content(part))
2219
- end
2220
-
2221
- bounds(node.location)
2222
- on_string_literal(parts)
2223
- end
2224
- end
2225
-
2226
- # :"foo #{bar}"
2227
- # ^^^^^^^^^^^^^
2228
- def visit_interpolated_symbol_node(node)
2229
- bounds(node.parts.first.location)
2230
- parts =
2231
- node.parts.inject(on_string_content) do |content, part|
2232
- on_string_add(content, visit_string_content(part))
2233
- end
2234
-
2235
- bounds(node.location)
2236
- on_dyna_symbol(parts)
2237
- end
2238
-
2239
- # `foo #{bar}`
2240
- # ^^^^^^^^^^^^
2241
- def visit_interpolated_x_string_node(node)
2242
- if node.opening.start_with?("<<~")
2243
- heredoc = visit_heredoc_x_string_node(node)
2244
-
2245
- bounds(node.location)
2246
- on_xstring_literal(heredoc)
2247
- else
2248
- bounds(node.parts.first.location)
2249
- parts =
2250
- node.parts.inject(on_xstring_new) do |content, part|
2251
- on_xstring_add(content, visit_string_content(part))
2252
- end
2253
-
2254
- bounds(node.location)
2255
- on_xstring_literal(parts)
2256
- end
2257
- end
2258
-
2259
- # Visit an individual part of a string-like node.
2260
- private def visit_string_content(part)
2261
- if part.is_a?(StringNode)
2262
- bounds(part.content_loc)
2263
- on_tstring_content(part.content)
2264
- else
2265
- visit(part)
2266
- end
2267
- end
2268
-
2269
- # -> { it }
2270
- # ^^
2271
- def visit_it_local_variable_read_node(node)
2272
- bounds(node.location)
2273
- on_vcall(on_ident(node.slice))
2274
- end
2275
-
2276
- # -> { it }
2277
- # ^^^^^^^^^
2278
- def visit_it_parameters_node(node)
2279
- end
2280
-
2281
- # foo(bar: baz)
2282
- # ^^^^^^^^
2283
- def visit_keyword_hash_node(node)
2284
- elements = visit_all(node.elements)
2285
-
2286
- bounds(node.location)
2287
- on_bare_assoc_hash(elements)
2288
- end
2289
-
2290
- # def foo(**bar); end
2291
- # ^^^^^
2292
- #
2293
- # def foo(**); end
2294
- # ^^
2295
- def visit_keyword_rest_parameter_node(node)
2296
- if node.name_loc.nil?
2297
- bounds(node.location)
2298
- on_kwrest_param(nil)
2299
- else
2300
- bounds(node.name_loc)
2301
- name = on_ident(node.name.to_s)
2302
-
2303
- bounds(node.location)
2304
- on_kwrest_param(name)
2305
- end
2306
- end
2307
-
2308
- # -> {}
2309
- def visit_lambda_node(node)
2310
- bounds(node.operator_loc)
2311
- on_tlambda(node.operator)
2312
-
2313
- parameters =
2314
- if node.parameters.is_a?(BlockParametersNode)
2315
- # Ripper does not track block-locals within lambdas, so we skip
2316
- # directly to the parameters here.
2317
- params =
2318
- if node.parameters.parameters.nil?
2319
- bounds(node.location)
2320
- on_params(nil, nil, nil, nil, nil, nil, nil)
2321
- else
2322
- visit(node.parameters.parameters)
2323
- end
2324
-
2325
- if node.parameters.opening_loc.nil?
2326
- params
2327
- else
2328
- bounds(node.parameters.opening_loc)
2329
- on_paren(params)
2330
- end
2331
- else
2332
- bounds(node.location)
2333
- on_params(nil, nil, nil, nil, nil, nil, nil)
2334
- end
2335
-
2336
- braces = node.opening == "{"
2337
- if braces
2338
- bounds(node.opening_loc)
2339
- on_tlambeg(node.opening)
2340
- end
2341
-
2342
- body =
2343
- case node.body
2344
- when nil
2345
- bounds(node.location)
2346
- stmts = on_stmts_add(on_stmts_new, on_void_stmt)
2347
-
2348
- bounds(node.location)
2349
- braces ? stmts : on_bodystmt(stmts, nil, nil, nil)
2350
- when StatementsNode
2351
- stmts = node.body.body
2352
- stmts.unshift(nil) if void_stmt?(node.parameters&.location || node.opening_loc, node.body.location, false)
2353
- stmts = visit_statements_node_body(stmts)
2354
-
2355
- bounds(node.body.location)
2356
- braces ? stmts : on_bodystmt(stmts, nil, nil, nil)
2357
- when BeginNode
2358
- visit_body_node(node.opening_loc, node.body)
2359
- else
2360
- raise
2361
- end
2362
-
2363
- bounds(node.location)
2364
- on_lambda(parameters, body)
2365
- end
2366
-
2367
- # foo
2368
- # ^^^
2369
- def visit_local_variable_read_node(node)
2370
- bounds(node.location)
2371
- on_var_ref(on_ident(node.slice))
2372
- end
2373
-
2374
- # foo = 1
2375
- # ^^^^^^^
2376
- def visit_local_variable_write_node(node)
2377
- bounds(node.name_loc)
2378
- target = on_var_field(on_ident(node.name_loc.slice))
2379
- value = visit_write_value(node.value)
2380
-
2381
- bounds(node.location)
2382
- on_assign(target, value)
2383
- end
2384
-
2385
- # foo += bar
2386
- # ^^^^^^^^^^
2387
- def visit_local_variable_operator_write_node(node)
2388
- bounds(node.name_loc)
2389
- target = on_var_field(on_ident(node.name_loc.slice))
2390
-
2391
- bounds(node.binary_operator_loc)
2392
- operator = on_op("#{node.binary_operator}=")
2393
- value = visit_write_value(node.value)
2394
-
2395
- bounds(node.location)
2396
- on_opassign(target, operator, value)
2397
- end
2398
-
2399
- # foo &&= bar
2400
- # ^^^^^^^^^^^
2401
- def visit_local_variable_and_write_node(node)
2402
- bounds(node.name_loc)
2403
- target = on_var_field(on_ident(node.name_loc.slice))
2404
-
2405
- bounds(node.operator_loc)
2406
- operator = on_op("&&=")
2407
- value = visit_write_value(node.value)
2408
-
2409
- bounds(node.location)
2410
- on_opassign(target, operator, value)
2411
- end
2412
-
2413
- # foo ||= bar
2414
- # ^^^^^^^^^^^
2415
- def visit_local_variable_or_write_node(node)
2416
- bounds(node.name_loc)
2417
- target = on_var_field(on_ident(node.name_loc.slice))
2418
-
2419
- bounds(node.operator_loc)
2420
- operator = on_op("||=")
2421
- value = visit_write_value(node.value)
2422
-
2423
- bounds(node.location)
2424
- on_opassign(target, operator, value)
2425
- end
2426
-
2427
- # foo, = bar
2428
- # ^^^
2429
- def visit_local_variable_target_node(node)
2430
- bounds(node.location)
2431
- on_var_field(on_ident(node.name.to_s))
2432
- end
2433
-
2434
- # if /foo/ then end
2435
- # ^^^^^
2436
- def visit_match_last_line_node(node)
2437
- bounds(node.opening_loc)
2438
- on_regexp_beg(node.opening)
2439
-
2440
- bounds(node.content_loc)
2441
- tstring_content = on_tstring_content(node.content)
2442
-
2443
- bounds(node.closing_loc)
2444
- closing = on_regexp_end(node.closing)
2445
-
2446
- on_regexp_literal(on_regexp_add(on_regexp_new, tstring_content), closing)
2447
- end
2448
-
2449
- # foo in bar
2450
- # ^^^^^^^^^^
2451
- def visit_match_predicate_node(node)
2452
- value = visit(node.value)
2453
- pattern = on_in(visit_pattern_node(node.pattern), nil, nil)
2454
-
2455
- on_case(value, pattern)
2456
- end
2457
-
2458
- # foo => bar
2459
- # ^^^^^^^^^^
2460
- def visit_match_required_node(node)
2461
- value = visit(node.value)
2462
- pattern = on_in(visit_pattern_node(node.pattern), nil, nil)
2463
-
2464
- on_case(value, pattern)
2465
- end
2466
-
2467
- # /(?<foo>foo)/ =~ bar
2468
- # ^^^^^^^^^^^^^^^^^^^^
2469
- def visit_match_write_node(node)
2470
- visit(node.call)
2471
- end
2472
-
2473
- # A node that is missing from the syntax tree. This is only used in the
2474
- # case of a syntax error.
2475
- def visit_missing_node(node)
2476
- raise "Cannot visit missing nodes directly."
2477
- end
2478
-
2479
- # module Foo; end
2480
- # ^^^^^^^^^^^^^^^
2481
- def visit_module_node(node)
2482
- constant_path =
2483
- if node.constant_path.is_a?(ConstantReadNode)
2484
- bounds(node.constant_path.location)
2485
- on_const_ref(on_const(node.constant_path.name.to_s))
2486
- else
2487
- visit(node.constant_path)
2488
- end
2489
-
2490
- bodystmt = visit_body_node(node.constant_path.location, node.body, true)
2491
-
2492
- bounds(node.location)
2493
- on_module(constant_path, bodystmt)
2494
- end
2495
-
2496
- # (foo, bar), bar = qux
2497
- # ^^^^^^^^^^
2498
- def visit_multi_target_node(node)
2499
- bounds(node.location)
2500
- targets = visit_multi_target_node_targets(node.lefts, node.rest, node.rights, true)
2501
-
2502
- if node.lparen_loc.nil?
2503
- targets
2504
- else
2505
- bounds(node.lparen_loc)
2506
- on_mlhs_paren(targets)
2507
- end
2508
- end
2509
-
2510
- # Visit the targets of a multi-target node.
2511
- private def visit_multi_target_node_targets(lefts, rest, rights, skippable)
2512
- if skippable && lefts.length == 1 && lefts.first.is_a?(MultiTargetNode) && rest.nil? && rights.empty?
2513
- return visit(lefts.first)
2514
- end
2515
-
2516
- mlhs = on_mlhs_new
2517
-
2518
- lefts.each do |left|
2519
- bounds(left.location)
2520
- mlhs = on_mlhs_add(mlhs, visit(left))
2521
- end
2522
-
2523
- case rest
2524
- when nil
2525
- # do nothing
2526
- when ImplicitRestNode
2527
- # these do not get put into the generated tree
2528
- bounds(rest.location)
2529
- on_excessed_comma
2530
- else
2531
- bounds(rest.location)
2532
- mlhs = on_mlhs_add_star(mlhs, visit(rest))
2533
- end
2534
-
2535
- if rights.any?
2536
- bounds(rights.first.location)
2537
- post = on_mlhs_new
2538
-
2539
- rights.each do |right|
2540
- bounds(right.location)
2541
- post = on_mlhs_add(post, visit(right))
2542
- end
2543
-
2544
- mlhs = on_mlhs_add_post(mlhs, post)
2545
- end
2546
-
2547
- mlhs
2548
- end
2549
-
2550
- # foo, bar = baz
2551
- # ^^^^^^^^^^^^^^
2552
- def visit_multi_write_node(node)
2553
- bounds(node.location)
2554
- targets = visit_multi_target_node_targets(node.lefts, node.rest, node.rights, true)
2555
-
2556
- unless node.lparen_loc.nil?
2557
- bounds(node.lparen_loc)
2558
- targets = on_mlhs_paren(targets)
2559
- end
2560
-
2561
- value = visit_write_value(node.value)
2562
-
2563
- bounds(node.location)
2564
- on_massign(targets, value)
2565
- end
2566
-
2567
- # next
2568
- # ^^^^
2569
- #
2570
- # next foo
2571
- # ^^^^^^^^
2572
- def visit_next_node(node)
2573
- if node.arguments.nil?
2574
- bounds(node.location)
2575
- on_next(on_args_new)
2576
- else
2577
- arguments = visit(node.arguments)
2578
-
2579
- bounds(node.location)
2580
- on_next(arguments)
2581
- end
2582
- end
2583
-
2584
- # nil
2585
- # ^^^
2586
- def visit_nil_node(node)
2587
- bounds(node.location)
2588
- on_var_ref(on_kw("nil"))
2589
- end
2590
-
2591
- # def foo(**nil); end
2592
- # ^^^^^
2593
- def visit_no_keywords_parameter_node(node)
2594
- bounds(node.location)
2595
- on_nokw_param(nil)
2596
-
2597
- :nil
2598
- end
2599
-
2600
- # -> { _1 + _2 }
2601
- # ^^^^^^^^^^^^^^
2602
- def visit_numbered_parameters_node(node)
2603
- end
2604
-
2605
- # $1
2606
- # ^^
2607
- def visit_numbered_reference_read_node(node)
2608
- bounds(node.location)
2609
- on_backref(node.slice)
2610
- end
2611
-
2612
- # def foo(bar: baz); end
2613
- # ^^^^^^^^
2614
- def visit_optional_keyword_parameter_node(node)
2615
- bounds(node.name_loc)
2616
- name = on_label("#{node.name}:")
2617
- value = visit(node.value)
2618
-
2619
- [name, value]
2620
- end
2621
-
2622
- # def foo(bar = 1); end
2623
- # ^^^^^^^
2624
- def visit_optional_parameter_node(node)
2625
- bounds(node.name_loc)
2626
- name = visit_token(node.name.to_s)
2627
- value = visit(node.value)
2628
-
2629
- [name, value]
2630
- end
2631
-
2632
- # a or b
2633
- # ^^^^^^
2634
- def visit_or_node(node)
2635
- left = visit(node.left)
2636
- right = visit(node.right)
2637
-
2638
- bounds(node.location)
2639
- on_binary(left, node.operator.to_sym, right)
2640
- end
2641
-
2642
- # def foo(bar, *baz); end
2643
- # ^^^^^^^^^
2644
- def visit_parameters_node(node)
2645
- requireds = node.requireds.map { |required| required.is_a?(MultiTargetNode) ? visit_destructured_parameter_node(required) : visit(required) } if node.requireds.any?
2646
- optionals = visit_all(node.optionals) if node.optionals.any?
2647
- rest = visit(node.rest)
2648
- posts = node.posts.map { |post| post.is_a?(MultiTargetNode) ? visit_destructured_parameter_node(post) : visit(post) } if node.posts.any?
2649
- keywords = visit_all(node.keywords) if node.keywords.any?
2650
- keyword_rest = visit(node.keyword_rest)
2651
- block = visit(node.block)
2652
-
2653
- bounds(node.location)
2654
- on_params(requireds, optionals, rest, posts, keywords, keyword_rest, block)
2655
- end
2656
-
2657
- # Visit a destructured positional parameter node.
2658
- private def visit_destructured_parameter_node(node)
2659
- bounds(node.location)
2660
- targets = visit_multi_target_node_targets(node.lefts, node.rest, node.rights, false)
2661
-
2662
- bounds(node.lparen_loc)
2663
- on_mlhs_paren(targets)
2664
- end
2665
-
2666
- # ()
2667
- # ^^
2668
- #
2669
- # (1)
2670
- # ^^^
2671
- def visit_parentheses_node(node)
2672
- body =
2673
- if node.body.nil?
2674
- on_stmts_add(on_stmts_new, on_void_stmt)
2675
- else
2676
- visit(node.body)
2677
- end
2678
-
2679
- bounds(node.location)
2680
- on_paren(body)
2681
- end
2682
-
2683
- # foo => ^(bar)
2684
- # ^^^^^^
2685
- def visit_pinned_expression_node(node)
2686
- expression = visit(node.expression)
2687
-
2688
- bounds(node.location)
2689
- on_begin(expression)
2690
- end
2691
-
2692
- # foo = 1 and bar => ^foo
2693
- # ^^^^
2694
- def visit_pinned_variable_node(node)
2695
- visit(node.variable)
2696
- end
2697
-
2698
- # END {}
2699
- # ^^^^^^
2700
- def visit_post_execution_node(node)
2701
- statements =
2702
- if node.statements.nil?
2703
- bounds(node.location)
2704
- on_stmts_add(on_stmts_new, on_void_stmt)
2705
- else
2706
- visit(node.statements)
2707
- end
2708
-
2709
- bounds(node.location)
2710
- on_END(statements)
2711
- end
2712
-
2713
- # BEGIN {}
2714
- # ^^^^^^^^
2715
- def visit_pre_execution_node(node)
2716
- statements =
2717
- if node.statements.nil?
2718
- bounds(node.location)
2719
- on_stmts_add(on_stmts_new, on_void_stmt)
2720
- else
2721
- visit(node.statements)
2722
- end
2723
-
2724
- bounds(node.location)
2725
- on_BEGIN(statements)
2726
- end
2727
-
2728
- # The top-level program node.
2729
- def visit_program_node(node)
2730
- body = node.statements.body
2731
- body << nil if body.empty?
2732
- statements = visit_statements_node_body(body)
2733
-
2734
- bounds(node.location)
2735
- on_program(statements)
2736
- end
2737
-
2738
- # 0..5
2739
- # ^^^^
2740
- def visit_range_node(node)
2741
- left = visit(node.left)
2742
- right = visit(node.right)
2743
-
2744
- bounds(node.location)
2745
- if node.exclude_end?
2746
- on_dot3(left, right)
2747
- else
2748
- on_dot2(left, right)
2749
- end
2750
- end
2751
-
2752
- # 1r
2753
- # ^^
2754
- def visit_rational_node(node)
2755
- visit_number_node(node) { |text| on_rational(text) }
2756
- end
2757
-
2758
- # redo
2759
- # ^^^^
2760
- def visit_redo_node(node)
2761
- bounds(node.location)
2762
- on_redo
2763
- end
2764
-
2765
- # /foo/
2766
- # ^^^^^
2767
- def visit_regular_expression_node(node)
2768
- bounds(node.opening_loc)
2769
- on_regexp_beg(node.opening)
2770
-
2771
- if node.content.empty?
2772
- bounds(node.closing_loc)
2773
- closing = on_regexp_end(node.closing)
2774
-
2775
- on_regexp_literal(on_regexp_new, closing)
2776
- else
2777
- bounds(node.content_loc)
2778
- tstring_content = on_tstring_content(node.content)
2779
-
2780
- bounds(node.closing_loc)
2781
- closing = on_regexp_end(node.closing)
2782
-
2783
- on_regexp_literal(on_regexp_add(on_regexp_new, tstring_content), closing)
2784
- end
2785
- end
2786
-
2787
- # def foo(bar:); end
2788
- # ^^^^
2789
- def visit_required_keyword_parameter_node(node)
2790
- bounds(node.name_loc)
2791
- [on_label("#{node.name}:"), false]
2792
- end
2793
-
2794
- # def foo(bar); end
2795
- # ^^^
2796
- def visit_required_parameter_node(node)
2797
- bounds(node.location)
2798
- on_ident(node.name.to_s)
2799
- end
2800
-
2801
- # foo rescue bar
2802
- # ^^^^^^^^^^^^^^
2803
- def visit_rescue_modifier_node(node)
2804
- expression = visit_write_value(node.expression)
2805
- rescue_expression = visit(node.rescue_expression)
2806
-
2807
- bounds(node.location)
2808
- on_rescue_mod(expression, rescue_expression)
2809
- end
2810
-
2811
- # begin; rescue; end
2812
- # ^^^^^^^
2813
- def visit_rescue_node(node)
2814
- exceptions =
2815
- case node.exceptions.length
2816
- when 0
2817
- nil
2818
- when 1
2819
- if (exception = node.exceptions.first).is_a?(SplatNode)
2820
- bounds(exception.location)
2821
- on_mrhs_add_star(on_mrhs_new, visit(exception))
2822
- else
2823
- [visit(node.exceptions.first)]
2824
- end
2825
- else
2826
- bounds(node.location)
2827
- length = node.exceptions.length
2828
-
2829
- node.exceptions.each_with_index.inject(on_args_new) do |mrhs, (exception, index)|
2830
- arg = visit(exception)
2831
-
2832
- bounds(exception.location)
2833
- mrhs = on_mrhs_new_from_args(mrhs) if index == length - 1
2834
-
2835
- if exception.is_a?(SplatNode)
2836
- if index == length - 1
2837
- on_mrhs_add_star(mrhs, arg)
2838
- else
2839
- on_args_add_star(mrhs, arg)
2840
- end
2841
- else
2842
- if index == length - 1
2843
- on_mrhs_add(mrhs, arg)
2844
- else
2845
- on_args_add(mrhs, arg)
2846
- end
2847
- end
2848
- end
2849
- end
2850
-
2851
- reference = visit(node.reference)
2852
- statements =
2853
- if node.statements.nil?
2854
- bounds(node.location)
2855
- on_stmts_add(on_stmts_new, on_void_stmt)
2856
- else
2857
- visit(node.statements)
2858
- end
2859
-
2860
- subsequent = visit(node.subsequent)
2861
-
2862
- bounds(node.location)
2863
- on_rescue(exceptions, reference, statements, subsequent)
2864
- end
2865
-
2866
- # def foo(*bar); end
2867
- # ^^^^
2868
- #
2869
- # def foo(*); end
2870
- # ^
2871
- def visit_rest_parameter_node(node)
2872
- if node.name_loc.nil?
2873
- bounds(node.location)
2874
- on_rest_param(nil)
2875
- else
2876
- bounds(node.name_loc)
2877
- on_rest_param(visit_token(node.name.to_s))
2878
- end
2879
- end
2880
-
2881
- # retry
2882
- # ^^^^^
2883
- def visit_retry_node(node)
2884
- bounds(node.location)
2885
- on_retry
2886
- end
2887
-
2888
- # return
2889
- # ^^^^^^
2890
- #
2891
- # return 1
2892
- # ^^^^^^^^
2893
- def visit_return_node(node)
2894
- if node.arguments.nil?
2895
- bounds(node.location)
2896
- on_return0
2897
- else
2898
- arguments = visit(node.arguments)
2899
-
2900
- bounds(node.location)
2901
- on_return(arguments)
2902
- end
2903
- end
2904
-
2905
- # self
2906
- # ^^^^
2907
- def visit_self_node(node)
2908
- bounds(node.location)
2909
- on_var_ref(on_kw("self"))
2910
- end
2911
-
2912
- # A shareable constant.
2913
- def visit_shareable_constant_node(node)
2914
- visit(node.write)
2915
- end
2916
-
2917
- # class << self; end
2918
- # ^^^^^^^^^^^^^^^^^^
2919
- def visit_singleton_class_node(node)
2920
- expression = visit(node.expression)
2921
- bodystmt = visit_body_node(node.body&.location || node.end_keyword_loc, node.body)
2922
-
2923
- bounds(node.location)
2924
- on_sclass(expression, bodystmt)
2925
- end
2926
-
2927
- # __ENCODING__
2928
- # ^^^^^^^^^^^^
2929
- def visit_source_encoding_node(node)
2930
- bounds(node.location)
2931
- on_var_ref(on_kw("__ENCODING__"))
2932
- end
2933
-
2934
- # __FILE__
2935
- # ^^^^^^^^
2936
- def visit_source_file_node(node)
2937
- bounds(node.location)
2938
- on_var_ref(on_kw("__FILE__"))
2939
- end
2940
-
2941
- # __LINE__
2942
- # ^^^^^^^^
2943
- def visit_source_line_node(node)
2944
- bounds(node.location)
2945
- on_var_ref(on_kw("__LINE__"))
2946
- end
2947
-
2948
- # foo(*bar)
2949
- # ^^^^
2950
- #
2951
- # def foo((bar, *baz)); end
2952
- # ^^^^
2953
- #
2954
- # def foo(*); bar(*); end
2955
- # ^
2956
- def visit_splat_node(node)
2957
- visit(node.expression)
2958
- end
2959
-
2960
- # A list of statements.
2961
- def visit_statements_node(node)
2962
- bounds(node.location)
2963
- visit_statements_node_body(node.body)
2964
- end
2965
-
2966
- # Visit the list of statements of a statements node. We support nil
2967
- # statements in the list. This would normally not be allowed by the
2968
- # structure of the prism parse tree, but we manually add them here so that
2969
- # we can mirror Ripper's void stmt.
2970
- private def visit_statements_node_body(body)
2971
- body.inject(on_stmts_new) do |stmts, stmt|
2972
- on_stmts_add(stmts, stmt.nil? ? on_void_stmt : visit(stmt))
2973
- end
2974
- end
2975
-
2976
- # "foo"
2977
- # ^^^^^
2978
- def visit_string_node(node)
2979
- if (content = node.content).empty?
2980
- bounds(node.location)
2981
- on_string_literal(on_string_content)
2982
- elsif (opening = node.opening) == "?"
2983
- bounds(node.location)
2984
- on_CHAR("?#{node.content}")
2985
- elsif opening.start_with?("<<~")
2986
- heredoc = visit_heredoc_string_node(node.to_interpolated)
2987
-
2988
- bounds(node.location)
2989
- on_string_literal(heredoc)
2990
- else
2991
- bounds(node.content_loc)
2992
- tstring_content = on_tstring_content(content)
2993
-
2994
- bounds(node.location)
2995
- on_string_literal(on_string_add(on_string_content, tstring_content))
2996
- end
2997
- end
2998
-
2999
- # Ripper gives back the escaped string content but strips out the common
3000
- # leading whitespace. Prism gives back the unescaped string content and
3001
- # a location for the escaped string content. Unfortunately these don't
3002
- # work well together, so here we need to re-derive the common leading
3003
- # whitespace.
3004
- private def visit_heredoc_node_whitespace(parts)
3005
- common_whitespace = nil
3006
- dedent_next = true
3007
-
3008
- parts.each do |part|
3009
- if part.is_a?(StringNode)
3010
- if dedent_next && !(content = part.content).chomp.empty?
3011
- common_whitespace = [
3012
- common_whitespace || Float::INFINITY,
3013
- content[/\A\s*/].each_char.inject(0) do |part_whitespace, char|
3014
- char == "\t" ? ((part_whitespace / 8 + 1) * 8) : (part_whitespace + 1)
3015
- end
3016
- ].min
3017
- end
3018
-
3019
- dedent_next = true
3020
- else
3021
- dedent_next = false
3022
- end
3023
- end
3024
-
3025
- common_whitespace || 0
3026
- end
3027
-
3028
- # Visit a string that is expressed using a <<~ heredoc.
3029
- private def visit_heredoc_node(parts, base)
3030
- common_whitespace = visit_heredoc_node_whitespace(parts)
3031
-
3032
- if common_whitespace == 0
3033
- bounds(parts.first.location)
3034
-
3035
- string = []
3036
- result = base
3037
-
3038
- parts.each do |part|
3039
- if part.is_a?(StringNode)
3040
- if string.empty?
3041
- string = [part]
3042
- else
3043
- string << part
3044
- end
3045
- else
3046
- unless string.empty?
3047
- bounds(string[0].location)
3048
- result = yield result, on_tstring_content(string.map(&:content).join)
3049
- string = []
3050
- end
3051
-
3052
- result = yield result, visit(part)
3053
- end
3054
- end
3055
-
3056
- unless string.empty?
3057
- bounds(string[0].location)
3058
- result = yield result, on_tstring_content(string.map(&:content).join)
3059
- end
3060
-
3061
- result
3062
- else
3063
- bounds(parts.first.location)
3064
- result =
3065
- parts.inject(base) do |string_content, part|
3066
- yield string_content, visit_string_content(part)
3067
- end
3068
-
3069
- bounds(parts.first.location)
3070
- on_heredoc_dedent(result, common_whitespace)
3071
- end
3072
- end
3073
-
3074
- # Visit a heredoc node that is representing a string.
3075
- private def visit_heredoc_string_node(node)
3076
- bounds(node.opening_loc)
3077
- on_heredoc_beg(node.opening)
3078
-
3079
- bounds(node.location)
3080
- result =
3081
- visit_heredoc_node(node.parts, on_string_content) do |parts, part|
3082
- on_string_add(parts, part)
3083
- end
3084
-
3085
- bounds(node.closing_loc)
3086
- on_heredoc_end(node.closing)
3087
-
3088
- result
3089
- end
3090
-
3091
- # Visit a heredoc node that is representing an xstring.
3092
- private def visit_heredoc_x_string_node(node)
3093
- bounds(node.opening_loc)
3094
- on_heredoc_beg(node.opening)
3095
-
3096
- bounds(node.location)
3097
- result =
3098
- visit_heredoc_node(node.parts, on_xstring_new) do |parts, part|
3099
- on_xstring_add(parts, part)
3100
- end
3101
-
3102
- bounds(node.closing_loc)
3103
- on_heredoc_end(node.closing)
3104
-
3105
- result
3106
- end
3107
-
3108
- # super(foo)
3109
- # ^^^^^^^^^^
3110
- def visit_super_node(node)
3111
- arguments, block = visit_call_node_arguments(node.arguments, node.block, trailing_comma?(node.arguments&.location || node.location, node.rparen_loc || node.location))
3112
-
3113
- if !node.lparen_loc.nil?
3114
- bounds(node.lparen_loc)
3115
- arguments = on_arg_paren(arguments)
3116
- end
3117
-
3118
- bounds(node.location)
3119
- call = on_super(arguments)
3120
-
3121
- if block.nil?
3122
- call
3123
- else
3124
- bounds(node.block.location)
3125
- on_method_add_block(call, block)
3126
- end
3127
- end
3128
-
3129
- # :foo
3130
- # ^^^^
3131
- def visit_symbol_node(node)
3132
- if (opening = node.opening)&.match?(/^%s|['"]:?$/)
3133
- bounds(node.value_loc)
3134
- content = on_string_content
3135
-
3136
- if !(value = node.value).empty?
3137
- content = on_string_add(content, on_tstring_content(value))
3138
- end
3139
-
3140
- on_dyna_symbol(content)
3141
- elsif (closing = node.closing) == ":"
3142
- bounds(node.location)
3143
- on_label("#{node.value}:")
3144
- elsif opening.nil? && node.closing_loc.nil?
3145
- bounds(node.value_loc)
3146
- on_symbol_literal(visit_token(node.value))
3147
- else
3148
- bounds(node.value_loc)
3149
- on_symbol_literal(on_symbol(visit_token(node.value)))
3150
- end
3151
- end
3152
-
3153
- # true
3154
- # ^^^^
3155
- def visit_true_node(node)
3156
- bounds(node.location)
3157
- on_var_ref(on_kw("true"))
3158
- end
3159
-
3160
- # undef foo
3161
- # ^^^^^^^^^
3162
- def visit_undef_node(node)
3163
- names = visit_all(node.names)
3164
-
3165
- bounds(node.location)
3166
- on_undef(names)
3167
- end
3168
-
3169
- # unless foo; bar end
3170
- # ^^^^^^^^^^^^^^^^^^^
3171
- #
3172
- # bar unless foo
3173
- # ^^^^^^^^^^^^^^
3174
- def visit_unless_node(node)
3175
- if node.statements.nil? || (node.predicate.location.start_offset < node.statements.location.start_offset)
3176
- predicate = visit(node.predicate)
3177
- statements =
3178
- if node.statements.nil?
3179
- bounds(node.location)
3180
- on_stmts_add(on_stmts_new, on_void_stmt)
3181
- else
3182
- visit(node.statements)
3183
- end
3184
- else_clause = visit(node.else_clause)
3185
-
3186
- bounds(node.location)
3187
- on_unless(predicate, statements, else_clause)
3188
- else
3189
- statements = visit(node.statements.body.first)
3190
- predicate = visit(node.predicate)
3191
-
3192
- bounds(node.location)
3193
- on_unless_mod(predicate, statements)
3194
- end
3195
- end
3196
-
3197
- # until foo; bar end
3198
- # ^^^^^^^^^^^^^^^^^
3199
- #
3200
- # bar until foo
3201
- # ^^^^^^^^^^^^^
3202
- def visit_until_node(node)
3203
- if node.statements.nil? || (node.predicate.location.start_offset < node.statements.location.start_offset)
3204
- predicate = visit(node.predicate)
3205
- statements =
3206
- if node.statements.nil?
3207
- bounds(node.location)
3208
- on_stmts_add(on_stmts_new, on_void_stmt)
3209
- else
3210
- visit(node.statements)
3211
- end
3212
-
3213
- bounds(node.location)
3214
- on_until(predicate, statements)
3215
- else
3216
- statements = visit(node.statements.body.first)
3217
- predicate = visit(node.predicate)
3218
-
3219
- bounds(node.location)
3220
- on_until_mod(predicate, statements)
3221
- end
3222
- end
3223
-
3224
- # case foo; when bar; end
3225
- # ^^^^^^^^^^^^^
3226
- def visit_when_node(node)
3227
- # This is a special case where we're not going to call on_when directly
3228
- # because we don't have access to the subsequent. Instead, we'll return
3229
- # the component parts and let the parent node handle it.
3230
- conditions = visit_arguments(node.conditions)
3231
- statements =
3232
- if node.statements.nil?
3233
- bounds(node.location)
3234
- on_stmts_add(on_stmts_new, on_void_stmt)
3235
- else
3236
- visit(node.statements)
3237
- end
3238
-
3239
- [conditions, statements]
3240
- end
3241
-
3242
- # while foo; bar end
3243
- # ^^^^^^^^^^^^^^^^^^
3244
- #
3245
- # bar while foo
3246
- # ^^^^^^^^^^^^^
3247
- def visit_while_node(node)
3248
- if node.statements.nil? || (node.predicate.location.start_offset < node.statements.location.start_offset)
3249
- predicate = visit(node.predicate)
3250
- statements =
3251
- if node.statements.nil?
3252
- bounds(node.location)
3253
- on_stmts_add(on_stmts_new, on_void_stmt)
3254
- else
3255
- visit(node.statements)
3256
- end
3257
-
3258
- bounds(node.location)
3259
- on_while(predicate, statements)
3260
- else
3261
- statements = visit(node.statements.body.first)
3262
- predicate = visit(node.predicate)
3263
-
3264
- bounds(node.location)
3265
- on_while_mod(predicate, statements)
3266
- end
3267
- end
3268
-
3269
- # `foo`
3270
- # ^^^^^
3271
- def visit_x_string_node(node)
3272
- if node.unescaped.empty?
3273
- bounds(node.location)
3274
- on_xstring_literal(on_xstring_new)
3275
- elsif node.opening.start_with?("<<~")
3276
- heredoc = visit_heredoc_x_string_node(node.to_interpolated)
3277
-
3278
- bounds(node.location)
3279
- on_xstring_literal(heredoc)
3280
- else
3281
- bounds(node.content_loc)
3282
- content = on_tstring_content(node.content)
3283
-
3284
- bounds(node.location)
3285
- on_xstring_literal(on_xstring_add(on_xstring_new, content))
3286
- end
3287
- end
3288
-
3289
- # yield
3290
- # ^^^^^
3291
- #
3292
- # yield 1
3293
- # ^^^^^^^
3294
- def visit_yield_node(node)
3295
- if node.arguments.nil? && node.lparen_loc.nil?
3296
- bounds(node.location)
3297
- on_yield0
3298
- else
3299
- arguments =
3300
- if node.arguments.nil?
3301
- bounds(node.location)
3302
- on_args_new
3303
- else
3304
- visit(node.arguments)
3305
- end
3306
-
3307
- unless node.lparen_loc.nil?
3308
- bounds(node.lparen_loc)
3309
- arguments = on_paren(arguments)
3310
- end
3311
-
3312
- bounds(node.location)
3313
- on_yield(arguments)
3314
- end
3315
- end
3316
-
3317
- private
3318
-
3319
- # Lazily initialize the parse result.
3320
- def result
3321
- @result ||= Prism.parse(source, partial_script: true, version: "current")
3322
- end
3323
-
3324
- ##########################################################################
3325
- # Helpers
3326
- ##########################################################################
3327
-
3328
- # Returns true if there is a comma between the two locations.
3329
- def trailing_comma?(left, right)
3330
- source.byteslice(left.end_offset...right.start_offset).include?(",")
3331
- end
3332
-
3333
- # Returns true if there is a semicolon between the two locations.
3334
- def void_stmt?(left, right, allow_newline)
3335
- pattern = allow_newline ? /[;\n]/ : /;/
3336
- source.byteslice(left.end_offset...right.start_offset).match?(pattern)
3337
- end
3338
-
3339
- # Visit the string content of a particular node. This method is used to
3340
- # split into the various token types.
3341
- def visit_token(token, allow_keywords = true)
3342
- case token
3343
- when "."
3344
- on_period(token)
3345
- when "`"
3346
- on_backtick(token)
3347
- when *(allow_keywords ? KEYWORDS : [])
3348
- on_kw(token)
3349
- when /^_/
3350
- on_ident(token)
3351
- when /^[[:upper:]]\w*$/
3352
- on_const(token)
3353
- when /^@@/
3354
- on_cvar(token)
3355
- when /^@/
3356
- on_ivar(token)
3357
- when /^\$/
3358
- on_gvar(token)
3359
- when /^[[:punct:]]/
3360
- on_op(token)
3361
- else
3362
- on_ident(token)
3363
- end
3364
- end
3365
-
3366
- # Visit a node that represents a number. We need to explicitly handle the
3367
- # unary - operator.
3368
- def visit_number_node(node)
3369
- slice = node.slice
3370
- location = node.location
3371
-
3372
- if slice[0] == "-"
3373
- bounds(location.copy(start_offset: location.start_offset + 1))
3374
- value = yield slice[1..-1]
3375
-
3376
- bounds(node.location)
3377
- on_unary(:-@, value)
3378
- else
3379
- bounds(location)
3380
- yield slice
3381
- end
3382
- end
3383
-
3384
- # Visit a node that represents a write value. This is used to handle the
3385
- # special case of an implicit array that is generated without brackets.
3386
- def visit_write_value(node)
3387
- if node.is_a?(ArrayNode) && node.opening_loc.nil?
3388
- elements = node.elements
3389
- length = elements.length
3390
-
3391
- bounds(elements.first.location)
3392
- elements.each_with_index.inject((elements.first.is_a?(SplatNode) && length == 1) ? on_mrhs_new : on_args_new) do |args, (element, index)|
3393
- arg = visit(element)
3394
- bounds(element.location)
3395
-
3396
- if index == length - 1
3397
- if element.is_a?(SplatNode)
3398
- mrhs = index == 0 ? args : on_mrhs_new_from_args(args)
3399
- on_mrhs_add_star(mrhs, arg)
3400
- else
3401
- on_mrhs_add(on_mrhs_new_from_args(args), arg)
3402
- end
3403
- else
3404
- case element
3405
- when BlockArgumentNode
3406
- on_args_add_block(args, arg)
3407
- when SplatNode
3408
- on_args_add_star(args, arg)
3409
- else
3410
- on_args_add(args, arg)
3411
- end
3412
- end
3413
- end
3414
- else
3415
- visit(node)
3416
- end
3417
- end
3418
-
3419
- # This method is responsible for updating lineno and column information
3420
- # to reflect the current node.
3421
- #
3422
- # This method could be drastically improved with some caching on the start
3423
- # of every line, but for now it's good enough.
3424
- def bounds(location)
3425
- @lineno = location.start_line
3426
- @column = location.start_column
3427
- end
3428
-
3429
- ##########################################################################
3430
- # Ripper interface
3431
- ##########################################################################
3432
-
3433
- # :stopdoc:
3434
- def _dispatch_0; end
3435
- def _dispatch_1(_); end
3436
- def _dispatch_2(_, _); end
3437
- def _dispatch_3(_, _, _); end
3438
- def _dispatch_4(_, _, _, _); end
3439
- def _dispatch_5(_, _, _, _, _); end
3440
- def _dispatch_7(_, _, _, _, _, _, _); end
3441
- # :startdoc:
3442
-
3443
- #
3444
- # Parser Events
3445
- #
3446
-
3447
- PARSER_EVENT_TABLE.each do |id, arity|
3448
- alias_method "on_#{id}", "_dispatch_#{arity}"
3449
- end
3450
-
3451
- # This method is called when weak warning is produced by the parser.
3452
- # +fmt+ and +args+ is printf style.
3453
- def warn(fmt, *args)
3454
- end
3455
-
3456
- # This method is called when strong warning is produced by the parser.
3457
- # +fmt+ and +args+ is printf style.
3458
- def warning(fmt, *args)
3459
- end
3460
-
3461
- # This method is called when the parser found syntax error.
3462
- def compile_error(msg)
3463
- end
3464
-
3465
- #
3466
- # Scanner Events
3467
- #
3468
-
3469
- SCANNER_EVENTS.each do |id|
3470
- alias_method "on_#{id}", :_dispatch_1
3471
- end
3472
-
3473
- # This method is provided by the Ripper C extension. It is called when a
3474
- # string needs to be dedented because of a tilde heredoc. It is expected
3475
- # that it will modify the string in place and return the number of bytes
3476
- # that were removed.
3477
- def dedent_string(string, width)
3478
- whitespace = 0
3479
- cursor = 0
3480
-
3481
- while cursor < string.length && string[cursor].match?(/\s/) && whitespace < width
3482
- if string[cursor] == "\t"
3483
- whitespace = ((whitespace / 8 + 1) * 8)
3484
- break if whitespace > width
3485
- else
3486
- whitespace += 1
3487
- end
3488
-
3489
- cursor += 1
3490
- end
3491
-
3492
- string.replace(string[cursor..])
3493
- cursor
3494
- end
3495
- end
3496
- end
3497
- end