honeybadger 5.2.0 → 5.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2277) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +742 -718
  3. data/LICENSE +19 -19
  4. data/README.md +57 -57
  5. data/TROUBLESHOOTING.md +4 -3
  6. data/bin/honeybadger +5 -5
  7. data/lib/honeybadger/agent.rb +489 -488
  8. data/lib/honeybadger/backend/base.rb +117 -116
  9. data/lib/honeybadger/backend/debug.rb +22 -22
  10. data/lib/honeybadger/backend/null.rb +29 -29
  11. data/lib/honeybadger/backend/server.rb +62 -62
  12. data/lib/honeybadger/backend/test.rb +46 -46
  13. data/lib/honeybadger/backend.rb +27 -27
  14. data/lib/honeybadger/backtrace.rb +181 -181
  15. data/lib/honeybadger/breadcrumbs/active_support.rb +119 -119
  16. data/lib/honeybadger/breadcrumbs/breadcrumb.rb +53 -53
  17. data/lib/honeybadger/breadcrumbs/collector.rb +82 -82
  18. data/lib/honeybadger/breadcrumbs/logging.rb +55 -55
  19. data/lib/honeybadger/breadcrumbs/ring_buffer.rb +44 -44
  20. data/lib/honeybadger/breadcrumbs.rb +8 -8
  21. data/lib/honeybadger/cli/deploy.rb +43 -43
  22. data/lib/honeybadger/cli/exec.rb +143 -143
  23. data/lib/honeybadger/cli/helpers.rb +28 -28
  24. data/lib/honeybadger/cli/heroku.rb +129 -129
  25. data/lib/honeybadger/cli/install.rb +101 -101
  26. data/lib/honeybadger/cli/main.rb +237 -237
  27. data/lib/honeybadger/cli/notify.rb +67 -67
  28. data/lib/honeybadger/cli/test.rb +267 -267
  29. data/lib/honeybadger/cli.rb +14 -14
  30. data/lib/honeybadger/config/defaults.rb +336 -336
  31. data/lib/honeybadger/config/env.rb +42 -42
  32. data/lib/honeybadger/config/ruby.rb +151 -146
  33. data/lib/honeybadger/config/yaml.rb +76 -76
  34. data/lib/honeybadger/config.rb +416 -416
  35. data/lib/honeybadger/const.rb +20 -20
  36. data/lib/honeybadger/context_manager.rb +55 -55
  37. data/lib/honeybadger/conversions.rb +25 -16
  38. data/lib/honeybadger/init/hanami.rb +19 -19
  39. data/lib/honeybadger/init/rails.rb +38 -38
  40. data/lib/honeybadger/init/rake.rb +66 -66
  41. data/lib/honeybadger/init/ruby.rb +11 -11
  42. data/lib/honeybadger/init/sinatra.rb +57 -57
  43. data/lib/honeybadger/logging.rb +177 -177
  44. data/lib/honeybadger/notice.rb +579 -579
  45. data/lib/honeybadger/plugin.rb +210 -210
  46. data/lib/honeybadger/plugins/breadcrumbs.rb +111 -111
  47. data/lib/honeybadger/plugins/delayed_job/plugin.rb +56 -56
  48. data/lib/honeybadger/plugins/delayed_job.rb +22 -22
  49. data/lib/honeybadger/plugins/faktory.rb +52 -52
  50. data/lib/honeybadger/plugins/karafka.rb +16 -0
  51. data/lib/honeybadger/plugins/lambda.rb +71 -71
  52. data/lib/honeybadger/plugins/local_variables.rb +44 -44
  53. data/lib/honeybadger/plugins/passenger.rb +23 -23
  54. data/lib/honeybadger/plugins/rails.rb +73 -72
  55. data/lib/honeybadger/plugins/resque.rb +72 -72
  56. data/lib/honeybadger/plugins/shoryuken.rb +52 -52
  57. data/lib/honeybadger/plugins/sidekiq.rb +78 -71
  58. data/lib/honeybadger/plugins/sucker_punch.rb +18 -18
  59. data/lib/honeybadger/plugins/thor.rb +32 -32
  60. data/lib/honeybadger/plugins/warden.rb +19 -19
  61. data/lib/honeybadger/rack/error_notifier.rb +92 -92
  62. data/lib/honeybadger/rack/user_feedback.rb +88 -88
  63. data/lib/honeybadger/rack/user_informer.rb +45 -45
  64. data/lib/honeybadger/ruby.rb +2 -2
  65. data/lib/honeybadger/singleton.rb +103 -103
  66. data/lib/honeybadger/tasks.rb +22 -22
  67. data/lib/honeybadger/templates/feedback_form.erb +84 -84
  68. data/lib/honeybadger/util/http.rb +92 -92
  69. data/lib/honeybadger/util/lambda.rb +32 -32
  70. data/lib/honeybadger/util/request_hash.rb +73 -73
  71. data/lib/honeybadger/util/request_payload.rb +41 -41
  72. data/lib/honeybadger/util/revision.rb +39 -39
  73. data/lib/honeybadger/util/sanitizer.rb +214 -214
  74. data/lib/honeybadger/util/sql.rb +34 -34
  75. data/lib/honeybadger/util/stats.rb +50 -50
  76. data/lib/honeybadger/version.rb +4 -4
  77. data/lib/honeybadger/worker.rb +255 -253
  78. data/lib/honeybadger.rb +13 -13
  79. data/resources/ca-bundle.crt +3376 -3376
  80. data/vendor/bundle/ruby/3.2.0/gems/addressable-2.8.5/lib/addressable/idna/native.rb +66 -0
  81. data/vendor/bundle/ruby/3.2.0/gems/addressable-2.8.5/lib/addressable/idna/pure.rb +505 -0
  82. data/vendor/bundle/ruby/3.2.0/gems/addressable-2.8.5/lib/addressable/idna.rb +26 -0
  83. data/vendor/bundle/ruby/3.2.0/gems/addressable-2.8.5/lib/addressable/template.rb +1029 -0
  84. data/vendor/bundle/ruby/3.2.0/gems/addressable-2.8.5/lib/addressable/uri.rb +2591 -0
  85. data/vendor/bundle/ruby/3.2.0/gems/addressable-2.8.5/lib/addressable/version.rb +31 -0
  86. data/vendor/bundle/ruby/3.2.0/gems/addressable-2.8.5/lib/addressable.rb +4 -0
  87. data/vendor/bundle/ruby/3.2.0/gems/addressable-2.8.5/spec/addressable/idna_spec.rb +302 -0
  88. data/vendor/bundle/ruby/3.2.0/gems/addressable-2.8.5/spec/addressable/net_http_compat_spec.rb +29 -0
  89. data/vendor/bundle/ruby/3.2.0/gems/addressable-2.8.5/spec/addressable/security_spec.rb +58 -0
  90. data/vendor/bundle/ruby/3.2.0/gems/addressable-2.8.5/spec/addressable/template_spec.rb +1264 -0
  91. data/vendor/bundle/ruby/3.2.0/gems/addressable-2.8.5/spec/addressable/uri_spec.rb +6840 -0
  92. data/vendor/bundle/ruby/3.2.0/gems/addressable-2.8.5/spec/spec_helper.rb +33 -0
  93. data/vendor/bundle/ruby/3.2.0/gems/addressable-2.8.5/tasks/clobber.rake +4 -0
  94. data/vendor/bundle/ruby/3.2.0/gems/addressable-2.8.5/tasks/gem.rake +95 -0
  95. data/vendor/bundle/ruby/3.2.0/gems/addressable-2.8.5/tasks/git.rake +47 -0
  96. data/vendor/bundle/ruby/3.2.0/gems/addressable-2.8.5/tasks/metrics.rake +24 -0
  97. data/vendor/bundle/ruby/3.2.0/gems/addressable-2.8.5/tasks/profile.rake +72 -0
  98. data/vendor/bundle/ruby/3.2.0/gems/addressable-2.8.5/tasks/rspec.rake +23 -0
  99. data/vendor/bundle/ruby/3.2.0/gems/addressable-2.8.5/tasks/yard.rake +29 -0
  100. data/vendor/bundle/ruby/3.2.0/gems/airbrussh-1.5.0/lib/airbrussh/capistrano/tasks.rb +103 -0
  101. data/vendor/bundle/ruby/3.2.0/gems/airbrussh-1.5.0/lib/airbrussh/capistrano.rb +17 -0
  102. data/vendor/bundle/ruby/3.2.0/gems/airbrussh-1.5.0/lib/airbrussh/colors.rb +23 -0
  103. data/vendor/bundle/ruby/3.2.0/gems/airbrussh-1.5.0/lib/airbrussh/command_formatter.rb +81 -0
  104. data/vendor/bundle/ruby/3.2.0/gems/airbrussh-1.5.0/lib/airbrussh/configuration.rb +64 -0
  105. data/vendor/bundle/ruby/3.2.0/gems/airbrussh-1.5.0/lib/airbrussh/console.rb +97 -0
  106. data/vendor/bundle/ruby/3.2.0/gems/airbrussh-1.5.0/lib/airbrussh/console_formatter.rb +133 -0
  107. data/vendor/bundle/ruby/3.2.0/gems/airbrussh-1.5.0/lib/airbrussh/delegating_formatter.rb +44 -0
  108. data/vendor/bundle/ruby/3.2.0/gems/airbrussh-1.5.0/lib/airbrussh/formatter.rb +18 -0
  109. data/vendor/bundle/ruby/3.2.0/gems/airbrussh-1.5.0/lib/airbrussh/log_file_formatter.rb +42 -0
  110. data/vendor/bundle/ruby/3.2.0/gems/airbrussh-1.5.0/lib/airbrussh/rake/context.rb +98 -0
  111. data/vendor/bundle/ruby/3.2.0/gems/airbrussh-1.5.0/lib/airbrussh/version.rb +5 -0
  112. data/vendor/bundle/ruby/3.2.0/gems/airbrussh-1.5.0/lib/airbrussh.rb +15 -0
  113. data/vendor/bundle/ruby/3.2.0/gems/airbrussh-1.5.0/lib/sshkit/formatter/airbrussh.rb +12 -0
  114. data/vendor/bundle/ruby/3.2.0/gems/allocation_stats-0.1.5/examples/my_class.rb +6 -0
  115. data/vendor/bundle/ruby/3.2.0/gems/allocation_stats-0.1.5/examples/trace_my_class_group_by.rb +11 -0
  116. data/vendor/bundle/ruby/3.2.0/gems/allocation_stats-0.1.5/examples/trace_my_class_raw.rb +11 -0
  117. data/vendor/bundle/ruby/3.2.0/gems/allocation_stats-0.1.5/examples/trace_object_allocations.rb +7 -0
  118. data/vendor/bundle/ruby/3.2.0/gems/allocation_stats-0.1.5/examples/trace_psych_group_by.rb +8 -0
  119. data/vendor/bundle/ruby/3.2.0/gems/allocation_stats-0.1.5/examples/trace_psych_keys.rb +8 -0
  120. data/vendor/bundle/ruby/3.2.0/gems/allocation_stats-0.1.5/examples/trace_specs/strings.rb +15 -0
  121. data/vendor/bundle/ruby/3.2.0/gems/allocation_stats-0.1.5/examples/trace_specs/strings_spec.rb +15 -0
  122. data/vendor/bundle/ruby/3.2.0/gems/allocation_stats-0.1.5/lib/allocation_stats/allocation.rb +159 -0
  123. data/vendor/bundle/ruby/3.2.0/gems/allocation_stats-0.1.5/lib/allocation_stats/allocations_proxy.rb +330 -0
  124. data/vendor/bundle/ruby/3.2.0/gems/allocation_stats-0.1.5/lib/allocation_stats/core_ext/basic_object.rb +11 -0
  125. data/vendor/bundle/ruby/3.2.0/gems/allocation_stats-0.1.5/lib/allocation_stats/trace_rspec.rb +118 -0
  126. data/vendor/bundle/ruby/3.2.0/gems/allocation_stats-0.1.5/lib/allocation_stats.rb +153 -0
  127. data/vendor/bundle/ruby/3.2.0/gems/allocation_stats-0.1.5/spec/allocation_stats/allocations_proxy_spec.rb +391 -0
  128. data/vendor/bundle/ruby/3.2.0/gems/allocation_stats-0.1.5/spec/allocation_stats_spec.rb +74 -0
  129. data/vendor/bundle/ruby/3.2.0/gems/allocation_stats-0.1.5/spec/spec_helper.rb +187 -0
  130. data/vendor/bundle/ruby/3.2.0/gems/allocation_stats-0.1.5/spec/trace_rspec_spec.rb +89 -0
  131. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/lib/appraisal/appraisal.rb +195 -0
  132. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/lib/appraisal/appraisal_file.rb +51 -0
  133. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/lib/appraisal/bundler_dsl.rb +164 -0
  134. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/lib/appraisal/cli.rb +116 -0
  135. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/lib/appraisal/command.rb +94 -0
  136. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/lib/appraisal/conditional.rb +20 -0
  137. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/lib/appraisal/customize.rb +16 -0
  138. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/lib/appraisal/dependency.rb +53 -0
  139. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/lib/appraisal/dependency_list.rb +32 -0
  140. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/lib/appraisal/errors.rb +8 -0
  141. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/lib/appraisal/gemfile.rb +29 -0
  142. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/lib/appraisal/gemspec.rb +29 -0
  143. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/lib/appraisal/git.rb +31 -0
  144. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/lib/appraisal/group.rb +30 -0
  145. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/lib/appraisal/path.rb +31 -0
  146. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/lib/appraisal/platform.rb +30 -0
  147. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/lib/appraisal/source.rb +30 -0
  148. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/lib/appraisal/task.rb +54 -0
  149. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/lib/appraisal/utils.rb +62 -0
  150. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/lib/appraisal/version.rb +3 -0
  151. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/lib/appraisal.rb +4 -0
  152. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/spec/acceptance/appraisals_file_bundler_dsl_compatibility_spec.rb +152 -0
  153. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/spec/acceptance/bundle_with_custom_path_spec.rb +53 -0
  154. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/spec/acceptance/bundle_without_spec.rb +53 -0
  155. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/spec/acceptance/cli/clean_spec.rb +20 -0
  156. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/spec/acceptance/cli/generate_spec.rb +34 -0
  157. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/spec/acceptance/cli/help_spec.rb +24 -0
  158. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/spec/acceptance/cli/install_spec.rb +132 -0
  159. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/spec/acceptance/cli/list_spec.rb +28 -0
  160. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/spec/acceptance/cli/run_spec.rb +56 -0
  161. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/spec/acceptance/cli/update_spec.rb +44 -0
  162. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/spec/acceptance/cli/version_spec.rb +27 -0
  163. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/spec/acceptance/cli/with_no_arguments_spec.rb +16 -0
  164. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/spec/acceptance/gemfile_dsl_compatibility_spec.rb +178 -0
  165. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/spec/acceptance/gemspec_spec.rb +80 -0
  166. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/spec/appraisal/appraisal_file_spec.rb +14 -0
  167. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/spec/appraisal/appraisal_spec.rb +155 -0
  168. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/spec/appraisal/customize_spec.rb +18 -0
  169. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/spec/appraisal/dependency_list_spec.rb +50 -0
  170. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/spec/appraisal/gemfile_spec.rb +442 -0
  171. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/spec/appraisal/utils_spec.rb +75 -0
  172. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/spec/spec_helper.rb +22 -0
  173. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/spec/support/acceptance_test_helpers.rb +171 -0
  174. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/spec/support/dependency_helpers.rb +60 -0
  175. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/spec/support/stream_helpers.rb +20 -0
  176. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/api/bundler.rb +32 -0
  177. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/api/commands.rb +270 -0
  178. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/api/core.rb +227 -0
  179. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/api/environment.rb +106 -0
  180. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/api/filesystem.rb +425 -0
  181. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/api/text.rb +50 -0
  182. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/api.rb +28 -0
  183. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/aruba_path.rb +70 -0
  184. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/basic_configuration/option.rb +32 -0
  185. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/basic_configuration.rb +199 -0
  186. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/cli.rb +29 -0
  187. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/colorizer.rb +19 -0
  188. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/command.rb +78 -0
  189. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/config/jruby.rb +27 -0
  190. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/config_wrapper.rb +73 -0
  191. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/configuration.rb +97 -0
  192. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/console/help.rb +32 -0
  193. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/console.rb +66 -0
  194. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/contracts/absolute_path.rb +20 -0
  195. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/contracts/enum.rb +27 -0
  196. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/contracts/is_power_of_two.rb +22 -0
  197. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/contracts/relative_path.rb +20 -0
  198. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/cucumber/command.rb +500 -0
  199. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/cucumber/environment.rb +42 -0
  200. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/cucumber/file.rb +211 -0
  201. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/cucumber/hooks.rb +127 -0
  202. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/cucumber/parameter_types.rb +1 -0
  203. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/cucumber/testing_frameworks.rb +121 -0
  204. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/cucumber.rb +9 -0
  205. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/errors.rb +37 -0
  206. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/event_bus/name_resolver.rb +158 -0
  207. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/event_bus.rb +61 -0
  208. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/events.rb +40 -0
  209. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/file_size.rb +63 -0
  210. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/generators/script_file.rb +46 -0
  211. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/hooks.rb +54 -0
  212. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/in_config_wrapper.rb +31 -0
  213. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/initializer.rb +218 -0
  214. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/base/message_indenter.rb +19 -0
  215. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/command/be_successfully_executed.rb +36 -0
  216. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/command/have_exit_status.rb +44 -0
  217. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/command/have_finished_in_time.rb +35 -0
  218. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/command/have_output.rb +43 -0
  219. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/command/have_output_on_stderr.rb +34 -0
  220. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/command/have_output_on_stdout.rb +34 -0
  221. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/command/have_output_size.rb +28 -0
  222. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/command.rb +1 -0
  223. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/directory/be_an_existing_directory.rb +34 -0
  224. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/directory/have_sub_directory.rb +54 -0
  225. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/directory.rb +1 -0
  226. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/environment.rb +1 -0
  227. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/file/be_a_command_found_in_path.rb +32 -0
  228. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/file/be_an_existing_executable.rb +34 -0
  229. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/file/be_an_existing_file.rb +34 -0
  230. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/file/have_file_content.rb +60 -0
  231. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/file/have_file_size.rb +45 -0
  232. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/file/have_same_file_content.rb +44 -0
  233. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/file.rb +1 -0
  234. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/path/a_path_matching_pattern.rb +21 -0
  235. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/path/be_an_absolute_path.rb +32 -0
  236. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/path/be_an_existing_path.rb +33 -0
  237. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/path/have_permissions.rb +63 -0
  238. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/path.rb +1 -0
  239. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/string/include_output_string.rb +34 -0
  240. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/string/match_output_string.rb +35 -0
  241. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/string/output_string_eq.rb +33 -0
  242. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/string.rb +1 -0
  243. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/platform.rb +17 -0
  244. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/platforms/announcer.rb +205 -0
  245. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/platforms/aruba_file_creator.rb +33 -0
  246. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/platforms/aruba_fixed_size_file_creator.rb +40 -0
  247. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/platforms/aruba_logger.rb +98 -0
  248. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/platforms/command_monitor.rb +127 -0
  249. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/platforms/determine_disk_usage.rb +68 -0
  250. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/platforms/determine_file_size.rb +22 -0
  251. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/platforms/filesystem_status.rb +70 -0
  252. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/platforms/local_environment.rb +29 -0
  253. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/platforms/simple_table.rb +46 -0
  254. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/platforms/unix_command_string.rb +23 -0
  255. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/platforms/unix_environment_variables.rb +205 -0
  256. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/platforms/unix_platform.rb +250 -0
  257. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/platforms/unix_which.rb +82 -0
  258. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/platforms/windows_command_string.rb +20 -0
  259. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/platforms/windows_environment_variables.rb +89 -0
  260. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/platforms/windows_platform.rb +48 -0
  261. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/platforms/windows_which.rb +107 -0
  262. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/processes/basic_process.rb +146 -0
  263. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/processes/debug_process.rb +80 -0
  264. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/processes/in_process.rb +136 -0
  265. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/processes/spawn_process.rb +368 -0
  266. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/rspec.rb +94 -0
  267. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/runtime.rb +101 -0
  268. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/setup.rb +105 -0
  269. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/version.rb +3 -0
  270. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba.rb +1 -0
  271. data/vendor/bundle/ruby/3.2.0/gems/builder-3.2.4/doc/jamis.rb +592 -0
  272. data/vendor/bundle/ruby/3.2.0/gems/builder-3.2.4/lib/blankslate.rb +138 -0
  273. data/vendor/bundle/ruby/3.2.0/gems/builder-3.2.4/lib/builder/blankslate.rb +24 -0
  274. data/vendor/bundle/ruby/3.2.0/gems/builder-3.2.4/lib/builder/version.rb +9 -0
  275. data/vendor/bundle/ruby/3.2.0/gems/builder-3.2.4/lib/builder/xchar.rb +198 -0
  276. data/vendor/bundle/ruby/3.2.0/gems/builder-3.2.4/lib/builder/xmlbase.rb +200 -0
  277. data/vendor/bundle/ruby/3.2.0/gems/builder-3.2.4/lib/builder/xmlevents.rb +64 -0
  278. data/vendor/bundle/ruby/3.2.0/gems/builder-3.2.4/lib/builder/xmlmarkup.rb +345 -0
  279. data/vendor/bundle/ruby/3.2.0/gems/builder-3.2.4/lib/builder.rb +14 -0
  280. data/vendor/bundle/ruby/3.2.0/gems/builder-3.2.4/rakelib/publish.rake +21 -0
  281. data/vendor/bundle/ruby/3.2.0/gems/builder-3.2.4/rakelib/tags.rake +63 -0
  282. data/vendor/bundle/ruby/3.2.0/gems/builder-3.2.4/rakelib/testing.rake +8 -0
  283. data/vendor/bundle/ruby/3.2.0/gems/builder-3.2.4/test/helper.rb +13 -0
  284. data/vendor/bundle/ruby/3.2.0/gems/builder-3.2.4/test/performance.rb +42 -0
  285. data/vendor/bundle/ruby/3.2.0/gems/builder-3.2.4/test/preload.rb +40 -0
  286. data/vendor/bundle/ruby/3.2.0/gems/builder-3.2.4/test/test_blankslate.rb +208 -0
  287. data/vendor/bundle/ruby/3.2.0/gems/builder-3.2.4/test/test_eventbuilder.rb +151 -0
  288. data/vendor/bundle/ruby/3.2.0/gems/builder-3.2.4/test/test_markupbuilder.rb +617 -0
  289. data/vendor/bundle/ruby/3.2.0/gems/builder-3.2.4/test/test_method_caching.rb +63 -0
  290. data/vendor/bundle/ruby/3.2.0/gems/builder-3.2.4/test/test_namecollision.rb +40 -0
  291. data/vendor/bundle/ruby/3.2.0/gems/builder-3.2.4/test/test_xchar.rb +85 -0
  292. data/vendor/bundle/ruby/3.2.0/gems/bump-0.10.0/lib/bump/tasks.rb +45 -0
  293. data/vendor/bundle/ruby/3.2.0/gems/bump-0.10.0/lib/bump.rb +312 -0
  294. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/ext/byebug/extconf.rb +12 -0
  295. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/attacher.rb +48 -0
  296. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/breakpoint.rb +111 -0
  297. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/command.rb +111 -0
  298. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/command_list.rb +34 -0
  299. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/break.rb +112 -0
  300. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/catch.rb +78 -0
  301. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/condition.rb +55 -0
  302. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/continue.rb +68 -0
  303. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/debug.rb +38 -0
  304. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/delete.rb +55 -0
  305. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/disable/breakpoints.rb +42 -0
  306. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/disable/display.rb +43 -0
  307. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/disable.rb +33 -0
  308. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/display.rb +66 -0
  309. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/down.rb +45 -0
  310. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/edit.rb +69 -0
  311. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/enable/breakpoints.rb +42 -0
  312. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/enable/display.rb +43 -0
  313. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/enable.rb +33 -0
  314. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/finish.rb +57 -0
  315. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/frame.rb +57 -0
  316. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/help.rb +64 -0
  317. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/history.rb +39 -0
  318. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/info/breakpoints.rb +65 -0
  319. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/info/display.rb +49 -0
  320. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/info/file.rb +80 -0
  321. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/info/line.rb +35 -0
  322. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/info/program.rb +49 -0
  323. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/info.rb +37 -0
  324. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/interrupt.rb +34 -0
  325. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/irb.rb +50 -0
  326. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/kill.rb +45 -0
  327. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/list.rb +159 -0
  328. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/method.rb +53 -0
  329. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/next.rb +40 -0
  330. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/pry.rb +41 -0
  331. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/quit.rb +42 -0
  332. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/restart.rb +64 -0
  333. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/save.rb +72 -0
  334. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/set.rb +79 -0
  335. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/show.rb +45 -0
  336. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/skip.rb +85 -0
  337. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/source.rb +40 -0
  338. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/step.rb +40 -0
  339. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/thread/current.rb +37 -0
  340. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/thread/list.rb +43 -0
  341. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/thread/resume.rb +45 -0
  342. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/thread/stop.rb +43 -0
  343. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/thread/switch.rb +46 -0
  344. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/thread.rb +34 -0
  345. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/tracevar.rb +54 -0
  346. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/undisplay.rb +51 -0
  347. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/untracevar.rb +36 -0
  348. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/up.rb +45 -0
  349. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/var/all.rb +41 -0
  350. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/var/args.rb +39 -0
  351. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/var/const.rb +49 -0
  352. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/var/global.rb +37 -0
  353. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/var/instance.rb +39 -0
  354. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/var/local.rb +39 -0
  355. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/var.rb +37 -0
  356. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/where.rb +53 -0
  357. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands.rb +40 -0
  358. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/context.rb +157 -0
  359. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/core.rb +115 -0
  360. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/errors.rb +29 -0
  361. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/frame.rb +185 -0
  362. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/helpers/bin.rb +47 -0
  363. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/helpers/eval.rb +126 -0
  364. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/helpers/file.rb +63 -0
  365. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/helpers/frame.rb +75 -0
  366. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/helpers/parse.rb +75 -0
  367. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/helpers/path.rb +40 -0
  368. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/helpers/reflection.rb +19 -0
  369. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/helpers/string.rb +33 -0
  370. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/helpers/thread.rb +67 -0
  371. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/helpers/toggle.rb +62 -0
  372. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/helpers/var.rb +54 -0
  373. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/history.rb +130 -0
  374. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/interface.rb +146 -0
  375. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/interfaces/local_interface.rb +63 -0
  376. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/interfaces/remote_interface.rb +50 -0
  377. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/interfaces/script_interface.rb +33 -0
  378. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/interfaces/test_interface.rb +67 -0
  379. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/option_setter.rb +95 -0
  380. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/printers/base.rb +68 -0
  381. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/printers/plain.rb +44 -0
  382. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/processors/command_processor.rb +173 -0
  383. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/processors/control_processor.rb +24 -0
  384. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/processors/post_mortem_processor.rb +18 -0
  385. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/processors/script_processor.rb +49 -0
  386. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/remote/client.rb +57 -0
  387. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/remote/server.rb +47 -0
  388. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/remote.rb +85 -0
  389. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/runner.rb +198 -0
  390. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/setting.rb +79 -0
  391. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/settings/autoirb.rb +29 -0
  392. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/settings/autolist.rb +29 -0
  393. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/settings/autopry.rb +29 -0
  394. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/settings/autosave.rb +17 -0
  395. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/settings/basename.rb +16 -0
  396. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/settings/callstyle.rb +20 -0
  397. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/settings/fullpath.rb +16 -0
  398. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/settings/histfile.rb +20 -0
  399. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/settings/histsize.rb +20 -0
  400. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/settings/linetrace.rb +22 -0
  401. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/settings/listsize.rb +21 -0
  402. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/settings/post_mortem.rb +27 -0
  403. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/settings/savefile.rb +20 -0
  404. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/settings/stack_on_error.rb +15 -0
  405. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/settings/width.rb +20 -0
  406. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/source_file_formatter.rb +71 -0
  407. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/subcommands.rb +54 -0
  408. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/version.rb +8 -0
  409. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug.rb +3 -0
  410. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/features/step_definitions/assertions.rb +152 -0
  411. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/features/step_definitions/cap_commands.rb +21 -0
  412. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/features/step_definitions/setup.rb +94 -0
  413. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/features/support/env.rb +11 -0
  414. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/features/support/remote_command_helpers.rb +29 -0
  415. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/features/support/vagrant_helpers.rb +41 -0
  416. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/all.rb +17 -0
  417. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/application.rb +153 -0
  418. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/configuration/empty_filter.rb +9 -0
  419. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/configuration/filter.rb +26 -0
  420. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/configuration/host_filter.rb +29 -0
  421. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/configuration/null_filter.rb +9 -0
  422. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/configuration/plugin_installer.rb +51 -0
  423. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/configuration/question.rb +76 -0
  424. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/configuration/role_filter.rb +29 -0
  425. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/configuration/scm_resolver.rb +149 -0
  426. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/configuration/server.rb +137 -0
  427. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/configuration/servers.rb +76 -0
  428. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/configuration/validated_variables.rb +110 -0
  429. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/configuration/variables.rb +112 -0
  430. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/configuration.rb +189 -0
  431. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/console.rb +1 -0
  432. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/defaults.rb +36 -0
  433. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/deploy.rb +3 -0
  434. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/doctor/environment_doctor.rb +19 -0
  435. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/doctor/gems_doctor.rb +45 -0
  436. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/doctor/output_helpers.rb +79 -0
  437. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/doctor/servers_doctor.rb +105 -0
  438. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/doctor/variables_doctor.rb +74 -0
  439. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/doctor.rb +6 -0
  440. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/dotfile.rb +2 -0
  441. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/dsl/env.rb +43 -0
  442. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/dsl/paths.rb +89 -0
  443. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/dsl/stages.rb +31 -0
  444. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/dsl/task_enhancements.rb +61 -0
  445. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/dsl.rb +95 -0
  446. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/framework.rb +2 -0
  447. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/i18n.rb +46 -0
  448. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/immutable_task.rb +30 -0
  449. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/install.rb +1 -0
  450. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/plugin.rb +95 -0
  451. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/proc_helpers.rb +13 -0
  452. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/scm/git.rb +100 -0
  453. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/scm/hg.rb +55 -0
  454. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/scm/plugin.rb +13 -0
  455. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/scm/svn.rb +56 -0
  456. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/scm/tasks/git.rake +73 -0
  457. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/scm/tasks/hg.rake +53 -0
  458. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/scm/tasks/svn.rake +53 -0
  459. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/scm.rb +115 -0
  460. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/setup.rb +36 -0
  461. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/tasks/console.rake +25 -0
  462. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/tasks/deploy.rake +258 -0
  463. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/tasks/doctor.rake +24 -0
  464. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/tasks/framework.rake +67 -0
  465. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/tasks/install.rake +41 -0
  466. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/upload_task.rb +9 -0
  467. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/version.rb +3 -0
  468. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/version_validator.rb +32 -0
  469. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano.rb +0 -0
  470. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/integration/dsl_spec.rb +632 -0
  471. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/integration_spec_helper.rb +5 -0
  472. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/application_spec.rb +60 -0
  473. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/configuration/empty_filter_spec.rb +17 -0
  474. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/configuration/filter_spec.rb +109 -0
  475. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/configuration/host_filter_spec.rb +71 -0
  476. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/configuration/null_filter_spec.rb +17 -0
  477. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/configuration/plugin_installer_spec.rb +98 -0
  478. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/configuration/question_spec.rb +92 -0
  479. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/configuration/role_filter_spec.rb +80 -0
  480. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/configuration/scm_resolver_spec.rb +55 -0
  481. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/configuration/server_spec.rb +309 -0
  482. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/configuration/servers_spec.rb +331 -0
  483. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/configuration_spec.rb +357 -0
  484. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/doctor/environment_doctor_spec.rb +44 -0
  485. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/doctor/gems_doctor_spec.rb +67 -0
  486. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/doctor/output_helpers_spec.rb +47 -0
  487. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/doctor/servers_doctor_spec.rb +86 -0
  488. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/doctor/variables_doctor_spec.rb +89 -0
  489. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/dsl/paths_spec.rb +228 -0
  490. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/dsl/task_enhancements_spec.rb +108 -0
  491. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/dsl_spec.rb +125 -0
  492. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/immutable_task_spec.rb +31 -0
  493. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/plugin_spec.rb +84 -0
  494. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/scm/git_spec.rb +184 -0
  495. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/scm/hg_spec.rb +109 -0
  496. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/scm/svn_spec.rb +137 -0
  497. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/scm_spec.rb +103 -0
  498. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/upload_task_spec.rb +19 -0
  499. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/version_validator_spec.rb +118 -0
  500. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano_spec.rb +7 -0
  501. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/spec_helper.rb +29 -0
  502. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/support/matchers.rb +5 -0
  503. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/support/tasks/database.rake +11 -0
  504. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/support/tasks/fail.rake +8 -0
  505. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/support/tasks/failed.rake +5 -0
  506. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/support/tasks/plugin.rake +6 -0
  507. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/support/tasks/root.rake +11 -0
  508. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/support/test_app.rb +202 -0
  509. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/duo.rb +81 -0
  510. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/encoders/_map.rb +17 -0
  511. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/encoders/comment_filter.rb +25 -0
  512. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/encoders/count.rb +39 -0
  513. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/encoders/debug.rb +49 -0
  514. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/encoders/debug_lint.rb +63 -0
  515. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/encoders/div.rb +23 -0
  516. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/encoders/encoder.rb +190 -0
  517. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/encoders/filter.rb +58 -0
  518. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/encoders/html/css.rb +65 -0
  519. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/encoders/html/numbering.rb +108 -0
  520. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/encoders/html/output.rb +164 -0
  521. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/encoders/html.rb +333 -0
  522. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/encoders/json.rb +83 -0
  523. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/encoders/lines_of_code.rb +45 -0
  524. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/encoders/lint.rb +59 -0
  525. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/encoders/null.rb +18 -0
  526. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/encoders/page.rb +24 -0
  527. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/encoders/span.rb +23 -0
  528. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/encoders/statistic.rb +95 -0
  529. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/encoders/terminal.rb +195 -0
  530. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/encoders/text.rb +46 -0
  531. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/encoders/token_kind_filter.rb +111 -0
  532. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/encoders/xml.rb +72 -0
  533. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/encoders/yaml.rb +50 -0
  534. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/encoders.rb +18 -0
  535. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/for_redcloth.rb +95 -0
  536. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/helpers/file_type.rb +151 -0
  537. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/helpers/plugin.rb +55 -0
  538. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/helpers/plugin_host.rb +221 -0
  539. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/helpers/word_list.rb +72 -0
  540. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/_map.rb +24 -0
  541. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/c.rb +189 -0
  542. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/clojure.rb +217 -0
  543. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/cpp.rb +217 -0
  544. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/css.rb +196 -0
  545. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/debug.rb +75 -0
  546. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/delphi.rb +144 -0
  547. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/diff.rb +221 -0
  548. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/erb.rb +81 -0
  549. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/go.rb +208 -0
  550. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/groovy.rb +268 -0
  551. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/haml.rb +168 -0
  552. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/html.rb +275 -0
  553. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/java/builtin_types.rb +421 -0
  554. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/java.rb +174 -0
  555. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/java_script.rb +236 -0
  556. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/json.rb +98 -0
  557. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/lua.rb +280 -0
  558. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/php.rb +527 -0
  559. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/python.rb +287 -0
  560. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/raydebug.rb +75 -0
  561. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/ruby/patterns.rb +178 -0
  562. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/ruby/string_state.rb +79 -0
  563. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/ruby.rb +477 -0
  564. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/sass.rb +232 -0
  565. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/scanner.rb +337 -0
  566. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/sql.rb +169 -0
  567. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/taskpaper.rb +36 -0
  568. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/text.rb +26 -0
  569. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/xml.rb +17 -0
  570. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/yaml.rb +140 -0
  571. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners.rb +27 -0
  572. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/styles/_map.rb +7 -0
  573. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/styles/alpha.rb +153 -0
  574. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/styles/style.rb +18 -0
  575. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/styles.rb +15 -0
  576. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/token_kinds.rb +85 -0
  577. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/tokens.rb +164 -0
  578. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/tokens_proxy.rb +55 -0
  579. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/version.rb +3 -0
  580. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay.rb +284 -0
  581. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/agent.rb +588 -0
  582. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/array.rb +56 -0
  583. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/async.rb +449 -0
  584. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/atom.rb +222 -0
  585. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/atomic/atomic_boolean.rb +127 -0
  586. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/atomic/atomic_fixnum.rb +144 -0
  587. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/atomic/atomic_markable_reference.rb +167 -0
  588. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/atomic/atomic_reference.rb +135 -0
  589. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/atomic/count_down_latch.rb +100 -0
  590. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/atomic/cyclic_barrier.rb +128 -0
  591. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/atomic/event.rb +109 -0
  592. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/atomic/fiber_local_var.rb +109 -0
  593. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/atomic/java_count_down_latch.rb +43 -0
  594. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/atomic/locals.rb +189 -0
  595. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/atomic/lock_local_var.rb +28 -0
  596. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/atomic/mutex_atomic_boolean.rb +68 -0
  597. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/atomic/mutex_atomic_fixnum.rb +81 -0
  598. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/atomic/mutex_count_down_latch.rb +44 -0
  599. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/atomic/mutex_semaphore.rb +131 -0
  600. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/atomic/read_write_lock.rb +255 -0
  601. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/atomic/reentrant_read_write_lock.rb +379 -0
  602. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/atomic/semaphore.rb +163 -0
  603. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/atomic/thread_local_var.rb +111 -0
  604. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/atomic_reference/atomic_direct_update.rb +37 -0
  605. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/atomic_reference/mutex_atomic.rb +67 -0
  606. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/atomic_reference/numeric_cas_wrapper.rb +28 -0
  607. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/atomics.rb +10 -0
  608. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/collection/copy_on_notify_observer_set.rb +107 -0
  609. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/collection/copy_on_write_observer_set.rb +111 -0
  610. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/collection/java_non_concurrent_priority_queue.rb +84 -0
  611. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/collection/lock_free_stack.rb +160 -0
  612. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/collection/map/atomic_reference_map_backend.rb +927 -0
  613. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/collection/map/mri_map_backend.rb +66 -0
  614. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb +148 -0
  615. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/collection/map/synchronized_map_backend.rb +82 -0
  616. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/collection/map/truffleruby_map_backend.rb +14 -0
  617. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/collection/non_concurrent_priority_queue.rb +143 -0
  618. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb +160 -0
  619. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/concern/deprecation.rb +34 -0
  620. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/concern/dereferenceable.rb +73 -0
  621. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/concern/logging.rb +116 -0
  622. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/concern/obligation.rb +220 -0
  623. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/concern/observable.rb +110 -0
  624. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/configuration.rb +105 -0
  625. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/constants.rb +8 -0
  626. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/dataflow.rb +81 -0
  627. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/delay.rb +199 -0
  628. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/errors.rb +74 -0
  629. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/exchanger.rb +353 -0
  630. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/executor/abstract_executor_service.rb +131 -0
  631. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/executor/cached_thread_pool.rb +62 -0
  632. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/executor/executor_service.rb +185 -0
  633. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/executor/fixed_thread_pool.rb +220 -0
  634. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/executor/immediate_executor.rb +66 -0
  635. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/executor/indirect_immediate_executor.rb +44 -0
  636. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/executor/java_executor_service.rb +103 -0
  637. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/executor/java_single_thread_executor.rb +30 -0
  638. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/executor/java_thread_pool_executor.rb +140 -0
  639. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/executor/ruby_executor_service.rb +82 -0
  640. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/executor/ruby_single_thread_executor.rb +21 -0
  641. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb +366 -0
  642. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb +35 -0
  643. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/executor/serial_executor_service.rb +34 -0
  644. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/executor/serialized_execution.rb +107 -0
  645. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/executor/serialized_execution_delegator.rb +28 -0
  646. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/executor/simple_executor_service.rb +103 -0
  647. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/executor/single_thread_executor.rb +57 -0
  648. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/executor/thread_pool_executor.rb +88 -0
  649. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/executor/timer_set.rb +172 -0
  650. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/executors.rb +20 -0
  651. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/future.rb +141 -0
  652. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/hash.rb +50 -0
  653. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/immutable_struct.rb +101 -0
  654. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/ivar.rb +208 -0
  655. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/map.rb +350 -0
  656. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/maybe.rb +229 -0
  657. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/mutable_struct.rb +239 -0
  658. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/mvar.rb +242 -0
  659. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/options.rb +42 -0
  660. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/promise.rb +580 -0
  661. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/promises.rb +2168 -0
  662. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/re_include.rb +60 -0
  663. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/scheduled_task.rb +331 -0
  664. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/set.rb +64 -0
  665. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/settable_struct.rb +139 -0
  666. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/synchronization/abstract_lockable_object.rb +102 -0
  667. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/synchronization/abstract_object.rb +22 -0
  668. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb +171 -0
  669. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/synchronization/condition.rb +62 -0
  670. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/synchronization/full_memory_barrier.rb +29 -0
  671. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/synchronization/jruby_lockable_object.rb +15 -0
  672. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/synchronization/lock.rb +38 -0
  673. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/synchronization/lockable_object.rb +75 -0
  674. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb +89 -0
  675. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/synchronization/object.rb +151 -0
  676. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/synchronization/safe_initialization.rb +36 -0
  677. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/synchronization/volatile.rb +101 -0
  678. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/synchronization.rb +13 -0
  679. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/thread_safe/synchronized_delegator.rb +47 -0
  680. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/thread_safe/util/adder.rb +74 -0
  681. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/thread_safe/util/cheap_lockable.rb +81 -0
  682. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb +52 -0
  683. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/thread_safe/util/power_of_two_tuple.rb +38 -0
  684. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/thread_safe/util/striped64.rb +246 -0
  685. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/thread_safe/util/volatile.rb +75 -0
  686. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/thread_safe/util/xor_shift_random.rb +50 -0
  687. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/thread_safe/util.rb +16 -0
  688. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/timer_task.rb +311 -0
  689. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/tuple.rb +82 -0
  690. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/tvar.rb +222 -0
  691. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/utility/engine.rb +45 -0
  692. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/utility/monotonic_time.rb +19 -0
  693. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/utility/native_extension_loader.rb +77 -0
  694. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/utility/native_integer.rb +54 -0
  695. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/utility/processor_counter.rb +110 -0
  696. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/version.rb +3 -0
  697. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent-ruby.rb +5 -0
  698. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent.rb +134 -0
  699. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/benchmarks/bench.rb +67 -0
  700. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/benchmarks/hash.rb +69 -0
  701. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/benchmarks/invariants.rb +91 -0
  702. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/benchmarks/io.rb +62 -0
  703. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/benchmarks/wrap_test.rb +57 -0
  704. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/features/support/env.rb +8 -0
  705. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/lib/contracts/attrs.rb +26 -0
  706. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/lib/contracts/builtin_contracts.rb +575 -0
  707. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/lib/contracts/call_with.rb +119 -0
  708. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/lib/contracts/core.rb +54 -0
  709. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/lib/contracts/decorators.rb +50 -0
  710. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/lib/contracts/engine/base.rb +137 -0
  711. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/lib/contracts/engine/eigenclass.rb +51 -0
  712. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/lib/contracts/engine/target.rb +72 -0
  713. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/lib/contracts/engine.rb +28 -0
  714. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/lib/contracts/errors.rb +74 -0
  715. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/lib/contracts/formatters.rb +140 -0
  716. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/lib/contracts/invariants.rb +72 -0
  717. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/lib/contracts/method_handler.rb +197 -0
  718. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/lib/contracts/method_reference.rb +102 -0
  719. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/lib/contracts/support.rb +63 -0
  720. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/lib/contracts/validators.rb +143 -0
  721. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/lib/contracts/version.rb +5 -0
  722. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/lib/contracts.rb +290 -0
  723. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/script/rubocop.rb +5 -0
  724. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/spec/attrs_spec.rb +119 -0
  725. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/spec/builtin_contracts_spec.rb +457 -0
  726. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/spec/contracts_spec.rb +773 -0
  727. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/spec/fixtures/fixtures.rb +725 -0
  728. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/spec/invariants_spec.rb +17 -0
  729. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/spec/methods_spec.rb +54 -0
  730. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/spec/module_spec.rb +18 -0
  731. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/spec/override_validators_spec.rb +162 -0
  732. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/spec/ruby_version_specific/contracts_spec_1.9.rb +24 -0
  733. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/spec/ruby_version_specific/contracts_spec_2.0.rb +55 -0
  734. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/spec/ruby_version_specific/contracts_spec_2.1.rb +63 -0
  735. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/spec/spec_helper.rb +102 -0
  736. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/spec/support.rb +10 -0
  737. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/spec/support_spec.rb +21 -0
  738. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/spec/validators_spec.rb +47 -0
  739. data/vendor/bundle/ruby/3.2.0/gems/crack-0.4.5/lib/crack/json.rb +98 -0
  740. data/vendor/bundle/ruby/3.2.0/gems/crack-0.4.5/lib/crack/util.rb +17 -0
  741. data/vendor/bundle/ruby/3.2.0/gems/crack-0.4.5/lib/crack/version.rb +3 -0
  742. data/vendor/bundle/ruby/3.2.0/gems/crack-0.4.5/lib/crack/xml.rb +238 -0
  743. data/vendor/bundle/ruby/3.2.0/gems/crack-0.4.5/lib/crack.rb +7 -0
  744. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/autotest/cucumber.rb +8 -0
  745. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/autotest/cucumber_mixin.rb +133 -0
  746. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/autotest/cucumber_rails.rb +8 -0
  747. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/autotest/cucumber_rails_rspec.rb +8 -0
  748. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/autotest/cucumber_rails_rspec2.rb +8 -0
  749. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/autotest/cucumber_rspec.rb +8 -0
  750. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/autotest/cucumber_rspec2.rb +8 -0
  751. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/autotest/discover.rb +14 -0
  752. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/cli/configuration.rb +163 -0
  753. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/cli/main.rb +101 -0
  754. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/cli/options.rb +635 -0
  755. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/cli/profile_loader.rb +113 -0
  756. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/cli/rerun_file.rb +31 -0
  757. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/configuration.rb +307 -0
  758. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/constantize.rb +44 -0
  759. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/deprecate.rb +55 -0
  760. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/encoding.rb +7 -0
  761. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/errors.rb +53 -0
  762. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/events/envelope.rb +11 -0
  763. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/events/gherkin_source_parsed.rb +13 -0
  764. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/events/gherkin_source_read.rb +16 -0
  765. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/events/hook_test_step_created.rb +12 -0
  766. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/events/step_activated.rb +20 -0
  767. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/events/step_definition_registered.rb +15 -0
  768. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/events/test_case_created.rb +12 -0
  769. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/events/test_case_finished.rb +16 -0
  770. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/events/test_case_ready.rb +12 -0
  771. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/events/test_case_started.rb +13 -0
  772. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/events/test_run_finished.rb +12 -0
  773. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/events/test_run_started.rb +14 -0
  774. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/events/test_step_created.rb +12 -0
  775. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/events/test_step_finished.rb +16 -0
  776. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/events/test_step_started.rb +13 -0
  777. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/events/undefined_parameter_type.rb +11 -0
  778. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/events.rb +46 -0
  779. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/file_specs.rb +40 -0
  780. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/filters/activate_steps.rb +75 -0
  781. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/filters/apply_after_hooks.rb +11 -0
  782. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/filters/apply_after_step_hooks.rb +14 -0
  783. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/filters/apply_around_hooks.rb +14 -0
  784. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/filters/apply_before_hooks.rb +11 -0
  785. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/filters/broadcast_test_case_ready_event.rb +12 -0
  786. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/filters/broadcast_test_run_started_event.rb +28 -0
  787. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/filters/gated_receiver.rb +25 -0
  788. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/filters/prepare_world.rb +39 -0
  789. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/filters/quit.rb +25 -0
  790. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/filters/randomizer.rb +45 -0
  791. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/filters/retry.rb +51 -0
  792. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/filters/tag_limits/test_case_index.rb +31 -0
  793. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/filters/tag_limits/verifier.rb +55 -0
  794. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/filters/tag_limits.rb +44 -0
  795. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/filters.rb +14 -0
  796. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/ansicolor.rb +147 -0
  797. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/ast_lookup.rb +163 -0
  798. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/backtrace_filter.rb +56 -0
  799. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/console.rb +262 -0
  800. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/console_counts.rb +41 -0
  801. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/console_issues.rb +68 -0
  802. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/duration.rb +15 -0
  803. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/duration_extractor.rb +32 -0
  804. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/errors.rb +9 -0
  805. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/fail_fast.rb +23 -0
  806. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/fanout.rb +28 -0
  807. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/html.rb +26 -0
  808. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/http_io.rb +154 -0
  809. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/ignore_missing_messages.rb +19 -0
  810. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/interceptor.rb +75 -0
  811. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/io.rb +80 -0
  812. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/json.rb +333 -0
  813. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/junit.rb +265 -0
  814. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/message.rb +23 -0
  815. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/message_builder.rb +258 -0
  816. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/pretty.rb +471 -0
  817. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/progress.rb +115 -0
  818. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/publish_banner_printer.rb +75 -0
  819. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/query/hook_by_test_step.rb +34 -0
  820. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/query/pickle_by_test.rb +28 -0
  821. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/query/pickle_step_by_test_step.rb +28 -0
  822. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/query/step_definitions_by_test_step.rb +42 -0
  823. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/query/test_case_started_by_test_case.rb +44 -0
  824. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/rerun.rb +53 -0
  825. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/stepdefs.rb +15 -0
  826. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/steps.rb +52 -0
  827. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/summary.rb +66 -0
  828. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/unicode.rb +52 -0
  829. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/url_reporter.rb +19 -0
  830. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/usage.rb +147 -0
  831. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/gherkin/data_table_parser.rb +45 -0
  832. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/gherkin/formatter/ansi_escapes.rb +96 -0
  833. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/gherkin/formatter/escaping.rb +19 -0
  834. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/gherkin/i18n.rb +17 -0
  835. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/gherkin/steps_parser.rb +42 -0
  836. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/glue/dsl.rb +154 -0
  837. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/glue/hook.rb +70 -0
  838. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/glue/invoke_in_world.rb +65 -0
  839. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/glue/proto_world.rb +215 -0
  840. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/glue/registry_and_more.rb +233 -0
  841. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/glue/registry_wrapper.rb +31 -0
  842. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/glue/snippet.rb +207 -0
  843. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/glue/step_definition.rb +168 -0
  844. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/glue/world_factory.rb +23 -0
  845. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/hooks.rb +111 -0
  846. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/load_path.rb +15 -0
  847. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/multiline_argument/data_table/diff_matrices.rb +157 -0
  848. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/multiline_argument/data_table.rb +626 -0
  849. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/multiline_argument/doc_string.rb +11 -0
  850. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/multiline_argument.rb +60 -0
  851. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/platform.rb +22 -0
  852. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/project_initializer.rb +44 -0
  853. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/rake/task.rb +185 -0
  854. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/rspec/disable_option_parser.rb +29 -0
  855. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/rspec/doubles.rb +19 -0
  856. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/running_test_case.rb +61 -0
  857. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/runtime/after_hooks.rb +31 -0
  858. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/runtime/before_hooks.rb +33 -0
  859. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/runtime/for_programming_languages.rb +35 -0
  860. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/runtime/meta_message_builder.rb +108 -0
  861. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/runtime/step_hooks.rb +30 -0
  862. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/runtime/support_code.rb +153 -0
  863. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/runtime/user_interface.rb +69 -0
  864. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/runtime.rb +285 -0
  865. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/step_definition_light.rb +24 -0
  866. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/step_definitions.rb +15 -0
  867. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/step_match.rb +154 -0
  868. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/step_match_search.rb +68 -0
  869. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/term/ansicolor.rb +135 -0
  870. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/term/banner.rb +59 -0
  871. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/unit.rb +13 -0
  872. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber.rb +27 -0
  873. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/simplecov_setup.rb +20 -0
  874. data/vendor/bundle/ruby/3.2.0/gems/cucumber-ci-environment-9.2.0/lib/cucumber/ci_environment/variable_expression.rb +41 -0
  875. data/vendor/bundle/ruby/3.2.0/gems/cucumber-ci-environment-9.2.0/lib/cucumber/ci_environment.rb +80 -0
  876. data/vendor/bundle/ruby/3.2.0/gems/cucumber-ci-environment-9.2.0/spec/capture_warnings.rb +74 -0
  877. data/vendor/bundle/ruby/3.2.0/gems/cucumber-ci-environment-9.2.0/spec/cucumber/ci_environment/ci_environment_spec.rb +29 -0
  878. data/vendor/bundle/ruby/3.2.0/gems/cucumber-ci-environment-9.2.0/spec/cucumber/ci_environment/evaluate_variable_expression_spec.rb +38 -0
  879. data/vendor/bundle/ruby/3.2.0/gems/cucumber-ci-environment-9.2.0/spec/cucumber/ci_environment/github_pull_request_integration_spec.rb +10 -0
  880. data/vendor/bundle/ruby/3.2.0/gems/cucumber-ci-environment-9.2.0/spec/cucumber/ci_environment/remove_userinfo_from_url_spec.rb +29 -0
  881. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/compiler.rb +91 -0
  882. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/event.rb +61 -0
  883. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/event_bus.rb +73 -0
  884. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/events.rb +102 -0
  885. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/filter.rb +84 -0
  886. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/gherkin/document.rb +25 -0
  887. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/gherkin/parser.rb +52 -0
  888. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/gherkin/writer/helpers.rb +174 -0
  889. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/gherkin/writer.rb +259 -0
  890. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/platform.rb +16 -0
  891. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/report/summary.rb +39 -0
  892. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/test/action.rb +84 -0
  893. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/test/around_hook.rb +36 -0
  894. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/test/case.rb +100 -0
  895. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/test/data_table.rb +117 -0
  896. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/test/doc_string.rb +78 -0
  897. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/test/empty_multiline_argument.rb +32 -0
  898. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/test/filters/activate_steps_for_self_test.rb +35 -0
  899. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/test/filters/locations_filter.rb +40 -0
  900. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/test/filters/name_filter.rb +24 -0
  901. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/test/filters/tag_filter.rb +49 -0
  902. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/test/filters.rb +4 -0
  903. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/test/location.rb +187 -0
  904. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/test/result.rb +436 -0
  905. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/test/runner.rb +157 -0
  906. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/test/step.rb +74 -0
  907. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/test/tag.rb +21 -0
  908. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/test/timer.rb +52 -0
  909. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core.rb +45 -0
  910. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/lib/cucumber/cucumber_expressions/argument.rb +37 -0
  911. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/lib/cucumber/cucumber_expressions/ast.rb +201 -0
  912. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/lib/cucumber/cucumber_expressions/combinatorial_generated_expression_factory.rb +49 -0
  913. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/lib/cucumber/cucumber_expressions/cucumber_expression.rb +123 -0
  914. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/lib/cucumber/cucumber_expressions/cucumber_expression_generator.rb +97 -0
  915. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/lib/cucumber/cucumber_expressions/cucumber_expression_parser.rb +219 -0
  916. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/lib/cucumber/cucumber_expressions/cucumber_expression_tokenizer.rb +95 -0
  917. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/lib/cucumber/cucumber_expressions/errors.rb +214 -0
  918. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/lib/cucumber/cucumber_expressions/expression_factory.rb +22 -0
  919. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/lib/cucumber/cucumber_expressions/generated_expression.rb +31 -0
  920. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/lib/cucumber/cucumber_expressions/group.rb +18 -0
  921. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/lib/cucumber/cucumber_expressions/group_builder.rb +42 -0
  922. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/lib/cucumber/cucumber_expressions/parameter_type.rb +86 -0
  923. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/lib/cucumber/cucumber_expressions/parameter_type_matcher.rb +59 -0
  924. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/lib/cucumber/cucumber_expressions/parameter_type_registry.rb +77 -0
  925. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/lib/cucumber/cucumber_expressions/regular_expression.rb +48 -0
  926. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/lib/cucumber/cucumber_expressions/tree_regexp.rb +83 -0
  927. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/spec/capture_warnings.rb +74 -0
  928. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/spec/cucumber/cucumber_expressions/argument_spec.rb +17 -0
  929. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/spec/cucumber/cucumber_expressions/combinatorial_generated_expression_factory_test.rb +43 -0
  930. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/spec/cucumber/cucumber_expressions/cucumber_expression_generator_spec.rb +231 -0
  931. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/spec/cucumber/cucumber_expressions/cucumber_expression_parser_spec.rb +23 -0
  932. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/spec/cucumber/cucumber_expressions/cucumber_expression_spec.rb +181 -0
  933. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/spec/cucumber/cucumber_expressions/cucumber_expression_tokenizer_spec.rb +23 -0
  934. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/spec/cucumber/cucumber_expressions/cucumber_expression_transformation_spec.rb +27 -0
  935. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/spec/cucumber/cucumber_expressions/custom_parameter_type_spec.rb +197 -0
  936. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/spec/cucumber/cucumber_expressions/expression_factory_spec.rb +19 -0
  937. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/spec/cucumber/cucumber_expressions/parameter_type_registry_spec.rb +86 -0
  938. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/spec/cucumber/cucumber_expressions/parameter_type_spec.rb +15 -0
  939. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/spec/cucumber/cucumber_expressions/regular_expression_spec.rb +84 -0
  940. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/spec/cucumber/cucumber_expressions/tree_regexp_spec.rb +186 -0
  941. data/vendor/bundle/ruby/3.2.0/gems/cucumber-gherkin-26.2.0/lib/gherkin/ast_builder.rb +262 -0
  942. data/vendor/bundle/ruby/3.2.0/gems/cucumber-gherkin-26.2.0/lib/gherkin/ast_node.rb +30 -0
  943. data/vendor/bundle/ruby/3.2.0/gems/cucumber-gherkin-26.2.0/lib/gherkin/dialect.rb +63 -0
  944. data/vendor/bundle/ruby/3.2.0/gems/cucumber-gherkin-26.2.0/lib/gherkin/errors.rb +47 -0
  945. data/vendor/bundle/ruby/3.2.0/gems/cucumber-gherkin-26.2.0/lib/gherkin/gherkin_line.rb +109 -0
  946. data/vendor/bundle/ruby/3.2.0/gems/cucumber-gherkin-26.2.0/lib/gherkin/parser.rb +3897 -0
  947. data/vendor/bundle/ruby/3.2.0/gems/cucumber-gherkin-26.2.0/lib/gherkin/pickles/compiler.rb +201 -0
  948. data/vendor/bundle/ruby/3.2.0/gems/cucumber-gherkin-26.2.0/lib/gherkin/query.rb +65 -0
  949. data/vendor/bundle/ruby/3.2.0/gems/cucumber-gherkin-26.2.0/lib/gherkin/stream/parser_message_stream.rb +99 -0
  950. data/vendor/bundle/ruby/3.2.0/gems/cucumber-gherkin-26.2.0/lib/gherkin/token.rb +18 -0
  951. data/vendor/bundle/ruby/3.2.0/gems/cucumber-gherkin-26.2.0/lib/gherkin/token_formatter_builder.rb +39 -0
  952. data/vendor/bundle/ruby/3.2.0/gems/cucumber-gherkin-26.2.0/lib/gherkin/token_matcher.rb +200 -0
  953. data/vendor/bundle/ruby/3.2.0/gems/cucumber-gherkin-26.2.0/lib/gherkin/token_scanner.rb +40 -0
  954. data/vendor/bundle/ruby/3.2.0/gems/cucumber-gherkin-26.2.0/lib/gherkin.rb +39 -0
  955. data/vendor/bundle/ruby/3.2.0/gems/cucumber-gherkin-26.2.0/spec/capture_warnings.rb +74 -0
  956. data/vendor/bundle/ruby/3.2.0/gems/cucumber-gherkin-26.2.0/spec/gherkin/dialect_spec.rb +13 -0
  957. data/vendor/bundle/ruby/3.2.0/gems/cucumber-gherkin-26.2.0/spec/gherkin/gherkin_line_spec.rb +36 -0
  958. data/vendor/bundle/ruby/3.2.0/gems/cucumber-gherkin-26.2.0/spec/gherkin/gherkin_spec.rb +45 -0
  959. data/vendor/bundle/ruby/3.2.0/gems/cucumber-gherkin-26.2.0/spec/gherkin/parser_spec.rb +10 -0
  960. data/vendor/bundle/ruby/3.2.0/gems/cucumber-gherkin-26.2.0/spec/gherkin/query_spec.rb +157 -0
  961. data/vendor/bundle/ruby/3.2.0/gems/cucumber-gherkin-26.2.0/spec/gherkin/stream/parser_message_stream_spec.rb +67 -0
  962. data/vendor/bundle/ruby/3.2.0/gems/cucumber-html-formatter-20.4.0/lib/cucumber/html_formatter/assets_loader.rb +34 -0
  963. data/vendor/bundle/ruby/3.2.0/gems/cucumber-html-formatter-20.4.0/lib/cucumber/html_formatter/template_writer.rb +20 -0
  964. data/vendor/bundle/ruby/3.2.0/gems/cucumber-html-formatter-20.4.0/lib/cucumber/html_formatter.rb +69 -0
  965. data/vendor/bundle/ruby/3.2.0/gems/cucumber-html-formatter-20.4.0/spec/acceptance_spec.rb +33 -0
  966. data/vendor/bundle/ruby/3.2.0/gems/cucumber-html-formatter-20.4.0/spec/capture_warnings.rb +74 -0
  967. data/vendor/bundle/ruby/3.2.0/gems/cucumber-html-formatter-20.4.0/spec/html-formatter/assets_loader_spec.rb +30 -0
  968. data/vendor/bundle/ruby/3.2.0/gems/cucumber-html-formatter-20.4.0/spec/html-formatter/template_writer_spec.rb +30 -0
  969. data/vendor/bundle/ruby/3.2.0/gems/cucumber-html-formatter-20.4.0/spec/html_formatter_spec.rb +87 -0
  970. data/vendor/bundle/ruby/3.2.0/gems/cucumber-messages-21.0.1/lib/cucumber/messages/id_generator.rb +24 -0
  971. data/vendor/bundle/ruby/3.2.0/gems/cucumber-messages-21.0.1/lib/cucumber/messages/message/deserialization.rb +39 -0
  972. data/vendor/bundle/ruby/3.2.0/gems/cucumber-messages-21.0.1/lib/cucumber/messages/message/serialization.rb +73 -0
  973. data/vendor/bundle/ruby/3.2.0/gems/cucumber-messages-21.0.1/lib/cucumber/messages/message/utils.rb +46 -0
  974. data/vendor/bundle/ruby/3.2.0/gems/cucumber-messages-21.0.1/lib/cucumber/messages/message.rb +11 -0
  975. data/vendor/bundle/ruby/3.2.0/gems/cucumber-messages-21.0.1/lib/cucumber/messages/ndjson_to_message_enumerator.rb +21 -0
  976. data/vendor/bundle/ruby/3.2.0/gems/cucumber-messages-21.0.1/lib/cucumber/messages/time_conversion.rb +33 -0
  977. data/vendor/bundle/ruby/3.2.0/gems/cucumber-messages-21.0.1/lib/cucumber/messages.deserializers.rb +1206 -0
  978. data/vendor/bundle/ruby/3.2.0/gems/cucumber-messages-21.0.1/lib/cucumber/messages.dtos.rb +1996 -0
  979. data/vendor/bundle/ruby/3.2.0/gems/cucumber-messages-21.0.1/lib/cucumber/messages.rb +10 -0
  980. data/vendor/bundle/ruby/3.2.0/gems/cucumber-messages-21.0.1/spec/capture_warnings.rb +74 -0
  981. data/vendor/bundle/ruby/3.2.0/gems/cucumber-messages-21.0.1/spec/cucumber/messages/acceptance_spec.rb +33 -0
  982. data/vendor/bundle/ruby/3.2.0/gems/cucumber-messages-21.0.1/spec/cucumber/messages/id_generator_spec.rb +29 -0
  983. data/vendor/bundle/ruby/3.2.0/gems/cucumber-messages-21.0.1/spec/cucumber/messages/message/deserialization_spec.rb +30 -0
  984. data/vendor/bundle/ruby/3.2.0/gems/cucumber-messages-21.0.1/spec/cucumber/messages/message/dummy_messages.rb +38 -0
  985. data/vendor/bundle/ruby/3.2.0/gems/cucumber-messages-21.0.1/spec/cucumber/messages/message/serialization_spec.rb +89 -0
  986. data/vendor/bundle/ruby/3.2.0/gems/cucumber-messages-21.0.1/spec/cucumber/messages/message/utils_spec.rb +30 -0
  987. data/vendor/bundle/ruby/3.2.0/gems/cucumber-messages-21.0.1/spec/cucumber/messages/ndjson_serialization_spec.rb +56 -0
  988. data/vendor/bundle/ruby/3.2.0/gems/cucumber-messages-21.0.1/spec/cucumber/messages/time_conversion_spec.rb +41 -0
  989. data/vendor/bundle/ruby/3.2.0/gems/cucumber-messages-21.0.1/spec/cucumber/messages/version_spec.rb +11 -0
  990. data/vendor/bundle/ruby/3.2.0/gems/cucumber-tag-expressions-4.1.0/lib/cucumber/tag_expressions/expressions.rb +65 -0
  991. data/vendor/bundle/ruby/3.2.0/gems/cucumber-tag-expressions-4.1.0/lib/cucumber/tag_expressions/parser.rb +166 -0
  992. data/vendor/bundle/ruby/3.2.0/gems/cucumber-tag-expressions-4.1.0/lib/cucumber/tag_expressions.rb +1 -0
  993. data/vendor/bundle/ruby/3.2.0/gems/cucumber-tag-expressions-4.1.0/spec/capture_warnings.rb +74 -0
  994. data/vendor/bundle/ruby/3.2.0/gems/cucumber-tag-expressions-4.1.0/spec/expressions_spec.rb +84 -0
  995. data/vendor/bundle/ruby/3.2.0/gems/cucumber-tag-expressions-4.1.0/spec/parser_spec.rb +50 -0
  996. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/lib/diff/lcs/array.rb +7 -0
  997. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/lib/diff/lcs/backports.rb +9 -0
  998. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/lib/diff/lcs/block.rb +37 -0
  999. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/lib/diff/lcs/callbacks.rb +325 -0
  1000. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/lib/diff/lcs/change.rb +174 -0
  1001. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/lib/diff/lcs/htmldiff.rb +150 -0
  1002. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/lib/diff/lcs/hunk.rb +358 -0
  1003. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/lib/diff/lcs/internals.rb +308 -0
  1004. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/lib/diff/lcs/ldiff.rb +171 -0
  1005. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/lib/diff/lcs/string.rb +5 -0
  1006. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/lib/diff/lcs.rb +739 -0
  1007. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/lib/diff-lcs.rb +3 -0
  1008. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/change_spec.rb +89 -0
  1009. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/diff_spec.rb +51 -0
  1010. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/hunk_spec.rb +83 -0
  1011. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/issues_spec.rb +154 -0
  1012. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/lcs_spec.rb +56 -0
  1013. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/ldiff_spec.rb +87 -0
  1014. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/patch_spec.rb +416 -0
  1015. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/sdiff_spec.rb +214 -0
  1016. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/spec_helper.rb +374 -0
  1017. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/traverse_balanced_spec.rb +310 -0
  1018. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/traverse_sequences_spec.rb +137 -0
  1019. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/extconf.rb +115 -0
  1020. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/abstract_memory.rb +44 -0
  1021. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/autopointer.rb +188 -0
  1022. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/buffer.rb +4 -0
  1023. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/callback.rb +4 -0
  1024. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/compat.rb +43 -0
  1025. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/data_converter.rb +67 -0
  1026. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/dynamic_library.rb +89 -0
  1027. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/enum.rb +303 -0
  1028. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/errno.rb +43 -0
  1029. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/ffi.rb +50 -0
  1030. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/function.rb +71 -0
  1031. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/io.rb +62 -0
  1032. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/library.rb +576 -0
  1033. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/library_path.rb +109 -0
  1034. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/managedstruct.rb +84 -0
  1035. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/memorypointer.rb +1 -0
  1036. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/platform.rb +187 -0
  1037. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/pointer.rb +167 -0
  1038. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/struct.rb +317 -0
  1039. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/struct_by_reference.rb +72 -0
  1040. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/struct_layout.rb +96 -0
  1041. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/struct_layout_builder.rb +227 -0
  1042. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/tools/const_generator.rb +232 -0
  1043. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/tools/generator.rb +105 -0
  1044. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/tools/generator_task.rb +32 -0
  1045. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/tools/struct_generator.rb +195 -0
  1046. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/tools/types_generator.rb +137 -0
  1047. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/types.rb +220 -0
  1048. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/union.rb +43 -0
  1049. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/variadic.rb +80 -0
  1050. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/version.rb +3 -0
  1051. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi.rb +27 -0
  1052. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/rakelib/ffi_gem_helper.rb +65 -0
  1053. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/samples/getlogin.rb +8 -0
  1054. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/samples/getpid.rb +8 -0
  1055. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/samples/gettimeofday.rb +18 -0
  1056. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/samples/hello.rb +8 -0
  1057. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/samples/hello_ractor.rb +11 -0
  1058. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/samples/inotify.rb +60 -0
  1059. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/samples/pty.rb +75 -0
  1060. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/samples/qsort.rb +20 -0
  1061. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/samples/qsort_ractor.rb +28 -0
  1062. data/vendor/bundle/ruby/3.2.0/gems/formatador-1.1.0/lib/formatador/progressbar.rb +91 -0
  1063. data/vendor/bundle/ruby/3.2.0/gems/formatador-1.1.0/lib/formatador/table.rb +105 -0
  1064. data/vendor/bundle/ruby/3.2.0/gems/formatador-1.1.0/lib/formatador.rb +140 -0
  1065. data/vendor/bundle/ruby/3.2.0/gems/formatador-1.1.0/tests/basic_tests.rb +29 -0
  1066. data/vendor/bundle/ruby/3.2.0/gems/formatador-1.1.0/tests/table_tests.rb +145 -0
  1067. data/vendor/bundle/ruby/3.2.0/gems/formatador-1.1.0/tests/tests_helper.rb +27 -0
  1068. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/aruba_adapter.rb +59 -0
  1069. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/cli/environments/bundler.rb +22 -0
  1070. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/cli/environments/evaluate_only.rb +35 -0
  1071. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/cli/environments/valid.rb +69 -0
  1072. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/cli.rb +200 -0
  1073. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/commander.rb +104 -0
  1074. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/commands/all.rb +37 -0
  1075. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/commands/change.rb +31 -0
  1076. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/commands/notification.rb +26 -0
  1077. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/commands/pause.rb +29 -0
  1078. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/commands/reload.rb +36 -0
  1079. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/commands/scope.rb +38 -0
  1080. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/commands/show.rb +24 -0
  1081. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/config.rb +18 -0
  1082. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/deprecated/dsl.rb +45 -0
  1083. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/deprecated/evaluator.rb +39 -0
  1084. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/deprecated/guard.rb +328 -0
  1085. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/deprecated/guardfile.rb +84 -0
  1086. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/deprecated/watcher.rb +27 -0
  1087. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/dsl.rb +438 -0
  1088. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/dsl_describer.rb +160 -0
  1089. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/dsl_reader.rb +51 -0
  1090. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/group.rb +64 -0
  1091. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/guardfile/evaluator.rb +232 -0
  1092. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/guardfile/generator.rb +128 -0
  1093. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/guardfile.rb +37 -0
  1094. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/interactor.rb +53 -0
  1095. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/internals/debugging.rb +68 -0
  1096. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/internals/groups.rb +40 -0
  1097. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/internals/helpers.rb +13 -0
  1098. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/internals/plugins.rb +53 -0
  1099. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/internals/queue.rb +51 -0
  1100. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/internals/scope.rb +121 -0
  1101. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/internals/session.rb +180 -0
  1102. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/internals/state.rb +25 -0
  1103. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/internals/tracing.rb +33 -0
  1104. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/internals/traps.rb +10 -0
  1105. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/jobs/base.rb +21 -0
  1106. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/jobs/pry_wrapper.rb +336 -0
  1107. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/jobs/sleep.rb +26 -0
  1108. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/notifier.rb +71 -0
  1109. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/options.rb +22 -0
  1110. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/plugin.rb +303 -0
  1111. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/plugin_util.rb +191 -0
  1112. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/rake_task.rb +42 -0
  1113. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/runner.rb +128 -0
  1114. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/terminal.rb +13 -0
  1115. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/ui/colors.rb +56 -0
  1116. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/ui/config.rb +70 -0
  1117. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/ui/logger.rb +30 -0
  1118. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/ui.rb +262 -0
  1119. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/version.rb +3 -0
  1120. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/watcher/pattern/deprecated_regexp.rb +45 -0
  1121. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/watcher/pattern/match_result.rb +18 -0
  1122. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/watcher/pattern/matcher.rb +33 -0
  1123. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/watcher/pattern/pathname_path.rb +15 -0
  1124. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/watcher/pattern/simple_path.rb +23 -0
  1125. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/watcher/pattern.rb +24 -0
  1126. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/watcher.rb +88 -0
  1127. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard.rb +169 -0
  1128. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/tasks/releaser.rb +116 -0
  1129. data/vendor/bundle/ruby/3.2.0/gems/guard-compat-1.2.1/lib/guard/compat/example.rb +34 -0
  1130. data/vendor/bundle/ruby/3.2.0/gems/guard-compat-1.2.1/lib/guard/compat/plugin.rb +124 -0
  1131. data/vendor/bundle/ruby/3.2.0/gems/guard-compat-1.2.1/lib/guard/compat/test/helper.rb +36 -0
  1132. data/vendor/bundle/ruby/3.2.0/gems/guard-compat-1.2.1/lib/guard/compat/test/template.rb +68 -0
  1133. data/vendor/bundle/ruby/3.2.0/gems/guard-compat-1.2.1/lib/guard/compat/version.rb +5 -0
  1134. data/vendor/bundle/ruby/3.2.0/gems/guard-compat-1.2.1/lib/guard/compat.rb +7 -0
  1135. data/vendor/bundle/ruby/3.2.0/gems/guard-compat-1.2.1/spec/guard/compat/example_spec.rb +53 -0
  1136. data/vendor/bundle/ruby/3.2.0/gems/guard-compat-1.2.1/spec/guard/compat/example_template_spec.rb +30 -0
  1137. data/vendor/bundle/ruby/3.2.0/gems/guard-compat-1.2.1/spec/guard/compat/no_guard_spec.rb +63 -0
  1138. data/vendor/bundle/ruby/3.2.0/gems/guard-compat-1.2.1/spec/spec_helper.rb +73 -0
  1139. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/lib/guard/rspec/command.rb +71 -0
  1140. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/lib/guard/rspec/deprecator.rb +86 -0
  1141. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/lib/guard/rspec/dsl.rb +72 -0
  1142. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/lib/guard/rspec/inspectors/base_inspector.rb +73 -0
  1143. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/lib/guard/rspec/inspectors/factory.rb +23 -0
  1144. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/lib/guard/rspec/inspectors/focused_inspector.rb +39 -0
  1145. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/lib/guard/rspec/inspectors/keeping_inspector.rb +97 -0
  1146. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/lib/guard/rspec/inspectors/simple_inspector.rb +21 -0
  1147. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/lib/guard/rspec/notifier.rb +55 -0
  1148. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/lib/guard/rspec/options.rb +37 -0
  1149. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/lib/guard/rspec/results.rb +23 -0
  1150. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/lib/guard/rspec/rspec_process.rb +93 -0
  1151. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/lib/guard/rspec/runner.rb +100 -0
  1152. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/lib/guard/rspec/version.rb +5 -0
  1153. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/lib/guard/rspec.rb +51 -0
  1154. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/lib/guard/rspec_defaults.rb +5 -0
  1155. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/lib/guard/rspec_formatter.rb +147 -0
  1156. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/lib/guard/rspec_formatter_results_path.rb +29 -0
  1157. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/spec/acceptance/fixtures/succeeding_spec.rb +4 -0
  1158. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/spec/acceptance/formatter_spec.rb +46 -0
  1159. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/spec/lib/guard/rspec/command_spec.rb +95 -0
  1160. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/spec/lib/guard/rspec/deprecator_spec.rb +101 -0
  1161. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/spec/lib/guard/rspec/inspectors/base_inspector_spec.rb +144 -0
  1162. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/spec/lib/guard/rspec/inspectors/factory_spec.rb +45 -0
  1163. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/spec/lib/guard/rspec/inspectors/focused_inspector_spec.rb +140 -0
  1164. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/spec/lib/guard/rspec/inspectors/keeping_inspector_spec.rb +200 -0
  1165. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/spec/lib/guard/rspec/inspectors/shared_examples.rb +121 -0
  1166. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/spec/lib/guard/rspec/inspectors/simple_inspector_spec.rb +59 -0
  1167. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/spec/lib/guard/rspec/notifier_spec.rb +90 -0
  1168. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/spec/lib/guard/rspec/results_spec.rb +66 -0
  1169. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/spec/lib/guard/rspec/rspec_process_spec.rb +152 -0
  1170. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/spec/lib/guard/rspec/runner_spec.rb +372 -0
  1171. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/spec/lib/guard/rspec/template_spec.rb +78 -0
  1172. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/spec/lib/guard/rspec_formatter_spec.rb +277 -0
  1173. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/spec/lib/guard/rspec_spec.rb +91 -0
  1174. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/spec/spec_helper.rb +145 -0
  1175. data/vendor/bundle/ruby/3.2.0/gems/hashdiff-1.0.1/lib/hashdiff/compare_hashes.rb +69 -0
  1176. data/vendor/bundle/ruby/3.2.0/gems/hashdiff-1.0.1/lib/hashdiff/diff.rb +177 -0
  1177. data/vendor/bundle/ruby/3.2.0/gems/hashdiff-1.0.1/lib/hashdiff/lcs.rb +66 -0
  1178. data/vendor/bundle/ruby/3.2.0/gems/hashdiff-1.0.1/lib/hashdiff/lcs_compare_arrays.rb +32 -0
  1179. data/vendor/bundle/ruby/3.2.0/gems/hashdiff-1.0.1/lib/hashdiff/linear_compare_array.rb +159 -0
  1180. data/vendor/bundle/ruby/3.2.0/gems/hashdiff-1.0.1/lib/hashdiff/patch.rb +88 -0
  1181. data/vendor/bundle/ruby/3.2.0/gems/hashdiff-1.0.1/lib/hashdiff/util.rb +155 -0
  1182. data/vendor/bundle/ruby/3.2.0/gems/hashdiff-1.0.1/lib/hashdiff/version.rb +5 -0
  1183. data/vendor/bundle/ruby/3.2.0/gems/hashdiff-1.0.1/lib/hashdiff.rb +10 -0
  1184. data/vendor/bundle/ruby/3.2.0/gems/hashdiff-1.0.1/spec/hashdiff/best_diff_spec.rb +75 -0
  1185. data/vendor/bundle/ruby/3.2.0/gems/hashdiff-1.0.1/spec/hashdiff/diff_array_spec.rb +60 -0
  1186. data/vendor/bundle/ruby/3.2.0/gems/hashdiff-1.0.1/spec/hashdiff/diff_spec.rb +360 -0
  1187. data/vendor/bundle/ruby/3.2.0/gems/hashdiff-1.0.1/spec/hashdiff/lcs_spec.rb +76 -0
  1188. data/vendor/bundle/ruby/3.2.0/gems/hashdiff-1.0.1/spec/hashdiff/linear_compare_array_spec.rb +50 -0
  1189. data/vendor/bundle/ruby/3.2.0/gems/hashdiff-1.0.1/spec/hashdiff/patch_spec.rb +185 -0
  1190. data/vendor/bundle/ruby/3.2.0/gems/hashdiff-1.0.1/spec/hashdiff/readme_spec.rb +15 -0
  1191. data/vendor/bundle/ruby/3.2.0/gems/hashdiff-1.0.1/spec/hashdiff/util_spec.rb +116 -0
  1192. data/vendor/bundle/ruby/3.2.0/gems/hashdiff-1.0.1/spec/spec_helper.rb +15 -0
  1193. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/backend/base.rb +304 -0
  1194. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/backend/cache.rb +113 -0
  1195. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/backend/cache_file.rb +36 -0
  1196. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/backend/cascade.rb +56 -0
  1197. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/backend/chain.rb +130 -0
  1198. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/backend/fallbacks.rb +115 -0
  1199. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/backend/flatten.rb +118 -0
  1200. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/backend/gettext.rb +83 -0
  1201. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/backend/interpolation_compiler.rb +123 -0
  1202. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/backend/key_value.rb +204 -0
  1203. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/backend/lazy_loadable.rb +184 -0
  1204. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/backend/memoize.rb +54 -0
  1205. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/backend/metadata.rb +71 -0
  1206. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/backend/pluralization.rb +96 -0
  1207. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/backend/simple.rb +113 -0
  1208. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/backend/transliterator.rb +108 -0
  1209. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/backend.rb +22 -0
  1210. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/config.rb +165 -0
  1211. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/exceptions.rb +157 -0
  1212. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/gettext/helpers.rb +75 -0
  1213. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/gettext/po_parser.rb +329 -0
  1214. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/gettext.rb +28 -0
  1215. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/interpolate/ruby.rb +53 -0
  1216. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/locale/fallbacks.rb +97 -0
  1217. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/locale/tag/parents.rb +24 -0
  1218. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/locale/tag/rfc4646.rb +74 -0
  1219. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/locale/tag/simple.rb +39 -0
  1220. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/locale/tag.rb +28 -0
  1221. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/locale.rb +8 -0
  1222. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/middleware.rb +17 -0
  1223. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/tests/basics.rb +58 -0
  1224. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/tests/defaults.rb +52 -0
  1225. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/tests/interpolation.rb +163 -0
  1226. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/tests/link.rb +66 -0
  1227. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/tests/localization/date.rb +122 -0
  1228. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/tests/localization/date_time.rb +103 -0
  1229. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/tests/localization/procs.rb +118 -0
  1230. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/tests/localization/time.rb +103 -0
  1231. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/tests/localization.rb +19 -0
  1232. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/tests/lookup.rb +81 -0
  1233. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/tests/pluralization.rb +35 -0
  1234. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/tests/procs.rb +66 -0
  1235. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/tests.rb +14 -0
  1236. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/utils.rb +55 -0
  1237. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/version.rb +5 -0
  1238. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n.rb +435 -0
  1239. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/adapter/base.rb +129 -0
  1240. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/adapter/bsd.rb +107 -0
  1241. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/adapter/config.rb +31 -0
  1242. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/adapter/darwin.rb +77 -0
  1243. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/adapter/linux.rb +108 -0
  1244. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/adapter/polling.rb +40 -0
  1245. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/adapter/windows.rb +96 -0
  1246. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/adapter.rb +43 -0
  1247. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/backend.rb +40 -0
  1248. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/change.rb +69 -0
  1249. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/cli.rb +65 -0
  1250. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/directory.rb +93 -0
  1251. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/error.rb +11 -0
  1252. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/event/config.rb +40 -0
  1253. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/event/loop.rb +94 -0
  1254. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/event/processor.rb +126 -0
  1255. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/event/queue.rb +54 -0
  1256. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/file.rb +95 -0
  1257. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/fsm.rb +133 -0
  1258. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/listener/config.rb +41 -0
  1259. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/listener.rb +136 -0
  1260. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/logger.rb +36 -0
  1261. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/monotonic_time.rb +27 -0
  1262. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/options.rb +26 -0
  1263. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/queue_optimizer.rb +129 -0
  1264. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/record/entry.rb +66 -0
  1265. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/record/symlink_detector.rb +41 -0
  1266. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/record.rb +123 -0
  1267. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/silencer/controller.rb +50 -0
  1268. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/silencer.rb +106 -0
  1269. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/thread.rb +54 -0
  1270. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/version.rb +5 -0
  1271. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen.rb +47 -0
  1272. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/context.rb +48 -0
  1273. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/device/date_rolling_log_file.rb +74 -0
  1274. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/device/log_file.rb +40 -0
  1275. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/device/multi.rb +47 -0
  1276. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/device/null.rb +15 -0
  1277. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/device/rolling_log_file.rb +145 -0
  1278. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/device/size_rolling_log_file.rb +63 -0
  1279. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/device/writer.rb +202 -0
  1280. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/device.rb +57 -0
  1281. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/formatter/date_time_formatter.rb +26 -0
  1282. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/formatter/exception_formatter.rb +39 -0
  1283. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/formatter/id_formatter.rb +24 -0
  1284. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/formatter/inspect_formatter.rb +12 -0
  1285. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/formatter/object_formatter.rb +12 -0
  1286. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/formatter/pretty_print_formatter.rb +27 -0
  1287. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/formatter/string_formatter.rb +12 -0
  1288. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/formatter/strip_formatter.rb +12 -0
  1289. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/formatter/structured_formatter.rb +65 -0
  1290. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/formatter/truncate_formatter.rb +27 -0
  1291. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/formatter.rb +198 -0
  1292. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/log_entry.rb +74 -0
  1293. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/logger.rb +641 -0
  1294. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/rack/context.rb +18 -0
  1295. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/rack/request_id.rb +27 -0
  1296. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/rack/unit_of_work.rb +17 -0
  1297. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/rack.rb +9 -0
  1298. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/severity.rb +34 -0
  1299. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/tag_formatter.rb +115 -0
  1300. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/tagged_logger_support.rb +66 -0
  1301. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/tagged_logging.rb +29 -0
  1302. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/tags.rb +48 -0
  1303. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/template.rb +133 -0
  1304. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack.rb +110 -0
  1305. data/vendor/bundle/ruby/3.2.0/gems/method_source-1.0.0/lib/method_source/code_helpers.rb +154 -0
  1306. data/vendor/bundle/ruby/3.2.0/gems/method_source-1.0.0/lib/method_source/source_location.rb +138 -0
  1307. data/vendor/bundle/ruby/3.2.0/gems/method_source-1.0.0/lib/method_source/version.rb +3 -0
  1308. data/vendor/bundle/ruby/3.2.0/gems/method_source-1.0.0/lib/method_source.rb +141 -0
  1309. data/vendor/bundle/ruby/3.2.0/gems/method_source-1.0.0/spec/method_source/code_helpers_spec.rb +43 -0
  1310. data/vendor/bundle/ruby/3.2.0/gems/method_source-1.0.0/spec/method_source_spec.rb +143 -0
  1311. data/vendor/bundle/ruby/3.2.0/gems/method_source-1.0.0/spec/spec_helper.rb +101 -0
  1312. data/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/bench/bench.rb +51 -0
  1313. data/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/lib/mini_mime/version.rb +4 -0
  1314. data/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/lib/mini_mime.rb +186 -0
  1315. data/vendor/bundle/ruby/3.2.0/gems/multi_test-1.1.0/lib/multi_test/assertion_library.rb +73 -0
  1316. data/vendor/bundle/ruby/3.2.0/gems/multi_test-1.1.0/lib/multi_test/minitest_world.rb +10 -0
  1317. data/vendor/bundle/ruby/3.2.0/gems/multi_test-1.1.0/lib/multi_test.rb +33 -0
  1318. data/vendor/bundle/ruby/3.2.0/gems/nenv-0.3.0/lib/nenv/autoenvironment.rb +9 -0
  1319. data/vendor/bundle/ruby/3.2.0/gems/nenv-0.3.0/lib/nenv/builder.rb +9 -0
  1320. data/vendor/bundle/ruby/3.2.0/gems/nenv-0.3.0/lib/nenv/environment/dumper/default.rb +9 -0
  1321. data/vendor/bundle/ruby/3.2.0/gems/nenv-0.3.0/lib/nenv/environment/dumper.rb +15 -0
  1322. data/vendor/bundle/ruby/3.2.0/gems/nenv-0.3.0/lib/nenv/environment/loader/default.rb +9 -0
  1323. data/vendor/bundle/ruby/3.2.0/gems/nenv-0.3.0/lib/nenv/environment/loader/predicate.rb +18 -0
  1324. data/vendor/bundle/ruby/3.2.0/gems/nenv-0.3.0/lib/nenv/environment/loader.rb +20 -0
  1325. data/vendor/bundle/ruby/3.2.0/gems/nenv-0.3.0/lib/nenv/environment.rb +81 -0
  1326. data/vendor/bundle/ruby/3.2.0/gems/nenv-0.3.0/lib/nenv/version.rb +3 -0
  1327. data/vendor/bundle/ruby/3.2.0/gems/nenv-0.3.0/lib/nenv.rb +30 -0
  1328. data/vendor/bundle/ruby/3.2.0/gems/net-scp-4.0.0/lib/net/scp/download.rb +165 -0
  1329. data/vendor/bundle/ruby/3.2.0/gems/net-scp-4.0.0/lib/net/scp/errors.rb +5 -0
  1330. data/vendor/bundle/ruby/3.2.0/gems/net-scp-4.0.0/lib/net/scp/upload.rb +142 -0
  1331. data/vendor/bundle/ruby/3.2.0/gems/net-scp-4.0.0/lib/net/scp/version.rb +68 -0
  1332. data/vendor/bundle/ruby/3.2.0/gems/net-scp-4.0.0/lib/net/scp.rb +448 -0
  1333. data/vendor/bundle/ruby/3.2.0/gems/net-scp-4.0.0/lib/uri/open-scp.rb +20 -0
  1334. data/vendor/bundle/ruby/3.2.0/gems/net-scp-4.0.0/lib/uri/scp.rb +35 -0
  1335. data/vendor/bundle/ruby/3.2.0/gems/net-scp-4.0.0/setup.rb +1331 -0
  1336. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/authentication/agent.rb +284 -0
  1337. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/authentication/certificate.rb +183 -0
  1338. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/authentication/constants.rb +20 -0
  1339. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/authentication/ed25519.rb +186 -0
  1340. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/authentication/ed25519_loader.rb +31 -0
  1341. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/authentication/key_manager.rb +310 -0
  1342. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/authentication/methods/abstract.rb +79 -0
  1343. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/authentication/methods/hostbased.rb +72 -0
  1344. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/authentication/methods/keyboard_interactive.rb +77 -0
  1345. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/authentication/methods/none.rb +34 -0
  1346. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/authentication/methods/password.rb +80 -0
  1347. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/authentication/methods/publickey.rb +137 -0
  1348. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/authentication/pageant.rb +497 -0
  1349. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/authentication/pub_key_fingerprint.rb +43 -0
  1350. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/authentication/session.rb +165 -0
  1351. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/buffer.rb +449 -0
  1352. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/buffered_io.rb +202 -0
  1353. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/config.rb +406 -0
  1354. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/connection/channel.rb +694 -0
  1355. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/connection/constants.rb +33 -0
  1356. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/connection/event_loop.rb +123 -0
  1357. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/connection/keepalive.rb +59 -0
  1358. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/connection/session.rb +712 -0
  1359. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/connection/term.rb +180 -0
  1360. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/errors.rb +106 -0
  1361. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/key_factory.rb +218 -0
  1362. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/known_hosts.rb +265 -0
  1363. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/loggable.rb +62 -0
  1364. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/packet.rb +106 -0
  1365. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/prompt.rb +62 -0
  1366. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/proxy/command.rb +123 -0
  1367. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/proxy/errors.rb +16 -0
  1368. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/proxy/http.rb +98 -0
  1369. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/proxy/https.rb +50 -0
  1370. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/proxy/jump.rb +54 -0
  1371. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/proxy/socks4.rb +67 -0
  1372. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/proxy/socks5.rb +140 -0
  1373. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/service/forward.rb +426 -0
  1374. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/test/channel.rb +147 -0
  1375. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/test/extensions.rb +173 -0
  1376. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/test/kex.rb +46 -0
  1377. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/test/local_packet.rb +53 -0
  1378. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/test/packet.rb +101 -0
  1379. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/test/remote_packet.rb +40 -0
  1380. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/test/script.rb +180 -0
  1381. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/test/socket.rb +65 -0
  1382. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/test.rb +94 -0
  1383. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/algorithms.rb +524 -0
  1384. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/chacha20_poly1305_cipher.rb +117 -0
  1385. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/chacha20_poly1305_cipher_loader.rb +17 -0
  1386. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/cipher_factory.rb +128 -0
  1387. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/constants.rb +40 -0
  1388. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/ctr.rb +115 -0
  1389. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/hmac/abstract.rb +97 -0
  1390. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/hmac/md5.rb +10 -0
  1391. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/hmac/md5_96.rb +9 -0
  1392. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/hmac/none.rb +13 -0
  1393. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/hmac/ripemd160.rb +11 -0
  1394. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/hmac/sha1.rb +11 -0
  1395. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/hmac/sha1_96.rb +9 -0
  1396. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/hmac/sha2_256.rb +11 -0
  1397. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/hmac/sha2_256_96.rb +9 -0
  1398. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/hmac/sha2_256_etm.rb +12 -0
  1399. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/hmac/sha2_512.rb +11 -0
  1400. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/hmac/sha2_512_96.rb +9 -0
  1401. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/hmac/sha2_512_etm.rb +12 -0
  1402. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/hmac.rb +47 -0
  1403. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/identity_cipher.rb +65 -0
  1404. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/kex/abstract.rb +130 -0
  1405. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/kex/abstract5656.rb +72 -0
  1406. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/kex/curve25519_sha256.rb +39 -0
  1407. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/kex/curve25519_sha256_loader.rb +30 -0
  1408. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/kex/diffie_hellman_group14_sha1.rb +37 -0
  1409. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/kex/diffie_hellman_group14_sha256.rb +11 -0
  1410. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/kex/diffie_hellman_group1_sha1.rb +122 -0
  1411. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/kex/diffie_hellman_group_exchange_sha1.rb +72 -0
  1412. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/kex/diffie_hellman_group_exchange_sha256.rb +11 -0
  1413. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/kex/ecdh_sha2_nistp256.rb +39 -0
  1414. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/kex/ecdh_sha2_nistp384.rb +21 -0
  1415. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/kex/ecdh_sha2_nistp521.rb +21 -0
  1416. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/kex.rb +31 -0
  1417. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/key_expander.rb +30 -0
  1418. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/openssl.rb +274 -0
  1419. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/openssl_cipher_extensions.rb +8 -0
  1420. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/packet_stream.rb +301 -0
  1421. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/server_version.rb +77 -0
  1422. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/session.rb +354 -0
  1423. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/state.rb +208 -0
  1424. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/verifiers/accept_new.rb +33 -0
  1425. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/verifiers/accept_new_or_local_tunnel.rb +33 -0
  1426. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/verifiers/always.rb +58 -0
  1427. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/verifiers/never.rb +19 -0
  1428. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/version.rb +68 -0
  1429. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh.rb +336 -0
  1430. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/support/ssh_tunnel_bug.rb +65 -0
  1431. data/vendor/bundle/ruby/3.2.0/gems/notiffany-0.1.3/lib/notiffany/notifier/base.rb +127 -0
  1432. data/vendor/bundle/ruby/3.2.0/gems/notiffany-0.1.3/lib/notiffany/notifier/config.rb +34 -0
  1433. data/vendor/bundle/ruby/3.2.0/gems/notiffany-0.1.3/lib/notiffany/notifier/detected.rb +122 -0
  1434. data/vendor/bundle/ruby/3.2.0/gems/notiffany-0.1.3/lib/notiffany/notifier/emacs/client.rb +52 -0
  1435. data/vendor/bundle/ruby/3.2.0/gems/notiffany-0.1.3/lib/notiffany/notifier/emacs.rb +97 -0
  1436. data/vendor/bundle/ruby/3.2.0/gems/notiffany-0.1.3/lib/notiffany/notifier/file.rb +44 -0
  1437. data/vendor/bundle/ruby/3.2.0/gems/notiffany-0.1.3/lib/notiffany/notifier/gntp.rb +92 -0
  1438. data/vendor/bundle/ruby/3.2.0/gems/notiffany-0.1.3/lib/notiffany/notifier/growl.rb +82 -0
  1439. data/vendor/bundle/ruby/3.2.0/gems/notiffany-0.1.3/lib/notiffany/notifier/libnotify.rb +54 -0
  1440. data/vendor/bundle/ruby/3.2.0/gems/notiffany-0.1.3/lib/notiffany/notifier/notifysend.rb +91 -0
  1441. data/vendor/bundle/ruby/3.2.0/gems/notiffany-0.1.3/lib/notiffany/notifier/rb_notifu.rb +89 -0
  1442. data/vendor/bundle/ruby/3.2.0/gems/notiffany-0.1.3/lib/notiffany/notifier/terminal_notifier.rb +59 -0
  1443. data/vendor/bundle/ruby/3.2.0/gems/notiffany-0.1.3/lib/notiffany/notifier/terminal_title.rb +39 -0
  1444. data/vendor/bundle/ruby/3.2.0/gems/notiffany-0.1.3/lib/notiffany/notifier/tmux/client.rb +107 -0
  1445. data/vendor/bundle/ruby/3.2.0/gems/notiffany-0.1.3/lib/notiffany/notifier/tmux/notification.rb +62 -0
  1446. data/vendor/bundle/ruby/3.2.0/gems/notiffany-0.1.3/lib/notiffany/notifier/tmux/session.rb +40 -0
  1447. data/vendor/bundle/ruby/3.2.0/gems/notiffany-0.1.3/lib/notiffany/notifier/tmux.rb +132 -0
  1448. data/vendor/bundle/ruby/3.2.0/gems/notiffany-0.1.3/lib/notiffany/notifier.rb +210 -0
  1449. data/vendor/bundle/ruby/3.2.0/gems/notiffany-0.1.3/lib/notiffany/version.rb +3 -0
  1450. data/vendor/bundle/ruby/3.2.0/gems/notiffany-0.1.3/lib/notiffany.rb +6 -0
  1451. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/basic_object.rb +10 -0
  1452. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/block_command.rb +22 -0
  1453. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/class_command.rb +194 -0
  1454. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/cli.rb +207 -0
  1455. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/code/code_file.rb +114 -0
  1456. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/code/code_range.rb +73 -0
  1457. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/code/loc.rb +105 -0
  1458. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/code.rb +357 -0
  1459. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/code_object.rb +197 -0
  1460. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/color_printer.rb +66 -0
  1461. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/command.rb +520 -0
  1462. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/command_set.rb +418 -0
  1463. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/command_state.rb +31 -0
  1464. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/amend_line.rb +103 -0
  1465. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/bang.rb +24 -0
  1466. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/bang_pry.rb +21 -0
  1467. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/cat/abstract_formatter.rb +32 -0
  1468. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/cat/exception_formatter.rb +90 -0
  1469. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/cat/file_formatter.rb +77 -0
  1470. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/cat/input_expression_formatter.rb +48 -0
  1471. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/cat.rb +70 -0
  1472. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/cd.rb +46 -0
  1473. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/change_inspector.rb +34 -0
  1474. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/change_prompt.rb +51 -0
  1475. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/clear_screen.rb +20 -0
  1476. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/code_collector.rb +182 -0
  1477. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/disable_pry.rb +31 -0
  1478. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/easter_eggs.rb +101 -0
  1479. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/edit/exception_patcher.rb +29 -0
  1480. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/edit/file_and_line_locator.rb +47 -0
  1481. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/edit.rb +223 -0
  1482. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/exit.rb +47 -0
  1483. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/exit_all.rb +33 -0
  1484. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/exit_program.rb +27 -0
  1485. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/find_method.rb +199 -0
  1486. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/fix_indent.rb +23 -0
  1487. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/help.rb +171 -0
  1488. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/hist.rb +182 -0
  1489. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/import_set.rb +27 -0
  1490. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/jump_to.rb +33 -0
  1491. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/list_inspectors.rb +42 -0
  1492. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/ls/constants.rb +75 -0
  1493. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/ls/formatter.rb +55 -0
  1494. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/ls/globals.rb +50 -0
  1495. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/ls/grep.rb +23 -0
  1496. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/ls/instance_vars.rb +40 -0
  1497. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/ls/interrogatable.rb +24 -0
  1498. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/ls/jruby_hacks.rb +55 -0
  1499. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/ls/local_names.rb +37 -0
  1500. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/ls/local_vars.rb +47 -0
  1501. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/ls/ls_entity.rb +65 -0
  1502. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/ls/methods.rb +55 -0
  1503. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/ls/methods_helper.rb +50 -0
  1504. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/ls/self_methods.rb +34 -0
  1505. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/ls.rb +135 -0
  1506. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/nesting.rb +29 -0
  1507. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/play.rb +113 -0
  1508. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/pry_backtrace.rb +30 -0
  1509. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/pry_version.rb +21 -0
  1510. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/raise_up.rb +38 -0
  1511. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/reload_code.rb +74 -0
  1512. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/reset.rb +22 -0
  1513. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/ri.rb +75 -0
  1514. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/save_file.rb +63 -0
  1515. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/shell_command.rb +75 -0
  1516. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/shell_mode.rb +29 -0
  1517. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/show_doc.rb +93 -0
  1518. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/show_info.rb +234 -0
  1519. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/show_input.rb +22 -0
  1520. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/show_source.rb +118 -0
  1521. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/stat.rb +44 -0
  1522. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/switch_to.rb +29 -0
  1523. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/toggle_color.rb +28 -0
  1524. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/watch_expression/expression.rb +43 -0
  1525. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/watch_expression.rb +110 -0
  1526. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/whereami.rb +205 -0
  1527. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/wtf.rb +95 -0
  1528. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/config/attributable.rb +22 -0
  1529. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/config/lazy_value.rb +29 -0
  1530. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/config/memoized_value.rb +34 -0
  1531. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/config/value.rb +24 -0
  1532. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/config.rb +314 -0
  1533. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/control_d_handler.rb +28 -0
  1534. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/core_extensions.rb +144 -0
  1535. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/editor.rb +157 -0
  1536. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/env.rb +18 -0
  1537. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/exception_handler.rb +43 -0
  1538. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/exceptions.rb +73 -0
  1539. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/forwardable.rb +27 -0
  1540. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/helpers/base_helpers.rb +71 -0
  1541. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/helpers/command_helpers.rb +146 -0
  1542. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/helpers/documentation_helpers.rb +84 -0
  1543. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/helpers/options_helpers.rb +34 -0
  1544. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/helpers/platform.rb +55 -0
  1545. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/helpers/table.rb +121 -0
  1546. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/helpers/text.rb +118 -0
  1547. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/helpers.rb +8 -0
  1548. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/history.rb +153 -0
  1549. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/hooks.rb +180 -0
  1550. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/indent.rb +412 -0
  1551. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/input_completer.rb +283 -0
  1552. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/input_lock.rb +129 -0
  1553. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/inspector.rb +39 -0
  1554. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/last_exception.rb +61 -0
  1555. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/method/disowned.rb +67 -0
  1556. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/method/patcher.rb +131 -0
  1557. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/method/weird_method_locator.rb +222 -0
  1558. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/method.rb +600 -0
  1559. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/object_path.rb +91 -0
  1560. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/output.rb +136 -0
  1561. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/pager.rb +249 -0
  1562. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/prompt.rb +214 -0
  1563. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/pry_class.rb +396 -0
  1564. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/pry_instance.rb +701 -0
  1565. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/repl.rb +256 -0
  1566. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/repl_file_loader.rb +79 -0
  1567. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/ring.rb +89 -0
  1568. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/slop/commands.rb +190 -0
  1569. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/slop/option.rb +210 -0
  1570. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/slop.rb +672 -0
  1571. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/syntax_highlighter.rb +26 -0
  1572. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/system_command_handler.rb +17 -0
  1573. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/testable/evalable.rb +24 -0
  1574. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/testable/mockable.rb +22 -0
  1575. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/testable/pry_tester.rb +88 -0
  1576. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/testable/utility.rb +34 -0
  1577. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/testable/variables.rb +52 -0
  1578. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/testable.rb +68 -0
  1579. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/version.rb +5 -0
  1580. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/warning.rb +20 -0
  1581. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/wrapped_module/candidate.rb +139 -0
  1582. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/wrapped_module.rb +382 -0
  1583. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry.rb +145 -0
  1584. data/vendor/bundle/ruby/3.2.0/gems/pry-byebug-3.10.1/lib/byebug/processors/pry_processor.rb +158 -0
  1585. data/vendor/bundle/ruby/3.2.0/gems/pry-byebug-3.10.1/lib/pry/byebug/breakpoints.rb +167 -0
  1586. data/vendor/bundle/ruby/3.2.0/gems/pry-byebug-3.10.1/lib/pry-byebug/base.rb +29 -0
  1587. data/vendor/bundle/ruby/3.2.0/gems/pry-byebug-3.10.1/lib/pry-byebug/cli.rb +6 -0
  1588. data/vendor/bundle/ruby/3.2.0/gems/pry-byebug-3.10.1/lib/pry-byebug/commands/backtrace.rb +31 -0
  1589. data/vendor/bundle/ruby/3.2.0/gems/pry-byebug-3.10.1/lib/pry-byebug/commands/breakpoint.rb +137 -0
  1590. data/vendor/bundle/ruby/3.2.0/gems/pry-byebug-3.10.1/lib/pry-byebug/commands/continue.rb +43 -0
  1591. data/vendor/bundle/ruby/3.2.0/gems/pry-byebug-3.10.1/lib/pry-byebug/commands/down.rb +35 -0
  1592. data/vendor/bundle/ruby/3.2.0/gems/pry-byebug-3.10.1/lib/pry-byebug/commands/exit_all.rb +18 -0
  1593. data/vendor/bundle/ruby/3.2.0/gems/pry-byebug-3.10.1/lib/pry-byebug/commands/finish.rb +28 -0
  1594. data/vendor/bundle/ruby/3.2.0/gems/pry-byebug-3.10.1/lib/pry-byebug/commands/frame.rb +35 -0
  1595. data/vendor/bundle/ruby/3.2.0/gems/pry-byebug-3.10.1/lib/pry-byebug/commands/next.rb +39 -0
  1596. data/vendor/bundle/ruby/3.2.0/gems/pry-byebug-3.10.1/lib/pry-byebug/commands/step.rb +34 -0
  1597. data/vendor/bundle/ruby/3.2.0/gems/pry-byebug-3.10.1/lib/pry-byebug/commands/up.rb +35 -0
  1598. data/vendor/bundle/ruby/3.2.0/gems/pry-byebug-3.10.1/lib/pry-byebug/commands.rb +12 -0
  1599. data/vendor/bundle/ruby/3.2.0/gems/pry-byebug-3.10.1/lib/pry-byebug/control_d_handler.rb +9 -0
  1600. data/vendor/bundle/ruby/3.2.0/gems/pry-byebug-3.10.1/lib/pry-byebug/helpers/breakpoints.rb +82 -0
  1601. data/vendor/bundle/ruby/3.2.0/gems/pry-byebug-3.10.1/lib/pry-byebug/helpers/location.rb +24 -0
  1602. data/vendor/bundle/ruby/3.2.0/gems/pry-byebug-3.10.1/lib/pry-byebug/helpers/multiline.rb +23 -0
  1603. data/vendor/bundle/ruby/3.2.0/gems/pry-byebug-3.10.1/lib/pry-byebug/helpers/navigation.rb +19 -0
  1604. data/vendor/bundle/ruby/3.2.0/gems/pry-byebug-3.10.1/lib/pry-byebug/pry_ext.rb +20 -0
  1605. data/vendor/bundle/ruby/3.2.0/gems/pry-byebug-3.10.1/lib/pry-byebug/pry_remote_ext.rb +44 -0
  1606. data/vendor/bundle/ruby/3.2.0/gems/pry-byebug-3.10.1/lib/pry-byebug/version.rb +8 -0
  1607. data/vendor/bundle/ruby/3.2.0/gems/pry-byebug-3.10.1/lib/pry-byebug.rb +4 -0
  1608. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/ext/psych/extconf.rb +53 -0
  1609. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/class_loader.rb +104 -0
  1610. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/coder.rb +95 -0
  1611. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/core_ext.rb +19 -0
  1612. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/exception.rb +28 -0
  1613. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/handler.rb +255 -0
  1614. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/handlers/document_stream.rb +23 -0
  1615. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/handlers/recorder.rb +40 -0
  1616. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/json/ruby_events.rb +20 -0
  1617. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/json/stream.rb +17 -0
  1618. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/json/tree_builder.rb +13 -0
  1619. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/json/yaml_events.rb +30 -0
  1620. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/nodes/alias.rb +21 -0
  1621. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/nodes/document.rb +63 -0
  1622. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/nodes/mapping.rb +59 -0
  1623. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/nodes/node.rb +75 -0
  1624. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/nodes/scalar.rb +70 -0
  1625. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/nodes/sequence.rb +84 -0
  1626. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/nodes/stream.rb +40 -0
  1627. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/nodes.rb +78 -0
  1628. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/omap.rb +5 -0
  1629. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/parser.rb +65 -0
  1630. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/scalar_scanner.rb +142 -0
  1631. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/set.rb +5 -0
  1632. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/stream.rb +38 -0
  1633. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/streaming.rb +28 -0
  1634. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/syntax_error.rb +22 -0
  1635. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/tree_builder.rb +137 -0
  1636. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/versions.rb +10 -0
  1637. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/visitors/depth_first.rb +27 -0
  1638. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/visitors/emitter.rb +52 -0
  1639. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/visitors/json_tree.rb +25 -0
  1640. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/visitors/to_ruby.rb +436 -0
  1641. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/visitors/visitor.rb +34 -0
  1642. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/visitors/yaml_tree.rb +587 -0
  1643. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/visitors.rb +7 -0
  1644. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/y.rb +10 -0
  1645. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych.rb +745 -0
  1646. data/vendor/bundle/ruby/3.2.0/gems/public_suffix-5.0.3/lib/public_suffix/domain.rb +235 -0
  1647. data/vendor/bundle/ruby/3.2.0/gems/public_suffix-5.0.3/lib/public_suffix/errors.rb +41 -0
  1648. data/vendor/bundle/ruby/3.2.0/gems/public_suffix-5.0.3/lib/public_suffix/list.rb +247 -0
  1649. data/vendor/bundle/ruby/3.2.0/gems/public_suffix-5.0.3/lib/public_suffix/rule.rb +350 -0
  1650. data/vendor/bundle/ruby/3.2.0/gems/public_suffix-5.0.3/lib/public_suffix/version.rb +14 -0
  1651. data/vendor/bundle/ruby/3.2.0/gems/public_suffix-5.0.3/lib/public_suffix.rb +177 -0
  1652. data/vendor/bundle/ruby/3.2.0/gems/public_suffix-5.0.3/test/acceptance_test.rb +131 -0
  1653. data/vendor/bundle/ruby/3.2.0/gems/public_suffix-5.0.3/test/benchmarks/bm_find.rb +66 -0
  1654. data/vendor/bundle/ruby/3.2.0/gems/public_suffix-5.0.3/test/benchmarks/bm_find_all.rb +102 -0
  1655. data/vendor/bundle/ruby/3.2.0/gems/public_suffix-5.0.3/test/benchmarks/bm_names.rb +91 -0
  1656. data/vendor/bundle/ruby/3.2.0/gems/public_suffix-5.0.3/test/benchmarks/bm_select.rb +26 -0
  1657. data/vendor/bundle/ruby/3.2.0/gems/public_suffix-5.0.3/test/benchmarks/bm_select_incremental.rb +25 -0
  1658. data/vendor/bundle/ruby/3.2.0/gems/public_suffix-5.0.3/test/benchmarks/bm_valid.rb +101 -0
  1659. data/vendor/bundle/ruby/3.2.0/gems/public_suffix-5.0.3/test/profilers/domain_profiler.rb +12 -0
  1660. data/vendor/bundle/ruby/3.2.0/gems/public_suffix-5.0.3/test/profilers/find_profiler.rb +12 -0
  1661. data/vendor/bundle/ruby/3.2.0/gems/public_suffix-5.0.3/test/profilers/find_profiler_jp.rb +12 -0
  1662. data/vendor/bundle/ruby/3.2.0/gems/public_suffix-5.0.3/test/profilers/initialization_profiler.rb +11 -0
  1663. data/vendor/bundle/ruby/3.2.0/gems/public_suffix-5.0.3/test/profilers/list_profsize.rb +11 -0
  1664. data/vendor/bundle/ruby/3.2.0/gems/public_suffix-5.0.3/test/profilers/object_binsize.rb +57 -0
  1665. data/vendor/bundle/ruby/3.2.0/gems/public_suffix-5.0.3/test/psl_test.rb +52 -0
  1666. data/vendor/bundle/ruby/3.2.0/gems/public_suffix-5.0.3/test/test_helper.rb +10 -0
  1667. data/vendor/bundle/ruby/3.2.0/gems/public_suffix-5.0.3/test/unit/domain_test.rb +106 -0
  1668. data/vendor/bundle/ruby/3.2.0/gems/public_suffix-5.0.3/test/unit/errors_test.rb +25 -0
  1669. data/vendor/bundle/ruby/3.2.0/gems/public_suffix-5.0.3/test/unit/list_test.rb +241 -0
  1670. data/vendor/bundle/ruby/3.2.0/gems/public_suffix-5.0.3/test/unit/public_suffix_test.rb +188 -0
  1671. data/vendor/bundle/ruby/3.2.0/gems/public_suffix-5.0.3/test/unit/rule_test.rb +222 -0
  1672. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/doc/jamis.rb +592 -0
  1673. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/application.rb +831 -0
  1674. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/backtrace.rb +24 -0
  1675. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/clean.rb +78 -0
  1676. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/cloneable.rb +17 -0
  1677. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/cpu_counter.rb +107 -0
  1678. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/default_loader.rb +15 -0
  1679. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/dsl_definition.rb +195 -0
  1680. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/early_time.rb +22 -0
  1681. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/ext/core.rb +26 -0
  1682. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/ext/string.rb +176 -0
  1683. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/file_creation_task.rb +25 -0
  1684. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/file_list.rb +435 -0
  1685. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/file_task.rb +54 -0
  1686. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/file_utils.rb +134 -0
  1687. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/file_utils_ext.rb +134 -0
  1688. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/invocation_chain.rb +57 -0
  1689. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/invocation_exception_mixin.rb +17 -0
  1690. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/late_time.rb +18 -0
  1691. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/linked_list.rb +112 -0
  1692. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/loaders/makefile.rb +54 -0
  1693. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/multi_task.rb +14 -0
  1694. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/name_space.rb +38 -0
  1695. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/packagetask.rb +222 -0
  1696. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/phony.rb +16 -0
  1697. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/private_reader.rb +21 -0
  1698. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/promise.rb +100 -0
  1699. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/pseudo_status.rb +30 -0
  1700. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/rake_module.rb +67 -0
  1701. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/rake_test_loader.rb +27 -0
  1702. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/rule_recursion_overflow_error.rb +20 -0
  1703. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/scope.rb +43 -0
  1704. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/task.rb +434 -0
  1705. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/task_argument_error.rb +8 -0
  1706. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/task_arguments.rb +109 -0
  1707. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/task_manager.rb +331 -0
  1708. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/tasklib.rb +12 -0
  1709. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/testtask.rb +189 -0
  1710. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/thread_history_display.rb +49 -0
  1711. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/thread_pool.rb +163 -0
  1712. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/trace_output.rb +23 -0
  1713. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/version.rb +10 -0
  1714. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/win32.rb +51 -0
  1715. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake.rb +71 -0
  1716. data/vendor/bundle/ruby/3.2.0/gems/rb-fsevent-0.11.2/ext/rakefile.rb +231 -0
  1717. data/vendor/bundle/ruby/3.2.0/gems/rb-fsevent-0.11.2/lib/otnetstring.rb +85 -0
  1718. data/vendor/bundle/ruby/3.2.0/gems/rb-fsevent-0.11.2/lib/rb-fsevent/fsevent.rb +157 -0
  1719. data/vendor/bundle/ruby/3.2.0/gems/rb-fsevent-0.11.2/lib/rb-fsevent/version.rb +5 -0
  1720. data/vendor/bundle/ruby/3.2.0/gems/rb-fsevent-0.11.2/lib/rb-fsevent.rb +3 -0
  1721. data/vendor/bundle/ruby/3.2.0/gems/rb-inotify-0.10.1/lib/rb-inotify/errors.rb +3 -0
  1722. data/vendor/bundle/ruby/3.2.0/gems/rb-inotify-0.10.1/lib/rb-inotify/event.rb +146 -0
  1723. data/vendor/bundle/ruby/3.2.0/gems/rb-inotify-0.10.1/lib/rb-inotify/native/flags.rb +94 -0
  1724. data/vendor/bundle/ruby/3.2.0/gems/rb-inotify-0.10.1/lib/rb-inotify/native.rb +33 -0
  1725. data/vendor/bundle/ruby/3.2.0/gems/rb-inotify-0.10.1/lib/rb-inotify/notifier.rb +326 -0
  1726. data/vendor/bundle/ruby/3.2.0/gems/rb-inotify-0.10.1/lib/rb-inotify/version.rb +24 -0
  1727. data/vendor/bundle/ruby/3.2.0/gems/rb-inotify-0.10.1/lib/rb-inotify/watcher.rb +88 -0
  1728. data/vendor/bundle/ruby/3.2.0/gems/rb-inotify-0.10.1/lib/rb-inotify.rb +15 -0
  1729. data/vendor/bundle/ruby/3.2.0/gems/rb-inotify-0.10.1/spec/inotify_spec.rb +9 -0
  1730. data/vendor/bundle/ruby/3.2.0/gems/rb-inotify-0.10.1/spec/notifier_spec.rb +180 -0
  1731. data/vendor/bundle/ruby/3.2.0/gems/rb-inotify-0.10.1/spec/spec_helper.rb +29 -0
  1732. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/attlistdecl.rb +63 -0
  1733. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/attribute.rb +210 -0
  1734. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/cdata.rb +68 -0
  1735. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/child.rb +97 -0
  1736. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/comment.rb +80 -0
  1737. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/doctype.rb +311 -0
  1738. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/document.rb +451 -0
  1739. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/dtd/attlistdecl.rb +11 -0
  1740. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/dtd/dtd.rb +47 -0
  1741. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/dtd/elementdecl.rb +18 -0
  1742. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/dtd/entitydecl.rb +57 -0
  1743. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/dtd/notationdecl.rb +40 -0
  1744. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/element.rb +2599 -0
  1745. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/encoding.rb +51 -0
  1746. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/entity.rb +181 -0
  1747. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/formatters/default.rb +116 -0
  1748. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/formatters/pretty.rb +142 -0
  1749. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/formatters/transitive.rb +58 -0
  1750. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/functions.rb +447 -0
  1751. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/instruction.rb +79 -0
  1752. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/light/node.rb +188 -0
  1753. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/namespace.rb +63 -0
  1754. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/node.rb +76 -0
  1755. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/output.rb +30 -0
  1756. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/parent.rb +166 -0
  1757. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/parseexception.rb +52 -0
  1758. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/parsers/baseparser.rb +694 -0
  1759. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/parsers/lightparser.rb +59 -0
  1760. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/parsers/pullparser.rb +197 -0
  1761. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/parsers/sax2parser.rb +273 -0
  1762. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/parsers/streamparser.rb +61 -0
  1763. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/parsers/treeparser.rb +101 -0
  1764. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/parsers/ultralightparser.rb +57 -0
  1765. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/parsers/xpathparser.rb +739 -0
  1766. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/quickpath.rb +266 -0
  1767. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/rexml.rb +39 -0
  1768. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/sax2listener.rb +98 -0
  1769. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/security.rb +28 -0
  1770. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/source.rb +298 -0
  1771. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/streamlistener.rb +93 -0
  1772. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/text.rb +426 -0
  1773. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/undefinednamespaceexception.rb +9 -0
  1774. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/validation/relaxng.rb +539 -0
  1775. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/validation/validation.rb +144 -0
  1776. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/validation/validationexception.rb +10 -0
  1777. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/xmldecl.rb +130 -0
  1778. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/xmltokens.rb +85 -0
  1779. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/xpath.rb +81 -0
  1780. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/xpath_parser.rb +974 -0
  1781. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml.rb +3 -0
  1782. data/vendor/bundle/ruby/3.2.0/gems/rspec-3.12.0/lib/rspec/version.rb +5 -0
  1783. data/vendor/bundle/ruby/3.2.0/gems/rspec-3.12.0/lib/rspec.rb +3 -0
  1784. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/autorun.rb +3 -0
  1785. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/backtrace_formatter.rb +65 -0
  1786. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/bisect/coordinator.rb +62 -0
  1787. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/bisect/example_minimizer.rb +173 -0
  1788. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/bisect/fork_runner.rb +138 -0
  1789. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/bisect/server.rb +61 -0
  1790. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/bisect/shell_command.rb +126 -0
  1791. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/bisect/shell_runner.rb +73 -0
  1792. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/bisect/utilities.rb +69 -0
  1793. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/configuration.rb +2385 -0
  1794. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/configuration_options.rb +233 -0
  1795. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/did_you_mean.rb +46 -0
  1796. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/drb.rb +120 -0
  1797. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/dsl.rb +98 -0
  1798. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/example.rb +666 -0
  1799. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/example_group.rb +905 -0
  1800. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/example_status_persister.rb +235 -0
  1801. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/filter_manager.rb +231 -0
  1802. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/flat_map.rb +20 -0
  1803. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/base_bisect_formatter.rb +45 -0
  1804. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/base_formatter.rb +70 -0
  1805. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/base_text_formatter.rb +75 -0
  1806. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/bisect_drb_formatter.rb +29 -0
  1807. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/bisect_progress_formatter.rb +157 -0
  1808. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/console_codes.rb +76 -0
  1809. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/deprecation_formatter.rb +223 -0
  1810. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/documentation_formatter.rb +102 -0
  1811. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/exception_presenter.rb +525 -0
  1812. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/failure_list_formatter.rb +23 -0
  1813. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/fallback_message_formatter.rb +28 -0
  1814. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/helpers.rb +118 -0
  1815. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/html_formatter.rb +153 -0
  1816. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/html_printer.rb +412 -0
  1817. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/html_snippet_extractor.rb +120 -0
  1818. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/json_formatter.rb +102 -0
  1819. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/profile_formatter.rb +68 -0
  1820. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/progress_formatter.rb +29 -0
  1821. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/protocol.rb +182 -0
  1822. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/snippet_extractor.rb +134 -0
  1823. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/syntax_highlighter.rb +91 -0
  1824. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters.rb +279 -0
  1825. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/hooks.rb +646 -0
  1826. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/invocations.rb +87 -0
  1827. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/memoized_helpers.rb +580 -0
  1828. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/metadata.rb +498 -0
  1829. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/metadata_filter.rb +255 -0
  1830. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/minitest_assertions_adapter.rb +31 -0
  1831. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/mocking_adapters/flexmock.rb +31 -0
  1832. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/mocking_adapters/mocha.rb +57 -0
  1833. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/mocking_adapters/null.rb +14 -0
  1834. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/mocking_adapters/rr.rb +31 -0
  1835. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/mocking_adapters/rspec.rb +32 -0
  1836. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/notifications.rb +521 -0
  1837. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/option_parser.rb +323 -0
  1838. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/ordering.rb +169 -0
  1839. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/output_wrapper.rb +29 -0
  1840. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/pending.rb +157 -0
  1841. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/profiler.rb +34 -0
  1842. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/project_initializer/spec/spec_helper.rb +98 -0
  1843. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/project_initializer.rb +48 -0
  1844. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/rake_task.rb +188 -0
  1845. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/reporter.rb +265 -0
  1846. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/ruby_project.rb +53 -0
  1847. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/runner.rb +212 -0
  1848. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/sandbox.rb +37 -0
  1849. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/set.rb +54 -0
  1850. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/shared_context.rb +55 -0
  1851. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/shared_example_group.rb +271 -0
  1852. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/shell_escape.rb +49 -0
  1853. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/test_unit_assertions_adapter.rb +30 -0
  1854. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/version.rb +9 -0
  1855. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/warnings.rb +40 -0
  1856. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/world.rb +287 -0
  1857. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core.rb +212 -0
  1858. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/expectations/block_snippet_extractor.rb +253 -0
  1859. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/expectations/configuration.rb +230 -0
  1860. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/expectations/expectation_target.rb +163 -0
  1861. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/expectations/fail_with.rb +39 -0
  1862. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/expectations/failure_aggregator.rb +229 -0
  1863. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/expectations/handler.rb +182 -0
  1864. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/expectations/minitest_integration.rb +58 -0
  1865. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/expectations/syntax.rb +132 -0
  1866. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/expectations/version.rb +8 -0
  1867. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/expectations.rb +82 -0
  1868. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/aliased_matcher.rb +116 -0
  1869. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/all.rb +86 -0
  1870. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/base_matcher.rb +198 -0
  1871. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/be.rb +191 -0
  1872. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/be_between.rb +77 -0
  1873. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/be_instance_of.rb +26 -0
  1874. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/be_kind_of.rb +20 -0
  1875. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/be_within.rb +72 -0
  1876. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/change.rb +450 -0
  1877. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/compound.rb +290 -0
  1878. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/contain_exactly.rb +310 -0
  1879. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/count_expectation.rb +169 -0
  1880. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/cover.rb +24 -0
  1881. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/eq.rb +40 -0
  1882. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/eql.rb +34 -0
  1883. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/equal.rb +81 -0
  1884. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/exist.rb +90 -0
  1885. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/has.rb +167 -0
  1886. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/have_attributes.rb +114 -0
  1887. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/include.rb +213 -0
  1888. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/match.rb +106 -0
  1889. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/operators.rb +128 -0
  1890. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/output.rb +207 -0
  1891. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/raise_error.rb +271 -0
  1892. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/respond_to.rb +200 -0
  1893. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/satisfy.rb +60 -0
  1894. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/start_or_end_with.rb +94 -0
  1895. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/throw_symbol.rb +138 -0
  1896. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/yield.rb +375 -0
  1897. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in.rb +53 -0
  1898. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/composable.rb +171 -0
  1899. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/dsl.rb +545 -0
  1900. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/english_phrasing.rb +58 -0
  1901. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/expecteds_for_multiple_diffs.rb +82 -0
  1902. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/fail_matchers.rb +42 -0
  1903. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/generated_descriptions.rb +41 -0
  1904. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/matcher_delegator.rb +35 -0
  1905. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/matcher_protocol.rb +105 -0
  1906. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers.rb +1044 -0
  1907. data/vendor/bundle/ruby/3.2.0/gems/rspec-its-1.3.0/features/step_definitions/additional_cli_steps.rb +32 -0
  1908. data/vendor/bundle/ruby/3.2.0/gems/rspec-its-1.3.0/features/support/env.rb +23 -0
  1909. data/vendor/bundle/ruby/3.2.0/gems/rspec-its-1.3.0/lib/rspec/its/version.rb +5 -0
  1910. data/vendor/bundle/ruby/3.2.0/gems/rspec-its-1.3.0/lib/rspec/its.rb +182 -0
  1911. data/vendor/bundle/ruby/3.2.0/gems/rspec-its-1.3.0/spec/rspec/its_spec.rb +380 -0
  1912. data/vendor/bundle/ruby/3.2.0/gems/rspec-its-1.3.0/spec/spec_helper.rb +15 -0
  1913. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/any_instance/chain.rb +111 -0
  1914. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/any_instance/error_generator.rb +31 -0
  1915. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/any_instance/expect_chain_chain.rb +31 -0
  1916. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/any_instance/expectation_chain.rb +50 -0
  1917. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/any_instance/message_chains.rb +83 -0
  1918. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/any_instance/proxy.rb +125 -0
  1919. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/any_instance/recorder.rb +295 -0
  1920. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/any_instance/stub_chain.rb +51 -0
  1921. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/any_instance/stub_chain_chain.rb +23 -0
  1922. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/any_instance.rb +11 -0
  1923. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/argument_list_matcher.rb +117 -0
  1924. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/argument_matchers.rb +322 -0
  1925. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/configuration.rb +212 -0
  1926. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/error_generator.rb +390 -0
  1927. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/example_methods.rb +434 -0
  1928. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/instance_method_stasher.rb +146 -0
  1929. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/marshal_extension.rb +41 -0
  1930. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/matchers/expectation_customization.rb +20 -0
  1931. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/matchers/have_received.rb +134 -0
  1932. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/matchers/receive.rb +134 -0
  1933. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/matchers/receive_message_chain.rb +82 -0
  1934. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/matchers/receive_messages.rb +77 -0
  1935. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/message_chain.rb +87 -0
  1936. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/message_expectation.rb +820 -0
  1937. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/method_double.rb +316 -0
  1938. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/method_reference.rb +214 -0
  1939. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/minitest_integration.rb +68 -0
  1940. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/mutate_const.rb +339 -0
  1941. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/object_reference.rb +149 -0
  1942. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/order_group.rb +81 -0
  1943. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/proxy.rb +520 -0
  1944. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/space.rb +238 -0
  1945. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/standalone.rb +3 -0
  1946. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/syntax.rb +325 -0
  1947. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/targets.rb +124 -0
  1948. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/test_double.rb +171 -0
  1949. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/verifying_double.rb +123 -0
  1950. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/verifying_message_expectation.rb +55 -0
  1951. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/verifying_proxy.rb +221 -0
  1952. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/version.rb +9 -0
  1953. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks.rb +133 -0
  1954. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/caller_filter.rb +83 -0
  1955. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/comparable_version.rb +46 -0
  1956. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/differ.rb +215 -0
  1957. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/directory_maker.rb +63 -0
  1958. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/encoded_string.rb +161 -0
  1959. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/fuzzy_matcher.rb +48 -0
  1960. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/hunk_generator.rb +47 -0
  1961. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/matcher_definition.rb +42 -0
  1962. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/method_signature_verifier.rb +438 -0
  1963. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/mutex.rb +73 -0
  1964. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/object_formatter.rb +275 -0
  1965. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/recursive_const_methods.rb +76 -0
  1966. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/reentrant_mutex.rb +78 -0
  1967. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/ruby_features.rb +198 -0
  1968. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/source/location.rb +21 -0
  1969. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/source/node.rb +110 -0
  1970. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/source/token.rb +94 -0
  1971. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/source.rb +85 -0
  1972. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/spec/deprecation_helpers.rb +48 -0
  1973. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/spec/diff_helpers.rb +31 -0
  1974. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/spec/formatting_support.rb +9 -0
  1975. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/spec/in_sub_process.rb +67 -0
  1976. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/spec/library_wide_checks.rb +150 -0
  1977. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/spec/shell_out.rb +108 -0
  1978. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/spec/stderr_splitter.rb +75 -0
  1979. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/spec/string_matcher.rb +45 -0
  1980. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/spec/with_isolated_directory.rb +13 -0
  1981. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/spec/with_isolated_stderr.rb +13 -0
  1982. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/spec.rb +82 -0
  1983. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/version.rb +7 -0
  1984. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/warnings.rb +39 -0
  1985. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/with_keywords_when_needed.rb +33 -0
  1986. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support.rb +160 -0
  1987. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/ext/ruby_prof/extconf.rb +22 -0
  1988. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/lib/ruby-prof/call_tree.rb +57 -0
  1989. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/lib/ruby-prof/call_tree_visitor.rb +36 -0
  1990. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/lib/ruby-prof/compatibility.rb +113 -0
  1991. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/lib/ruby-prof/exclude_common_methods.rb +198 -0
  1992. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/lib/ruby-prof/measurement.rb +17 -0
  1993. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/lib/ruby-prof/method_info.rb +85 -0
  1994. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/lib/ruby-prof/printers/abstract_printer.rb +138 -0
  1995. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/lib/ruby-prof/printers/call_info_printer.rb +53 -0
  1996. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/lib/ruby-prof/printers/call_stack_printer.rb +180 -0
  1997. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/lib/ruby-prof/printers/call_tree_printer.rb +145 -0
  1998. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/lib/ruby-prof/printers/dot_printer.rb +132 -0
  1999. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/lib/ruby-prof/printers/flat_printer.rb +53 -0
  2000. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/lib/ruby-prof/printers/graph_html_printer.rb +63 -0
  2001. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/lib/ruby-prof/printers/graph_printer.rb +113 -0
  2002. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/lib/ruby-prof/printers/multi_printer.rb +127 -0
  2003. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/lib/ruby-prof/profile.rb +70 -0
  2004. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/lib/ruby-prof/rack.rb +105 -0
  2005. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/lib/ruby-prof/task.rb +147 -0
  2006. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/lib/ruby-prof/thread.rb +20 -0
  2007. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/lib/ruby-prof/version.rb +3 -0
  2008. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/lib/ruby-prof.rb +52 -0
  2009. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/lib/unprof.rb +10 -0
  2010. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/abstract_printer_test.rb +27 -0
  2011. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/alias_test.rb +117 -0
  2012. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/call_tree_builder.rb +126 -0
  2013. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/call_tree_test.rb +94 -0
  2014. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/call_tree_visitor_test.rb +27 -0
  2015. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/call_trees_test.rb +66 -0
  2016. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/compatibility_test.rb +49 -0
  2017. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/duplicate_names_test.rb +32 -0
  2018. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/dynamic_method_test.rb +62 -0
  2019. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/enumerable_test.rb +21 -0
  2020. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/exceptions_test.rb +24 -0
  2021. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/exclude_methods_test.rb +146 -0
  2022. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/exclude_threads_test.rb +48 -0
  2023. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/fiber_test.rb +195 -0
  2024. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/gc_test.rb +102 -0
  2025. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/inverse_call_tree_test.rb +174 -0
  2026. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/line_number_test.rb +134 -0
  2027. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/marshal_test.rb +145 -0
  2028. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/measure_allocations.rb +26 -0
  2029. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/measure_allocations_test.rb +660 -0
  2030. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/measure_memory_test.rb +1024 -0
  2031. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/measure_process_time_test.rb +1610 -0
  2032. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/measure_times.rb +56 -0
  2033. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/measure_wall_time_test.rb +421 -0
  2034. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/measurement_test.rb +82 -0
  2035. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/merge_test.rb +146 -0
  2036. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/method_info_test.rb +95 -0
  2037. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/multi_printer_test.rb +66 -0
  2038. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/no_method_class_test.rb +15 -0
  2039. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/pause_resume_test.rb +171 -0
  2040. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/prime.rb +54 -0
  2041. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/prime_script.rb +6 -0
  2042. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/printer_call_stack_test.rb +27 -0
  2043. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/printer_call_tree_test.rb +30 -0
  2044. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/printer_flat_test.rb +99 -0
  2045. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/printer_graph_html_test.rb +59 -0
  2046. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/printer_graph_test.rb +40 -0
  2047. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/printers_test.rb +135 -0
  2048. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/printing_recursive_graph_test.rb +81 -0
  2049. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/profile_test.rb +101 -0
  2050. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/rack_test.rb +93 -0
  2051. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/recursive_test.rb +425 -0
  2052. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/scheduler.rb +363 -0
  2053. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/singleton_test.rb +38 -0
  2054. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/stack_printer_test.rb +61 -0
  2055. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/start_stop_test.rb +106 -0
  2056. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/test_helper.rb +20 -0
  2057. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/thread_test.rb +235 -0
  2058. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/unique_call_path_test.rb +136 -0
  2059. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/yarv_test.rb +60 -0
  2060. data/vendor/bundle/ruby/3.2.0/gems/shellany-0.0.1/lib/shellany/sheller.rb +144 -0
  2061. data/vendor/bundle/ruby/3.2.0/gems/shellany-0.0.1/lib/shellany/version.rb +3 -0
  2062. data/vendor/bundle/ruby/3.2.0/gems/shellany-0.0.1/lib/shellany.rb +5 -0
  2063. data/vendor/bundle/ruby/3.2.0/gems/shellany-0.0.1/spec/lib/shellany/sheller_spec.rb +141 -0
  2064. data/vendor/bundle/ruby/3.2.0/gems/shellany-0.0.1/spec/shellany_spec.rb +5 -0
  2065. data/vendor/bundle/ruby/3.2.0/gems/shellany-0.0.1/spec/spec_helper.rb +24 -0
  2066. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/examples/simple_connection.rb +9 -0
  2067. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/core_ext/array.rb +5 -0
  2068. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/core_ext/hash.rb +11 -0
  2069. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/all.rb +40 -0
  2070. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/backends/abstract.rb +167 -0
  2071. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/backends/connection_pool/cache.rb +83 -0
  2072. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/backends/connection_pool/nil_cache.rb +15 -0
  2073. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/backends/connection_pool.rb +183 -0
  2074. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/backends/local.rb +66 -0
  2075. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/backends/netssh/known_hosts.rb +143 -0
  2076. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/backends/netssh.rb +189 -0
  2077. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/backends/printer.rb +20 -0
  2078. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/backends/skipper.rb +27 -0
  2079. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/color.rb +58 -0
  2080. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/command.rb +260 -0
  2081. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/command_map.rb +73 -0
  2082. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/configuration.rb +104 -0
  2083. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/coordinator.rb +39 -0
  2084. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/deprecation_logger.rb +19 -0
  2085. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/dsl.rb +15 -0
  2086. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/exception.rb +13 -0
  2087. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/formatters/abstract.rb +51 -0
  2088. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/formatters/black_hole.rb +15 -0
  2089. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/formatters/dot.rb +18 -0
  2090. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/formatters/pretty.rb +60 -0
  2091. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/formatters/simple_text.rb +20 -0
  2092. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/host.rb +194 -0
  2093. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/log_message.rb +13 -0
  2094. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/logger.rb +9 -0
  2095. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/mapping_interaction_handler.rb +48 -0
  2096. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/runners/abstract.rb +29 -0
  2097. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/runners/group.rb +24 -0
  2098. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/runners/null.rb +12 -0
  2099. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/runners/parallel.rb +25 -0
  2100. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/runners/sequential.rb +38 -0
  2101. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/version.rb +3 -0
  2102. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit.rb +29 -0
  2103. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/test/functional/backends/test_local.rb +122 -0
  2104. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/test/functional/backends/test_netssh.rb +233 -0
  2105. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/test/functional/test_ssh_server_comes_up_for_functional_tests.rb +24 -0
  2106. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/test/helper.rb +81 -0
  2107. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/test/support/vagrant_wrapper.rb +64 -0
  2108. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/test/unit/backends/test_abstract.rb +202 -0
  2109. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/test/unit/backends/test_connection_pool.rb +148 -0
  2110. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/test/unit/backends/test_local.rb +22 -0
  2111. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/test/unit/backends/test_netssh.rb +94 -0
  2112. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/test/unit/backends/test_printer.rb +73 -0
  2113. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/test/unit/formatters/test_custom.rb +71 -0
  2114. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/test/unit/formatters/test_dot.rb +58 -0
  2115. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/test/unit/formatters/test_pretty.rb +143 -0
  2116. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/test/unit/formatters/test_simple_text.rb +83 -0
  2117. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/test/unit/runners/test_group.rb +17 -0
  2118. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/test/unit/runners/test_parallel.rb +18 -0
  2119. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/test/unit/runners/test_sequential.rb +18 -0
  2120. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/test/unit/test_color.rb +80 -0
  2121. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/test/unit/test_command.rb +274 -0
  2122. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/test/unit/test_command_map.rb +78 -0
  2123. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/test/unit/test_configuration.rb +124 -0
  2124. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/test/unit/test_coordinator.rb +161 -0
  2125. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/test/unit/test_deprecation_logger.rb +38 -0
  2126. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/test/unit/test_dsl.rb +26 -0
  2127. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/test/unit/test_host.rb +147 -0
  2128. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/test/unit/test_logger.rb +17 -0
  2129. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/test/unit/test_mapping_interaction_handler.rb +101 -0
  2130. data/vendor/bundle/ruby/3.2.0/gems/stringio-3.0.8/ext/stringio/extconf.rb +3 -0
  2131. data/vendor/bundle/ruby/3.2.0/gems/sys-uname-1.2.3/examples/uname_test.rb +42 -0
  2132. data/vendor/bundle/ruby/3.2.0/gems/sys-uname-1.2.3/lib/sys/platform.rb +58 -0
  2133. data/vendor/bundle/ruby/3.2.0/gems/sys-uname-1.2.3/lib/sys/uname.rb +21 -0
  2134. data/vendor/bundle/ruby/3.2.0/gems/sys-uname-1.2.3/lib/sys/unix/uname.rb +312 -0
  2135. data/vendor/bundle/ruby/3.2.0/gems/sys-uname-1.2.3/lib/sys/windows/uname.rb +499 -0
  2136. data/vendor/bundle/ruby/3.2.0/gems/sys-uname-1.2.3/lib/sys-uname.rb +3 -0
  2137. data/vendor/bundle/ruby/3.2.0/gems/sys-uname-1.2.3/spec/spec_helper.rb +12 -0
  2138. data/vendor/bundle/ruby/3.2.0/gems/sys-uname-1.2.3/spec/sys_platform_spec.rb +69 -0
  2139. data/vendor/bundle/ruby/3.2.0/gems/sys-uname-1.2.3/spec/sys_uname_spec.rb +449 -0
  2140. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/actions/create_file.rb +105 -0
  2141. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/actions/create_link.rb +61 -0
  2142. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/actions/directory.rb +108 -0
  2143. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/actions/empty_directory.rb +143 -0
  2144. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/actions/file_manipulation.rb +373 -0
  2145. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/actions/inject_into_file.rb +130 -0
  2146. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/actions.rb +340 -0
  2147. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/base.rb +825 -0
  2148. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/command.rb +151 -0
  2149. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/core_ext/hash_with_indifferent_access.rb +107 -0
  2150. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/error.rb +106 -0
  2151. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/group.rb +281 -0
  2152. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/invocation.rb +178 -0
  2153. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/line_editor/basic.rb +37 -0
  2154. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/line_editor/readline.rb +88 -0
  2155. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/line_editor.rb +17 -0
  2156. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/nested_context.rb +29 -0
  2157. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/parser/argument.rb +89 -0
  2158. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/parser/arguments.rb +195 -0
  2159. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/parser/option.rb +178 -0
  2160. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/parser/options.rb +293 -0
  2161. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/parser.rb +4 -0
  2162. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/rake_compat.rb +72 -0
  2163. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/runner.rb +335 -0
  2164. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/shell/basic.rb +388 -0
  2165. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/shell/color.rb +115 -0
  2166. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/shell/column_printer.rb +29 -0
  2167. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/shell/html.rb +84 -0
  2168. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/shell/lcs_diff.rb +49 -0
  2169. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/shell/table_printer.rb +134 -0
  2170. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/shell/terminal.rb +42 -0
  2171. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/shell/wrapped_printer.rb +38 -0
  2172. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/shell.rb +81 -0
  2173. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/util.rb +285 -0
  2174. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/version.rb +3 -0
  2175. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor.rb +663 -0
  2176. data/vendor/bundle/ruby/3.2.0/gems/timecop-0.9.8/lib/timecop/time_extensions.rb +160 -0
  2177. data/vendor/bundle/ruby/3.2.0/gems/timecop-0.9.8/lib/timecop/time_stack_item.rb +140 -0
  2178. data/vendor/bundle/ruby/3.2.0/gems/timecop-0.9.8/lib/timecop/timecop.rb +240 -0
  2179. data/vendor/bundle/ruby/3.2.0/gems/timecop-0.9.8/lib/timecop/version.rb +3 -0
  2180. data/vendor/bundle/ruby/3.2.0/gems/timecop-0.9.8/lib/timecop.rb +2 -0
  2181. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/api.rb +111 -0
  2182. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/assertion_failure.rb +13 -0
  2183. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/callback_registry.rb +37 -0
  2184. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/config.rb +20 -0
  2185. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/cucumber.rb +12 -0
  2186. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/deprecation.rb +11 -0
  2187. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/errors.rb +19 -0
  2188. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/http_lib_adapters/async_http_client_adapter.rb +223 -0
  2189. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/http_lib_adapters/curb_adapter.rb +353 -0
  2190. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/http_lib_adapters/em_http_request_adapter.rb +239 -0
  2191. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/http_lib_adapters/excon_adapter.rb +167 -0
  2192. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/http_lib_adapters/http_lib_adapter.rb +9 -0
  2193. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/http_lib_adapters/http_lib_adapter_registry.rb +21 -0
  2194. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/http_lib_adapters/http_rb/client.rb +17 -0
  2195. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/http_lib_adapters/http_rb/request.rb +18 -0
  2196. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/http_lib_adapters/http_rb/response.rb +69 -0
  2197. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/http_lib_adapters/http_rb/streamer.rb +33 -0
  2198. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/http_lib_adapters/http_rb/webmock.rb +74 -0
  2199. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/http_lib_adapters/http_rb_adapter.rb +39 -0
  2200. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/http_lib_adapters/httpclient_adapter.rb +261 -0
  2201. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/http_lib_adapters/manticore_adapter.rb +147 -0
  2202. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/http_lib_adapters/net_http.rb +294 -0
  2203. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/http_lib_adapters/net_http_response.rb +36 -0
  2204. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/http_lib_adapters/patron_adapter.rb +132 -0
  2205. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/http_lib_adapters/typhoeus_hydra_adapter.rb +176 -0
  2206. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/matchers/any_arg_matcher.rb +15 -0
  2207. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/matchers/hash_argument_matcher.rb +23 -0
  2208. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/matchers/hash_excluding_matcher.rb +17 -0
  2209. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/matchers/hash_including_matcher.rb +19 -0
  2210. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/minitest.rb +43 -0
  2211. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/rack_response.rb +71 -0
  2212. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/request_body_diff.rb +66 -0
  2213. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/request_execution_verifier.rb +79 -0
  2214. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/request_pattern.rb +423 -0
  2215. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/request_registry.rb +37 -0
  2216. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/request_signature.rb +56 -0
  2217. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/request_signature_snippet.rb +63 -0
  2218. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/request_stub.rb +134 -0
  2219. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/response.rb +161 -0
  2220. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/responses_sequence.rb +42 -0
  2221. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/rspec/matchers/request_pattern_matcher.rb +80 -0
  2222. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/rspec/matchers/webmock_matcher.rb +69 -0
  2223. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/rspec/matchers.rb +29 -0
  2224. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/rspec.rb +44 -0
  2225. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/stub_registry.rb +84 -0
  2226. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/stub_request_snippet.rb +40 -0
  2227. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/test_unit.rb +22 -0
  2228. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/util/hash_counter.rb +45 -0
  2229. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/util/hash_keys_stringifier.rb +27 -0
  2230. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/util/hash_validator.rb +19 -0
  2231. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/util/headers.rb +78 -0
  2232. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/util/json.rb +69 -0
  2233. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/util/query_mapper.rb +283 -0
  2234. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/util/uri.rb +113 -0
  2235. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/util/values_stringifier.rb +22 -0
  2236. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/util/version_checker.rb +113 -0
  2237. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/version.rb +5 -0
  2238. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/webmock.rb +175 -0
  2239. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock.rb +61 -0
  2240. data/vendor/capistrano-honeybadger/lib/capistrano/honeybadger.rb +5 -5
  2241. data/vendor/capistrano-honeybadger/lib/capistrano/tasks/deploy.cap +89 -89
  2242. data/vendor/capistrano-honeybadger/lib/honeybadger/capistrano/legacy.rb +47 -47
  2243. data/vendor/capistrano-honeybadger/lib/honeybadger/capistrano.rb +2 -2
  2244. data/vendor/cli/inifile.rb +628 -628
  2245. data/vendor/cli/thor/actions/create_file.rb +103 -103
  2246. data/vendor/cli/thor/actions/create_link.rb +59 -59
  2247. data/vendor/cli/thor/actions/directory.rb +118 -118
  2248. data/vendor/cli/thor/actions/empty_directory.rb +135 -135
  2249. data/vendor/cli/thor/actions/file_manipulation.rb +316 -316
  2250. data/vendor/cli/thor/actions/inject_into_file.rb +107 -107
  2251. data/vendor/cli/thor/actions.rb +319 -319
  2252. data/vendor/cli/thor/base.rb +656 -656
  2253. data/vendor/cli/thor/command.rb +133 -133
  2254. data/vendor/cli/thor/core_ext/hash_with_indifferent_access.rb +77 -77
  2255. data/vendor/cli/thor/core_ext/io_binary_read.rb +10 -10
  2256. data/vendor/cli/thor/core_ext/ordered_hash.rb +98 -98
  2257. data/vendor/cli/thor/error.rb +32 -32
  2258. data/vendor/cli/thor/group.rb +281 -281
  2259. data/vendor/cli/thor/invocation.rb +178 -178
  2260. data/vendor/cli/thor/line_editor/basic.rb +35 -35
  2261. data/vendor/cli/thor/line_editor/readline.rb +88 -88
  2262. data/vendor/cli/thor/line_editor.rb +17 -17
  2263. data/vendor/cli/thor/parser/argument.rb +73 -73
  2264. data/vendor/cli/thor/parser/arguments.rb +175 -175
  2265. data/vendor/cli/thor/parser/option.rb +125 -125
  2266. data/vendor/cli/thor/parser/options.rb +218 -218
  2267. data/vendor/cli/thor/parser.rb +4 -4
  2268. data/vendor/cli/thor/rake_compat.rb +71 -71
  2269. data/vendor/cli/thor/runner.rb +322 -322
  2270. data/vendor/cli/thor/shell/basic.rb +421 -421
  2271. data/vendor/cli/thor/shell/color.rb +149 -149
  2272. data/vendor/cli/thor/shell/html.rb +126 -126
  2273. data/vendor/cli/thor/shell.rb +81 -81
  2274. data/vendor/cli/thor/util.rb +267 -267
  2275. data/vendor/cli/thor/version.rb +3 -3
  2276. data/vendor/cli/thor.rb +484 -484
  2277. metadata +2167 -6
@@ -0,0 +1,2599 @@
1
+ # frozen_string_literal: false
2
+ require_relative "parent"
3
+ require_relative "namespace"
4
+ require_relative "attribute"
5
+ require_relative "cdata"
6
+ require_relative "xpath"
7
+ require_relative "parseexception"
8
+
9
+ module REXML
10
+ # An implementation note about namespaces:
11
+ # As we parse, when we find namespaces we put them in a hash and assign
12
+ # them a unique ID. We then convert the namespace prefix for the node
13
+ # to the unique ID. This makes namespace lookup much faster for the
14
+ # cost of extra memory use. We save the namespace prefix for the
15
+ # context node and convert it back when we write it.
16
+ @@namespaces = {}
17
+
18
+ # An \REXML::Element object represents an XML element.
19
+ #
20
+ # An element:
21
+ #
22
+ # - Has a name (string).
23
+ # - May have a parent (another element).
24
+ # - Has zero or more children
25
+ # (other elements, text, CDATA, processing instructions, and comments).
26
+ # - Has zero or more siblings
27
+ # (other elements, text, CDATA, processing instructions, and comments).
28
+ # - Has zero or more named attributes.
29
+ #
30
+ # == In a Hurry?
31
+ #
32
+ # If you're somewhat familiar with XML
33
+ # and have a particular task in mind,
34
+ # you may want to see the
35
+ # {tasks pages}[../doc/rexml/tasks/tocs/master_toc_rdoc.html],
36
+ # and in particular, the
37
+ # {tasks page for elements}[../doc/rexml/tasks/tocs/element_toc_rdoc.html].
38
+ #
39
+ # === Name
40
+ #
41
+ # An element has a name, which is initially set when the element is created:
42
+ #
43
+ # e = REXML::Element.new('foo')
44
+ # e.name # => "foo"
45
+ #
46
+ # The name may be changed:
47
+ #
48
+ # e.name = 'bar'
49
+ # e.name # => "bar"
50
+ #
51
+ #
52
+ # === \Parent
53
+ #
54
+ # An element may have a parent.
55
+ #
56
+ # Its parent may be assigned explicitly when the element is created:
57
+ #
58
+ # e0 = REXML::Element.new('foo')
59
+ # e1 = REXML::Element.new('bar', e0)
60
+ # e1.parent # => <foo> ... </>
61
+ #
62
+ # Note: the representation of an element always shows the element's name.
63
+ # If the element has children, the representation indicates that
64
+ # by including an ellipsis (<tt>...</tt>).
65
+ #
66
+ # The parent may be assigned explicitly at any time:
67
+ #
68
+ # e2 = REXML::Element.new('baz')
69
+ # e1.parent = e2
70
+ # e1.parent # => <baz/>
71
+ #
72
+ # When an element is added as a child, its parent is set automatically:
73
+ #
74
+ # e1.add_element(e0)
75
+ # e0.parent # => <bar> ... </>
76
+ #
77
+ # For an element that has no parent, method +parent+ returns +nil+.
78
+ #
79
+ # === Children
80
+ #
81
+ # An element has zero or more children.
82
+ # The children are an ordered collection
83
+ # of all objects whose parent is the element itself.
84
+ #
85
+ # The children may include any combination of elements, text, comments,
86
+ # processing instructions, and CDATA.
87
+ # (This example keeps things clean by controlling whitespace
88
+ # via a +context+ setting.)
89
+ #
90
+ # xml_string = <<-EOT
91
+ # <root>
92
+ # <ele_0/>
93
+ # text 0
94
+ # <!--comment 0-->
95
+ # <?target_0 pi_0?>
96
+ # <![CDATA[cdata 0]]>
97
+ # <ele_1/>
98
+ # text 1
99
+ # <!--comment 1-->
100
+ # <?target_0 pi_1?>
101
+ # <![CDATA[cdata 1]]>
102
+ # </root>
103
+ # EOT
104
+ # context = {ignore_whitespace_nodes: :all, compress_whitespace: :all}
105
+ # d = REXML::Document.new(xml_string, context)
106
+ # root = d.root
107
+ # root.children.size # => 10
108
+ # root.each {|child| p "#{child.class}: #{child}" }
109
+ #
110
+ # Output:
111
+ #
112
+ # "REXML::Element: <ele_0/>"
113
+ # "REXML::Text: \n text 0\n "
114
+ # "REXML::Comment: comment 0"
115
+ # "REXML::Instruction: <?target_0 pi_0?>"
116
+ # "REXML::CData: cdata 0"
117
+ # "REXML::Element: <ele_1/>"
118
+ # "REXML::Text: \n text 1\n "
119
+ # "REXML::Comment: comment 1"
120
+ # "REXML::Instruction: <?target_0 pi_1?>"
121
+ # "REXML::CData: cdata 1"
122
+ #
123
+ # A child may be added using inherited methods
124
+ # Parent#insert_before or Parent#insert_after:
125
+ #
126
+ # xml_string = '<root><a/><c/><d/></root>'
127
+ # d = REXML::Document.new(xml_string)
128
+ # root = d.root
129
+ # c = d.root[1] # => <c/>
130
+ # root.insert_before(c, REXML::Element.new('b'))
131
+ # root.to_a # => [<a/>, <b/>, <c/>, <d/>]
132
+ #
133
+ # A child may be replaced using Parent#replace_child:
134
+ #
135
+ # root.replace_child(c, REXML::Element.new('x'))
136
+ # root.to_a # => [<a/>, <b/>, <x/>, <d/>]
137
+ #
138
+ # A child may be removed using Parent#delete:
139
+ #
140
+ # x = root[2] # => <x/>
141
+ # root.delete(x)
142
+ # root.to_a # => [<a/>, <b/>, <d/>]
143
+ #
144
+ # === Siblings
145
+ #
146
+ # An element has zero or more siblings,
147
+ # which are the other children of the element's parent.
148
+ #
149
+ # In the example above, element +ele_1+ is between a CDATA sibling
150
+ # and a text sibling:
151
+ #
152
+ # ele_1 = root[5] # => <ele_1/>
153
+ # ele_1.previous_sibling # => "cdata 0"
154
+ # ele_1.next_sibling # => "\n text 1\n "
155
+ #
156
+ # === \Attributes
157
+ #
158
+ # An element has zero or more named attributes.
159
+ #
160
+ # A new element has no attributes:
161
+ #
162
+ # e = REXML::Element.new('foo')
163
+ # e.attributes # => {}
164
+ #
165
+ # Attributes may be added:
166
+ #
167
+ # e.add_attribute('bar', 'baz')
168
+ # e.add_attribute('bat', 'bam')
169
+ # e.attributes.size # => 2
170
+ # e['bar'] # => "baz"
171
+ # e['bat'] # => "bam"
172
+ #
173
+ # An existing attribute may be modified:
174
+ #
175
+ # e.add_attribute('bar', 'bad')
176
+ # e.attributes.size # => 2
177
+ # e['bar'] # => "bad"
178
+ #
179
+ # An existing attribute may be deleted:
180
+ #
181
+ # e.delete_attribute('bar')
182
+ # e.attributes.size # => 1
183
+ # e['bar'] # => nil
184
+ #
185
+ # == What's Here
186
+ #
187
+ # To begin with, what's elsewhere?
188
+ #
189
+ # \Class \REXML::Element inherits from its ancestor classes:
190
+ #
191
+ # - REXML::Child
192
+ # - REXML::Parent
193
+ #
194
+ # \REXML::Element itself and its ancestors also include modules:
195
+ #
196
+ # - {Enumerable}[https://docs.ruby-lang.org/en/master/Enumerable.html]
197
+ # - REXML::Namespace
198
+ # - REXML::Node
199
+ # - REXML::XMLTokens
200
+ #
201
+ # === Methods for Creating an \Element
202
+ #
203
+ # ::new:: Returns a new empty element.
204
+ # #clone:: Returns a clone of another element.
205
+ #
206
+ # === Methods for Attributes
207
+ #
208
+ # {[attribute_name]}[#method-i-5B-5D]:: Returns an attribute value.
209
+ # #add_attribute:: Adds a new attribute.
210
+ # #add_attributes:: Adds multiple new attributes.
211
+ # #attribute:: Returns the attribute value for a given name and optional namespace.
212
+ # #delete_attribute:: Removes an attribute.
213
+ #
214
+ # === Methods for Children
215
+ #
216
+ # {[index]}[#method-i-5B-5D]:: Returns the child at the given offset.
217
+ # #add_element:: Adds an element as the last child.
218
+ # #delete_element:: Deletes a child element.
219
+ # #each_element:: Calls the given block with each child element.
220
+ # #each_element_with_attribute:: Calls the given block with each child element
221
+ # that meets given criteria,
222
+ # which can include the attribute name.
223
+ # #each_element_with_text:: Calls the given block with each child element
224
+ # that meets given criteria,
225
+ # which can include text.
226
+ # #get_elements:: Returns an array of element children that match a given xpath.
227
+ #
228
+ # === Methods for \Text Children
229
+ #
230
+ # #add_text:: Adds a text node to the element.
231
+ # #get_text:: Returns a text node that meets specified criteria.
232
+ # #text:: Returns the text string from the first node that meets specified criteria.
233
+ # #texts:: Returns an array of the text children of the element.
234
+ # #text=:: Adds, removes, or replaces the first text child of the element
235
+ #
236
+ # === Methods for Other Children
237
+ #
238
+ # #cdatas:: Returns an array of the cdata children of the element.
239
+ # #comments:: Returns an array of the comment children of the element.
240
+ # #instructions:: Returns an array of the instruction children of the element.
241
+ #
242
+ # === Methods for Namespaces
243
+ #
244
+ # #add_namespace:: Adds a namespace to the element.
245
+ # #delete_namespace:: Removes a namespace from the element.
246
+ # #namespace:: Returns the string namespace URI for the element.
247
+ # #namespaces:: Returns a hash of all defined namespaces in the element.
248
+ # #prefixes:: Returns an array of the string prefixes (names)
249
+ # of all defined namespaces in the element
250
+ #
251
+ # === Methods for Querying
252
+ #
253
+ # #document:: Returns the document, if any, that the element belongs to.
254
+ # #root:: Returns the most distant element (not document) ancestor of the element.
255
+ # #root_node:: Returns the most distant ancestor of the element.
256
+ # #xpath:: Returns the string xpath to the element
257
+ # relative to the most distant parent
258
+ # #has_attributes?:: Returns whether the element has attributes.
259
+ # #has_elements?:: Returns whether the element has elements.
260
+ # #has_text?:: Returns whether the element has text.
261
+ # #next_element:: Returns the next sibling that is an element.
262
+ # #previous_element:: Returns the previous sibling that is an element.
263
+ # #raw:: Returns whether raw mode is set for the element.
264
+ # #whitespace:: Returns whether whitespace is respected for the element.
265
+ # #ignore_whitespace_nodes:: Returns whether whitespace nodes
266
+ # are to be ignored for the element.
267
+ # #node_type:: Returns symbol <tt>:element</tt>.
268
+ #
269
+ # === One More Method
270
+ #
271
+ # #inspect:: Returns a string representation of the element.
272
+ #
273
+ # === Accessors
274
+ #
275
+ # #elements:: Returns the REXML::Elements object for the element.
276
+ # #attributes:: Returns the REXML::Attributes object for the element.
277
+ # #context:: Returns or sets the context hash for the element.
278
+ #
279
+ class Element < Parent
280
+ include Namespace
281
+
282
+ UNDEFINED = "UNDEFINED"; # The default name
283
+
284
+ # Mechanisms for accessing attributes and child elements of this
285
+ # element.
286
+ attr_reader :attributes, :elements
287
+ # The context holds information about the processing environment, such as
288
+ # whitespace handling.
289
+ attr_accessor :context
290
+
291
+ # :call-seq:
292
+ # Element.new(name = 'UNDEFINED', parent = nil, context = nil) -> new_element
293
+ # Element.new(element, parent = nil, context = nil) -> new_element
294
+ #
295
+ # Returns a new \REXML::Element object.
296
+ #
297
+ # When no arguments are given,
298
+ # returns an element with name <tt>'UNDEFINED'</tt>:
299
+ #
300
+ # e = REXML::Element.new # => <UNDEFINED/>
301
+ # e.class # => REXML::Element
302
+ # e.name # => "UNDEFINED"
303
+ #
304
+ # When only argument +name+ is given,
305
+ # returns an element of the given name:
306
+ #
307
+ # REXML::Element.new('foo') # => <foo/>
308
+ #
309
+ # When only argument +element+ is given, it must be an \REXML::Element object;
310
+ # returns a shallow copy of the given element:
311
+ #
312
+ # e0 = REXML::Element.new('foo')
313
+ # e1 = REXML::Element.new(e0) # => <foo/>
314
+ #
315
+ # When argument +parent+ is also given, it must be an REXML::Parent object:
316
+ #
317
+ # e = REXML::Element.new('foo', REXML::Parent.new)
318
+ # e.parent # => #<REXML::Parent @parent=nil, @children=[<foo/>]>
319
+ #
320
+ # When argument +context+ is also given, it must be a hash
321
+ # representing the context for the element;
322
+ # see {Element Context}[../doc/rexml/context_rdoc.html]:
323
+ #
324
+ # e = REXML::Element.new('foo', nil, {raw: :all})
325
+ # e.context # => {:raw=>:all}
326
+ #
327
+ def initialize( arg = UNDEFINED, parent=nil, context=nil )
328
+ super(parent)
329
+
330
+ @elements = Elements.new(self)
331
+ @attributes = Attributes.new(self)
332
+ @context = context
333
+
334
+ if arg.kind_of? String
335
+ self.name = arg
336
+ elsif arg.kind_of? Element
337
+ self.name = arg.expanded_name
338
+ arg.attributes.each_attribute{ |attribute|
339
+ @attributes << Attribute.new( attribute )
340
+ }
341
+ @context = arg.context
342
+ end
343
+ end
344
+
345
+ # :call-seq:
346
+ # inspect -> string
347
+ #
348
+ # Returns a string representation of the element.
349
+ #
350
+ # For an element with no attributes and no children, shows the element name:
351
+ #
352
+ # REXML::Element.new.inspect # => "<UNDEFINED/>"
353
+ #
354
+ # Shows attributes, if any:
355
+ #
356
+ # e = REXML::Element.new('foo')
357
+ # e.add_attributes({'bar' => 0, 'baz' => 1})
358
+ # e.inspect # => "<foo bar='0' baz='1'/>"
359
+ #
360
+ # Shows an ellipsis (<tt>...</tt>), if there are child elements:
361
+ #
362
+ # e.add_element(REXML::Element.new('bar'))
363
+ # e.add_element(REXML::Element.new('baz'))
364
+ # e.inspect # => "<foo bar='0' baz='1'> ... </>"
365
+ #
366
+ def inspect
367
+ rv = "<#@expanded_name"
368
+
369
+ @attributes.each_attribute do |attr|
370
+ rv << " "
371
+ attr.write( rv, 0 )
372
+ end
373
+
374
+ if children.size > 0
375
+ rv << "> ... </>"
376
+ else
377
+ rv << "/>"
378
+ end
379
+ end
380
+
381
+ # :call-seq:
382
+ # clone -> new_element
383
+ #
384
+ # Returns a shallow copy of the element, containing the name and attributes,
385
+ # but not the parent or children:
386
+ #
387
+ # e = REXML::Element.new('foo')
388
+ # e.add_attributes({'bar' => 0, 'baz' => 1})
389
+ # e.clone # => <foo bar='0' baz='1'/>
390
+ #
391
+ def clone
392
+ self.class.new self
393
+ end
394
+
395
+ # :call-seq:
396
+ # root_node -> document or element
397
+ #
398
+ # Returns the most distant ancestor of +self+.
399
+ #
400
+ # When the element is part of a document,
401
+ # returns the root node of the document.
402
+ # Note that the root node is different from the document element;
403
+ # in this example +a+ is document element and the root node is its parent:
404
+ #
405
+ # d = REXML::Document.new('<a><b><c/></b></a>')
406
+ # top_element = d.first # => <a> ... </>
407
+ # child = top_element.first # => <b> ... </>
408
+ # d.root_node == d # => true
409
+ # top_element.root_node == d # => true
410
+ # child.root_node == d # => true
411
+ #
412
+ # When the element is not part of a document, but does have ancestor elements,
413
+ # returns the most distant ancestor element:
414
+ #
415
+ # e0 = REXML::Element.new('foo')
416
+ # e1 = REXML::Element.new('bar')
417
+ # e1.parent = e0
418
+ # e2 = REXML::Element.new('baz')
419
+ # e2.parent = e1
420
+ # e2.root_node == e0 # => true
421
+ #
422
+ # When the element has no ancestor elements,
423
+ # returns +self+:
424
+ #
425
+ # e = REXML::Element.new('foo')
426
+ # e.root_node == e # => true
427
+ #
428
+ # Related: #root, #document.
429
+ #
430
+ def root_node
431
+ parent.nil? ? self : parent.root_node
432
+ end
433
+
434
+ # :call-seq:
435
+ # root -> element
436
+ #
437
+ # Returns the most distant _element_ (not document) ancestor of the element:
438
+ #
439
+ # d = REXML::Document.new('<a><b><c/></b></a>')
440
+ # top_element = d.first
441
+ # child = top_element.first
442
+ # top_element.root == top_element # => true
443
+ # child.root == top_element # => true
444
+ #
445
+ # For a document, returns the topmost element:
446
+ #
447
+ # d.root == top_element # => true
448
+ #
449
+ # Related: #root_node, #document.
450
+ #
451
+ def root
452
+ return elements[1] if self.kind_of? Document
453
+ return self if parent.kind_of? Document or parent.nil?
454
+ return parent.root
455
+ end
456
+
457
+ # :call-seq:
458
+ # document -> document or nil
459
+ #
460
+ # If the element is part of a document, returns that document:
461
+ #
462
+ # d = REXML::Document.new('<a><b><c/></b></a>')
463
+ # top_element = d.first
464
+ # child = top_element.first
465
+ # top_element.document == d # => true
466
+ # child.document == d # => true
467
+ #
468
+ # If the element is not part of a document, returns +nil+:
469
+ #
470
+ # REXML::Element.new.document # => nil
471
+ #
472
+ # For a document, returns +self+:
473
+ #
474
+ # d.document == d # => true
475
+ #
476
+ # Related: #root, #root_node.
477
+ #
478
+ def document
479
+ rt = root
480
+ rt.parent if rt
481
+ end
482
+
483
+ # :call-seq:
484
+ # whitespace
485
+ #
486
+ # Returns +true+ if whitespace is respected for this element,
487
+ # +false+ otherwise.
488
+ #
489
+ # See {Element Context}[../doc/rexml/context_rdoc.html].
490
+ #
491
+ # The evaluation is tested against the element's +expanded_name+,
492
+ # and so is namespace-sensitive.
493
+ def whitespace
494
+ @whitespace = nil
495
+ if @context
496
+ if @context[:respect_whitespace]
497
+ @whitespace = (@context[:respect_whitespace] == :all or
498
+ @context[:respect_whitespace].include? expanded_name)
499
+ end
500
+ @whitespace = false if (@context[:compress_whitespace] and
501
+ (@context[:compress_whitespace] == :all or
502
+ @context[:compress_whitespace].include? expanded_name)
503
+ )
504
+ end
505
+ @whitespace = true unless @whitespace == false
506
+ @whitespace
507
+ end
508
+
509
+ # :call-seq:
510
+ # ignore_whitespace_nodes
511
+ #
512
+ # Returns +true+ if whitespace nodes are ignored for the element.
513
+ #
514
+ # See {Element Context}[../doc/rexml/context_rdoc.html].
515
+ #
516
+ def ignore_whitespace_nodes
517
+ @ignore_whitespace_nodes = false
518
+ if @context
519
+ if @context[:ignore_whitespace_nodes]
520
+ @ignore_whitespace_nodes =
521
+ (@context[:ignore_whitespace_nodes] == :all or
522
+ @context[:ignore_whitespace_nodes].include? expanded_name)
523
+ end
524
+ end
525
+ end
526
+
527
+ # :call-seq:
528
+ # raw
529
+ #
530
+ # Returns +true+ if raw mode is set for the element.
531
+ #
532
+ # See {Element Context}[../doc/rexml/context_rdoc.html].
533
+ #
534
+ # The evaluation is tested against +expanded_name+, and so is namespace
535
+ # sensitive.
536
+ def raw
537
+ @raw = (@context and @context[:raw] and
538
+ (@context[:raw] == :all or
539
+ @context[:raw].include? expanded_name))
540
+ @raw
541
+ end
542
+
543
+ #once :whitespace, :raw, :ignore_whitespace_nodes
544
+
545
+ #################################################
546
+ # Namespaces #
547
+ #################################################
548
+
549
+ # :call-seq:
550
+ # prefixes -> array_of_namespace_prefixes
551
+ #
552
+ # Returns an array of the string prefixes (names) of all defined namespaces
553
+ # in the element and its ancestors:
554
+ #
555
+ # xml_string = <<-EOT
556
+ # <root>
557
+ # <a xmlns:x='1' xmlns:y='2'>
558
+ # <b/>
559
+ # <c xmlns:z='3'/>
560
+ # </a>
561
+ # </root>
562
+ # EOT
563
+ # d = REXML::Document.new(xml_string, {compress_whitespace: :all})
564
+ # d.elements['//a'].prefixes # => ["x", "y"]
565
+ # d.elements['//b'].prefixes # => ["x", "y"]
566
+ # d.elements['//c'].prefixes # => ["x", "y", "z"]
567
+ #
568
+ def prefixes
569
+ prefixes = []
570
+ prefixes = parent.prefixes if parent
571
+ prefixes |= attributes.prefixes
572
+ return prefixes
573
+ end
574
+
575
+ # :call-seq:
576
+ # namespaces -> array_of_namespace_names
577
+ #
578
+ # Returns a hash of all defined namespaces
579
+ # in the element and its ancestors:
580
+ #
581
+ # xml_string = <<-EOT
582
+ # <root>
583
+ # <a xmlns:x='1' xmlns:y='2'>
584
+ # <b/>
585
+ # <c xmlns:z='3'/>
586
+ # </a>
587
+ # </root>
588
+ # EOT
589
+ # d = REXML::Document.new(xml_string)
590
+ # d.elements['//a'].namespaces # => {"x"=>"1", "y"=>"2"}
591
+ # d.elements['//b'].namespaces # => {"x"=>"1", "y"=>"2"}
592
+ # d.elements['//c'].namespaces # => {"x"=>"1", "y"=>"2", "z"=>"3"}
593
+ #
594
+ def namespaces
595
+ namespaces = {}
596
+ namespaces = parent.namespaces if parent
597
+ namespaces = namespaces.merge( attributes.namespaces )
598
+ return namespaces
599
+ end
600
+
601
+ # :call-seq:
602
+ # namespace(prefix = nil) -> string_uri or nil
603
+ #
604
+ # Returns the string namespace URI for the element,
605
+ # possibly deriving from one of its ancestors.
606
+ #
607
+ # xml_string = <<-EOT
608
+ # <root>
609
+ # <a xmlns='1' xmlns:y='2'>
610
+ # <b/>
611
+ # <c xmlns:z='3'/>
612
+ # </a>
613
+ # </root>
614
+ # EOT
615
+ # d = REXML::Document.new(xml_string)
616
+ # b = d.elements['//b']
617
+ # b.namespace # => "1"
618
+ # b.namespace('y') # => "2"
619
+ # b.namespace('nosuch') # => nil
620
+ #
621
+ def namespace(prefix=nil)
622
+ if prefix.nil?
623
+ prefix = prefix()
624
+ end
625
+ if prefix == ''
626
+ prefix = "xmlns"
627
+ else
628
+ prefix = "xmlns:#{prefix}" unless prefix[0,5] == 'xmlns'
629
+ end
630
+ ns = attributes[ prefix ]
631
+ ns = parent.namespace(prefix) if ns.nil? and parent
632
+ ns = '' if ns.nil? and prefix == 'xmlns'
633
+ return ns
634
+ end
635
+
636
+ # :call-seq:
637
+ # add_namespace(prefix, uri = nil) -> self
638
+ #
639
+ # Adds a namespace to the element; returns +self+.
640
+ #
641
+ # With the single argument +prefix+,
642
+ # adds a namespace using the given +prefix+ and the namespace URI:
643
+ #
644
+ # e = REXML::Element.new('foo')
645
+ # e.add_namespace('bar')
646
+ # e.namespaces # => {"xmlns"=>"bar"}
647
+ #
648
+ # With both arguments +prefix+ and +uri+ given,
649
+ # adds a namespace using both arguments:
650
+ #
651
+ # e.add_namespace('baz', 'bat')
652
+ # e.namespaces # => {"xmlns"=>"bar", "baz"=>"bat"}
653
+ #
654
+ def add_namespace( prefix, uri=nil )
655
+ unless uri
656
+ @attributes["xmlns"] = prefix
657
+ else
658
+ prefix = "xmlns:#{prefix}" unless prefix =~ /^xmlns:/
659
+ @attributes[ prefix ] = uri
660
+ end
661
+ self
662
+ end
663
+
664
+ # :call-seq:
665
+ # delete_namespace(namespace = 'xmlns') -> self
666
+ #
667
+ # Removes a namespace from the element.
668
+ #
669
+ # With no argument, removes the default namespace:
670
+ #
671
+ # d = REXML::Document.new "<a xmlns:foo='bar' xmlns='twiddle'/>"
672
+ # d.to_s # => "<a xmlns:foo='bar' xmlns='twiddle'/>"
673
+ # d.root.delete_namespace # => <a xmlns:foo='bar'/>
674
+ # d.to_s # => "<a xmlns:foo='bar'/>"
675
+ #
676
+ # With argument +namespace+, removes the specified namespace:
677
+ #
678
+ # d.root.delete_namespace('foo')
679
+ # d.to_s # => "<a/>"
680
+ #
681
+ # Does nothing if no such namespace is found:
682
+ #
683
+ # d.root.delete_namespace('nosuch')
684
+ # d.to_s # => "<a/>"
685
+ #
686
+ def delete_namespace namespace="xmlns"
687
+ namespace = "xmlns:#{namespace}" unless namespace == 'xmlns'
688
+ attribute = attributes.get_attribute(namespace)
689
+ attribute.remove unless attribute.nil?
690
+ self
691
+ end
692
+
693
+ #################################################
694
+ # Elements #
695
+ #################################################
696
+
697
+ # :call-seq:
698
+ # add_element(name, attributes = nil) -> new_element
699
+ # add_element(element, attributes = nil) -> element
700
+ #
701
+ # Adds a child element, optionally setting attributes
702
+ # on the added element; returns the added element.
703
+ #
704
+ # With string argument +name+, creates a new element with that name
705
+ # and adds the new element as a child:
706
+ #
707
+ # e0 = REXML::Element.new('foo')
708
+ # e0.add_element('bar')
709
+ # e0[0] # => <bar/>
710
+ #
711
+ #
712
+ # With argument +name+ and hash argument +attributes+,
713
+ # sets attributes on the new element:
714
+ #
715
+ # e0.add_element('baz', {'bat' => '0', 'bam' => '1'})
716
+ # e0[1] # => <baz bat='0' bam='1'/>
717
+ #
718
+ # With element argument +element+, adds that element as a child:
719
+ #
720
+ # e0 = REXML::Element.new('foo')
721
+ # e1 = REXML::Element.new('bar')
722
+ # e0.add_element(e1)
723
+ # e0[0] # => <bar/>
724
+ #
725
+ # With argument +element+ and hash argument +attributes+,
726
+ # sets attributes on the added element:
727
+ #
728
+ # e0.add_element(e1, {'bat' => '0', 'bam' => '1'})
729
+ # e0[1] # => <bar bat='0' bam='1'/>
730
+ #
731
+ def add_element element, attrs=nil
732
+ raise "First argument must be either an element name, or an Element object" if element.nil?
733
+ el = @elements.add(element)
734
+ attrs.each do |key, value|
735
+ el.attributes[key]=value
736
+ end if attrs.kind_of? Hash
737
+ el
738
+ end
739
+
740
+ # :call-seq:
741
+ # delete_element(index) -> removed_element or nil
742
+ # delete_element(element) -> removed_element or nil
743
+ # delete_element(xpath) -> removed_element or nil
744
+ #
745
+ # Deletes a child element.
746
+ #
747
+ # When 1-based integer argument +index+ is given,
748
+ # removes and returns the child element at that offset if it exists;
749
+ # indexing does not include text nodes;
750
+ # returns +nil+ if the element does not exist:
751
+ #
752
+ # d = REXML::Document.new '<a><b/>text<c/></a>'
753
+ # a = d.root # => <a> ... </>
754
+ # a.delete_element(1) # => <b/>
755
+ # a.delete_element(1) # => <c/>
756
+ # a.delete_element(1) # => nil
757
+ #
758
+ # When element argument +element+ is given,
759
+ # removes and returns that child element if it exists,
760
+ # otherwise returns +nil+:
761
+ #
762
+ # d = REXML::Document.new '<a><b/>text<c/></a>'
763
+ # a = d.root # => <a> ... </>
764
+ # c = a[2] # => <c/>
765
+ # a.delete_element(c) # => <c/>
766
+ # a.delete_element(c) # => nil
767
+ #
768
+ # When xpath argument +xpath+ is given,
769
+ # removes and returns the element at xpath if it exists,
770
+ # otherwise returns +nil+:
771
+ #
772
+ # d = REXML::Document.new '<a><b/>text<c/></a>'
773
+ # a = d.root # => <a> ... </>
774
+ # a.delete_element('//c') # => <c/>
775
+ # a.delete_element('//c') # => nil
776
+ #
777
+ def delete_element element
778
+ @elements.delete element
779
+ end
780
+
781
+ # :call-seq:
782
+ # has_elements?
783
+ #
784
+ # Returns +true+ if the element has one or more element children,
785
+ # +false+ otherwise:
786
+ #
787
+ # d = REXML::Document.new '<a><b/>text<c/></a>'
788
+ # a = d.root # => <a> ... </>
789
+ # a.has_elements? # => true
790
+ # b = a[0] # => <b/>
791
+ # b.has_elements? # => false
792
+ #
793
+ def has_elements?
794
+ !@elements.empty?
795
+ end
796
+
797
+ # :call-seq:
798
+ # each_element_with_attribute(attr_name, value = nil, max = 0, xpath = nil) {|e| ... }
799
+ #
800
+ # Calls the given block with each child element that meets given criteria.
801
+ #
802
+ # When only string argument +attr_name+ is given,
803
+ # calls the block with each child element that has that attribute:
804
+ #
805
+ # d = REXML::Document.new '<a><b id="1"/><c id="2"/><d id="1"/><e/></a>'
806
+ # a = d.root
807
+ # a.each_element_with_attribute('id') {|e| p e }
808
+ #
809
+ # Output:
810
+ #
811
+ # <b id='1'/>
812
+ # <c id='2'/>
813
+ # <d id='1'/>
814
+ #
815
+ # With argument +attr_name+ and string argument +value+ given,
816
+ # calls the block with each child element that has that attribute
817
+ # with that value:
818
+ #
819
+ # a.each_element_with_attribute('id', '1') {|e| p e }
820
+ #
821
+ # Output:
822
+ #
823
+ # <b id='1'/>
824
+ # <d id='1'/>
825
+ #
826
+ # With arguments +attr_name+, +value+, and integer argument +max+ given,
827
+ # calls the block with at most +max+ child elements:
828
+ #
829
+ # a.each_element_with_attribute('id', '1', 1) {|e| p e }
830
+ #
831
+ # Output:
832
+ #
833
+ # <b id='1'/>
834
+ #
835
+ # With all arguments given, including +xpath+,
836
+ # calls the block with only those child elements
837
+ # that meet the first three criteria,
838
+ # and also match the given +xpath+:
839
+ #
840
+ # a.each_element_with_attribute('id', '1', 2, '//d') {|e| p e }
841
+ #
842
+ # Output:
843
+ #
844
+ # <d id='1'/>
845
+ #
846
+ def each_element_with_attribute( key, value=nil, max=0, name=nil, &block ) # :yields: Element
847
+ each_with_something( proc {|child|
848
+ if value.nil?
849
+ child.attributes[key] != nil
850
+ else
851
+ child.attributes[key]==value
852
+ end
853
+ }, max, name, &block )
854
+ end
855
+
856
+ # :call-seq:
857
+ # each_element_with_text(text = nil, max = 0, xpath = nil) {|e| ... }
858
+ #
859
+ # Calls the given block with each child element that meets given criteria.
860
+ #
861
+ # With no arguments, calls the block with each child element that has text:
862
+ #
863
+ # d = REXML::Document.new '<a><b>b</b><c>b</c><d>d</d><e/></a>'
864
+ # a = d.root
865
+ # a.each_element_with_text {|e| p e }
866
+ #
867
+ # Output:
868
+ #
869
+ # <b> ... </>
870
+ # <c> ... </>
871
+ # <d> ... </>
872
+ #
873
+ # With the single string argument +text+,
874
+ # calls the block with each element that has exactly that text:
875
+ #
876
+ # a.each_element_with_text('b') {|e| p e }
877
+ #
878
+ # Output:
879
+ #
880
+ # <b> ... </>
881
+ # <c> ... </>
882
+ #
883
+ # With argument +text+ and integer argument +max+,
884
+ # calls the block with at most +max+ elements:
885
+ #
886
+ # a.each_element_with_text('b', 1) {|e| p e }
887
+ #
888
+ # Output:
889
+ #
890
+ # <b> ... </>
891
+ #
892
+ # With all arguments given, including +xpath+,
893
+ # calls the block with only those child elements
894
+ # that meet the first two criteria,
895
+ # and also match the given +xpath+:
896
+ #
897
+ # a.each_element_with_text('b', 2, '//c') {|e| p e }
898
+ #
899
+ # Output:
900
+ #
901
+ # <c> ... </>
902
+ #
903
+ def each_element_with_text( text=nil, max=0, name=nil, &block ) # :yields: Element
904
+ each_with_something( proc {|child|
905
+ if text.nil?
906
+ child.has_text?
907
+ else
908
+ child.text == text
909
+ end
910
+ }, max, name, &block )
911
+ end
912
+
913
+ # :call-seq:
914
+ # each_element {|e| ... }
915
+ #
916
+ # Calls the given block with each child element:
917
+ #
918
+ # d = REXML::Document.new '<a><b>b</b><c>b</c><d>d</d><e/></a>'
919
+ # a = d.root
920
+ # a.each_element {|e| p e }
921
+ #
922
+ # Output:
923
+ #
924
+ # <b> ... </>
925
+ # <c> ... </>
926
+ # <d> ... </>
927
+ # <e/>
928
+ #
929
+ def each_element( xpath=nil, &block ) # :yields: Element
930
+ @elements.each( xpath, &block )
931
+ end
932
+
933
+ # :call-seq:
934
+ # get_elements(xpath)
935
+ #
936
+ # Returns an array of the elements that match the given +xpath+:
937
+ #
938
+ # xml_string = <<-EOT
939
+ # <root>
940
+ # <a level='1'>
941
+ # <a level='2'/>
942
+ # </a>
943
+ # </root>
944
+ # EOT
945
+ # d = REXML::Document.new(xml_string)
946
+ # d.root.get_elements('//a') # => [<a level='1'> ... </>, <a level='2'/>]
947
+ #
948
+ def get_elements( xpath )
949
+ @elements.to_a( xpath )
950
+ end
951
+
952
+ # :call-seq:
953
+ # next_element
954
+ #
955
+ # Returns the next sibling that is an element if it exists,
956
+ # +niL+ otherwise:
957
+ #
958
+ # d = REXML::Document.new '<a><b/>text<c/></a>'
959
+ # d.root.elements['b'].next_element #-> <c/>
960
+ # d.root.elements['c'].next_element #-> nil
961
+ #
962
+ def next_element
963
+ element = next_sibling
964
+ element = element.next_sibling until element.nil? or element.kind_of? Element
965
+ return element
966
+ end
967
+
968
+ # :call-seq:
969
+ # previous_element
970
+ #
971
+ # Returns the previous sibling that is an element if it exists,
972
+ # +niL+ otherwise:
973
+ #
974
+ # d = REXML::Document.new '<a><b/>text<c/></a>'
975
+ # d.root.elements['c'].previous_element #-> <b/>
976
+ # d.root.elements['b'].previous_element #-> nil
977
+ #
978
+ def previous_element
979
+ element = previous_sibling
980
+ element = element.previous_sibling until element.nil? or element.kind_of? Element
981
+ return element
982
+ end
983
+
984
+
985
+ #################################################
986
+ # Text #
987
+ #################################################
988
+
989
+ # :call-seq:
990
+ # has_text? -> true or false
991
+ #
992
+ # Returns +true+ if the element has one or more text noded,
993
+ # +false+ otherwise:
994
+ #
995
+ # d = REXML::Document.new '<a><b/>text<c/></a>'
996
+ # a = d.root
997
+ # a.has_text? # => true
998
+ # b = a[0]
999
+ # b.has_text? # => false
1000
+ #
1001
+ def has_text?
1002
+ not text().nil?
1003
+ end
1004
+
1005
+ # :call-seq:
1006
+ # text(xpath = nil) -> text_string or nil
1007
+ #
1008
+ # Returns the text string from the first text node child
1009
+ # in a specified element, if it exists, +nil+ otherwise.
1010
+ #
1011
+ # With no argument, returns the text from the first text node in +self+:
1012
+ #
1013
+ # d = REXML::Document.new "<p>some text <b>this is bold!</b> more text</p>"
1014
+ # d.root.text.class # => String
1015
+ # d.root.text # => "some text "
1016
+ #
1017
+ # With argument +xpath+, returns text from the first text node
1018
+ # in the element that matches +xpath+:
1019
+ #
1020
+ # d.root.text(1) # => "this is bold!"
1021
+ #
1022
+ # Note that an element may have multiple text nodes,
1023
+ # possibly separated by other non-text children, as above.
1024
+ # Even so, the returned value is the string text from the first such node.
1025
+ #
1026
+ # Note also that the text note is retrieved by method get_text,
1027
+ # and so is always normalized text.
1028
+ #
1029
+ def text( path = nil )
1030
+ rv = get_text(path)
1031
+ return rv.value unless rv.nil?
1032
+ nil
1033
+ end
1034
+
1035
+ # :call-seq:
1036
+ # get_text(xpath = nil) -> text_node or nil
1037
+ #
1038
+ # Returns the first text node child in a specified element, if it exists,
1039
+ # +nil+ otherwise.
1040
+ #
1041
+ # With no argument, returns the first text node from +self+:
1042
+ #
1043
+ # d = REXML::Document.new "<p>some text <b>this is bold!</b> more text</p>"
1044
+ # d.root.get_text.class # => REXML::Text
1045
+ # d.root.get_text # => "some text "
1046
+ #
1047
+ # With argument +xpath+, returns the first text node from the element
1048
+ # that matches +xpath+:
1049
+ #
1050
+ # d.root.get_text(1) # => "this is bold!"
1051
+ #
1052
+ def get_text path = nil
1053
+ rv = nil
1054
+ if path
1055
+ element = @elements[ path ]
1056
+ rv = element.get_text unless element.nil?
1057
+ else
1058
+ rv = @children.find { |node| node.kind_of? Text }
1059
+ end
1060
+ return rv
1061
+ end
1062
+
1063
+ # :call-seq:
1064
+ # text = string -> string
1065
+ # text = nil -> nil
1066
+ #
1067
+ # Adds, replaces, or removes the first text node child in the element.
1068
+ #
1069
+ # With string argument +string+,
1070
+ # creates a new \REXML::Text node containing that string,
1071
+ # honoring the current settings for whitespace and row,
1072
+ # then places the node as the first text child in the element;
1073
+ # returns +string+.
1074
+ #
1075
+ # If the element has no text child, the text node is added:
1076
+ #
1077
+ # d = REXML::Document.new '<a><b/></a>'
1078
+ # d.root.text = 'foo' #-> '<a><b/>foo</a>'
1079
+ #
1080
+ # If the element has a text child, it is replaced:
1081
+ #
1082
+ # d.root.text = 'bar' #-> '<a><b/>bar</a>'
1083
+ #
1084
+ # With argument +nil+, removes the first text child:
1085
+ #
1086
+ # d.root.text = nil #-> '<a><b/><c/></a>'
1087
+ #
1088
+ def text=( text )
1089
+ if text.kind_of? String
1090
+ text = Text.new( text, whitespace(), nil, raw() )
1091
+ elsif !text.nil? and !text.kind_of? Text
1092
+ text = Text.new( text.to_s, whitespace(), nil, raw() )
1093
+ end
1094
+ old_text = get_text
1095
+ if text.nil?
1096
+ old_text.remove unless old_text.nil?
1097
+ else
1098
+ if old_text.nil?
1099
+ self << text
1100
+ else
1101
+ old_text.replace_with( text )
1102
+ end
1103
+ end
1104
+ return self
1105
+ end
1106
+
1107
+ # :call-seq:
1108
+ # add_text(string) -> nil
1109
+ # add_text(text_node) -> self
1110
+ #
1111
+ # Adds text to the element.
1112
+ #
1113
+ # When string argument +string+ is given, returns +nil+.
1114
+ #
1115
+ # If the element has no child text node,
1116
+ # creates a \REXML::Text object using the string,
1117
+ # honoring the current settings for whitespace and raw,
1118
+ # then adds that node to the element:
1119
+ #
1120
+ # d = REXML::Document.new('<a><b/></a>')
1121
+ # a = d.root
1122
+ # a.add_text('foo')
1123
+ # a.to_a # => [<b/>, "foo"]
1124
+ #
1125
+ # If the element has child text nodes,
1126
+ # appends the string to the _last_ text node:
1127
+ #
1128
+ # d = REXML::Document.new('<a>foo<b/>bar</a>')
1129
+ # a = d.root
1130
+ # a.add_text('baz')
1131
+ # a.to_a # => ["foo", <b/>, "barbaz"]
1132
+ # a.add_text('baz')
1133
+ # a.to_a # => ["foo", <b/>, "barbazbaz"]
1134
+ #
1135
+ # When text node argument +text_node+ is given,
1136
+ # appends the node as the last text node in the element;
1137
+ # returns +self+:
1138
+ #
1139
+ # d = REXML::Document.new('<a>foo<b/>bar</a>')
1140
+ # a = d.root
1141
+ # a.add_text(REXML::Text.new('baz'))
1142
+ # a.to_a # => ["foo", <b/>, "bar", "baz"]
1143
+ # a.add_text(REXML::Text.new('baz'))
1144
+ # a.to_a # => ["foo", <b/>, "bar", "baz", "baz"]
1145
+ #
1146
+ def add_text( text )
1147
+ if text.kind_of? String
1148
+ if @children[-1].kind_of? Text
1149
+ @children[-1] << text
1150
+ return
1151
+ end
1152
+ text = Text.new( text, whitespace(), nil, raw() )
1153
+ end
1154
+ self << text unless text.nil?
1155
+ return self
1156
+ end
1157
+
1158
+ # :call-seq:
1159
+ # node_type -> :element
1160
+ #
1161
+ # Returns symbol <tt>:element</tt>:
1162
+ #
1163
+ # d = REXML::Document.new('<a/>')
1164
+ # a = d.root # => <a/>
1165
+ # a.node_type # => :element
1166
+ #
1167
+ def node_type
1168
+ :element
1169
+ end
1170
+
1171
+ # :call-seq:
1172
+ # xpath -> string_xpath
1173
+ #
1174
+ # Returns the string xpath to the element
1175
+ # relative to the most distant parent:
1176
+ #
1177
+ # d = REXML::Document.new('<a><b><c/></b></a>')
1178
+ # a = d.root # => <a> ... </>
1179
+ # b = a[0] # => <b> ... </>
1180
+ # c = b[0] # => <c/>
1181
+ # d.xpath # => ""
1182
+ # a.xpath # => "/a"
1183
+ # b.xpath # => "/a/b"
1184
+ # c.xpath # => "/a/b/c"
1185
+ #
1186
+ # If there is no parent, returns the expanded name of the element:
1187
+ #
1188
+ # e = REXML::Element.new('foo')
1189
+ # e.xpath # => "foo"
1190
+ #
1191
+ def xpath
1192
+ path_elements = []
1193
+ cur = self
1194
+ path_elements << __to_xpath_helper( self )
1195
+ while cur.parent
1196
+ cur = cur.parent
1197
+ path_elements << __to_xpath_helper( cur )
1198
+ end
1199
+ return path_elements.reverse.join( "/" )
1200
+ end
1201
+
1202
+ #################################################
1203
+ # Attributes #
1204
+ #################################################
1205
+
1206
+ # :call-seq:
1207
+ # [index] -> object
1208
+ # [attr_name] -> attr_value
1209
+ # [attr_sym] -> attr_value
1210
+ #
1211
+ # With integer argument +index+ given,
1212
+ # returns the child at offset +index+, or +nil+ if none:
1213
+ #
1214
+ # d = REXML::Document.new '><root><a/>text<b/>more<c/></root>'
1215
+ # root = d.root
1216
+ # (0..root.size).each do |index|
1217
+ # node = root[index]
1218
+ # p "#{index}: #{node} (#{node.class})"
1219
+ # end
1220
+ #
1221
+ # Output:
1222
+ #
1223
+ # "0: <a/> (REXML::Element)"
1224
+ # "1: text (REXML::Text)"
1225
+ # "2: <b/> (REXML::Element)"
1226
+ # "3: more (REXML::Text)"
1227
+ # "4: <c/> (REXML::Element)"
1228
+ # "5: (NilClass)"
1229
+ #
1230
+ # With string argument +attr_name+ given,
1231
+ # returns the string value for the given attribute name if it exists,
1232
+ # otherwise +nil+:
1233
+ #
1234
+ # d = REXML::Document.new('<root attr="value"></root>')
1235
+ # root = d.root
1236
+ # root['attr'] # => "value"
1237
+ # root['nosuch'] # => nil
1238
+ #
1239
+ # With symbol argument +attr_sym+ given,
1240
+ # returns <tt>[attr_sym.to_s]</tt>:
1241
+ #
1242
+ # root[:attr] # => "value"
1243
+ # root[:nosuch] # => nil
1244
+ #
1245
+ def [](name_or_index)
1246
+ case name_or_index
1247
+ when String
1248
+ attributes[name_or_index]
1249
+ when Symbol
1250
+ attributes[name_or_index.to_s]
1251
+ else
1252
+ super
1253
+ end
1254
+ end
1255
+
1256
+
1257
+ # :call-seq:
1258
+ # attribute(name, namespace = nil)
1259
+ #
1260
+ # Returns the string value for the given attribute name.
1261
+ #
1262
+ # With only argument +name+ given,
1263
+ # returns the value of the named attribute if it exists, otherwise +nil+:
1264
+ #
1265
+ # xml_string = <<-EOT
1266
+ # <root xmlns="ns0">
1267
+ # <a xmlns="ns1" attr="value"></a>
1268
+ # <b xmlns="ns2" attr="value"></b>
1269
+ # <c attr="value"/>
1270
+ # </root>
1271
+ # EOT
1272
+ # d = REXML::Document.new(xml_string)
1273
+ # root = d.root
1274
+ # a = root[1] # => <a xmlns='ns1' attr='value'/>
1275
+ # a.attribute('attr') # => attr='value'
1276
+ # a.attribute('nope') # => nil
1277
+ #
1278
+ # With arguments +name+ and +namespace+ given,
1279
+ # returns the value of the named attribute if it exists, otherwise +nil+:
1280
+ #
1281
+ # xml_string = "<root xmlns:a='a' a:x='a:x' x='x'/>"
1282
+ # document = REXML::Document.new(xml_string)
1283
+ # document.root.attribute("x") # => x='x'
1284
+ # document.root.attribute("x", "a") # => a:x='a:x'
1285
+ #
1286
+ def attribute( name, namespace=nil )
1287
+ prefix = nil
1288
+ if namespaces.respond_to? :key
1289
+ prefix = namespaces.key(namespace) if namespace
1290
+ else
1291
+ prefix = namespaces.index(namespace) if namespace
1292
+ end
1293
+ prefix = nil if prefix == 'xmlns'
1294
+
1295
+ ret_val =
1296
+ attributes.get_attribute( "#{prefix ? prefix + ':' : ''}#{name}" )
1297
+
1298
+ return ret_val unless ret_val.nil?
1299
+ return nil if prefix.nil?
1300
+
1301
+ # now check that prefix'es namespace is not the same as the
1302
+ # default namespace
1303
+ return nil unless ( namespaces[ prefix ] == namespaces[ 'xmlns' ] )
1304
+
1305
+ attributes.get_attribute( name )
1306
+
1307
+ end
1308
+
1309
+ # :call-seq:
1310
+ # has_attributes? -> true or false
1311
+ #
1312
+ # Returns +true+ if the element has attributes, +false+ otherwise:
1313
+ #
1314
+ # d = REXML::Document.new('<root><a attr="val"/><b/></root>')
1315
+ # a, b = *d.root
1316
+ # a.has_attributes? # => true
1317
+ # b.has_attributes? # => false
1318
+ #
1319
+ def has_attributes?
1320
+ return !@attributes.empty?
1321
+ end
1322
+
1323
+ # :call-seq:
1324
+ # add_attribute(name, value) -> value
1325
+ # add_attribute(attribute) -> attribute
1326
+ #
1327
+ # Adds an attribute to this element, overwriting any existing attribute
1328
+ # by the same name.
1329
+ #
1330
+ # With string argument +name+ and object +value+ are given,
1331
+ # adds the attribute created with that name and value:
1332
+ #
1333
+ # e = REXML::Element.new
1334
+ # e.add_attribute('attr', 'value') # => "value"
1335
+ # e['attr'] # => "value"
1336
+ # e.add_attribute('attr', 'VALUE') # => "VALUE"
1337
+ # e['attr'] # => "VALUE"
1338
+ #
1339
+ # With only attribute object +attribute+ given,
1340
+ # adds the given attribute:
1341
+ #
1342
+ # a = REXML::Attribute.new('attr', 'value')
1343
+ # e.add_attribute(a) # => attr='value'
1344
+ # e['attr'] # => "value"
1345
+ # a = REXML::Attribute.new('attr', 'VALUE')
1346
+ # e.add_attribute(a) # => attr='VALUE'
1347
+ # e['attr'] # => "VALUE"
1348
+ #
1349
+ def add_attribute( key, value=nil )
1350
+ if key.kind_of? Attribute
1351
+ @attributes << key
1352
+ else
1353
+ @attributes[key] = value
1354
+ end
1355
+ end
1356
+
1357
+ # :call-seq:
1358
+ # add_attributes(hash) -> hash
1359
+ # add_attributes(array)
1360
+ #
1361
+ # Adds zero or more attributes to the element;
1362
+ # returns the argument.
1363
+ #
1364
+ # If hash argument +hash+ is given,
1365
+ # each key must be a string;
1366
+ # adds each attribute created with the key/value pair:
1367
+ #
1368
+ # e = REXML::Element.new
1369
+ # h = {'foo' => 'bar', 'baz' => 'bat'}
1370
+ # e.add_attributes(h)
1371
+ #
1372
+ # If argument +array+ is given,
1373
+ # each array member must be a 2-element array <tt>[name, value];
1374
+ # each name must be a string:
1375
+ #
1376
+ # e = REXML::Element.new
1377
+ # a = [['foo' => 'bar'], ['baz' => 'bat']]
1378
+ # e.add_attributes(a)
1379
+ #
1380
+ def add_attributes hash
1381
+ if hash.kind_of? Hash
1382
+ hash.each_pair {|key, value| @attributes[key] = value }
1383
+ elsif hash.kind_of? Array
1384
+ hash.each { |value| @attributes[ value[0] ] = value[1] }
1385
+ end
1386
+ end
1387
+
1388
+ # :call-seq:
1389
+ # delete_attribute(name) -> removed_attribute or nil
1390
+ #
1391
+ # Removes a named attribute if it exists;
1392
+ # returns the removed attribute if found, otherwise +nil+:
1393
+ #
1394
+ # e = REXML::Element.new('foo')
1395
+ # e.add_attribute('bar', 'baz')
1396
+ # e.delete_attribute('bar') # => <bar/>
1397
+ # e.delete_attribute('bar') # => nil
1398
+ #
1399
+ def delete_attribute(key)
1400
+ attr = @attributes.get_attribute(key)
1401
+ attr.remove unless attr.nil?
1402
+ end
1403
+
1404
+ #################################################
1405
+ # Other Utilities #
1406
+ #################################################
1407
+
1408
+ # :call-seq:
1409
+ # cdatas -> array_of_cdata_children
1410
+ #
1411
+ # Returns a frozen array of the REXML::CData children of the element:
1412
+ #
1413
+ # xml_string = <<-EOT
1414
+ # <root>
1415
+ # <![CDATA[foo]]>
1416
+ # <![CDATA[bar]]>
1417
+ # </root>
1418
+ # EOT
1419
+ # d = REXML::Document.new(xml_string)
1420
+ # cds = d.root.cdatas # => ["foo", "bar"]
1421
+ # cds.frozen? # => true
1422
+ # cds.map {|cd| cd.class } # => [REXML::CData, REXML::CData]
1423
+ #
1424
+ def cdatas
1425
+ find_all { |child| child.kind_of? CData }.freeze
1426
+ end
1427
+
1428
+ # :call-seq:
1429
+ # comments -> array_of_comment_children
1430
+ #
1431
+ # Returns a frozen array of the REXML::Comment children of the element:
1432
+ #
1433
+ # xml_string = <<-EOT
1434
+ # <root>
1435
+ # <!--foo-->
1436
+ # <!--bar-->
1437
+ # </root>
1438
+ # EOT
1439
+ # d = REXML::Document.new(xml_string)
1440
+ # cs = d.root.comments
1441
+ # cs.frozen? # => true
1442
+ # cs.map {|c| c.class } # => [REXML::Comment, REXML::Comment]
1443
+ # cs.map {|c| c.to_s } # => ["foo", "bar"]
1444
+ #
1445
+ def comments
1446
+ find_all { |child| child.kind_of? Comment }.freeze
1447
+ end
1448
+
1449
+ # :call-seq:
1450
+ # instructions -> array_of_instruction_children
1451
+ #
1452
+ # Returns a frozen array of the REXML::Instruction children of the element:
1453
+ #
1454
+ # xml_string = <<-EOT
1455
+ # <root>
1456
+ # <?target0 foo?>
1457
+ # <?target1 bar?>
1458
+ # </root>
1459
+ # EOT
1460
+ # d = REXML::Document.new(xml_string)
1461
+ # is = d.root.instructions
1462
+ # is.frozen? # => true
1463
+ # is.map {|i| i.class } # => [REXML::Instruction, REXML::Instruction]
1464
+ # is.map {|i| i.to_s } # => ["<?target0 foo?>", "<?target1 bar?>"]
1465
+ #
1466
+ def instructions
1467
+ find_all { |child| child.kind_of? Instruction }.freeze
1468
+ end
1469
+
1470
+ # :call-seq:
1471
+ # texts -> array_of_text_children
1472
+ #
1473
+ # Returns a frozen array of the REXML::Text children of the element:
1474
+ #
1475
+ # xml_string = '<root><a/>text<b/>more<c/></root>'
1476
+ # d = REXML::Document.new(xml_string)
1477
+ # ts = d.root.texts
1478
+ # ts.frozen? # => true
1479
+ # ts.map {|t| t.class } # => [REXML::Text, REXML::Text]
1480
+ # ts.map {|t| t.to_s } # => ["text", "more"]
1481
+ #
1482
+ def texts
1483
+ find_all { |child| child.kind_of? Text }.freeze
1484
+ end
1485
+
1486
+ # == DEPRECATED
1487
+ # See REXML::Formatters
1488
+ #
1489
+ # Writes out this element, and recursively, all children.
1490
+ # output::
1491
+ # output an object which supports '<< string'; this is where the
1492
+ # document will be written.
1493
+ # indent::
1494
+ # An integer. If -1, no indenting will be used; otherwise, the
1495
+ # indentation will be this number of spaces, and children will be
1496
+ # indented an additional amount. Defaults to -1
1497
+ # transitive::
1498
+ # If transitive is true and indent is >= 0, then the output will be
1499
+ # pretty-printed in such a way that the added whitespace does not affect
1500
+ # the parse tree of the document
1501
+ # ie_hack::
1502
+ # This hack inserts a space before the /> on empty tags to address
1503
+ # a limitation of Internet Explorer. Defaults to false
1504
+ #
1505
+ # out = ''
1506
+ # doc.write( out ) #-> doc is written to the string 'out'
1507
+ # doc.write( $stdout ) #-> doc written to the console
1508
+ def write(output=$stdout, indent=-1, transitive=false, ie_hack=false)
1509
+ Kernel.warn("#{self.class.name}.write is deprecated. See REXML::Formatters", uplevel: 1)
1510
+ formatter = if indent > -1
1511
+ if transitive
1512
+ require_relative "formatters/transitive"
1513
+ REXML::Formatters::Transitive.new( indent, ie_hack )
1514
+ else
1515
+ REXML::Formatters::Pretty.new( indent, ie_hack )
1516
+ end
1517
+ else
1518
+ REXML::Formatters::Default.new( ie_hack )
1519
+ end
1520
+ formatter.write( self, output )
1521
+ end
1522
+
1523
+
1524
+ private
1525
+ def __to_xpath_helper node
1526
+ rv = node.expanded_name.clone
1527
+ if node.parent
1528
+ results = node.parent.find_all {|n|
1529
+ n.kind_of?(REXML::Element) and n.expanded_name == node.expanded_name
1530
+ }
1531
+ if results.length > 1
1532
+ idx = results.index( node )
1533
+ rv << "[#{idx+1}]"
1534
+ end
1535
+ end
1536
+ rv
1537
+ end
1538
+
1539
+ # A private helper method
1540
+ def each_with_something( test, max=0, name=nil )
1541
+ num = 0
1542
+ @elements.each( name ){ |child|
1543
+ yield child if test.call(child) and num += 1
1544
+ return if max>0 and num == max
1545
+ }
1546
+ end
1547
+ end
1548
+
1549
+ ########################################################################
1550
+ # ELEMENTS #
1551
+ ########################################################################
1552
+
1553
+ # A class which provides filtering of children for Elements, and
1554
+ # XPath search support. You are expected to only encounter this class as
1555
+ # the <tt>element.elements</tt> object. Therefore, you are
1556
+ # _not_ expected to instantiate this yourself.
1557
+ #
1558
+ # xml_string = <<-EOT
1559
+ # <?xml version="1.0" encoding="UTF-8"?>
1560
+ # <bookstore>
1561
+ # <book category="cooking">
1562
+ # <title lang="en">Everyday Italian</title>
1563
+ # <author>Giada De Laurentiis</author>
1564
+ # <year>2005</year>
1565
+ # <price>30.00</price>
1566
+ # </book>
1567
+ # <book category="children">
1568
+ # <title lang="en">Harry Potter</title>
1569
+ # <author>J K. Rowling</author>
1570
+ # <year>2005</year>
1571
+ # <price>29.99</price>
1572
+ # </book>
1573
+ # <book category="web">
1574
+ # <title lang="en">XQuery Kick Start</title>
1575
+ # <author>James McGovern</author>
1576
+ # <author>Per Bothner</author>
1577
+ # <author>Kurt Cagle</author>
1578
+ # <author>James Linn</author>
1579
+ # <author>Vaidyanathan Nagarajan</author>
1580
+ # <year>2003</year>
1581
+ # <price>49.99</price>
1582
+ # </book>
1583
+ # <book category="web" cover="paperback">
1584
+ # <title lang="en">Learning XML</title>
1585
+ # <author>Erik T. Ray</author>
1586
+ # <year>2003</year>
1587
+ # <price>39.95</price>
1588
+ # </book>
1589
+ # </bookstore>
1590
+ # EOT
1591
+ # d = REXML::Document.new(xml_string)
1592
+ # elements = d.root.elements
1593
+ # elements # => #<REXML::Elements @element=<bookstore> ... </>>
1594
+ #
1595
+ class Elements
1596
+ include Enumerable
1597
+ # :call-seq:
1598
+ # new(parent) -> new_elements_object
1599
+ #
1600
+ # Returns a new \Elements object with the given +parent+.
1601
+ # Does _not_ assign <tt>parent.elements = self</tt>:
1602
+ #
1603
+ # d = REXML::Document.new(xml_string)
1604
+ # eles = REXML::Elements.new(d.root)
1605
+ # eles # => #<REXML::Elements @element=<bookstore> ... </>>
1606
+ # eles == d.root.elements # => false
1607
+ #
1608
+ def initialize parent
1609
+ @element = parent
1610
+ end
1611
+
1612
+ # :call-seq:
1613
+ # parent
1614
+ #
1615
+ # Returns the parent element cited in creating the \Elements object.
1616
+ # This element is also the default starting point for searching
1617
+ # in the \Elements object.
1618
+ #
1619
+ # d = REXML::Document.new(xml_string)
1620
+ # elements = REXML::Elements.new(d.root)
1621
+ # elements.parent == d.root # => true
1622
+ #
1623
+ def parent
1624
+ @element
1625
+ end
1626
+
1627
+ # :call-seq:
1628
+ # elements[index] -> element or nil
1629
+ # elements[xpath] -> element or nil
1630
+ # elements[n, name] -> element or nil
1631
+ #
1632
+ # Returns the first \Element object selected by the arguments,
1633
+ # if any found, or +nil+ if none found.
1634
+ #
1635
+ # Notes:
1636
+ # - The +index+ is 1-based, not 0-based, so that:
1637
+ # - The first element has index <tt>1</tt>
1638
+ # - The _nth_ element has index +n+.
1639
+ # - The selection ignores non-\Element nodes.
1640
+ #
1641
+ # When the single argument +index+ is given,
1642
+ # returns the element given by the index, if any; otherwise, +nil+:
1643
+ #
1644
+ # d = REXML::Document.new(xml_string)
1645
+ # eles = d.root.elements
1646
+ # eles # => #<REXML::Elements @element=<bookstore> ... </>>
1647
+ # eles[1] # => <book category='cooking'> ... </>
1648
+ # eles.size # => 4
1649
+ # eles[4] # => <book category='web' cover='paperback'> ... </>
1650
+ # eles[5] # => nil
1651
+ #
1652
+ # The node at this index is not an \Element, and so is not returned:
1653
+ #
1654
+ # eles = d.root.first.first # => <title lang='en'> ... </>
1655
+ # eles.to_a # => ["Everyday Italian"]
1656
+ # eles[1] # => nil
1657
+ #
1658
+ # When the single argument +xpath+ is given,
1659
+ # returns the first element found via that +xpath+, if any; otherwise, +nil+:
1660
+ #
1661
+ # eles = d.root.elements # => #<REXML::Elements @element=<bookstore> ... </>>
1662
+ # eles['/bookstore'] # => <bookstore> ... </>
1663
+ # eles['//book'] # => <book category='cooking'> ... </>
1664
+ # eles['//book [@category="children"]'] # => <book category='children'> ... </>
1665
+ # eles['/nosuch'] # => nil
1666
+ # eles['//nosuch'] # => nil
1667
+ # eles['//book [@category="nosuch"]'] # => nil
1668
+ # eles['.'] # => <bookstore> ... </>
1669
+ # eles['..'].class # => REXML::Document
1670
+ #
1671
+ # With arguments +n+ and +name+ given,
1672
+ # returns the _nth_ found element that has the given +name+,
1673
+ # or +nil+ if there is no such _nth_ element:
1674
+ #
1675
+ # eles = d.root.elements # => #<REXML::Elements @element=<bookstore> ... </>>
1676
+ # eles[1, 'book'] # => <book category='cooking'> ... </>
1677
+ # eles[4, 'book'] # => <book category='web' cover='paperback'> ... </>
1678
+ # eles[5, 'book'] # => nil
1679
+ #
1680
+ def []( index, name=nil)
1681
+ if index.kind_of? Integer
1682
+ raise "index (#{index}) must be >= 1" if index < 1
1683
+ name = literalize(name) if name
1684
+ num = 0
1685
+ @element.find { |child|
1686
+ child.kind_of? Element and
1687
+ (name.nil? ? true : child.has_name?( name )) and
1688
+ (num += 1) == index
1689
+ }
1690
+ else
1691
+ return XPath::first( @element, index )
1692
+ #{ |element|
1693
+ # return element if element.kind_of? Element
1694
+ #}
1695
+ #return nil
1696
+ end
1697
+ end
1698
+
1699
+ # :call-seq:
1700
+ # elements[] = index, replacement_element -> replacement_element or nil
1701
+ #
1702
+ # Replaces or adds an element.
1703
+ #
1704
+ # When <tt>eles[index]</tt> exists, replaces it with +replacement_element+
1705
+ # and returns +replacement_element+:
1706
+ #
1707
+ # d = REXML::Document.new(xml_string)
1708
+ # eles = d.root.elements # => #<REXML::Elements @element=<bookstore> ... </>>
1709
+ # eles[1] # => <book category='cooking'> ... </>
1710
+ # eles[1] = REXML::Element.new('foo')
1711
+ # eles[1] # => <foo/>
1712
+ #
1713
+ # Does nothing (or raises an exception)
1714
+ # if +replacement_element+ is not an \Element:
1715
+ # eles[2] # => <book category='web' cover='paperback'> ... </>
1716
+ # eles[2] = REXML::Text.new('bar')
1717
+ # eles[2] # => <book category='web' cover='paperback'> ... </>
1718
+ #
1719
+ # When <tt>eles[index]</tt> does not exist,
1720
+ # adds +replacement_element+ to the element and returns
1721
+ #
1722
+ # d = REXML::Document.new(xml_string)
1723
+ # eles = d.root.elements # => #<REXML::Elements @element=<bookstore> ... </>>
1724
+ # eles.size # => 4
1725
+ # eles[50] = REXML::Element.new('foo') # => <foo/>
1726
+ # eles.size # => 5
1727
+ # eles[5] # => <foo/>
1728
+ #
1729
+ # Does nothing (or raises an exception)
1730
+ # if +replacement_element+ is not an \Element:
1731
+ #
1732
+ # eles[50] = REXML::Text.new('bar') # => "bar"
1733
+ # eles.size # => 5
1734
+ #
1735
+ def []=( index, element )
1736
+ previous = self[index]
1737
+ if previous.nil?
1738
+ @element.add element
1739
+ else
1740
+ previous.replace_with element
1741
+ end
1742
+ return previous
1743
+ end
1744
+
1745
+ # :call-seq:
1746
+ # empty? -> true or false
1747
+ #
1748
+ # Returns +true+ if there are no children, +false+ otherwise.
1749
+ #
1750
+ # d = REXML::Document.new('')
1751
+ # d.elements.empty? # => true
1752
+ # d = REXML::Document.new(xml_string)
1753
+ # d.elements.empty? # => false
1754
+ #
1755
+ def empty?
1756
+ @element.find{ |child| child.kind_of? Element}.nil?
1757
+ end
1758
+
1759
+ # :call-seq:
1760
+ # index(element)
1761
+ #
1762
+ # Returns the 1-based index of the given +element+, if found;
1763
+ # otherwise, returns -1:
1764
+ #
1765
+ # d = REXML::Document.new(xml_string)
1766
+ # elements = d.root.elements
1767
+ # ele_1, ele_2, ele_3, ele_4 = *elements
1768
+ # elements.index(ele_4) # => 4
1769
+ # elements.delete(ele_3)
1770
+ # elements.index(ele_4) # => 3
1771
+ # elements.index(ele_3) # => -1
1772
+ #
1773
+ def index element
1774
+ rv = 0
1775
+ found = @element.find do |child|
1776
+ child.kind_of? Element and
1777
+ (rv += 1) and
1778
+ child == element
1779
+ end
1780
+ return rv if found == element
1781
+ return -1
1782
+ end
1783
+
1784
+ # :call-seq:
1785
+ # delete(index) -> removed_element or nil
1786
+ # delete(element) -> removed_element or nil
1787
+ # delete(xpath) -> removed_element or nil
1788
+ #
1789
+ # Removes an element; returns the removed element, or +nil+ if none removed.
1790
+ #
1791
+ # With integer argument +index+ given,
1792
+ # removes the child element at that offset:
1793
+ #
1794
+ # d = REXML::Document.new(xml_string)
1795
+ # elements = d.root.elements
1796
+ # elements.size # => 4
1797
+ # elements[2] # => <book category='children'> ... </>
1798
+ # elements.delete(2) # => <book category='children'> ... </>
1799
+ # elements.size # => 3
1800
+ # elements[2] # => <book category='web'> ... </>
1801
+ # elements.delete(50) # => nil
1802
+ #
1803
+ # With element argument +element+ given,
1804
+ # removes that child element:
1805
+ #
1806
+ # d = REXML::Document.new(xml_string)
1807
+ # elements = d.root.elements
1808
+ # ele_1, ele_2, ele_3, ele_4 = *elements
1809
+ # elements.size # => 4
1810
+ # elements[2] # => <book category='children'> ... </>
1811
+ # elements.delete(ele_2) # => <book category='children'> ... </>
1812
+ # elements.size # => 3
1813
+ # elements[2] # => <book category='web'> ... </>
1814
+ # elements.delete(ele_2) # => nil
1815
+ #
1816
+ # With string argument +xpath+ given,
1817
+ # removes the first element found via that xpath:
1818
+ #
1819
+ # d = REXML::Document.new(xml_string)
1820
+ # elements = d.root.elements
1821
+ # elements.delete('//book') # => <book category='cooking'> ... </>
1822
+ # elements.delete('//book [@category="children"]') # => <book category='children'> ... </>
1823
+ # elements.delete('//nosuch') # => nil
1824
+ #
1825
+ def delete element
1826
+ if element.kind_of? Element
1827
+ @element.delete element
1828
+ else
1829
+ el = self[element]
1830
+ el.remove if el
1831
+ end
1832
+ end
1833
+
1834
+ # :call-seq:
1835
+ # delete_all(xpath)
1836
+ #
1837
+ # Removes all elements found via the given +xpath+;
1838
+ # returns the array of removed elements, if any, else +nil+.
1839
+ #
1840
+ # d = REXML::Document.new(xml_string)
1841
+ # elements = d.root.elements
1842
+ # elements.size # => 4
1843
+ # deleted_elements = elements.delete_all('//book [@category="web"]')
1844
+ # deleted_elements.size # => 2
1845
+ # elements.size # => 2
1846
+ # deleted_elements = elements.delete_all('//book')
1847
+ # deleted_elements.size # => 2
1848
+ # elements.size # => 0
1849
+ # elements.delete_all('//book') # => []
1850
+ #
1851
+ def delete_all( xpath )
1852
+ rv = []
1853
+ XPath::each( @element, xpath) {|element|
1854
+ rv << element if element.kind_of? Element
1855
+ }
1856
+ rv.each do |element|
1857
+ @element.delete element
1858
+ element.remove
1859
+ end
1860
+ return rv
1861
+ end
1862
+
1863
+ # :call-seq:
1864
+ # add -> new_element
1865
+ # add(name) -> new_element
1866
+ # add(element) -> element
1867
+ #
1868
+ # Adds an element; returns the element added.
1869
+ #
1870
+ # With no argument, creates and adds a new element.
1871
+ # The new element has:
1872
+ #
1873
+ # - No name.
1874
+ # - \Parent from the \Elements object.
1875
+ # - Context from the that parent.
1876
+ #
1877
+ # Example:
1878
+ #
1879
+ # d = REXML::Document.new(xml_string)
1880
+ # elements = d.root.elements
1881
+ # parent = elements.parent # => <bookstore> ... </>
1882
+ # parent.context = {raw: :all}
1883
+ # elements.size # => 4
1884
+ # new_element = elements.add # => </>
1885
+ # elements.size # => 5
1886
+ # new_element.name # => nil
1887
+ # new_element.parent # => <bookstore> ... </>
1888
+ # new_element.context # => {:raw=>:all}
1889
+ #
1890
+ # With string argument +name+, creates and adds a new element.
1891
+ # The new element has:
1892
+ #
1893
+ # - Name +name+.
1894
+ # - \Parent from the \Elements object.
1895
+ # - Context from the that parent.
1896
+ #
1897
+ # Example:
1898
+ #
1899
+ # d = REXML::Document.new(xml_string)
1900
+ # elements = d.root.elements
1901
+ # parent = elements.parent # => <bookstore> ... </>
1902
+ # parent.context = {raw: :all}
1903
+ # elements.size # => 4
1904
+ # new_element = elements.add('foo') # => <foo/>
1905
+ # elements.size # => 5
1906
+ # new_element.name # => "foo"
1907
+ # new_element.parent # => <bookstore> ... </>
1908
+ # new_element.context # => {:raw=>:all}
1909
+ #
1910
+ # With argument +element+,
1911
+ # creates and adds a clone of the given +element+.
1912
+ # The new element has name, parent, and context from the given +element+.
1913
+ #
1914
+ # d = REXML::Document.new(xml_string)
1915
+ # elements = d.root.elements
1916
+ # elements.size # => 4
1917
+ # e0 = REXML::Element.new('foo')
1918
+ # e1 = REXML::Element.new('bar', e0, {raw: :all})
1919
+ # element = elements.add(e1) # => <bar/>
1920
+ # elements.size # => 5
1921
+ # element.name # => "bar"
1922
+ # element.parent # => <bookstore> ... </>
1923
+ # element.context # => {:raw=>:all}
1924
+ #
1925
+ def add element=nil
1926
+ if element.nil?
1927
+ Element.new("", self, @element.context)
1928
+ elsif not element.kind_of?(Element)
1929
+ Element.new(element, self, @element.context)
1930
+ else
1931
+ @element << element
1932
+ element.context = @element.context
1933
+ element
1934
+ end
1935
+ end
1936
+
1937
+ alias :<< :add
1938
+
1939
+ # :call-seq:
1940
+ # each(xpath = nil) {|element| ... } -> self
1941
+ #
1942
+ # Iterates over the elements.
1943
+ #
1944
+ # With no argument, calls the block with each element:
1945
+ #
1946
+ # d = REXML::Document.new(xml_string)
1947
+ # elements = d.root.elements
1948
+ # elements.each {|element| p element }
1949
+ #
1950
+ # Output:
1951
+ #
1952
+ # <book category='cooking'> ... </>
1953
+ # <book category='children'> ... </>
1954
+ # <book category='web'> ... </>
1955
+ # <book category='web' cover='paperback'> ... </>
1956
+ #
1957
+ # With argument +xpath+, calls the block with each element
1958
+ # that matches the given +xpath+:
1959
+ #
1960
+ # elements.each('//book [@category="web"]') {|element| p element }
1961
+ #
1962
+ # Output:
1963
+ #
1964
+ # <book category='web'> ... </>
1965
+ # <book category='web' cover='paperback'> ... </>
1966
+ #
1967
+ def each( xpath=nil )
1968
+ XPath::each( @element, xpath ) {|e| yield e if e.kind_of? Element }
1969
+ end
1970
+
1971
+ # :call-seq:
1972
+ # collect(xpath = nil) {|element| ... } -> array
1973
+ #
1974
+ # Iterates over the elements; returns the array of block return values.
1975
+ #
1976
+ # With no argument, iterates over all elements:
1977
+ #
1978
+ # d = REXML::Document.new(xml_string)
1979
+ # elements = d.root.elements
1980
+ # elements.collect {|element| element.size } # => [9, 9, 17, 9]
1981
+ #
1982
+ # With argument +xpath+, iterates over elements that match
1983
+ # the given +xpath+:
1984
+ #
1985
+ # xpath = '//book [@category="web"]'
1986
+ # elements.collect(xpath) {|element| element.size } # => [17, 9]
1987
+ #
1988
+ def collect( xpath=nil )
1989
+ collection = []
1990
+ XPath::each( @element, xpath ) {|e|
1991
+ collection << yield(e) if e.kind_of?(Element)
1992
+ }
1993
+ collection
1994
+ end
1995
+
1996
+ # :call-seq:
1997
+ # inject(xpath = nil, initial = nil) -> object
1998
+ #
1999
+ # Calls the block with elements; returns the last block return value.
2000
+ #
2001
+ # With no argument, iterates over the elements, calling the block
2002
+ # <tt>elements.size - 1</tt> times.
2003
+ #
2004
+ # - The first call passes the first and second elements.
2005
+ # - The second call passes the first block return value and the third element.
2006
+ # - The third call passes the second block return value and the fourth element.
2007
+ # - And so on.
2008
+ #
2009
+ # In this example, the block returns the passed element,
2010
+ # which is then the object argument to the next call:
2011
+ #
2012
+ # d = REXML::Document.new(xml_string)
2013
+ # elements = d.root.elements
2014
+ # elements.inject do |object, element|
2015
+ # p [elements.index(object), elements.index(element)]
2016
+ # element
2017
+ # end
2018
+ #
2019
+ # Output:
2020
+ #
2021
+ # [1, 2]
2022
+ # [2, 3]
2023
+ # [3, 4]
2024
+ #
2025
+ # With the single argument +xpath+, calls the block only with
2026
+ # elements matching that xpath:
2027
+ #
2028
+ # elements.inject('//book [@category="web"]') do |object, element|
2029
+ # p [elements.index(object), elements.index(element)]
2030
+ # element
2031
+ # end
2032
+ #
2033
+ # Output:
2034
+ #
2035
+ # [3, 4]
2036
+ #
2037
+ # With argument +xpath+ given as +nil+
2038
+ # and argument +initial+ also given,
2039
+ # calls the block once for each element.
2040
+ #
2041
+ # - The first call passes the +initial+ and the first element.
2042
+ # - The second call passes the first block return value and the second element.
2043
+ # - The third call passes the second block return value and the third element.
2044
+ # - And so on.
2045
+ #
2046
+ # In this example, the first object index is <tt>-1</tt>
2047
+ #
2048
+ # elements.inject(nil, 'Initial') do |object, element|
2049
+ # p [elements.index(object), elements.index(element)]
2050
+ # element
2051
+ # end
2052
+ #
2053
+ # Output:
2054
+ #
2055
+ # [-1, 1]
2056
+ # [1, 2]
2057
+ # [2, 3]
2058
+ # [3, 4]
2059
+ #
2060
+ # In this form the passed object can be used as an accumulator:
2061
+ #
2062
+ # elements.inject(nil, 0) do |total, element|
2063
+ # total += element.size
2064
+ # end # => 44
2065
+ #
2066
+ # With both arguments +xpath+ and +initial+ are given,
2067
+ # calls the block only with elements matching that xpath:
2068
+ #
2069
+ # elements.inject('//book [@category="web"]', 0) do |total, element|
2070
+ # total += element.size
2071
+ # end # => 26
2072
+ #
2073
+ def inject( xpath=nil, initial=nil )
2074
+ first = true
2075
+ XPath::each( @element, xpath ) {|e|
2076
+ if (e.kind_of? Element)
2077
+ if (first and initial == nil)
2078
+ initial = e
2079
+ first = false
2080
+ else
2081
+ initial = yield( initial, e ) if e.kind_of? Element
2082
+ end
2083
+ end
2084
+ }
2085
+ initial
2086
+ end
2087
+
2088
+ # :call-seq:
2089
+ # size -> integer
2090
+ #
2091
+ # Returns the count of \Element children:
2092
+ #
2093
+ # d = REXML::Document.new '<a>sean<b/>elliott<b/>russell<b/></a>'
2094
+ # d.root.elements.size # => 3 # Three elements.
2095
+ # d.root.size # => 6 # Three elements plus three text nodes..
2096
+ #
2097
+ def size
2098
+ count = 0
2099
+ @element.each {|child| count+=1 if child.kind_of? Element }
2100
+ count
2101
+ end
2102
+
2103
+ # :call-seq:
2104
+ # to_a(xpath = nil) -> array_of_elements
2105
+ #
2106
+ # Returns an array of element children (not including non-element children).
2107
+ #
2108
+ # With no argument, returns an array of all element children:
2109
+ #
2110
+ # d = REXML::Document.new '<a>sean<b/>elliott<c/></a>'
2111
+ # elements = d.root.elements
2112
+ # elements.to_a # => [<b/>, <c/>] # Omits non-element children.
2113
+ # children = d.root.children
2114
+ # children # => ["sean", <b/>, "elliott", <c/>] # Includes non-element children.
2115
+ #
2116
+ # With argument +xpath+, returns an array of element children
2117
+ # that match the xpath:
2118
+ #
2119
+ # elements.to_a('//c') # => [<c/>]
2120
+ #
2121
+ def to_a( xpath=nil )
2122
+ rv = XPath.match( @element, xpath )
2123
+ return rv.find_all{|e| e.kind_of? Element} if xpath
2124
+ rv
2125
+ end
2126
+
2127
+ private
2128
+ # Private helper class. Removes quotes from quoted strings
2129
+ def literalize name
2130
+ name = name[1..-2] if name[0] == ?' or name[0] == ?" #'
2131
+ name
2132
+ end
2133
+ end
2134
+
2135
+ ########################################################################
2136
+ # ATTRIBUTES #
2137
+ ########################################################################
2138
+
2139
+ # A class that defines the set of Attributes of an Element and provides
2140
+ # operations for accessing elements in that set.
2141
+ class Attributes < Hash
2142
+
2143
+ # :call-seq:
2144
+ # new(element)
2145
+ #
2146
+ # Creates and returns a new \REXML::Attributes object.
2147
+ # The element given by argument +element+ is stored,
2148
+ # but its own attributes are not modified:
2149
+ #
2150
+ # ele = REXML::Element.new('foo')
2151
+ # attrs = REXML::Attributes.new(ele)
2152
+ # attrs.object_id == ele.attributes.object_id # => false
2153
+ #
2154
+ # Other instance methods in class \REXML::Attributes may refer to:
2155
+ #
2156
+ # - +element.document+.
2157
+ # - +element.prefix+.
2158
+ # - +element.expanded_name+.
2159
+ #
2160
+ def initialize element
2161
+ @element = element
2162
+ end
2163
+
2164
+ # :call-seq:
2165
+ # [name] -> attribute_value or nil
2166
+ #
2167
+ # Returns the value for the attribute given by +name+,
2168
+ # if it exists; otherwise +nil+.
2169
+ # The value returned is the unnormalized attribute value,
2170
+ # with entities expanded:
2171
+ #
2172
+ # xml_string = <<-EOT
2173
+ # <root xmlns:foo="http://foo" xmlns:bar="http://bar">
2174
+ # <ele foo:att='1' bar:att='2' att='&lt;'/>
2175
+ # </root>
2176
+ # EOT
2177
+ # d = REXML::Document.new(xml_string)
2178
+ # ele = d.elements['//ele'] # => <a foo:att='1' bar:att='2' att='&lt;'/>
2179
+ # ele.attributes['att'] # => "<"
2180
+ # ele.attributes['bar:att'] # => "2"
2181
+ # ele.attributes['nosuch'] # => nil
2182
+ #
2183
+ # Related: get_attribute (returns an \Attribute object).
2184
+ #
2185
+ def [](name)
2186
+ attr = get_attribute(name)
2187
+ return attr.value unless attr.nil?
2188
+ return nil
2189
+ end
2190
+
2191
+ # :call-seq:
2192
+ # to_a -> array_of_attribute_objects
2193
+ #
2194
+ # Returns an array of \REXML::Attribute objects representing
2195
+ # the attributes:
2196
+ #
2197
+ # xml_string = <<-EOT
2198
+ # <root xmlns:foo="http://foo" xmlns:bar="http://bar">
2199
+ # <ele foo:att='1' bar:att='2' att='&lt;'/>
2200
+ # </root>
2201
+ # EOT
2202
+ # d = REXML::Document.new(xml_string)
2203
+ # ele = d.root.elements['//ele'] # => <a foo:att='1' bar:att='2' att='&lt;'/>
2204
+ # attrs = ele.attributes.to_a # => [foo:att='1', bar:att='2', att='&lt;']
2205
+ # attrs.first.class # => REXML::Attribute
2206
+ #
2207
+ def to_a
2208
+ enum_for(:each_attribute).to_a
2209
+ end
2210
+
2211
+ # :call-seq:
2212
+ # length
2213
+ #
2214
+ # Returns the count of attributes:
2215
+ #
2216
+ # xml_string = <<-EOT
2217
+ # <root xmlns:foo="http://foo" xmlns:bar="http://bar">
2218
+ # <ele foo:att='1' bar:att='2' att='&lt;'/>
2219
+ # </root>
2220
+ # EOT
2221
+ # d = REXML::Document.new(xml_string)
2222
+ # ele = d.root.elements['//ele'] # => <a foo:att='1' bar:att='2' att='&lt;'/>
2223
+ # ele.attributes.length # => 3
2224
+ #
2225
+ def length
2226
+ c = 0
2227
+ each_attribute { c+=1 }
2228
+ c
2229
+ end
2230
+ alias :size :length
2231
+
2232
+ # :call-seq:
2233
+ # each_attribute {|attr| ... }
2234
+ #
2235
+ # Calls the given block with each \REXML::Attribute object:
2236
+ #
2237
+ # xml_string = <<-EOT
2238
+ # <root xmlns:foo="http://foo" xmlns:bar="http://bar">
2239
+ # <ele foo:att='1' bar:att='2' att='&lt;'/>
2240
+ # </root>
2241
+ # EOT
2242
+ # d = REXML::Document.new(xml_string)
2243
+ # ele = d.root.elements['//ele'] # => <a foo:att='1' bar:att='2' att='&lt;'/>
2244
+ # ele.attributes.each_attribute do |attr|
2245
+ # p [attr.class, attr]
2246
+ # end
2247
+ #
2248
+ # Output:
2249
+ #
2250
+ # [REXML::Attribute, foo:att='1']
2251
+ # [REXML::Attribute, bar:att='2']
2252
+ # [REXML::Attribute, att='&lt;']
2253
+ #
2254
+ def each_attribute # :yields: attribute
2255
+ return to_enum(__method__) unless block_given?
2256
+ each_value do |val|
2257
+ if val.kind_of? Attribute
2258
+ yield val
2259
+ else
2260
+ val.each_value { |atr| yield atr }
2261
+ end
2262
+ end
2263
+ end
2264
+
2265
+ # :call-seq:
2266
+ # each {|expanded_name, value| ... }
2267
+ #
2268
+ # Calls the given block with each expanded-name/value pair:
2269
+ #
2270
+ # xml_string = <<-EOT
2271
+ # <root xmlns:foo="http://foo" xmlns:bar="http://bar">
2272
+ # <ele foo:att='1' bar:att='2' att='&lt;'/>
2273
+ # </root>
2274
+ # EOT
2275
+ # d = REXML::Document.new(xml_string)
2276
+ # ele = d.root.elements['//ele'] # => <a foo:att='1' bar:att='2' att='&lt;'/>
2277
+ # ele.attributes.each do |expanded_name, value|
2278
+ # p [expanded_name, value]
2279
+ # end
2280
+ #
2281
+ # Output:
2282
+ #
2283
+ # ["foo:att", "1"]
2284
+ # ["bar:att", "2"]
2285
+ # ["att", "<"]
2286
+ #
2287
+ def each
2288
+ return to_enum(__method__) unless block_given?
2289
+ each_attribute do |attr|
2290
+ yield [attr.expanded_name, attr.value]
2291
+ end
2292
+ end
2293
+
2294
+ # :call-seq:
2295
+ # get_attribute(name) -> attribute_object or nil
2296
+ #
2297
+ # Returns the \REXML::Attribute object for the given +name+:
2298
+ #
2299
+ # xml_string = <<-EOT
2300
+ # <root xmlns:foo="http://foo" xmlns:bar="http://bar">
2301
+ # <ele foo:att='1' bar:att='2' att='&lt;'/>
2302
+ # </root>
2303
+ # EOT
2304
+ # d = REXML::Document.new(xml_string)
2305
+ # ele = d.root.elements['//ele'] # => <a foo:att='1' bar:att='2' att='&lt;'/>
2306
+ # attrs = ele.attributes
2307
+ # attrs.get_attribute('foo:att') # => foo:att='1'
2308
+ # attrs.get_attribute('foo:att').class # => REXML::Attribute
2309
+ # attrs.get_attribute('bar:att') # => bar:att='2'
2310
+ # attrs.get_attribute('att') # => att='&lt;'
2311
+ # attrs.get_attribute('nosuch') # => nil
2312
+ #
2313
+ def get_attribute( name )
2314
+ attr = fetch( name, nil )
2315
+ if attr.nil?
2316
+ return nil if name.nil?
2317
+ # Look for prefix
2318
+ name =~ Namespace::NAMESPLIT
2319
+ prefix, n = $1, $2
2320
+ if prefix
2321
+ attr = fetch( n, nil )
2322
+ # check prefix
2323
+ if attr == nil
2324
+ elsif attr.kind_of? Attribute
2325
+ return attr if prefix == attr.prefix
2326
+ else
2327
+ attr = attr[ prefix ]
2328
+ return attr
2329
+ end
2330
+ end
2331
+ element_document = @element.document
2332
+ if element_document and element_document.doctype
2333
+ expn = @element.expanded_name
2334
+ expn = element_document.doctype.name if expn.size == 0
2335
+ attr_val = element_document.doctype.attribute_of(expn, name)
2336
+ return Attribute.new( name, attr_val ) if attr_val
2337
+ end
2338
+ return nil
2339
+ end
2340
+ if attr.kind_of? Hash
2341
+ attr = attr[ @element.prefix ]
2342
+ end
2343
+ return attr
2344
+ end
2345
+
2346
+ # :call-seq:
2347
+ # [name] = value -> value
2348
+ #
2349
+ # When +value+ is non-+nil+,
2350
+ # assigns that to the attribute for the given +name+,
2351
+ # overwriting the previous value if it exists:
2352
+ #
2353
+ # xml_string = <<-EOT
2354
+ # <root xmlns:foo="http://foo" xmlns:bar="http://bar">
2355
+ # <ele foo:att='1' bar:att='2' att='&lt;'/>
2356
+ # </root>
2357
+ # EOT
2358
+ # d = REXML::Document.new(xml_string)
2359
+ # ele = d.root.elements['//ele'] # => <a foo:att='1' bar:att='2' att='&lt;'/>
2360
+ # attrs = ele.attributes
2361
+ # attrs['foo:att'] = '2' # => "2"
2362
+ # attrs['baz:att'] = '3' # => "3"
2363
+ #
2364
+ # When +value+ is +nil+, deletes the attribute if it exists:
2365
+ #
2366
+ # attrs['baz:att'] = nil
2367
+ # attrs.include?('baz:att') # => false
2368
+ #
2369
+ def []=( name, value )
2370
+ if value.nil? # Delete the named attribute
2371
+ attr = get_attribute(name)
2372
+ delete attr
2373
+ return
2374
+ end
2375
+
2376
+ unless value.kind_of? Attribute
2377
+ if @element.document and @element.document.doctype
2378
+ value = Text::normalize( value, @element.document.doctype )
2379
+ else
2380
+ value = Text::normalize( value, nil )
2381
+ end
2382
+ value = Attribute.new(name, value)
2383
+ end
2384
+ value.element = @element
2385
+ old_attr = fetch(value.name, nil)
2386
+ if old_attr.nil?
2387
+ store(value.name, value)
2388
+ elsif old_attr.kind_of? Hash
2389
+ old_attr[value.prefix] = value
2390
+ elsif old_attr.prefix != value.prefix
2391
+ # Check for conflicting namespaces
2392
+ if value.prefix != "xmlns" and old_attr.prefix != "xmlns"
2393
+ old_namespace = old_attr.namespace
2394
+ new_namespace = value.namespace
2395
+ if old_namespace == new_namespace
2396
+ raise ParseException.new(
2397
+ "Namespace conflict in adding attribute \"#{value.name}\": "+
2398
+ "Prefix \"#{old_attr.prefix}\" = \"#{old_namespace}\" and "+
2399
+ "prefix \"#{value.prefix}\" = \"#{new_namespace}\"")
2400
+ end
2401
+ end
2402
+ store value.name, {old_attr.prefix => old_attr,
2403
+ value.prefix => value}
2404
+ else
2405
+ store value.name, value
2406
+ end
2407
+ return @element
2408
+ end
2409
+
2410
+ # :call-seq:
2411
+ # prefixes -> array_of_prefix_strings
2412
+ #
2413
+ # Returns an array of prefix strings in the attributes.
2414
+ # The array does not include the default
2415
+ # namespace declaration, if one exists.
2416
+ #
2417
+ # xml_string = '<a xmlns="foo" xmlns:x="bar" xmlns:y="twee" z="glorp"/>'
2418
+ # d = REXML::Document.new(xml_string)
2419
+ # d.root.attributes.prefixes # => ["x", "y"]
2420
+ #
2421
+ def prefixes
2422
+ ns = []
2423
+ each_attribute do |attribute|
2424
+ ns << attribute.name if attribute.prefix == 'xmlns'
2425
+ end
2426
+ if @element.document and @element.document.doctype
2427
+ expn = @element.expanded_name
2428
+ expn = @element.document.doctype.name if expn.size == 0
2429
+ @element.document.doctype.attributes_of(expn).each {
2430
+ |attribute|
2431
+ ns << attribute.name if attribute.prefix == 'xmlns'
2432
+ }
2433
+ end
2434
+ ns
2435
+ end
2436
+
2437
+ # :call-seq:
2438
+ # namespaces
2439
+ #
2440
+ # Returns a hash of name/value pairs for the namespaces:
2441
+ #
2442
+ # xml_string = '<a xmlns="foo" xmlns:x="bar" xmlns:y="twee" z="glorp"/>'
2443
+ # d = REXML::Document.new(xml_string)
2444
+ # d.root.attributes.namespaces # => {"xmlns"=>"foo", "x"=>"bar", "y"=>"twee"}
2445
+ #
2446
+ def namespaces
2447
+ namespaces = {}
2448
+ each_attribute do |attribute|
2449
+ namespaces[attribute.name] = attribute.value if attribute.prefix == 'xmlns' or attribute.name == 'xmlns'
2450
+ end
2451
+ if @element.document and @element.document.doctype
2452
+ expn = @element.expanded_name
2453
+ expn = @element.document.doctype.name if expn.size == 0
2454
+ @element.document.doctype.attributes_of(expn).each {
2455
+ |attribute|
2456
+ namespaces[attribute.name] = attribute.value if attribute.prefix == 'xmlns' or attribute.name == 'xmlns'
2457
+ }
2458
+ end
2459
+ namespaces
2460
+ end
2461
+
2462
+ # :call-seq:
2463
+ # delete(name) -> element
2464
+ # delete(attribute) -> element
2465
+ #
2466
+ # Removes a specified attribute if it exists;
2467
+ # returns the attributes' element.
2468
+ #
2469
+ # When string argument +name+ is given,
2470
+ # removes the attribute of that name if it exists:
2471
+ #
2472
+ # xml_string = <<-EOT
2473
+ # <root xmlns:foo="http://foo" xmlns:bar="http://bar">
2474
+ # <ele foo:att='1' bar:att='2' att='&lt;'/>
2475
+ # </root>
2476
+ # EOT
2477
+ # d = REXML::Document.new(xml_string)
2478
+ # ele = d.root.elements['//ele'] # => <a foo:att='1' bar:att='2' att='&lt;'/>
2479
+ # attrs = ele.attributes
2480
+ # attrs.delete('foo:att') # => <ele bar:att='2' att='&lt;'/>
2481
+ # attrs.delete('foo:att') # => <ele bar:att='2' att='&lt;'/>
2482
+ #
2483
+ # When attribute argument +attribute+ is given,
2484
+ # removes that attribute if it exists:
2485
+ #
2486
+ # attr = REXML::Attribute.new('bar:att', '2')
2487
+ # attrs.delete(attr) # => <ele att='&lt;'/> # => <ele att='&lt;'/>
2488
+ # attrs.delete(attr) # => <ele att='&lt;'/> # => <ele/>
2489
+ #
2490
+ def delete( attribute )
2491
+ name = nil
2492
+ prefix = nil
2493
+ if attribute.kind_of? Attribute
2494
+ name = attribute.name
2495
+ prefix = attribute.prefix
2496
+ else
2497
+ attribute =~ Namespace::NAMESPLIT
2498
+ prefix, name = $1, $2
2499
+ prefix = '' unless prefix
2500
+ end
2501
+ old = fetch(name, nil)
2502
+ if old.kind_of? Hash # the supplied attribute is one of many
2503
+ old.delete(prefix)
2504
+ if old.size == 1
2505
+ repl = nil
2506
+ old.each_value{|v| repl = v}
2507
+ store name, repl
2508
+ end
2509
+ elsif old.nil?
2510
+ return @element
2511
+ else # the supplied attribute is a top-level one
2512
+ super(name)
2513
+ end
2514
+ @element
2515
+ end
2516
+
2517
+ # :call-seq:
2518
+ # add(attribute) -> attribute
2519
+ #
2520
+ # Adds attribute +attribute+, replacing the previous
2521
+ # attribute of the same name if it exists;
2522
+ # returns +attribute+:
2523
+ #
2524
+ # xml_string = <<-EOT
2525
+ # <root xmlns:foo="http://foo" xmlns:bar="http://bar">
2526
+ # <ele foo:att='1' bar:att='2' att='&lt;'/>
2527
+ # </root>
2528
+ # EOT
2529
+ # d = REXML::Document.new(xml_string)
2530
+ # ele = d.root.elements['//ele'] # => <a foo:att='1' bar:att='2' att='&lt;'/>
2531
+ # attrs = ele.attributes
2532
+ # attrs # => {"att"=>{"foo"=>foo:att='1', "bar"=>bar:att='2', ""=>att='&lt;'}}
2533
+ # attrs.add(REXML::Attribute.new('foo:att', '2')) # => foo:att='2'
2534
+ # attrs.add(REXML::Attribute.new('baz', '3')) # => baz='3'
2535
+ # attrs.include?('baz') # => true
2536
+ #
2537
+ def add( attribute )
2538
+ self[attribute.name] = attribute
2539
+ end
2540
+
2541
+ alias :<< :add
2542
+
2543
+ # :call-seq:
2544
+ # delete_all(name) -> array_of_removed_attributes
2545
+ #
2546
+ # Removes all attributes matching the given +name+;
2547
+ # returns an array of the removed attributes:
2548
+ #
2549
+ # xml_string = <<-EOT
2550
+ # <root xmlns:foo="http://foo" xmlns:bar="http://bar">
2551
+ # <ele foo:att='1' bar:att='2' att='&lt;'/>
2552
+ # </root>
2553
+ # EOT
2554
+ # d = REXML::Document.new(xml_string)
2555
+ # ele = d.root.elements['//ele'] # => <a foo:att='1' bar:att='2' att='&lt;'/>
2556
+ # attrs = ele.attributes
2557
+ # attrs.delete_all('att') # => [att='&lt;']
2558
+ #
2559
+ def delete_all( name )
2560
+ rv = []
2561
+ each_attribute { |attribute|
2562
+ rv << attribute if attribute.expanded_name == name
2563
+ }
2564
+ rv.each{ |attr| attr.remove }
2565
+ return rv
2566
+ end
2567
+
2568
+ # :call-seq:
2569
+ # get_attribute_ns(namespace, name)
2570
+ #
2571
+ # Returns the \REXML::Attribute object among the attributes
2572
+ # that matches the given +namespace+ and +name+:
2573
+ #
2574
+ # xml_string = <<-EOT
2575
+ # <root xmlns:foo="http://foo" xmlns:bar="http://bar">
2576
+ # <ele foo:att='1' bar:att='2' att='&lt;'/>
2577
+ # </root>
2578
+ # EOT
2579
+ # d = REXML::Document.new(xml_string)
2580
+ # ele = d.root.elements['//ele'] # => <a foo:att='1' bar:att='2' att='&lt;'/>
2581
+ # attrs = ele.attributes
2582
+ # attrs.get_attribute_ns('http://foo', 'att') # => foo:att='1'
2583
+ # attrs.get_attribute_ns('http://foo', 'nosuch') # => nil
2584
+ #
2585
+ def get_attribute_ns(namespace, name)
2586
+ result = nil
2587
+ each_attribute() { |attribute|
2588
+ if name == attribute.name &&
2589
+ namespace == attribute.namespace() &&
2590
+ ( !namespace.empty? || !attribute.fully_expanded_name.index(':') )
2591
+ # foo will match xmlns:foo, but only if foo isn't also an attribute
2592
+ result = attribute if !result or !namespace.empty? or
2593
+ !attribute.fully_expanded_name.index(':')
2594
+ end
2595
+ }
2596
+ result
2597
+ end
2598
+ end
2599
+ end