honeybadger 5.2.1 → 5.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2176) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +24 -4
  3. data/README.md +9 -9
  4. data/TROUBLESHOOTING.md +1 -0
  5. data/lib/honeybadger/agent.rb +6 -5
  6. data/lib/honeybadger/backend/base.rb +2 -1
  7. data/lib/honeybadger/config/ruby.rb +6 -1
  8. data/lib/honeybadger/config.rb +1 -1
  9. data/lib/honeybadger/conversions.rb +11 -2
  10. data/lib/honeybadger/plugins/karafka.rb +16 -0
  11. data/lib/honeybadger/plugins/rails.rb +3 -2
  12. data/lib/honeybadger/plugins/sidekiq.rb +10 -3
  13. data/lib/honeybadger/singleton.rb +2 -2
  14. data/lib/honeybadger/version.rb +1 -1
  15. data/lib/honeybadger/worker.rb +2 -0
  16. data/vendor/bundle/ruby/3.2.0/gems/addressable-2.8.5/lib/addressable/idna/native.rb +66 -0
  17. data/vendor/bundle/ruby/3.2.0/gems/addressable-2.8.5/lib/addressable/idna/pure.rb +505 -0
  18. data/vendor/bundle/ruby/3.2.0/gems/addressable-2.8.5/lib/addressable/idna.rb +26 -0
  19. data/vendor/bundle/ruby/3.2.0/gems/addressable-2.8.5/lib/addressable/template.rb +1029 -0
  20. data/vendor/bundle/ruby/3.2.0/gems/addressable-2.8.5/lib/addressable/uri.rb +2591 -0
  21. data/vendor/bundle/ruby/3.2.0/gems/addressable-2.8.5/lib/addressable/version.rb +31 -0
  22. data/vendor/bundle/ruby/3.2.0/gems/addressable-2.8.5/lib/addressable.rb +4 -0
  23. data/vendor/bundle/ruby/3.2.0/gems/addressable-2.8.5/spec/addressable/idna_spec.rb +302 -0
  24. data/vendor/bundle/ruby/3.2.0/gems/addressable-2.8.5/spec/addressable/net_http_compat_spec.rb +29 -0
  25. data/vendor/bundle/ruby/3.2.0/gems/addressable-2.8.5/spec/addressable/security_spec.rb +58 -0
  26. data/vendor/bundle/ruby/3.2.0/gems/addressable-2.8.5/spec/addressable/template_spec.rb +1264 -0
  27. data/vendor/bundle/ruby/3.2.0/gems/addressable-2.8.5/spec/addressable/uri_spec.rb +6840 -0
  28. data/vendor/bundle/ruby/3.2.0/gems/addressable-2.8.5/spec/spec_helper.rb +33 -0
  29. data/vendor/bundle/ruby/3.2.0/gems/addressable-2.8.5/tasks/clobber.rake +4 -0
  30. data/vendor/bundle/ruby/3.2.0/gems/addressable-2.8.5/tasks/gem.rake +95 -0
  31. data/vendor/bundle/ruby/3.2.0/gems/addressable-2.8.5/tasks/git.rake +47 -0
  32. data/vendor/bundle/ruby/3.2.0/gems/addressable-2.8.5/tasks/metrics.rake +24 -0
  33. data/vendor/bundle/ruby/3.2.0/gems/addressable-2.8.5/tasks/profile.rake +72 -0
  34. data/vendor/bundle/ruby/3.2.0/gems/addressable-2.8.5/tasks/rspec.rake +23 -0
  35. data/vendor/bundle/ruby/3.2.0/gems/addressable-2.8.5/tasks/yard.rake +29 -0
  36. data/vendor/bundle/ruby/3.2.0/gems/airbrussh-1.5.0/lib/airbrussh/capistrano/tasks.rb +103 -0
  37. data/vendor/bundle/ruby/3.2.0/gems/airbrussh-1.5.0/lib/airbrussh/capistrano.rb +17 -0
  38. data/vendor/bundle/ruby/3.2.0/gems/airbrussh-1.5.0/lib/airbrussh/colors.rb +23 -0
  39. data/vendor/bundle/ruby/3.2.0/gems/airbrussh-1.5.0/lib/airbrussh/command_formatter.rb +81 -0
  40. data/vendor/bundle/ruby/3.2.0/gems/airbrussh-1.5.0/lib/airbrussh/configuration.rb +64 -0
  41. data/vendor/bundle/ruby/3.2.0/gems/airbrussh-1.5.0/lib/airbrussh/console.rb +97 -0
  42. data/vendor/bundle/ruby/3.2.0/gems/airbrussh-1.5.0/lib/airbrussh/console_formatter.rb +133 -0
  43. data/vendor/bundle/ruby/3.2.0/gems/airbrussh-1.5.0/lib/airbrussh/delegating_formatter.rb +44 -0
  44. data/vendor/bundle/ruby/3.2.0/gems/airbrussh-1.5.0/lib/airbrussh/formatter.rb +18 -0
  45. data/vendor/bundle/ruby/3.2.0/gems/airbrussh-1.5.0/lib/airbrussh/log_file_formatter.rb +42 -0
  46. data/vendor/bundle/ruby/3.2.0/gems/airbrussh-1.5.0/lib/airbrussh/rake/context.rb +98 -0
  47. data/vendor/bundle/ruby/3.2.0/gems/airbrussh-1.5.0/lib/airbrussh/version.rb +5 -0
  48. data/vendor/bundle/ruby/3.2.0/gems/airbrussh-1.5.0/lib/airbrussh.rb +15 -0
  49. data/vendor/bundle/ruby/3.2.0/gems/airbrussh-1.5.0/lib/sshkit/formatter/airbrussh.rb +12 -0
  50. data/vendor/bundle/ruby/3.2.0/gems/allocation_stats-0.1.5/examples/my_class.rb +6 -0
  51. data/vendor/bundle/ruby/3.2.0/gems/allocation_stats-0.1.5/examples/trace_my_class_group_by.rb +11 -0
  52. data/vendor/bundle/ruby/3.2.0/gems/allocation_stats-0.1.5/examples/trace_my_class_raw.rb +11 -0
  53. data/vendor/bundle/ruby/3.2.0/gems/allocation_stats-0.1.5/examples/trace_object_allocations.rb +7 -0
  54. data/vendor/bundle/ruby/3.2.0/gems/allocation_stats-0.1.5/examples/trace_psych_group_by.rb +8 -0
  55. data/vendor/bundle/ruby/3.2.0/gems/allocation_stats-0.1.5/examples/trace_psych_keys.rb +8 -0
  56. data/vendor/bundle/ruby/3.2.0/gems/allocation_stats-0.1.5/examples/trace_specs/strings.rb +15 -0
  57. data/vendor/bundle/ruby/3.2.0/gems/allocation_stats-0.1.5/examples/trace_specs/strings_spec.rb +15 -0
  58. data/vendor/bundle/ruby/3.2.0/gems/allocation_stats-0.1.5/lib/allocation_stats/allocation.rb +159 -0
  59. data/vendor/bundle/ruby/3.2.0/gems/allocation_stats-0.1.5/lib/allocation_stats/allocations_proxy.rb +330 -0
  60. data/vendor/bundle/ruby/3.2.0/gems/allocation_stats-0.1.5/lib/allocation_stats/core_ext/basic_object.rb +11 -0
  61. data/vendor/bundle/ruby/3.2.0/gems/allocation_stats-0.1.5/lib/allocation_stats/trace_rspec.rb +118 -0
  62. data/vendor/bundle/ruby/3.2.0/gems/allocation_stats-0.1.5/lib/allocation_stats.rb +153 -0
  63. data/vendor/bundle/ruby/3.2.0/gems/allocation_stats-0.1.5/spec/allocation_stats/allocations_proxy_spec.rb +391 -0
  64. data/vendor/bundle/ruby/3.2.0/gems/allocation_stats-0.1.5/spec/allocation_stats_spec.rb +74 -0
  65. data/vendor/bundle/ruby/3.2.0/gems/allocation_stats-0.1.5/spec/spec_helper.rb +187 -0
  66. data/vendor/bundle/ruby/3.2.0/gems/allocation_stats-0.1.5/spec/trace_rspec_spec.rb +89 -0
  67. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/lib/appraisal/appraisal.rb +195 -0
  68. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/lib/appraisal/appraisal_file.rb +51 -0
  69. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/lib/appraisal/bundler_dsl.rb +164 -0
  70. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/lib/appraisal/cli.rb +116 -0
  71. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/lib/appraisal/command.rb +94 -0
  72. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/lib/appraisal/conditional.rb +20 -0
  73. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/lib/appraisal/customize.rb +16 -0
  74. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/lib/appraisal/dependency.rb +53 -0
  75. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/lib/appraisal/dependency_list.rb +32 -0
  76. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/lib/appraisal/errors.rb +8 -0
  77. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/lib/appraisal/gemfile.rb +29 -0
  78. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/lib/appraisal/gemspec.rb +29 -0
  79. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/lib/appraisal/git.rb +31 -0
  80. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/lib/appraisal/group.rb +30 -0
  81. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/lib/appraisal/path.rb +31 -0
  82. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/lib/appraisal/platform.rb +30 -0
  83. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/lib/appraisal/source.rb +30 -0
  84. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/lib/appraisal/task.rb +54 -0
  85. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/lib/appraisal/utils.rb +62 -0
  86. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/lib/appraisal/version.rb +3 -0
  87. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/lib/appraisal.rb +4 -0
  88. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/spec/acceptance/appraisals_file_bundler_dsl_compatibility_spec.rb +152 -0
  89. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/spec/acceptance/bundle_with_custom_path_spec.rb +53 -0
  90. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/spec/acceptance/bundle_without_spec.rb +53 -0
  91. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/spec/acceptance/cli/clean_spec.rb +20 -0
  92. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/spec/acceptance/cli/generate_spec.rb +34 -0
  93. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/spec/acceptance/cli/help_spec.rb +24 -0
  94. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/spec/acceptance/cli/install_spec.rb +132 -0
  95. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/spec/acceptance/cli/list_spec.rb +28 -0
  96. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/spec/acceptance/cli/run_spec.rb +56 -0
  97. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/spec/acceptance/cli/update_spec.rb +44 -0
  98. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/spec/acceptance/cli/version_spec.rb +27 -0
  99. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/spec/acceptance/cli/with_no_arguments_spec.rb +16 -0
  100. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/spec/acceptance/gemfile_dsl_compatibility_spec.rb +178 -0
  101. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/spec/acceptance/gemspec_spec.rb +80 -0
  102. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/spec/appraisal/appraisal_file_spec.rb +14 -0
  103. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/spec/appraisal/appraisal_spec.rb +155 -0
  104. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/spec/appraisal/customize_spec.rb +18 -0
  105. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/spec/appraisal/dependency_list_spec.rb +50 -0
  106. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/spec/appraisal/gemfile_spec.rb +442 -0
  107. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/spec/appraisal/utils_spec.rb +75 -0
  108. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/spec/spec_helper.rb +22 -0
  109. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/spec/support/acceptance_test_helpers.rb +171 -0
  110. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/spec/support/dependency_helpers.rb +60 -0
  111. data/vendor/bundle/ruby/3.2.0/gems/appraisal-2.5.0/spec/support/stream_helpers.rb +20 -0
  112. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/api/bundler.rb +32 -0
  113. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/api/commands.rb +270 -0
  114. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/api/core.rb +227 -0
  115. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/api/environment.rb +106 -0
  116. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/api/filesystem.rb +425 -0
  117. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/api/text.rb +50 -0
  118. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/api.rb +28 -0
  119. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/aruba_path.rb +70 -0
  120. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/basic_configuration/option.rb +32 -0
  121. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/basic_configuration.rb +199 -0
  122. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/cli.rb +29 -0
  123. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/colorizer.rb +19 -0
  124. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/command.rb +78 -0
  125. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/config/jruby.rb +27 -0
  126. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/config_wrapper.rb +73 -0
  127. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/configuration.rb +97 -0
  128. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/console/help.rb +32 -0
  129. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/console.rb +66 -0
  130. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/contracts/absolute_path.rb +20 -0
  131. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/contracts/enum.rb +27 -0
  132. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/contracts/is_power_of_two.rb +22 -0
  133. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/contracts/relative_path.rb +20 -0
  134. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/cucumber/command.rb +500 -0
  135. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/cucumber/environment.rb +42 -0
  136. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/cucumber/file.rb +211 -0
  137. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/cucumber/hooks.rb +127 -0
  138. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/cucumber/parameter_types.rb +1 -0
  139. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/cucumber/testing_frameworks.rb +121 -0
  140. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/cucumber.rb +9 -0
  141. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/errors.rb +37 -0
  142. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/event_bus/name_resolver.rb +158 -0
  143. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/event_bus.rb +61 -0
  144. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/events.rb +40 -0
  145. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/file_size.rb +63 -0
  146. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/generators/script_file.rb +46 -0
  147. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/hooks.rb +54 -0
  148. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/in_config_wrapper.rb +31 -0
  149. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/initializer.rb +218 -0
  150. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/base/message_indenter.rb +19 -0
  151. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/command/be_successfully_executed.rb +36 -0
  152. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/command/have_exit_status.rb +44 -0
  153. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/command/have_finished_in_time.rb +35 -0
  154. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/command/have_output.rb +43 -0
  155. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/command/have_output_on_stderr.rb +34 -0
  156. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/command/have_output_on_stdout.rb +34 -0
  157. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/command/have_output_size.rb +28 -0
  158. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/command.rb +1 -0
  159. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/directory/be_an_existing_directory.rb +34 -0
  160. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/directory/have_sub_directory.rb +54 -0
  161. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/directory.rb +1 -0
  162. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/environment.rb +1 -0
  163. 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
  164. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/file/be_an_existing_executable.rb +34 -0
  165. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/file/be_an_existing_file.rb +34 -0
  166. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/file/have_file_content.rb +60 -0
  167. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/file/have_file_size.rb +45 -0
  168. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/file/have_same_file_content.rb +44 -0
  169. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/file.rb +1 -0
  170. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/path/a_path_matching_pattern.rb +21 -0
  171. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/path/be_an_absolute_path.rb +32 -0
  172. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/path/be_an_existing_path.rb +33 -0
  173. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/path/have_permissions.rb +63 -0
  174. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/path.rb +1 -0
  175. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/string/include_output_string.rb +34 -0
  176. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/string/match_output_string.rb +35 -0
  177. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/string/output_string_eq.rb +33 -0
  178. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/matchers/string.rb +1 -0
  179. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/platform.rb +17 -0
  180. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/platforms/announcer.rb +205 -0
  181. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/platforms/aruba_file_creator.rb +33 -0
  182. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/platforms/aruba_fixed_size_file_creator.rb +40 -0
  183. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/platforms/aruba_logger.rb +98 -0
  184. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/platforms/command_monitor.rb +127 -0
  185. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/platforms/determine_disk_usage.rb +68 -0
  186. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/platforms/determine_file_size.rb +22 -0
  187. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/platforms/filesystem_status.rb +70 -0
  188. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/platforms/local_environment.rb +29 -0
  189. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/platforms/simple_table.rb +46 -0
  190. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/platforms/unix_command_string.rb +23 -0
  191. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/platforms/unix_environment_variables.rb +205 -0
  192. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/platforms/unix_platform.rb +250 -0
  193. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/platforms/unix_which.rb +82 -0
  194. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/platforms/windows_command_string.rb +20 -0
  195. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/platforms/windows_environment_variables.rb +89 -0
  196. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/platforms/windows_platform.rb +48 -0
  197. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/platforms/windows_which.rb +107 -0
  198. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/processes/basic_process.rb +146 -0
  199. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/processes/debug_process.rb +80 -0
  200. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/processes/in_process.rb +136 -0
  201. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/processes/spawn_process.rb +368 -0
  202. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/rspec.rb +94 -0
  203. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/runtime.rb +101 -0
  204. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/setup.rb +105 -0
  205. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba/version.rb +3 -0
  206. data/vendor/bundle/ruby/3.2.0/gems/aruba-2.2.0/lib/aruba.rb +1 -0
  207. data/vendor/bundle/ruby/3.2.0/gems/builder-3.2.4/doc/jamis.rb +592 -0
  208. data/vendor/bundle/ruby/3.2.0/gems/builder-3.2.4/lib/blankslate.rb +138 -0
  209. data/vendor/bundle/ruby/3.2.0/gems/builder-3.2.4/lib/builder/blankslate.rb +24 -0
  210. data/vendor/bundle/ruby/3.2.0/gems/builder-3.2.4/lib/builder/version.rb +9 -0
  211. data/vendor/bundle/ruby/3.2.0/gems/builder-3.2.4/lib/builder/xchar.rb +198 -0
  212. data/vendor/bundle/ruby/3.2.0/gems/builder-3.2.4/lib/builder/xmlbase.rb +200 -0
  213. data/vendor/bundle/ruby/3.2.0/gems/builder-3.2.4/lib/builder/xmlevents.rb +64 -0
  214. data/vendor/bundle/ruby/3.2.0/gems/builder-3.2.4/lib/builder/xmlmarkup.rb +345 -0
  215. data/vendor/bundle/ruby/3.2.0/gems/builder-3.2.4/lib/builder.rb +14 -0
  216. data/vendor/bundle/ruby/3.2.0/gems/builder-3.2.4/rakelib/publish.rake +21 -0
  217. data/vendor/bundle/ruby/3.2.0/gems/builder-3.2.4/rakelib/tags.rake +63 -0
  218. data/vendor/bundle/ruby/3.2.0/gems/builder-3.2.4/rakelib/testing.rake +8 -0
  219. data/vendor/bundle/ruby/3.2.0/gems/builder-3.2.4/test/helper.rb +13 -0
  220. data/vendor/bundle/ruby/3.2.0/gems/builder-3.2.4/test/performance.rb +42 -0
  221. data/vendor/bundle/ruby/3.2.0/gems/builder-3.2.4/test/preload.rb +40 -0
  222. data/vendor/bundle/ruby/3.2.0/gems/builder-3.2.4/test/test_blankslate.rb +208 -0
  223. data/vendor/bundle/ruby/3.2.0/gems/builder-3.2.4/test/test_eventbuilder.rb +151 -0
  224. data/vendor/bundle/ruby/3.2.0/gems/builder-3.2.4/test/test_markupbuilder.rb +617 -0
  225. data/vendor/bundle/ruby/3.2.0/gems/builder-3.2.4/test/test_method_caching.rb +63 -0
  226. data/vendor/bundle/ruby/3.2.0/gems/builder-3.2.4/test/test_namecollision.rb +40 -0
  227. data/vendor/bundle/ruby/3.2.0/gems/builder-3.2.4/test/test_xchar.rb +85 -0
  228. data/vendor/bundle/ruby/3.2.0/gems/bump-0.10.0/lib/bump/tasks.rb +45 -0
  229. data/vendor/bundle/ruby/3.2.0/gems/bump-0.10.0/lib/bump.rb +312 -0
  230. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/ext/byebug/extconf.rb +12 -0
  231. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/attacher.rb +48 -0
  232. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/breakpoint.rb +111 -0
  233. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/command.rb +111 -0
  234. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/command_list.rb +34 -0
  235. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/break.rb +112 -0
  236. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/catch.rb +78 -0
  237. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/condition.rb +55 -0
  238. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/continue.rb +68 -0
  239. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/debug.rb +38 -0
  240. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/delete.rb +55 -0
  241. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/disable/breakpoints.rb +42 -0
  242. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/disable/display.rb +43 -0
  243. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/disable.rb +33 -0
  244. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/display.rb +66 -0
  245. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/down.rb +45 -0
  246. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/edit.rb +69 -0
  247. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/enable/breakpoints.rb +42 -0
  248. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/enable/display.rb +43 -0
  249. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/enable.rb +33 -0
  250. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/finish.rb +57 -0
  251. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/frame.rb +57 -0
  252. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/help.rb +64 -0
  253. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/history.rb +39 -0
  254. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/info/breakpoints.rb +65 -0
  255. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/info/display.rb +49 -0
  256. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/info/file.rb +80 -0
  257. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/info/line.rb +35 -0
  258. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/info/program.rb +49 -0
  259. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/info.rb +37 -0
  260. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/interrupt.rb +34 -0
  261. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/irb.rb +50 -0
  262. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/kill.rb +45 -0
  263. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/list.rb +159 -0
  264. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/method.rb +53 -0
  265. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/next.rb +40 -0
  266. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/pry.rb +41 -0
  267. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/quit.rb +42 -0
  268. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/restart.rb +64 -0
  269. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/save.rb +72 -0
  270. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/set.rb +79 -0
  271. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/show.rb +45 -0
  272. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/skip.rb +85 -0
  273. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/source.rb +40 -0
  274. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/step.rb +40 -0
  275. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/thread/current.rb +37 -0
  276. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/thread/list.rb +43 -0
  277. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/thread/resume.rb +45 -0
  278. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/thread/stop.rb +43 -0
  279. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/thread/switch.rb +46 -0
  280. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/thread.rb +34 -0
  281. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/tracevar.rb +54 -0
  282. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/undisplay.rb +51 -0
  283. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/untracevar.rb +36 -0
  284. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/up.rb +45 -0
  285. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/var/all.rb +41 -0
  286. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/var/args.rb +39 -0
  287. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/var/const.rb +49 -0
  288. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/var/global.rb +37 -0
  289. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/var/instance.rb +39 -0
  290. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/var/local.rb +39 -0
  291. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/var.rb +37 -0
  292. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands/where.rb +53 -0
  293. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/commands.rb +40 -0
  294. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/context.rb +157 -0
  295. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/core.rb +115 -0
  296. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/errors.rb +29 -0
  297. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/frame.rb +185 -0
  298. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/helpers/bin.rb +47 -0
  299. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/helpers/eval.rb +126 -0
  300. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/helpers/file.rb +63 -0
  301. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/helpers/frame.rb +75 -0
  302. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/helpers/parse.rb +75 -0
  303. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/helpers/path.rb +40 -0
  304. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/helpers/reflection.rb +19 -0
  305. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/helpers/string.rb +33 -0
  306. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/helpers/thread.rb +67 -0
  307. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/helpers/toggle.rb +62 -0
  308. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/helpers/var.rb +54 -0
  309. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/history.rb +130 -0
  310. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/interface.rb +146 -0
  311. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/interfaces/local_interface.rb +63 -0
  312. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/interfaces/remote_interface.rb +50 -0
  313. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/interfaces/script_interface.rb +33 -0
  314. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/interfaces/test_interface.rb +67 -0
  315. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/option_setter.rb +95 -0
  316. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/printers/base.rb +68 -0
  317. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/printers/plain.rb +44 -0
  318. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/processors/command_processor.rb +173 -0
  319. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/processors/control_processor.rb +24 -0
  320. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/processors/post_mortem_processor.rb +18 -0
  321. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/processors/script_processor.rb +49 -0
  322. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/remote/client.rb +57 -0
  323. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/remote/server.rb +47 -0
  324. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/remote.rb +85 -0
  325. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/runner.rb +198 -0
  326. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/setting.rb +79 -0
  327. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/settings/autoirb.rb +29 -0
  328. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/settings/autolist.rb +29 -0
  329. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/settings/autopry.rb +29 -0
  330. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/settings/autosave.rb +17 -0
  331. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/settings/basename.rb +16 -0
  332. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/settings/callstyle.rb +20 -0
  333. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/settings/fullpath.rb +16 -0
  334. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/settings/histfile.rb +20 -0
  335. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/settings/histsize.rb +20 -0
  336. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/settings/linetrace.rb +22 -0
  337. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/settings/listsize.rb +21 -0
  338. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/settings/post_mortem.rb +27 -0
  339. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/settings/savefile.rb +20 -0
  340. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/settings/stack_on_error.rb +15 -0
  341. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/settings/width.rb +20 -0
  342. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/source_file_formatter.rb +71 -0
  343. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/subcommands.rb +54 -0
  344. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/version.rb +8 -0
  345. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug.rb +3 -0
  346. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/features/step_definitions/assertions.rb +152 -0
  347. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/features/step_definitions/cap_commands.rb +21 -0
  348. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/features/step_definitions/setup.rb +94 -0
  349. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/features/support/env.rb +11 -0
  350. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/features/support/remote_command_helpers.rb +29 -0
  351. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/features/support/vagrant_helpers.rb +41 -0
  352. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/all.rb +17 -0
  353. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/application.rb +153 -0
  354. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/configuration/empty_filter.rb +9 -0
  355. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/configuration/filter.rb +26 -0
  356. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/configuration/host_filter.rb +29 -0
  357. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/configuration/null_filter.rb +9 -0
  358. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/configuration/plugin_installer.rb +51 -0
  359. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/configuration/question.rb +76 -0
  360. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/configuration/role_filter.rb +29 -0
  361. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/configuration/scm_resolver.rb +149 -0
  362. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/configuration/server.rb +137 -0
  363. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/configuration/servers.rb +76 -0
  364. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/configuration/validated_variables.rb +110 -0
  365. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/configuration/variables.rb +112 -0
  366. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/configuration.rb +189 -0
  367. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/console.rb +1 -0
  368. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/defaults.rb +36 -0
  369. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/deploy.rb +3 -0
  370. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/doctor/environment_doctor.rb +19 -0
  371. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/doctor/gems_doctor.rb +45 -0
  372. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/doctor/output_helpers.rb +79 -0
  373. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/doctor/servers_doctor.rb +105 -0
  374. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/doctor/variables_doctor.rb +74 -0
  375. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/doctor.rb +6 -0
  376. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/dotfile.rb +2 -0
  377. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/dsl/env.rb +43 -0
  378. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/dsl/paths.rb +89 -0
  379. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/dsl/stages.rb +31 -0
  380. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/dsl/task_enhancements.rb +61 -0
  381. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/dsl.rb +95 -0
  382. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/framework.rb +2 -0
  383. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/i18n.rb +46 -0
  384. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/immutable_task.rb +30 -0
  385. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/install.rb +1 -0
  386. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/plugin.rb +95 -0
  387. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/proc_helpers.rb +13 -0
  388. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/scm/git.rb +100 -0
  389. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/scm/hg.rb +55 -0
  390. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/scm/plugin.rb +13 -0
  391. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/scm/svn.rb +56 -0
  392. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/scm/tasks/git.rake +73 -0
  393. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/scm/tasks/hg.rake +53 -0
  394. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/scm/tasks/svn.rake +53 -0
  395. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/scm.rb +115 -0
  396. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/setup.rb +36 -0
  397. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/tasks/console.rake +25 -0
  398. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/tasks/deploy.rake +258 -0
  399. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/tasks/doctor.rake +24 -0
  400. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/tasks/framework.rake +67 -0
  401. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/tasks/install.rake +41 -0
  402. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/upload_task.rb +9 -0
  403. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/version.rb +3 -0
  404. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/version_validator.rb +32 -0
  405. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano.rb +0 -0
  406. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/integration/dsl_spec.rb +632 -0
  407. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/integration_spec_helper.rb +5 -0
  408. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/application_spec.rb +60 -0
  409. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/configuration/empty_filter_spec.rb +17 -0
  410. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/configuration/filter_spec.rb +109 -0
  411. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/configuration/host_filter_spec.rb +71 -0
  412. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/configuration/null_filter_spec.rb +17 -0
  413. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/configuration/plugin_installer_spec.rb +98 -0
  414. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/configuration/question_spec.rb +92 -0
  415. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/configuration/role_filter_spec.rb +80 -0
  416. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/configuration/scm_resolver_spec.rb +55 -0
  417. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/configuration/server_spec.rb +309 -0
  418. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/configuration/servers_spec.rb +331 -0
  419. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/configuration_spec.rb +357 -0
  420. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/doctor/environment_doctor_spec.rb +44 -0
  421. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/doctor/gems_doctor_spec.rb +67 -0
  422. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/doctor/output_helpers_spec.rb +47 -0
  423. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/doctor/servers_doctor_spec.rb +86 -0
  424. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/doctor/variables_doctor_spec.rb +89 -0
  425. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/dsl/paths_spec.rb +228 -0
  426. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/dsl/task_enhancements_spec.rb +108 -0
  427. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/dsl_spec.rb +125 -0
  428. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/immutable_task_spec.rb +31 -0
  429. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/plugin_spec.rb +84 -0
  430. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/scm/git_spec.rb +184 -0
  431. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/scm/hg_spec.rb +109 -0
  432. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/scm/svn_spec.rb +137 -0
  433. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/scm_spec.rb +103 -0
  434. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/upload_task_spec.rb +19 -0
  435. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/version_validator_spec.rb +118 -0
  436. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano_spec.rb +7 -0
  437. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/spec_helper.rb +29 -0
  438. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/support/matchers.rb +5 -0
  439. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/support/tasks/database.rake +11 -0
  440. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/support/tasks/fail.rake +8 -0
  441. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/support/tasks/failed.rake +5 -0
  442. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/support/tasks/plugin.rake +6 -0
  443. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/support/tasks/root.rake +11 -0
  444. data/vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/support/test_app.rb +202 -0
  445. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/duo.rb +81 -0
  446. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/encoders/_map.rb +17 -0
  447. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/encoders/comment_filter.rb +25 -0
  448. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/encoders/count.rb +39 -0
  449. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/encoders/debug.rb +49 -0
  450. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/encoders/debug_lint.rb +63 -0
  451. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/encoders/div.rb +23 -0
  452. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/encoders/encoder.rb +190 -0
  453. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/encoders/filter.rb +58 -0
  454. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/encoders/html/css.rb +65 -0
  455. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/encoders/html/numbering.rb +108 -0
  456. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/encoders/html/output.rb +164 -0
  457. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/encoders/html.rb +333 -0
  458. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/encoders/json.rb +83 -0
  459. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/encoders/lines_of_code.rb +45 -0
  460. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/encoders/lint.rb +59 -0
  461. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/encoders/null.rb +18 -0
  462. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/encoders/page.rb +24 -0
  463. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/encoders/span.rb +23 -0
  464. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/encoders/statistic.rb +95 -0
  465. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/encoders/terminal.rb +195 -0
  466. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/encoders/text.rb +46 -0
  467. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/encoders/token_kind_filter.rb +111 -0
  468. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/encoders/xml.rb +72 -0
  469. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/encoders/yaml.rb +50 -0
  470. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/encoders.rb +18 -0
  471. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/for_redcloth.rb +95 -0
  472. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/helpers/file_type.rb +151 -0
  473. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/helpers/plugin.rb +55 -0
  474. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/helpers/plugin_host.rb +221 -0
  475. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/helpers/word_list.rb +72 -0
  476. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/_map.rb +24 -0
  477. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/c.rb +189 -0
  478. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/clojure.rb +217 -0
  479. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/cpp.rb +217 -0
  480. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/css.rb +196 -0
  481. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/debug.rb +75 -0
  482. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/delphi.rb +144 -0
  483. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/diff.rb +221 -0
  484. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/erb.rb +81 -0
  485. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/go.rb +208 -0
  486. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/groovy.rb +268 -0
  487. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/haml.rb +168 -0
  488. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/html.rb +275 -0
  489. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/java/builtin_types.rb +421 -0
  490. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/java.rb +174 -0
  491. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/java_script.rb +236 -0
  492. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/json.rb +98 -0
  493. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/lua.rb +280 -0
  494. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/php.rb +527 -0
  495. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/python.rb +287 -0
  496. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/raydebug.rb +75 -0
  497. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/ruby/patterns.rb +178 -0
  498. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/ruby/string_state.rb +79 -0
  499. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/ruby.rb +477 -0
  500. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/sass.rb +232 -0
  501. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/scanner.rb +337 -0
  502. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/sql.rb +169 -0
  503. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/taskpaper.rb +36 -0
  504. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/text.rb +26 -0
  505. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/xml.rb +17 -0
  506. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners/yaml.rb +140 -0
  507. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/scanners.rb +27 -0
  508. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/styles/_map.rb +7 -0
  509. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/styles/alpha.rb +153 -0
  510. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/styles/style.rb +18 -0
  511. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/styles.rb +15 -0
  512. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/token_kinds.rb +85 -0
  513. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/tokens.rb +164 -0
  514. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/tokens_proxy.rb +55 -0
  515. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay/version.rb +3 -0
  516. data/vendor/bundle/ruby/3.2.0/gems/coderay-1.1.3/lib/coderay.rb +284 -0
  517. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/agent.rb +588 -0
  518. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/array.rb +56 -0
  519. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/async.rb +449 -0
  520. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/atom.rb +222 -0
  521. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/atomic/atomic_boolean.rb +127 -0
  522. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/atomic/atomic_fixnum.rb +144 -0
  523. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/atomic/atomic_markable_reference.rb +167 -0
  524. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/atomic/atomic_reference.rb +135 -0
  525. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/atomic/count_down_latch.rb +100 -0
  526. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/atomic/cyclic_barrier.rb +128 -0
  527. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/atomic/event.rb +109 -0
  528. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/atomic/fiber_local_var.rb +109 -0
  529. 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
  530. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/atomic/locals.rb +189 -0
  531. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/atomic/lock_local_var.rb +28 -0
  532. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/atomic/mutex_atomic_boolean.rb +68 -0
  533. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/atomic/mutex_atomic_fixnum.rb +81 -0
  534. 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
  535. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/atomic/mutex_semaphore.rb +131 -0
  536. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/atomic/read_write_lock.rb +255 -0
  537. 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
  538. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/atomic/semaphore.rb +163 -0
  539. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/atomic/thread_local_var.rb +111 -0
  540. 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
  541. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/atomic_reference/mutex_atomic.rb +67 -0
  542. 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
  543. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/atomics.rb +10 -0
  544. 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
  545. 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
  546. 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
  547. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/collection/lock_free_stack.rb +160 -0
  548. 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
  549. 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
  550. 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
  551. 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
  552. 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
  553. 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
  554. 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
  555. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/concern/deprecation.rb +34 -0
  556. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/concern/dereferenceable.rb +73 -0
  557. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/concern/logging.rb +116 -0
  558. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/concern/obligation.rb +220 -0
  559. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/concern/observable.rb +110 -0
  560. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/configuration.rb +105 -0
  561. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/constants.rb +8 -0
  562. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/dataflow.rb +81 -0
  563. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/delay.rb +199 -0
  564. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/errors.rb +74 -0
  565. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/exchanger.rb +353 -0
  566. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/executor/abstract_executor_service.rb +131 -0
  567. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/executor/cached_thread_pool.rb +62 -0
  568. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/executor/executor_service.rb +185 -0
  569. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/executor/fixed_thread_pool.rb +220 -0
  570. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/executor/immediate_executor.rb +66 -0
  571. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/executor/indirect_immediate_executor.rb +44 -0
  572. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/executor/java_executor_service.rb +103 -0
  573. 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
  574. 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
  575. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/executor/ruby_executor_service.rb +82 -0
  576. 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
  577. 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
  578. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb +35 -0
  579. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/executor/serial_executor_service.rb +34 -0
  580. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/executor/serialized_execution.rb +107 -0
  581. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/executor/serialized_execution_delegator.rb +28 -0
  582. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/executor/simple_executor_service.rb +103 -0
  583. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/executor/single_thread_executor.rb +57 -0
  584. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/executor/thread_pool_executor.rb +88 -0
  585. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/executor/timer_set.rb +172 -0
  586. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/executors.rb +20 -0
  587. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/future.rb +141 -0
  588. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/hash.rb +50 -0
  589. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/immutable_struct.rb +101 -0
  590. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/ivar.rb +208 -0
  591. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/map.rb +350 -0
  592. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/maybe.rb +229 -0
  593. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/mutable_struct.rb +239 -0
  594. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/mvar.rb +242 -0
  595. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/options.rb +42 -0
  596. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/promise.rb +580 -0
  597. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/promises.rb +2168 -0
  598. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/re_include.rb +60 -0
  599. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/scheduled_task.rb +331 -0
  600. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/set.rb +64 -0
  601. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/settable_struct.rb +139 -0
  602. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/synchronization/abstract_lockable_object.rb +102 -0
  603. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/synchronization/abstract_object.rb +22 -0
  604. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb +171 -0
  605. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/synchronization/condition.rb +62 -0
  606. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/synchronization/full_memory_barrier.rb +29 -0
  607. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/synchronization/jruby_lockable_object.rb +15 -0
  608. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/synchronization/lock.rb +38 -0
  609. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/synchronization/lockable_object.rb +75 -0
  610. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb +89 -0
  611. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/synchronization/object.rb +151 -0
  612. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/synchronization/safe_initialization.rb +36 -0
  613. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/synchronization/volatile.rb +101 -0
  614. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/synchronization.rb +13 -0
  615. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/thread_safe/synchronized_delegator.rb +47 -0
  616. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/thread_safe/util/adder.rb +74 -0
  617. 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
  618. 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
  619. 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
  620. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/thread_safe/util/striped64.rb +246 -0
  621. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/thread_safe/util/volatile.rb +75 -0
  622. 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
  623. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/thread_safe/util.rb +16 -0
  624. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/timer_task.rb +311 -0
  625. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/tuple.rb +82 -0
  626. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/tvar.rb +222 -0
  627. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/utility/engine.rb +45 -0
  628. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/utility/monotonic_time.rb +19 -0
  629. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/utility/native_extension_loader.rb +77 -0
  630. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/utility/native_integer.rb +54 -0
  631. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/utility/processor_counter.rb +110 -0
  632. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/version.rb +3 -0
  633. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent-ruby.rb +5 -0
  634. data/vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent.rb +134 -0
  635. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/benchmarks/bench.rb +67 -0
  636. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/benchmarks/hash.rb +69 -0
  637. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/benchmarks/invariants.rb +91 -0
  638. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/benchmarks/io.rb +62 -0
  639. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/benchmarks/wrap_test.rb +57 -0
  640. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/features/support/env.rb +8 -0
  641. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/lib/contracts/attrs.rb +26 -0
  642. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/lib/contracts/builtin_contracts.rb +575 -0
  643. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/lib/contracts/call_with.rb +119 -0
  644. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/lib/contracts/core.rb +54 -0
  645. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/lib/contracts/decorators.rb +50 -0
  646. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/lib/contracts/engine/base.rb +137 -0
  647. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/lib/contracts/engine/eigenclass.rb +51 -0
  648. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/lib/contracts/engine/target.rb +72 -0
  649. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/lib/contracts/engine.rb +28 -0
  650. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/lib/contracts/errors.rb +74 -0
  651. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/lib/contracts/formatters.rb +140 -0
  652. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/lib/contracts/invariants.rb +72 -0
  653. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/lib/contracts/method_handler.rb +197 -0
  654. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/lib/contracts/method_reference.rb +102 -0
  655. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/lib/contracts/support.rb +63 -0
  656. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/lib/contracts/validators.rb +143 -0
  657. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/lib/contracts/version.rb +5 -0
  658. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/lib/contracts.rb +290 -0
  659. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/script/rubocop.rb +5 -0
  660. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/spec/attrs_spec.rb +119 -0
  661. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/spec/builtin_contracts_spec.rb +457 -0
  662. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/spec/contracts_spec.rb +773 -0
  663. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/spec/fixtures/fixtures.rb +725 -0
  664. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/spec/invariants_spec.rb +17 -0
  665. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/spec/methods_spec.rb +54 -0
  666. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/spec/module_spec.rb +18 -0
  667. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/spec/override_validators_spec.rb +162 -0
  668. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/spec/ruby_version_specific/contracts_spec_1.9.rb +24 -0
  669. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/spec/ruby_version_specific/contracts_spec_2.0.rb +55 -0
  670. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/spec/ruby_version_specific/contracts_spec_2.1.rb +63 -0
  671. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/spec/spec_helper.rb +102 -0
  672. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/spec/support.rb +10 -0
  673. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/spec/support_spec.rb +21 -0
  674. data/vendor/bundle/ruby/3.2.0/gems/contracts-0.17/spec/validators_spec.rb +47 -0
  675. data/vendor/bundle/ruby/3.2.0/gems/crack-0.4.5/lib/crack/json.rb +98 -0
  676. data/vendor/bundle/ruby/3.2.0/gems/crack-0.4.5/lib/crack/util.rb +17 -0
  677. data/vendor/bundle/ruby/3.2.0/gems/crack-0.4.5/lib/crack/version.rb +3 -0
  678. data/vendor/bundle/ruby/3.2.0/gems/crack-0.4.5/lib/crack/xml.rb +238 -0
  679. data/vendor/bundle/ruby/3.2.0/gems/crack-0.4.5/lib/crack.rb +7 -0
  680. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/autotest/cucumber.rb +8 -0
  681. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/autotest/cucumber_mixin.rb +133 -0
  682. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/autotest/cucumber_rails.rb +8 -0
  683. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/autotest/cucumber_rails_rspec.rb +8 -0
  684. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/autotest/cucumber_rails_rspec2.rb +8 -0
  685. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/autotest/cucumber_rspec.rb +8 -0
  686. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/autotest/cucumber_rspec2.rb +8 -0
  687. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/autotest/discover.rb +14 -0
  688. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/cli/configuration.rb +163 -0
  689. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/cli/main.rb +101 -0
  690. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/cli/options.rb +635 -0
  691. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/cli/profile_loader.rb +113 -0
  692. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/cli/rerun_file.rb +31 -0
  693. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/configuration.rb +307 -0
  694. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/constantize.rb +44 -0
  695. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/deprecate.rb +55 -0
  696. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/encoding.rb +7 -0
  697. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/errors.rb +53 -0
  698. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/events/envelope.rb +11 -0
  699. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/events/gherkin_source_parsed.rb +13 -0
  700. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/events/gherkin_source_read.rb +16 -0
  701. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/events/hook_test_step_created.rb +12 -0
  702. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/events/step_activated.rb +20 -0
  703. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/events/step_definition_registered.rb +15 -0
  704. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/events/test_case_created.rb +12 -0
  705. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/events/test_case_finished.rb +16 -0
  706. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/events/test_case_ready.rb +12 -0
  707. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/events/test_case_started.rb +13 -0
  708. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/events/test_run_finished.rb +12 -0
  709. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/events/test_run_started.rb +14 -0
  710. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/events/test_step_created.rb +12 -0
  711. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/events/test_step_finished.rb +16 -0
  712. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/events/test_step_started.rb +13 -0
  713. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/events/undefined_parameter_type.rb +11 -0
  714. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/events.rb +46 -0
  715. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/file_specs.rb +40 -0
  716. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/filters/activate_steps.rb +75 -0
  717. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/filters/apply_after_hooks.rb +11 -0
  718. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/filters/apply_after_step_hooks.rb +14 -0
  719. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/filters/apply_around_hooks.rb +14 -0
  720. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/filters/apply_before_hooks.rb +11 -0
  721. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/filters/broadcast_test_case_ready_event.rb +12 -0
  722. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/filters/broadcast_test_run_started_event.rb +28 -0
  723. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/filters/gated_receiver.rb +25 -0
  724. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/filters/prepare_world.rb +39 -0
  725. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/filters/quit.rb +25 -0
  726. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/filters/randomizer.rb +45 -0
  727. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/filters/retry.rb +51 -0
  728. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/filters/tag_limits/test_case_index.rb +31 -0
  729. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/filters/tag_limits/verifier.rb +55 -0
  730. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/filters/tag_limits.rb +44 -0
  731. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/filters.rb +14 -0
  732. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/ansicolor.rb +147 -0
  733. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/ast_lookup.rb +163 -0
  734. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/backtrace_filter.rb +56 -0
  735. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/console.rb +262 -0
  736. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/console_counts.rb +41 -0
  737. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/console_issues.rb +68 -0
  738. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/duration.rb +15 -0
  739. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/duration_extractor.rb +32 -0
  740. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/errors.rb +9 -0
  741. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/fail_fast.rb +23 -0
  742. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/fanout.rb +28 -0
  743. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/html.rb +26 -0
  744. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/http_io.rb +154 -0
  745. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/ignore_missing_messages.rb +19 -0
  746. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/interceptor.rb +75 -0
  747. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/io.rb +80 -0
  748. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/json.rb +333 -0
  749. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/junit.rb +265 -0
  750. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/message.rb +23 -0
  751. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/message_builder.rb +258 -0
  752. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/pretty.rb +471 -0
  753. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/progress.rb +115 -0
  754. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/publish_banner_printer.rb +75 -0
  755. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/query/hook_by_test_step.rb +34 -0
  756. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/query/pickle_by_test.rb +28 -0
  757. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/query/pickle_step_by_test_step.rb +28 -0
  758. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/query/step_definitions_by_test_step.rb +42 -0
  759. 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
  760. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/rerun.rb +53 -0
  761. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/stepdefs.rb +15 -0
  762. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/steps.rb +52 -0
  763. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/summary.rb +66 -0
  764. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/unicode.rb +52 -0
  765. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/url_reporter.rb +19 -0
  766. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/formatter/usage.rb +147 -0
  767. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/gherkin/data_table_parser.rb +45 -0
  768. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/gherkin/formatter/ansi_escapes.rb +96 -0
  769. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/gherkin/formatter/escaping.rb +19 -0
  770. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/gherkin/i18n.rb +17 -0
  771. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/gherkin/steps_parser.rb +42 -0
  772. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/glue/dsl.rb +154 -0
  773. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/glue/hook.rb +70 -0
  774. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/glue/invoke_in_world.rb +65 -0
  775. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/glue/proto_world.rb +215 -0
  776. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/glue/registry_and_more.rb +233 -0
  777. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/glue/registry_wrapper.rb +31 -0
  778. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/glue/snippet.rb +207 -0
  779. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/glue/step_definition.rb +168 -0
  780. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/glue/world_factory.rb +23 -0
  781. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/hooks.rb +111 -0
  782. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/load_path.rb +15 -0
  783. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/multiline_argument/data_table/diff_matrices.rb +157 -0
  784. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/multiline_argument/data_table.rb +626 -0
  785. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/multiline_argument/doc_string.rb +11 -0
  786. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/multiline_argument.rb +60 -0
  787. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/platform.rb +22 -0
  788. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/project_initializer.rb +44 -0
  789. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/rake/task.rb +185 -0
  790. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/rspec/disable_option_parser.rb +29 -0
  791. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/rspec/doubles.rb +19 -0
  792. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/running_test_case.rb +61 -0
  793. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/runtime/after_hooks.rb +31 -0
  794. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/runtime/before_hooks.rb +33 -0
  795. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/runtime/for_programming_languages.rb +35 -0
  796. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/runtime/meta_message_builder.rb +108 -0
  797. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/runtime/step_hooks.rb +30 -0
  798. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/runtime/support_code.rb +153 -0
  799. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/runtime/user_interface.rb +69 -0
  800. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/runtime.rb +285 -0
  801. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/step_definition_light.rb +24 -0
  802. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/step_definitions.rb +15 -0
  803. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/step_match.rb +154 -0
  804. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/step_match_search.rb +68 -0
  805. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/term/ansicolor.rb +135 -0
  806. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/term/banner.rb +59 -0
  807. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber/unit.rb +13 -0
  808. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/cucumber.rb +27 -0
  809. data/vendor/bundle/ruby/3.2.0/gems/cucumber-9.0.2/lib/simplecov_setup.rb +20 -0
  810. data/vendor/bundle/ruby/3.2.0/gems/cucumber-ci-environment-9.2.0/lib/cucumber/ci_environment/variable_expression.rb +41 -0
  811. data/vendor/bundle/ruby/3.2.0/gems/cucumber-ci-environment-9.2.0/lib/cucumber/ci_environment.rb +80 -0
  812. data/vendor/bundle/ruby/3.2.0/gems/cucumber-ci-environment-9.2.0/spec/capture_warnings.rb +74 -0
  813. data/vendor/bundle/ruby/3.2.0/gems/cucumber-ci-environment-9.2.0/spec/cucumber/ci_environment/ci_environment_spec.rb +29 -0
  814. 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
  815. 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
  816. 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
  817. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/compiler.rb +91 -0
  818. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/event.rb +61 -0
  819. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/event_bus.rb +73 -0
  820. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/events.rb +102 -0
  821. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/filter.rb +84 -0
  822. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/gherkin/document.rb +25 -0
  823. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/gherkin/parser.rb +52 -0
  824. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/gherkin/writer/helpers.rb +174 -0
  825. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/gherkin/writer.rb +259 -0
  826. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/platform.rb +16 -0
  827. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/report/summary.rb +39 -0
  828. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/test/action.rb +84 -0
  829. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/test/around_hook.rb +36 -0
  830. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/test/case.rb +100 -0
  831. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/test/data_table.rb +117 -0
  832. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/test/doc_string.rb +78 -0
  833. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/test/empty_multiline_argument.rb +32 -0
  834. 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
  835. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/test/filters/locations_filter.rb +40 -0
  836. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/test/filters/name_filter.rb +24 -0
  837. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/test/filters/tag_filter.rb +49 -0
  838. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/test/filters.rb +4 -0
  839. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/test/location.rb +187 -0
  840. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/test/result.rb +436 -0
  841. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/test/runner.rb +157 -0
  842. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/test/step.rb +74 -0
  843. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/test/tag.rb +21 -0
  844. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core/test/timer.rb +52 -0
  845. data/vendor/bundle/ruby/3.2.0/gems/cucumber-core-11.1.0/lib/cucumber/core.rb +45 -0
  846. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/lib/cucumber/cucumber_expressions/argument.rb +37 -0
  847. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/lib/cucumber/cucumber_expressions/ast.rb +201 -0
  848. 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
  849. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/lib/cucumber/cucumber_expressions/cucumber_expression.rb +123 -0
  850. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/lib/cucumber/cucumber_expressions/cucumber_expression_generator.rb +97 -0
  851. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/lib/cucumber/cucumber_expressions/cucumber_expression_parser.rb +219 -0
  852. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/lib/cucumber/cucumber_expressions/cucumber_expression_tokenizer.rb +95 -0
  853. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/lib/cucumber/cucumber_expressions/errors.rb +214 -0
  854. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/lib/cucumber/cucumber_expressions/expression_factory.rb +22 -0
  855. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/lib/cucumber/cucumber_expressions/generated_expression.rb +31 -0
  856. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/lib/cucumber/cucumber_expressions/group.rb +18 -0
  857. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/lib/cucumber/cucumber_expressions/group_builder.rb +42 -0
  858. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/lib/cucumber/cucumber_expressions/parameter_type.rb +86 -0
  859. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/lib/cucumber/cucumber_expressions/parameter_type_matcher.rb +59 -0
  860. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/lib/cucumber/cucumber_expressions/parameter_type_registry.rb +77 -0
  861. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/lib/cucumber/cucumber_expressions/regular_expression.rb +48 -0
  862. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/lib/cucumber/cucumber_expressions/tree_regexp.rb +83 -0
  863. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/spec/capture_warnings.rb +74 -0
  864. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/spec/cucumber/cucumber_expressions/argument_spec.rb +17 -0
  865. 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
  866. 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
  867. 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
  868. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/spec/cucumber/cucumber_expressions/cucumber_expression_spec.rb +181 -0
  869. 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
  870. 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
  871. 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
  872. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/spec/cucumber/cucumber_expressions/expression_factory_spec.rb +19 -0
  873. 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
  874. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/spec/cucumber/cucumber_expressions/parameter_type_spec.rb +15 -0
  875. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/spec/cucumber/cucumber_expressions/regular_expression_spec.rb +84 -0
  876. data/vendor/bundle/ruby/3.2.0/gems/cucumber-cucumber-expressions-16.1.2/spec/cucumber/cucumber_expressions/tree_regexp_spec.rb +186 -0
  877. data/vendor/bundle/ruby/3.2.0/gems/cucumber-gherkin-26.2.0/lib/gherkin/ast_builder.rb +262 -0
  878. data/vendor/bundle/ruby/3.2.0/gems/cucumber-gherkin-26.2.0/lib/gherkin/ast_node.rb +30 -0
  879. data/vendor/bundle/ruby/3.2.0/gems/cucumber-gherkin-26.2.0/lib/gherkin/dialect.rb +63 -0
  880. data/vendor/bundle/ruby/3.2.0/gems/cucumber-gherkin-26.2.0/lib/gherkin/errors.rb +47 -0
  881. data/vendor/bundle/ruby/3.2.0/gems/cucumber-gherkin-26.2.0/lib/gherkin/gherkin_line.rb +109 -0
  882. data/vendor/bundle/ruby/3.2.0/gems/cucumber-gherkin-26.2.0/lib/gherkin/parser.rb +3897 -0
  883. data/vendor/bundle/ruby/3.2.0/gems/cucumber-gherkin-26.2.0/lib/gherkin/pickles/compiler.rb +201 -0
  884. data/vendor/bundle/ruby/3.2.0/gems/cucumber-gherkin-26.2.0/lib/gherkin/query.rb +65 -0
  885. data/vendor/bundle/ruby/3.2.0/gems/cucumber-gherkin-26.2.0/lib/gherkin/stream/parser_message_stream.rb +99 -0
  886. data/vendor/bundle/ruby/3.2.0/gems/cucumber-gherkin-26.2.0/lib/gherkin/token.rb +18 -0
  887. data/vendor/bundle/ruby/3.2.0/gems/cucumber-gherkin-26.2.0/lib/gherkin/token_formatter_builder.rb +39 -0
  888. data/vendor/bundle/ruby/3.2.0/gems/cucumber-gherkin-26.2.0/lib/gherkin/token_matcher.rb +200 -0
  889. data/vendor/bundle/ruby/3.2.0/gems/cucumber-gherkin-26.2.0/lib/gherkin/token_scanner.rb +40 -0
  890. data/vendor/bundle/ruby/3.2.0/gems/cucumber-gherkin-26.2.0/lib/gherkin.rb +39 -0
  891. data/vendor/bundle/ruby/3.2.0/gems/cucumber-gherkin-26.2.0/spec/capture_warnings.rb +74 -0
  892. data/vendor/bundle/ruby/3.2.0/gems/cucumber-gherkin-26.2.0/spec/gherkin/dialect_spec.rb +13 -0
  893. data/vendor/bundle/ruby/3.2.0/gems/cucumber-gherkin-26.2.0/spec/gherkin/gherkin_line_spec.rb +36 -0
  894. data/vendor/bundle/ruby/3.2.0/gems/cucumber-gherkin-26.2.0/spec/gherkin/gherkin_spec.rb +45 -0
  895. data/vendor/bundle/ruby/3.2.0/gems/cucumber-gherkin-26.2.0/spec/gherkin/parser_spec.rb +10 -0
  896. data/vendor/bundle/ruby/3.2.0/gems/cucumber-gherkin-26.2.0/spec/gherkin/query_spec.rb +157 -0
  897. data/vendor/bundle/ruby/3.2.0/gems/cucumber-gherkin-26.2.0/spec/gherkin/stream/parser_message_stream_spec.rb +67 -0
  898. data/vendor/bundle/ruby/3.2.0/gems/cucumber-html-formatter-20.4.0/lib/cucumber/html_formatter/assets_loader.rb +34 -0
  899. data/vendor/bundle/ruby/3.2.0/gems/cucumber-html-formatter-20.4.0/lib/cucumber/html_formatter/template_writer.rb +20 -0
  900. data/vendor/bundle/ruby/3.2.0/gems/cucumber-html-formatter-20.4.0/lib/cucumber/html_formatter.rb +69 -0
  901. data/vendor/bundle/ruby/3.2.0/gems/cucumber-html-formatter-20.4.0/spec/acceptance_spec.rb +33 -0
  902. data/vendor/bundle/ruby/3.2.0/gems/cucumber-html-formatter-20.4.0/spec/capture_warnings.rb +74 -0
  903. data/vendor/bundle/ruby/3.2.0/gems/cucumber-html-formatter-20.4.0/spec/html-formatter/assets_loader_spec.rb +30 -0
  904. data/vendor/bundle/ruby/3.2.0/gems/cucumber-html-formatter-20.4.0/spec/html-formatter/template_writer_spec.rb +30 -0
  905. data/vendor/bundle/ruby/3.2.0/gems/cucumber-html-formatter-20.4.0/spec/html_formatter_spec.rb +87 -0
  906. data/vendor/bundle/ruby/3.2.0/gems/cucumber-messages-21.0.1/lib/cucumber/messages/id_generator.rb +24 -0
  907. data/vendor/bundle/ruby/3.2.0/gems/cucumber-messages-21.0.1/lib/cucumber/messages/message/deserialization.rb +39 -0
  908. data/vendor/bundle/ruby/3.2.0/gems/cucumber-messages-21.0.1/lib/cucumber/messages/message/serialization.rb +73 -0
  909. data/vendor/bundle/ruby/3.2.0/gems/cucumber-messages-21.0.1/lib/cucumber/messages/message/utils.rb +46 -0
  910. data/vendor/bundle/ruby/3.2.0/gems/cucumber-messages-21.0.1/lib/cucumber/messages/message.rb +11 -0
  911. data/vendor/bundle/ruby/3.2.0/gems/cucumber-messages-21.0.1/lib/cucumber/messages/ndjson_to_message_enumerator.rb +21 -0
  912. data/vendor/bundle/ruby/3.2.0/gems/cucumber-messages-21.0.1/lib/cucumber/messages/time_conversion.rb +33 -0
  913. data/vendor/bundle/ruby/3.2.0/gems/cucumber-messages-21.0.1/lib/cucumber/messages.deserializers.rb +1206 -0
  914. data/vendor/bundle/ruby/3.2.0/gems/cucumber-messages-21.0.1/lib/cucumber/messages.dtos.rb +1996 -0
  915. data/vendor/bundle/ruby/3.2.0/gems/cucumber-messages-21.0.1/lib/cucumber/messages.rb +10 -0
  916. data/vendor/bundle/ruby/3.2.0/gems/cucumber-messages-21.0.1/spec/capture_warnings.rb +74 -0
  917. data/vendor/bundle/ruby/3.2.0/gems/cucumber-messages-21.0.1/spec/cucumber/messages/acceptance_spec.rb +33 -0
  918. data/vendor/bundle/ruby/3.2.0/gems/cucumber-messages-21.0.1/spec/cucumber/messages/id_generator_spec.rb +29 -0
  919. data/vendor/bundle/ruby/3.2.0/gems/cucumber-messages-21.0.1/spec/cucumber/messages/message/deserialization_spec.rb +30 -0
  920. data/vendor/bundle/ruby/3.2.0/gems/cucumber-messages-21.0.1/spec/cucumber/messages/message/dummy_messages.rb +38 -0
  921. data/vendor/bundle/ruby/3.2.0/gems/cucumber-messages-21.0.1/spec/cucumber/messages/message/serialization_spec.rb +89 -0
  922. data/vendor/bundle/ruby/3.2.0/gems/cucumber-messages-21.0.1/spec/cucumber/messages/message/utils_spec.rb +30 -0
  923. data/vendor/bundle/ruby/3.2.0/gems/cucumber-messages-21.0.1/spec/cucumber/messages/ndjson_serialization_spec.rb +56 -0
  924. data/vendor/bundle/ruby/3.2.0/gems/cucumber-messages-21.0.1/spec/cucumber/messages/time_conversion_spec.rb +41 -0
  925. data/vendor/bundle/ruby/3.2.0/gems/cucumber-messages-21.0.1/spec/cucumber/messages/version_spec.rb +11 -0
  926. data/vendor/bundle/ruby/3.2.0/gems/cucumber-tag-expressions-4.1.0/lib/cucumber/tag_expressions/expressions.rb +65 -0
  927. data/vendor/bundle/ruby/3.2.0/gems/cucumber-tag-expressions-4.1.0/lib/cucumber/tag_expressions/parser.rb +166 -0
  928. data/vendor/bundle/ruby/3.2.0/gems/cucumber-tag-expressions-4.1.0/lib/cucumber/tag_expressions.rb +1 -0
  929. data/vendor/bundle/ruby/3.2.0/gems/cucumber-tag-expressions-4.1.0/spec/capture_warnings.rb +74 -0
  930. data/vendor/bundle/ruby/3.2.0/gems/cucumber-tag-expressions-4.1.0/spec/expressions_spec.rb +84 -0
  931. data/vendor/bundle/ruby/3.2.0/gems/cucumber-tag-expressions-4.1.0/spec/parser_spec.rb +50 -0
  932. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/lib/diff/lcs/array.rb +7 -0
  933. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/lib/diff/lcs/backports.rb +9 -0
  934. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/lib/diff/lcs/block.rb +37 -0
  935. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/lib/diff/lcs/callbacks.rb +325 -0
  936. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/lib/diff/lcs/change.rb +174 -0
  937. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/lib/diff/lcs/htmldiff.rb +150 -0
  938. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/lib/diff/lcs/hunk.rb +358 -0
  939. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/lib/diff/lcs/internals.rb +308 -0
  940. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/lib/diff/lcs/ldiff.rb +171 -0
  941. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/lib/diff/lcs/string.rb +5 -0
  942. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/lib/diff/lcs.rb +739 -0
  943. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/lib/diff-lcs.rb +3 -0
  944. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/change_spec.rb +89 -0
  945. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/diff_spec.rb +51 -0
  946. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/hunk_spec.rb +83 -0
  947. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/issues_spec.rb +154 -0
  948. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/lcs_spec.rb +56 -0
  949. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/ldiff_spec.rb +87 -0
  950. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/patch_spec.rb +416 -0
  951. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/sdiff_spec.rb +214 -0
  952. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/spec_helper.rb +374 -0
  953. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/traverse_balanced_spec.rb +310 -0
  954. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/traverse_sequences_spec.rb +137 -0
  955. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/extconf.rb +115 -0
  956. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/abstract_memory.rb +44 -0
  957. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/autopointer.rb +188 -0
  958. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/buffer.rb +4 -0
  959. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/callback.rb +4 -0
  960. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/compat.rb +43 -0
  961. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/data_converter.rb +67 -0
  962. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/dynamic_library.rb +89 -0
  963. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/enum.rb +303 -0
  964. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/errno.rb +43 -0
  965. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/ffi.rb +50 -0
  966. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/function.rb +71 -0
  967. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/io.rb +62 -0
  968. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/library.rb +576 -0
  969. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/library_path.rb +109 -0
  970. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/managedstruct.rb +84 -0
  971. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/memorypointer.rb +1 -0
  972. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/platform.rb +187 -0
  973. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/pointer.rb +167 -0
  974. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/struct.rb +317 -0
  975. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/struct_by_reference.rb +72 -0
  976. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/struct_layout.rb +96 -0
  977. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/struct_layout_builder.rb +227 -0
  978. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/tools/const_generator.rb +232 -0
  979. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/tools/generator.rb +105 -0
  980. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/tools/generator_task.rb +32 -0
  981. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/tools/struct_generator.rb +195 -0
  982. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/tools/types_generator.rb +137 -0
  983. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/types.rb +220 -0
  984. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/union.rb +43 -0
  985. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/variadic.rb +80 -0
  986. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/version.rb +3 -0
  987. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi.rb +27 -0
  988. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/rakelib/ffi_gem_helper.rb +65 -0
  989. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/samples/getlogin.rb +8 -0
  990. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/samples/getpid.rb +8 -0
  991. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/samples/gettimeofday.rb +18 -0
  992. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/samples/hello.rb +8 -0
  993. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/samples/hello_ractor.rb +11 -0
  994. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/samples/inotify.rb +60 -0
  995. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/samples/pty.rb +75 -0
  996. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/samples/qsort.rb +20 -0
  997. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/samples/qsort_ractor.rb +28 -0
  998. data/vendor/bundle/ruby/3.2.0/gems/formatador-1.1.0/lib/formatador/progressbar.rb +91 -0
  999. data/vendor/bundle/ruby/3.2.0/gems/formatador-1.1.0/lib/formatador/table.rb +105 -0
  1000. data/vendor/bundle/ruby/3.2.0/gems/formatador-1.1.0/lib/formatador.rb +140 -0
  1001. data/vendor/bundle/ruby/3.2.0/gems/formatador-1.1.0/tests/basic_tests.rb +29 -0
  1002. data/vendor/bundle/ruby/3.2.0/gems/formatador-1.1.0/tests/table_tests.rb +145 -0
  1003. data/vendor/bundle/ruby/3.2.0/gems/formatador-1.1.0/tests/tests_helper.rb +27 -0
  1004. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/aruba_adapter.rb +59 -0
  1005. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/cli/environments/bundler.rb +22 -0
  1006. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/cli/environments/evaluate_only.rb +35 -0
  1007. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/cli/environments/valid.rb +69 -0
  1008. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/cli.rb +200 -0
  1009. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/commander.rb +104 -0
  1010. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/commands/all.rb +37 -0
  1011. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/commands/change.rb +31 -0
  1012. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/commands/notification.rb +26 -0
  1013. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/commands/pause.rb +29 -0
  1014. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/commands/reload.rb +36 -0
  1015. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/commands/scope.rb +38 -0
  1016. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/commands/show.rb +24 -0
  1017. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/config.rb +18 -0
  1018. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/deprecated/dsl.rb +45 -0
  1019. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/deprecated/evaluator.rb +39 -0
  1020. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/deprecated/guard.rb +328 -0
  1021. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/deprecated/guardfile.rb +84 -0
  1022. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/deprecated/watcher.rb +27 -0
  1023. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/dsl.rb +438 -0
  1024. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/dsl_describer.rb +160 -0
  1025. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/dsl_reader.rb +51 -0
  1026. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/group.rb +64 -0
  1027. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/guardfile/evaluator.rb +232 -0
  1028. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/guardfile/generator.rb +128 -0
  1029. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/guardfile.rb +37 -0
  1030. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/interactor.rb +53 -0
  1031. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/internals/debugging.rb +68 -0
  1032. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/internals/groups.rb +40 -0
  1033. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/internals/helpers.rb +13 -0
  1034. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/internals/plugins.rb +53 -0
  1035. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/internals/queue.rb +51 -0
  1036. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/internals/scope.rb +121 -0
  1037. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/internals/session.rb +180 -0
  1038. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/internals/state.rb +25 -0
  1039. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/internals/tracing.rb +33 -0
  1040. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/internals/traps.rb +10 -0
  1041. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/jobs/base.rb +21 -0
  1042. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/jobs/pry_wrapper.rb +336 -0
  1043. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/jobs/sleep.rb +26 -0
  1044. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/notifier.rb +71 -0
  1045. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/options.rb +22 -0
  1046. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/plugin.rb +303 -0
  1047. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/plugin_util.rb +191 -0
  1048. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/rake_task.rb +42 -0
  1049. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/runner.rb +128 -0
  1050. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/terminal.rb +13 -0
  1051. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/ui/colors.rb +56 -0
  1052. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/ui/config.rb +70 -0
  1053. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/ui/logger.rb +30 -0
  1054. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/ui.rb +262 -0
  1055. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/version.rb +3 -0
  1056. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/watcher/pattern/deprecated_regexp.rb +45 -0
  1057. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/watcher/pattern/match_result.rb +18 -0
  1058. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/watcher/pattern/matcher.rb +33 -0
  1059. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/watcher/pattern/pathname_path.rb +15 -0
  1060. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/watcher/pattern/simple_path.rb +23 -0
  1061. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/watcher/pattern.rb +24 -0
  1062. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard/watcher.rb +88 -0
  1063. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/guard.rb +169 -0
  1064. data/vendor/bundle/ruby/3.2.0/gems/guard-2.18.1/lib/tasks/releaser.rb +116 -0
  1065. data/vendor/bundle/ruby/3.2.0/gems/guard-compat-1.2.1/lib/guard/compat/example.rb +34 -0
  1066. data/vendor/bundle/ruby/3.2.0/gems/guard-compat-1.2.1/lib/guard/compat/plugin.rb +124 -0
  1067. data/vendor/bundle/ruby/3.2.0/gems/guard-compat-1.2.1/lib/guard/compat/test/helper.rb +36 -0
  1068. data/vendor/bundle/ruby/3.2.0/gems/guard-compat-1.2.1/lib/guard/compat/test/template.rb +68 -0
  1069. data/vendor/bundle/ruby/3.2.0/gems/guard-compat-1.2.1/lib/guard/compat/version.rb +5 -0
  1070. data/vendor/bundle/ruby/3.2.0/gems/guard-compat-1.2.1/lib/guard/compat.rb +7 -0
  1071. data/vendor/bundle/ruby/3.2.0/gems/guard-compat-1.2.1/spec/guard/compat/example_spec.rb +53 -0
  1072. data/vendor/bundle/ruby/3.2.0/gems/guard-compat-1.2.1/spec/guard/compat/example_template_spec.rb +30 -0
  1073. data/vendor/bundle/ruby/3.2.0/gems/guard-compat-1.2.1/spec/guard/compat/no_guard_spec.rb +63 -0
  1074. data/vendor/bundle/ruby/3.2.0/gems/guard-compat-1.2.1/spec/spec_helper.rb +73 -0
  1075. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/lib/guard/rspec/command.rb +71 -0
  1076. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/lib/guard/rspec/deprecator.rb +86 -0
  1077. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/lib/guard/rspec/dsl.rb +72 -0
  1078. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/lib/guard/rspec/inspectors/base_inspector.rb +73 -0
  1079. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/lib/guard/rspec/inspectors/factory.rb +23 -0
  1080. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/lib/guard/rspec/inspectors/focused_inspector.rb +39 -0
  1081. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/lib/guard/rspec/inspectors/keeping_inspector.rb +97 -0
  1082. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/lib/guard/rspec/inspectors/simple_inspector.rb +21 -0
  1083. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/lib/guard/rspec/notifier.rb +55 -0
  1084. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/lib/guard/rspec/options.rb +37 -0
  1085. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/lib/guard/rspec/results.rb +23 -0
  1086. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/lib/guard/rspec/rspec_process.rb +93 -0
  1087. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/lib/guard/rspec/runner.rb +100 -0
  1088. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/lib/guard/rspec/version.rb +5 -0
  1089. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/lib/guard/rspec.rb +51 -0
  1090. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/lib/guard/rspec_defaults.rb +5 -0
  1091. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/lib/guard/rspec_formatter.rb +147 -0
  1092. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/lib/guard/rspec_formatter_results_path.rb +29 -0
  1093. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/spec/acceptance/fixtures/succeeding_spec.rb +4 -0
  1094. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/spec/acceptance/formatter_spec.rb +46 -0
  1095. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/spec/lib/guard/rspec/command_spec.rb +95 -0
  1096. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/spec/lib/guard/rspec/deprecator_spec.rb +101 -0
  1097. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/spec/lib/guard/rspec/inspectors/base_inspector_spec.rb +144 -0
  1098. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/spec/lib/guard/rspec/inspectors/factory_spec.rb +45 -0
  1099. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/spec/lib/guard/rspec/inspectors/focused_inspector_spec.rb +140 -0
  1100. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/spec/lib/guard/rspec/inspectors/keeping_inspector_spec.rb +200 -0
  1101. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/spec/lib/guard/rspec/inspectors/shared_examples.rb +121 -0
  1102. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/spec/lib/guard/rspec/inspectors/simple_inspector_spec.rb +59 -0
  1103. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/spec/lib/guard/rspec/notifier_spec.rb +90 -0
  1104. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/spec/lib/guard/rspec/results_spec.rb +66 -0
  1105. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/spec/lib/guard/rspec/rspec_process_spec.rb +152 -0
  1106. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/spec/lib/guard/rspec/runner_spec.rb +372 -0
  1107. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/spec/lib/guard/rspec/template_spec.rb +78 -0
  1108. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/spec/lib/guard/rspec_formatter_spec.rb +277 -0
  1109. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/spec/lib/guard/rspec_spec.rb +91 -0
  1110. data/vendor/bundle/ruby/3.2.0/gems/guard-rspec-4.7.3/spec/spec_helper.rb +145 -0
  1111. data/vendor/bundle/ruby/3.2.0/gems/hashdiff-1.0.1/lib/hashdiff/compare_hashes.rb +69 -0
  1112. data/vendor/bundle/ruby/3.2.0/gems/hashdiff-1.0.1/lib/hashdiff/diff.rb +177 -0
  1113. data/vendor/bundle/ruby/3.2.0/gems/hashdiff-1.0.1/lib/hashdiff/lcs.rb +66 -0
  1114. data/vendor/bundle/ruby/3.2.0/gems/hashdiff-1.0.1/lib/hashdiff/lcs_compare_arrays.rb +32 -0
  1115. data/vendor/bundle/ruby/3.2.0/gems/hashdiff-1.0.1/lib/hashdiff/linear_compare_array.rb +159 -0
  1116. data/vendor/bundle/ruby/3.2.0/gems/hashdiff-1.0.1/lib/hashdiff/patch.rb +88 -0
  1117. data/vendor/bundle/ruby/3.2.0/gems/hashdiff-1.0.1/lib/hashdiff/util.rb +155 -0
  1118. data/vendor/bundle/ruby/3.2.0/gems/hashdiff-1.0.1/lib/hashdiff/version.rb +5 -0
  1119. data/vendor/bundle/ruby/3.2.0/gems/hashdiff-1.0.1/lib/hashdiff.rb +10 -0
  1120. data/vendor/bundle/ruby/3.2.0/gems/hashdiff-1.0.1/spec/hashdiff/best_diff_spec.rb +75 -0
  1121. data/vendor/bundle/ruby/3.2.0/gems/hashdiff-1.0.1/spec/hashdiff/diff_array_spec.rb +60 -0
  1122. data/vendor/bundle/ruby/3.2.0/gems/hashdiff-1.0.1/spec/hashdiff/diff_spec.rb +360 -0
  1123. data/vendor/bundle/ruby/3.2.0/gems/hashdiff-1.0.1/spec/hashdiff/lcs_spec.rb +76 -0
  1124. data/vendor/bundle/ruby/3.2.0/gems/hashdiff-1.0.1/spec/hashdiff/linear_compare_array_spec.rb +50 -0
  1125. data/vendor/bundle/ruby/3.2.0/gems/hashdiff-1.0.1/spec/hashdiff/patch_spec.rb +185 -0
  1126. data/vendor/bundle/ruby/3.2.0/gems/hashdiff-1.0.1/spec/hashdiff/readme_spec.rb +15 -0
  1127. data/vendor/bundle/ruby/3.2.0/gems/hashdiff-1.0.1/spec/hashdiff/util_spec.rb +116 -0
  1128. data/vendor/bundle/ruby/3.2.0/gems/hashdiff-1.0.1/spec/spec_helper.rb +15 -0
  1129. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/backend/base.rb +304 -0
  1130. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/backend/cache.rb +113 -0
  1131. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/backend/cache_file.rb +36 -0
  1132. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/backend/cascade.rb +56 -0
  1133. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/backend/chain.rb +130 -0
  1134. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/backend/fallbacks.rb +115 -0
  1135. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/backend/flatten.rb +118 -0
  1136. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/backend/gettext.rb +83 -0
  1137. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/backend/interpolation_compiler.rb +123 -0
  1138. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/backend/key_value.rb +204 -0
  1139. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/backend/lazy_loadable.rb +184 -0
  1140. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/backend/memoize.rb +54 -0
  1141. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/backend/metadata.rb +71 -0
  1142. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/backend/pluralization.rb +96 -0
  1143. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/backend/simple.rb +113 -0
  1144. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/backend/transliterator.rb +108 -0
  1145. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/backend.rb +22 -0
  1146. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/config.rb +165 -0
  1147. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/exceptions.rb +157 -0
  1148. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/gettext/helpers.rb +75 -0
  1149. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/gettext/po_parser.rb +329 -0
  1150. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/gettext.rb +28 -0
  1151. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/interpolate/ruby.rb +53 -0
  1152. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/locale/fallbacks.rb +97 -0
  1153. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/locale/tag/parents.rb +24 -0
  1154. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/locale/tag/rfc4646.rb +74 -0
  1155. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/locale/tag/simple.rb +39 -0
  1156. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/locale/tag.rb +28 -0
  1157. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/locale.rb +8 -0
  1158. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/middleware.rb +17 -0
  1159. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/tests/basics.rb +58 -0
  1160. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/tests/defaults.rb +52 -0
  1161. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/tests/interpolation.rb +163 -0
  1162. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/tests/link.rb +66 -0
  1163. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/tests/localization/date.rb +122 -0
  1164. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/tests/localization/date_time.rb +103 -0
  1165. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/tests/localization/procs.rb +118 -0
  1166. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/tests/localization/time.rb +103 -0
  1167. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/tests/localization.rb +19 -0
  1168. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/tests/lookup.rb +81 -0
  1169. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/tests/pluralization.rb +35 -0
  1170. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/tests/procs.rb +66 -0
  1171. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/tests.rb +14 -0
  1172. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/utils.rb +55 -0
  1173. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n/version.rb +5 -0
  1174. data/vendor/bundle/ruby/3.2.0/gems/i18n-1.14.1/lib/i18n.rb +435 -0
  1175. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/adapter/base.rb +129 -0
  1176. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/adapter/bsd.rb +107 -0
  1177. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/adapter/config.rb +31 -0
  1178. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/adapter/darwin.rb +77 -0
  1179. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/adapter/linux.rb +108 -0
  1180. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/adapter/polling.rb +40 -0
  1181. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/adapter/windows.rb +96 -0
  1182. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/adapter.rb +43 -0
  1183. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/backend.rb +40 -0
  1184. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/change.rb +69 -0
  1185. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/cli.rb +65 -0
  1186. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/directory.rb +93 -0
  1187. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/error.rb +11 -0
  1188. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/event/config.rb +40 -0
  1189. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/event/loop.rb +94 -0
  1190. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/event/processor.rb +126 -0
  1191. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/event/queue.rb +54 -0
  1192. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/file.rb +95 -0
  1193. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/fsm.rb +133 -0
  1194. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/listener/config.rb +41 -0
  1195. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/listener.rb +136 -0
  1196. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/logger.rb +36 -0
  1197. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/monotonic_time.rb +27 -0
  1198. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/options.rb +26 -0
  1199. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/queue_optimizer.rb +129 -0
  1200. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/record/entry.rb +66 -0
  1201. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/record/symlink_detector.rb +41 -0
  1202. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/record.rb +123 -0
  1203. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/silencer/controller.rb +50 -0
  1204. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/silencer.rb +106 -0
  1205. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/thread.rb +54 -0
  1206. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen/version.rb +5 -0
  1207. data/vendor/bundle/ruby/3.2.0/gems/listen-3.8.0/lib/listen.rb +47 -0
  1208. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/context.rb +48 -0
  1209. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/device/date_rolling_log_file.rb +74 -0
  1210. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/device/log_file.rb +40 -0
  1211. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/device/multi.rb +47 -0
  1212. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/device/null.rb +15 -0
  1213. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/device/rolling_log_file.rb +145 -0
  1214. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/device/size_rolling_log_file.rb +63 -0
  1215. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/device/writer.rb +202 -0
  1216. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/device.rb +57 -0
  1217. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/formatter/date_time_formatter.rb +26 -0
  1218. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/formatter/exception_formatter.rb +39 -0
  1219. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/formatter/id_formatter.rb +24 -0
  1220. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/formatter/inspect_formatter.rb +12 -0
  1221. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/formatter/object_formatter.rb +12 -0
  1222. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/formatter/pretty_print_formatter.rb +27 -0
  1223. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/formatter/string_formatter.rb +12 -0
  1224. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/formatter/strip_formatter.rb +12 -0
  1225. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/formatter/structured_formatter.rb +65 -0
  1226. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/formatter/truncate_formatter.rb +27 -0
  1227. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/formatter.rb +198 -0
  1228. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/log_entry.rb +74 -0
  1229. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/logger.rb +641 -0
  1230. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/rack/context.rb +18 -0
  1231. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/rack/request_id.rb +27 -0
  1232. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/rack/unit_of_work.rb +17 -0
  1233. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/rack.rb +9 -0
  1234. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/severity.rb +34 -0
  1235. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/tag_formatter.rb +115 -0
  1236. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/tagged_logger_support.rb +66 -0
  1237. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/tagged_logging.rb +29 -0
  1238. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/tags.rb +48 -0
  1239. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/template.rb +133 -0
  1240. data/vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack.rb +110 -0
  1241. data/vendor/bundle/ruby/3.2.0/gems/method_source-1.0.0/lib/method_source/code_helpers.rb +154 -0
  1242. data/vendor/bundle/ruby/3.2.0/gems/method_source-1.0.0/lib/method_source/source_location.rb +138 -0
  1243. data/vendor/bundle/ruby/3.2.0/gems/method_source-1.0.0/lib/method_source/version.rb +3 -0
  1244. data/vendor/bundle/ruby/3.2.0/gems/method_source-1.0.0/lib/method_source.rb +141 -0
  1245. data/vendor/bundle/ruby/3.2.0/gems/method_source-1.0.0/spec/method_source/code_helpers_spec.rb +43 -0
  1246. data/vendor/bundle/ruby/3.2.0/gems/method_source-1.0.0/spec/method_source_spec.rb +143 -0
  1247. data/vendor/bundle/ruby/3.2.0/gems/method_source-1.0.0/spec/spec_helper.rb +101 -0
  1248. data/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/bench/bench.rb +51 -0
  1249. data/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/lib/mini_mime/version.rb +4 -0
  1250. data/vendor/bundle/ruby/3.2.0/gems/mini_mime-1.1.5/lib/mini_mime.rb +186 -0
  1251. data/vendor/bundle/ruby/3.2.0/gems/multi_test-1.1.0/lib/multi_test/assertion_library.rb +73 -0
  1252. data/vendor/bundle/ruby/3.2.0/gems/multi_test-1.1.0/lib/multi_test/minitest_world.rb +10 -0
  1253. data/vendor/bundle/ruby/3.2.0/gems/multi_test-1.1.0/lib/multi_test.rb +33 -0
  1254. data/vendor/bundle/ruby/3.2.0/gems/nenv-0.3.0/lib/nenv/autoenvironment.rb +9 -0
  1255. data/vendor/bundle/ruby/3.2.0/gems/nenv-0.3.0/lib/nenv/builder.rb +9 -0
  1256. data/vendor/bundle/ruby/3.2.0/gems/nenv-0.3.0/lib/nenv/environment/dumper/default.rb +9 -0
  1257. data/vendor/bundle/ruby/3.2.0/gems/nenv-0.3.0/lib/nenv/environment/dumper.rb +15 -0
  1258. data/vendor/bundle/ruby/3.2.0/gems/nenv-0.3.0/lib/nenv/environment/loader/default.rb +9 -0
  1259. data/vendor/bundle/ruby/3.2.0/gems/nenv-0.3.0/lib/nenv/environment/loader/predicate.rb +18 -0
  1260. data/vendor/bundle/ruby/3.2.0/gems/nenv-0.3.0/lib/nenv/environment/loader.rb +20 -0
  1261. data/vendor/bundle/ruby/3.2.0/gems/nenv-0.3.0/lib/nenv/environment.rb +81 -0
  1262. data/vendor/bundle/ruby/3.2.0/gems/nenv-0.3.0/lib/nenv/version.rb +3 -0
  1263. data/vendor/bundle/ruby/3.2.0/gems/nenv-0.3.0/lib/nenv.rb +30 -0
  1264. data/vendor/bundle/ruby/3.2.0/gems/net-scp-4.0.0/lib/net/scp/download.rb +165 -0
  1265. data/vendor/bundle/ruby/3.2.0/gems/net-scp-4.0.0/lib/net/scp/errors.rb +5 -0
  1266. data/vendor/bundle/ruby/3.2.0/gems/net-scp-4.0.0/lib/net/scp/upload.rb +142 -0
  1267. data/vendor/bundle/ruby/3.2.0/gems/net-scp-4.0.0/lib/net/scp/version.rb +68 -0
  1268. data/vendor/bundle/ruby/3.2.0/gems/net-scp-4.0.0/lib/net/scp.rb +448 -0
  1269. data/vendor/bundle/ruby/3.2.0/gems/net-scp-4.0.0/lib/uri/open-scp.rb +20 -0
  1270. data/vendor/bundle/ruby/3.2.0/gems/net-scp-4.0.0/lib/uri/scp.rb +35 -0
  1271. data/vendor/bundle/ruby/3.2.0/gems/net-scp-4.0.0/setup.rb +1331 -0
  1272. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/authentication/agent.rb +284 -0
  1273. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/authentication/certificate.rb +183 -0
  1274. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/authentication/constants.rb +20 -0
  1275. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/authentication/ed25519.rb +186 -0
  1276. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/authentication/ed25519_loader.rb +31 -0
  1277. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/authentication/key_manager.rb +310 -0
  1278. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/authentication/methods/abstract.rb +79 -0
  1279. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/authentication/methods/hostbased.rb +72 -0
  1280. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/authentication/methods/keyboard_interactive.rb +77 -0
  1281. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/authentication/methods/none.rb +34 -0
  1282. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/authentication/methods/password.rb +80 -0
  1283. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/authentication/methods/publickey.rb +137 -0
  1284. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/authentication/pageant.rb +497 -0
  1285. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/authentication/pub_key_fingerprint.rb +43 -0
  1286. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/authentication/session.rb +165 -0
  1287. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/buffer.rb +449 -0
  1288. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/buffered_io.rb +202 -0
  1289. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/config.rb +406 -0
  1290. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/connection/channel.rb +694 -0
  1291. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/connection/constants.rb +33 -0
  1292. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/connection/event_loop.rb +123 -0
  1293. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/connection/keepalive.rb +59 -0
  1294. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/connection/session.rb +712 -0
  1295. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/connection/term.rb +180 -0
  1296. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/errors.rb +106 -0
  1297. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/key_factory.rb +218 -0
  1298. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/known_hosts.rb +265 -0
  1299. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/loggable.rb +62 -0
  1300. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/packet.rb +106 -0
  1301. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/prompt.rb +62 -0
  1302. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/proxy/command.rb +123 -0
  1303. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/proxy/errors.rb +16 -0
  1304. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/proxy/http.rb +98 -0
  1305. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/proxy/https.rb +50 -0
  1306. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/proxy/jump.rb +54 -0
  1307. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/proxy/socks4.rb +67 -0
  1308. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/proxy/socks5.rb +140 -0
  1309. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/service/forward.rb +426 -0
  1310. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/test/channel.rb +147 -0
  1311. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/test/extensions.rb +173 -0
  1312. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/test/kex.rb +46 -0
  1313. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/test/local_packet.rb +53 -0
  1314. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/test/packet.rb +101 -0
  1315. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/test/remote_packet.rb +40 -0
  1316. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/test/script.rb +180 -0
  1317. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/test/socket.rb +65 -0
  1318. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/test.rb +94 -0
  1319. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/algorithms.rb +524 -0
  1320. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/chacha20_poly1305_cipher.rb +117 -0
  1321. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/chacha20_poly1305_cipher_loader.rb +17 -0
  1322. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/cipher_factory.rb +128 -0
  1323. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/constants.rb +40 -0
  1324. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/ctr.rb +115 -0
  1325. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/hmac/abstract.rb +97 -0
  1326. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/hmac/md5.rb +10 -0
  1327. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/hmac/md5_96.rb +9 -0
  1328. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/hmac/none.rb +13 -0
  1329. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/hmac/ripemd160.rb +11 -0
  1330. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/hmac/sha1.rb +11 -0
  1331. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/hmac/sha1_96.rb +9 -0
  1332. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/hmac/sha2_256.rb +11 -0
  1333. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/hmac/sha2_256_96.rb +9 -0
  1334. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/hmac/sha2_256_etm.rb +12 -0
  1335. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/hmac/sha2_512.rb +11 -0
  1336. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/hmac/sha2_512_96.rb +9 -0
  1337. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/hmac/sha2_512_etm.rb +12 -0
  1338. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/hmac.rb +47 -0
  1339. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/identity_cipher.rb +65 -0
  1340. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/kex/abstract.rb +130 -0
  1341. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/kex/abstract5656.rb +72 -0
  1342. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/kex/curve25519_sha256.rb +39 -0
  1343. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/kex/curve25519_sha256_loader.rb +30 -0
  1344. 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
  1345. 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
  1346. 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
  1347. 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
  1348. 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
  1349. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/kex/ecdh_sha2_nistp256.rb +39 -0
  1350. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/kex/ecdh_sha2_nistp384.rb +21 -0
  1351. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/kex/ecdh_sha2_nistp521.rb +21 -0
  1352. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/kex.rb +31 -0
  1353. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/key_expander.rb +30 -0
  1354. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/openssl.rb +274 -0
  1355. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/openssl_cipher_extensions.rb +8 -0
  1356. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/packet_stream.rb +301 -0
  1357. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/server_version.rb +77 -0
  1358. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/session.rb +354 -0
  1359. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/transport/state.rb +208 -0
  1360. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/verifiers/accept_new.rb +33 -0
  1361. 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
  1362. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/verifiers/always.rb +58 -0
  1363. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/verifiers/never.rb +19 -0
  1364. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh/version.rb +68 -0
  1365. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/lib/net/ssh.rb +336 -0
  1366. data/vendor/bundle/ruby/3.2.0/gems/net-ssh-7.2.0/support/ssh_tunnel_bug.rb +65 -0
  1367. data/vendor/bundle/ruby/3.2.0/gems/notiffany-0.1.3/lib/notiffany/notifier/base.rb +127 -0
  1368. data/vendor/bundle/ruby/3.2.0/gems/notiffany-0.1.3/lib/notiffany/notifier/config.rb +34 -0
  1369. data/vendor/bundle/ruby/3.2.0/gems/notiffany-0.1.3/lib/notiffany/notifier/detected.rb +122 -0
  1370. data/vendor/bundle/ruby/3.2.0/gems/notiffany-0.1.3/lib/notiffany/notifier/emacs/client.rb +52 -0
  1371. data/vendor/bundle/ruby/3.2.0/gems/notiffany-0.1.3/lib/notiffany/notifier/emacs.rb +97 -0
  1372. data/vendor/bundle/ruby/3.2.0/gems/notiffany-0.1.3/lib/notiffany/notifier/file.rb +44 -0
  1373. data/vendor/bundle/ruby/3.2.0/gems/notiffany-0.1.3/lib/notiffany/notifier/gntp.rb +92 -0
  1374. data/vendor/bundle/ruby/3.2.0/gems/notiffany-0.1.3/lib/notiffany/notifier/growl.rb +82 -0
  1375. data/vendor/bundle/ruby/3.2.0/gems/notiffany-0.1.3/lib/notiffany/notifier/libnotify.rb +54 -0
  1376. data/vendor/bundle/ruby/3.2.0/gems/notiffany-0.1.3/lib/notiffany/notifier/notifysend.rb +91 -0
  1377. data/vendor/bundle/ruby/3.2.0/gems/notiffany-0.1.3/lib/notiffany/notifier/rb_notifu.rb +89 -0
  1378. data/vendor/bundle/ruby/3.2.0/gems/notiffany-0.1.3/lib/notiffany/notifier/terminal_notifier.rb +59 -0
  1379. data/vendor/bundle/ruby/3.2.0/gems/notiffany-0.1.3/lib/notiffany/notifier/terminal_title.rb +39 -0
  1380. data/vendor/bundle/ruby/3.2.0/gems/notiffany-0.1.3/lib/notiffany/notifier/tmux/client.rb +107 -0
  1381. data/vendor/bundle/ruby/3.2.0/gems/notiffany-0.1.3/lib/notiffany/notifier/tmux/notification.rb +62 -0
  1382. data/vendor/bundle/ruby/3.2.0/gems/notiffany-0.1.3/lib/notiffany/notifier/tmux/session.rb +40 -0
  1383. data/vendor/bundle/ruby/3.2.0/gems/notiffany-0.1.3/lib/notiffany/notifier/tmux.rb +132 -0
  1384. data/vendor/bundle/ruby/3.2.0/gems/notiffany-0.1.3/lib/notiffany/notifier.rb +210 -0
  1385. data/vendor/bundle/ruby/3.2.0/gems/notiffany-0.1.3/lib/notiffany/version.rb +3 -0
  1386. data/vendor/bundle/ruby/3.2.0/gems/notiffany-0.1.3/lib/notiffany.rb +6 -0
  1387. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/basic_object.rb +10 -0
  1388. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/block_command.rb +22 -0
  1389. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/class_command.rb +194 -0
  1390. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/cli.rb +207 -0
  1391. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/code/code_file.rb +114 -0
  1392. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/code/code_range.rb +73 -0
  1393. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/code/loc.rb +105 -0
  1394. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/code.rb +357 -0
  1395. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/code_object.rb +197 -0
  1396. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/color_printer.rb +66 -0
  1397. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/command.rb +520 -0
  1398. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/command_set.rb +418 -0
  1399. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/command_state.rb +31 -0
  1400. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/amend_line.rb +103 -0
  1401. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/bang.rb +24 -0
  1402. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/bang_pry.rb +21 -0
  1403. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/cat/abstract_formatter.rb +32 -0
  1404. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/cat/exception_formatter.rb +90 -0
  1405. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/cat/file_formatter.rb +77 -0
  1406. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/cat/input_expression_formatter.rb +48 -0
  1407. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/cat.rb +70 -0
  1408. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/cd.rb +46 -0
  1409. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/change_inspector.rb +34 -0
  1410. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/change_prompt.rb +51 -0
  1411. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/clear_screen.rb +20 -0
  1412. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/code_collector.rb +182 -0
  1413. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/disable_pry.rb +31 -0
  1414. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/easter_eggs.rb +101 -0
  1415. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/edit/exception_patcher.rb +29 -0
  1416. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/edit/file_and_line_locator.rb +47 -0
  1417. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/edit.rb +223 -0
  1418. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/exit.rb +47 -0
  1419. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/exit_all.rb +33 -0
  1420. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/exit_program.rb +27 -0
  1421. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/find_method.rb +199 -0
  1422. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/fix_indent.rb +23 -0
  1423. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/help.rb +171 -0
  1424. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/hist.rb +182 -0
  1425. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/import_set.rb +27 -0
  1426. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/jump_to.rb +33 -0
  1427. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/list_inspectors.rb +42 -0
  1428. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/ls/constants.rb +75 -0
  1429. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/ls/formatter.rb +55 -0
  1430. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/ls/globals.rb +50 -0
  1431. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/ls/grep.rb +23 -0
  1432. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/ls/instance_vars.rb +40 -0
  1433. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/ls/interrogatable.rb +24 -0
  1434. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/ls/jruby_hacks.rb +55 -0
  1435. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/ls/local_names.rb +37 -0
  1436. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/ls/local_vars.rb +47 -0
  1437. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/ls/ls_entity.rb +65 -0
  1438. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/ls/methods.rb +55 -0
  1439. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/ls/methods_helper.rb +50 -0
  1440. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/ls/self_methods.rb +34 -0
  1441. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/ls.rb +135 -0
  1442. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/nesting.rb +29 -0
  1443. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/play.rb +113 -0
  1444. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/pry_backtrace.rb +30 -0
  1445. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/pry_version.rb +21 -0
  1446. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/raise_up.rb +38 -0
  1447. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/reload_code.rb +74 -0
  1448. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/reset.rb +22 -0
  1449. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/ri.rb +75 -0
  1450. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/save_file.rb +63 -0
  1451. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/shell_command.rb +75 -0
  1452. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/shell_mode.rb +29 -0
  1453. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/show_doc.rb +93 -0
  1454. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/show_info.rb +234 -0
  1455. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/show_input.rb +22 -0
  1456. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/show_source.rb +118 -0
  1457. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/stat.rb +44 -0
  1458. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/switch_to.rb +29 -0
  1459. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/toggle_color.rb +28 -0
  1460. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/watch_expression/expression.rb +43 -0
  1461. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/watch_expression.rb +110 -0
  1462. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/whereami.rb +205 -0
  1463. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/commands/wtf.rb +95 -0
  1464. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/config/attributable.rb +22 -0
  1465. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/config/lazy_value.rb +29 -0
  1466. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/config/memoized_value.rb +34 -0
  1467. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/config/value.rb +24 -0
  1468. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/config.rb +314 -0
  1469. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/control_d_handler.rb +28 -0
  1470. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/core_extensions.rb +144 -0
  1471. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/editor.rb +157 -0
  1472. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/env.rb +18 -0
  1473. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/exception_handler.rb +43 -0
  1474. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/exceptions.rb +73 -0
  1475. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/forwardable.rb +27 -0
  1476. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/helpers/base_helpers.rb +71 -0
  1477. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/helpers/command_helpers.rb +146 -0
  1478. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/helpers/documentation_helpers.rb +84 -0
  1479. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/helpers/options_helpers.rb +34 -0
  1480. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/helpers/platform.rb +55 -0
  1481. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/helpers/table.rb +121 -0
  1482. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/helpers/text.rb +118 -0
  1483. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/helpers.rb +8 -0
  1484. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/history.rb +153 -0
  1485. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/hooks.rb +180 -0
  1486. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/indent.rb +412 -0
  1487. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/input_completer.rb +283 -0
  1488. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/input_lock.rb +129 -0
  1489. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/inspector.rb +39 -0
  1490. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/last_exception.rb +61 -0
  1491. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/method/disowned.rb +67 -0
  1492. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/method/patcher.rb +131 -0
  1493. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/method/weird_method_locator.rb +222 -0
  1494. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/method.rb +600 -0
  1495. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/object_path.rb +91 -0
  1496. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/output.rb +136 -0
  1497. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/pager.rb +249 -0
  1498. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/prompt.rb +214 -0
  1499. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/pry_class.rb +396 -0
  1500. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/pry_instance.rb +701 -0
  1501. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/repl.rb +256 -0
  1502. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/repl_file_loader.rb +79 -0
  1503. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/ring.rb +89 -0
  1504. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/slop/commands.rb +190 -0
  1505. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/slop/option.rb +210 -0
  1506. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/slop.rb +672 -0
  1507. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/syntax_highlighter.rb +26 -0
  1508. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/system_command_handler.rb +17 -0
  1509. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/testable/evalable.rb +24 -0
  1510. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/testable/mockable.rb +22 -0
  1511. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/testable/pry_tester.rb +88 -0
  1512. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/testable/utility.rb +34 -0
  1513. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/testable/variables.rb +52 -0
  1514. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/testable.rb +68 -0
  1515. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/version.rb +5 -0
  1516. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/warning.rb +20 -0
  1517. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/wrapped_module/candidate.rb +139 -0
  1518. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry/wrapped_module.rb +382 -0
  1519. data/vendor/bundle/ruby/3.2.0/gems/pry-0.14.2/lib/pry.rb +145 -0
  1520. data/vendor/bundle/ruby/3.2.0/gems/pry-byebug-3.10.1/lib/byebug/processors/pry_processor.rb +158 -0
  1521. data/vendor/bundle/ruby/3.2.0/gems/pry-byebug-3.10.1/lib/pry/byebug/breakpoints.rb +167 -0
  1522. data/vendor/bundle/ruby/3.2.0/gems/pry-byebug-3.10.1/lib/pry-byebug/base.rb +29 -0
  1523. data/vendor/bundle/ruby/3.2.0/gems/pry-byebug-3.10.1/lib/pry-byebug/cli.rb +6 -0
  1524. data/vendor/bundle/ruby/3.2.0/gems/pry-byebug-3.10.1/lib/pry-byebug/commands/backtrace.rb +31 -0
  1525. data/vendor/bundle/ruby/3.2.0/gems/pry-byebug-3.10.1/lib/pry-byebug/commands/breakpoint.rb +137 -0
  1526. data/vendor/bundle/ruby/3.2.0/gems/pry-byebug-3.10.1/lib/pry-byebug/commands/continue.rb +43 -0
  1527. data/vendor/bundle/ruby/3.2.0/gems/pry-byebug-3.10.1/lib/pry-byebug/commands/down.rb +35 -0
  1528. data/vendor/bundle/ruby/3.2.0/gems/pry-byebug-3.10.1/lib/pry-byebug/commands/exit_all.rb +18 -0
  1529. data/vendor/bundle/ruby/3.2.0/gems/pry-byebug-3.10.1/lib/pry-byebug/commands/finish.rb +28 -0
  1530. data/vendor/bundle/ruby/3.2.0/gems/pry-byebug-3.10.1/lib/pry-byebug/commands/frame.rb +35 -0
  1531. data/vendor/bundle/ruby/3.2.0/gems/pry-byebug-3.10.1/lib/pry-byebug/commands/next.rb +39 -0
  1532. data/vendor/bundle/ruby/3.2.0/gems/pry-byebug-3.10.1/lib/pry-byebug/commands/step.rb +34 -0
  1533. data/vendor/bundle/ruby/3.2.0/gems/pry-byebug-3.10.1/lib/pry-byebug/commands/up.rb +35 -0
  1534. data/vendor/bundle/ruby/3.2.0/gems/pry-byebug-3.10.1/lib/pry-byebug/commands.rb +12 -0
  1535. data/vendor/bundle/ruby/3.2.0/gems/pry-byebug-3.10.1/lib/pry-byebug/control_d_handler.rb +9 -0
  1536. data/vendor/bundle/ruby/3.2.0/gems/pry-byebug-3.10.1/lib/pry-byebug/helpers/breakpoints.rb +82 -0
  1537. data/vendor/bundle/ruby/3.2.0/gems/pry-byebug-3.10.1/lib/pry-byebug/helpers/location.rb +24 -0
  1538. data/vendor/bundle/ruby/3.2.0/gems/pry-byebug-3.10.1/lib/pry-byebug/helpers/multiline.rb +23 -0
  1539. data/vendor/bundle/ruby/3.2.0/gems/pry-byebug-3.10.1/lib/pry-byebug/helpers/navigation.rb +19 -0
  1540. data/vendor/bundle/ruby/3.2.0/gems/pry-byebug-3.10.1/lib/pry-byebug/pry_ext.rb +20 -0
  1541. data/vendor/bundle/ruby/3.2.0/gems/pry-byebug-3.10.1/lib/pry-byebug/pry_remote_ext.rb +44 -0
  1542. data/vendor/bundle/ruby/3.2.0/gems/pry-byebug-3.10.1/lib/pry-byebug/version.rb +8 -0
  1543. data/vendor/bundle/ruby/3.2.0/gems/pry-byebug-3.10.1/lib/pry-byebug.rb +4 -0
  1544. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/ext/psych/extconf.rb +53 -0
  1545. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/class_loader.rb +104 -0
  1546. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/coder.rb +95 -0
  1547. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/core_ext.rb +19 -0
  1548. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/exception.rb +28 -0
  1549. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/handler.rb +255 -0
  1550. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/handlers/document_stream.rb +23 -0
  1551. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/handlers/recorder.rb +40 -0
  1552. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/json/ruby_events.rb +20 -0
  1553. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/json/stream.rb +17 -0
  1554. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/json/tree_builder.rb +13 -0
  1555. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/json/yaml_events.rb +30 -0
  1556. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/nodes/alias.rb +21 -0
  1557. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/nodes/document.rb +63 -0
  1558. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/nodes/mapping.rb +59 -0
  1559. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/nodes/node.rb +75 -0
  1560. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/nodes/scalar.rb +70 -0
  1561. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/nodes/sequence.rb +84 -0
  1562. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/nodes/stream.rb +40 -0
  1563. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/nodes.rb +78 -0
  1564. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/omap.rb +5 -0
  1565. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/parser.rb +65 -0
  1566. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/scalar_scanner.rb +142 -0
  1567. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/set.rb +5 -0
  1568. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/stream.rb +38 -0
  1569. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/streaming.rb +28 -0
  1570. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/syntax_error.rb +22 -0
  1571. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/tree_builder.rb +137 -0
  1572. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/versions.rb +10 -0
  1573. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/visitors/depth_first.rb +27 -0
  1574. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/visitors/emitter.rb +52 -0
  1575. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/visitors/json_tree.rb +25 -0
  1576. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/visitors/to_ruby.rb +436 -0
  1577. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/visitors/visitor.rb +34 -0
  1578. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/visitors/yaml_tree.rb +587 -0
  1579. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/visitors.rb +7 -0
  1580. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych/y.rb +10 -0
  1581. data/vendor/bundle/ruby/3.2.0/gems/psych-5.1.1.1/lib/psych.rb +745 -0
  1582. data/vendor/bundle/ruby/3.2.0/gems/public_suffix-5.0.3/lib/public_suffix/domain.rb +235 -0
  1583. data/vendor/bundle/ruby/3.2.0/gems/public_suffix-5.0.3/lib/public_suffix/errors.rb +41 -0
  1584. data/vendor/bundle/ruby/3.2.0/gems/public_suffix-5.0.3/lib/public_suffix/list.rb +247 -0
  1585. data/vendor/bundle/ruby/3.2.0/gems/public_suffix-5.0.3/lib/public_suffix/rule.rb +350 -0
  1586. data/vendor/bundle/ruby/3.2.0/gems/public_suffix-5.0.3/lib/public_suffix/version.rb +14 -0
  1587. data/vendor/bundle/ruby/3.2.0/gems/public_suffix-5.0.3/lib/public_suffix.rb +177 -0
  1588. data/vendor/bundle/ruby/3.2.0/gems/public_suffix-5.0.3/test/acceptance_test.rb +131 -0
  1589. data/vendor/bundle/ruby/3.2.0/gems/public_suffix-5.0.3/test/benchmarks/bm_find.rb +66 -0
  1590. data/vendor/bundle/ruby/3.2.0/gems/public_suffix-5.0.3/test/benchmarks/bm_find_all.rb +102 -0
  1591. data/vendor/bundle/ruby/3.2.0/gems/public_suffix-5.0.3/test/benchmarks/bm_names.rb +91 -0
  1592. data/vendor/bundle/ruby/3.2.0/gems/public_suffix-5.0.3/test/benchmarks/bm_select.rb +26 -0
  1593. data/vendor/bundle/ruby/3.2.0/gems/public_suffix-5.0.3/test/benchmarks/bm_select_incremental.rb +25 -0
  1594. data/vendor/bundle/ruby/3.2.0/gems/public_suffix-5.0.3/test/benchmarks/bm_valid.rb +101 -0
  1595. data/vendor/bundle/ruby/3.2.0/gems/public_suffix-5.0.3/test/profilers/domain_profiler.rb +12 -0
  1596. data/vendor/bundle/ruby/3.2.0/gems/public_suffix-5.0.3/test/profilers/find_profiler.rb +12 -0
  1597. data/vendor/bundle/ruby/3.2.0/gems/public_suffix-5.0.3/test/profilers/find_profiler_jp.rb +12 -0
  1598. data/vendor/bundle/ruby/3.2.0/gems/public_suffix-5.0.3/test/profilers/initialization_profiler.rb +11 -0
  1599. data/vendor/bundle/ruby/3.2.0/gems/public_suffix-5.0.3/test/profilers/list_profsize.rb +11 -0
  1600. data/vendor/bundle/ruby/3.2.0/gems/public_suffix-5.0.3/test/profilers/object_binsize.rb +57 -0
  1601. data/vendor/bundle/ruby/3.2.0/gems/public_suffix-5.0.3/test/psl_test.rb +52 -0
  1602. data/vendor/bundle/ruby/3.2.0/gems/public_suffix-5.0.3/test/test_helper.rb +10 -0
  1603. data/vendor/bundle/ruby/3.2.0/gems/public_suffix-5.0.3/test/unit/domain_test.rb +106 -0
  1604. data/vendor/bundle/ruby/3.2.0/gems/public_suffix-5.0.3/test/unit/errors_test.rb +25 -0
  1605. data/vendor/bundle/ruby/3.2.0/gems/public_suffix-5.0.3/test/unit/list_test.rb +241 -0
  1606. data/vendor/bundle/ruby/3.2.0/gems/public_suffix-5.0.3/test/unit/public_suffix_test.rb +188 -0
  1607. data/vendor/bundle/ruby/3.2.0/gems/public_suffix-5.0.3/test/unit/rule_test.rb +222 -0
  1608. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/doc/jamis.rb +592 -0
  1609. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/application.rb +831 -0
  1610. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/backtrace.rb +24 -0
  1611. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/clean.rb +78 -0
  1612. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/cloneable.rb +17 -0
  1613. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/cpu_counter.rb +107 -0
  1614. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/default_loader.rb +15 -0
  1615. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/dsl_definition.rb +195 -0
  1616. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/early_time.rb +22 -0
  1617. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/ext/core.rb +26 -0
  1618. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/ext/string.rb +176 -0
  1619. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/file_creation_task.rb +25 -0
  1620. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/file_list.rb +435 -0
  1621. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/file_task.rb +54 -0
  1622. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/file_utils.rb +134 -0
  1623. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/file_utils_ext.rb +134 -0
  1624. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/invocation_chain.rb +57 -0
  1625. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/invocation_exception_mixin.rb +17 -0
  1626. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/late_time.rb +18 -0
  1627. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/linked_list.rb +112 -0
  1628. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/loaders/makefile.rb +54 -0
  1629. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/multi_task.rb +14 -0
  1630. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/name_space.rb +38 -0
  1631. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/packagetask.rb +222 -0
  1632. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/phony.rb +16 -0
  1633. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/private_reader.rb +21 -0
  1634. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/promise.rb +100 -0
  1635. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/pseudo_status.rb +30 -0
  1636. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/rake_module.rb +67 -0
  1637. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/rake_test_loader.rb +27 -0
  1638. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/rule_recursion_overflow_error.rb +20 -0
  1639. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/scope.rb +43 -0
  1640. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/task.rb +434 -0
  1641. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/task_argument_error.rb +8 -0
  1642. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/task_arguments.rb +109 -0
  1643. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/task_manager.rb +331 -0
  1644. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/tasklib.rb +12 -0
  1645. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/testtask.rb +189 -0
  1646. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/thread_history_display.rb +49 -0
  1647. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/thread_pool.rb +163 -0
  1648. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/trace_output.rb +23 -0
  1649. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/version.rb +10 -0
  1650. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/win32.rb +51 -0
  1651. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake.rb +71 -0
  1652. data/vendor/bundle/ruby/3.2.0/gems/rb-fsevent-0.11.2/ext/rakefile.rb +231 -0
  1653. data/vendor/bundle/ruby/3.2.0/gems/rb-fsevent-0.11.2/lib/otnetstring.rb +85 -0
  1654. data/vendor/bundle/ruby/3.2.0/gems/rb-fsevent-0.11.2/lib/rb-fsevent/fsevent.rb +157 -0
  1655. data/vendor/bundle/ruby/3.2.0/gems/rb-fsevent-0.11.2/lib/rb-fsevent/version.rb +5 -0
  1656. data/vendor/bundle/ruby/3.2.0/gems/rb-fsevent-0.11.2/lib/rb-fsevent.rb +3 -0
  1657. data/vendor/bundle/ruby/3.2.0/gems/rb-inotify-0.10.1/lib/rb-inotify/errors.rb +3 -0
  1658. data/vendor/bundle/ruby/3.2.0/gems/rb-inotify-0.10.1/lib/rb-inotify/event.rb +146 -0
  1659. data/vendor/bundle/ruby/3.2.0/gems/rb-inotify-0.10.1/lib/rb-inotify/native/flags.rb +94 -0
  1660. data/vendor/bundle/ruby/3.2.0/gems/rb-inotify-0.10.1/lib/rb-inotify/native.rb +33 -0
  1661. data/vendor/bundle/ruby/3.2.0/gems/rb-inotify-0.10.1/lib/rb-inotify/notifier.rb +326 -0
  1662. data/vendor/bundle/ruby/3.2.0/gems/rb-inotify-0.10.1/lib/rb-inotify/version.rb +24 -0
  1663. data/vendor/bundle/ruby/3.2.0/gems/rb-inotify-0.10.1/lib/rb-inotify/watcher.rb +88 -0
  1664. data/vendor/bundle/ruby/3.2.0/gems/rb-inotify-0.10.1/lib/rb-inotify.rb +15 -0
  1665. data/vendor/bundle/ruby/3.2.0/gems/rb-inotify-0.10.1/spec/inotify_spec.rb +9 -0
  1666. data/vendor/bundle/ruby/3.2.0/gems/rb-inotify-0.10.1/spec/notifier_spec.rb +180 -0
  1667. data/vendor/bundle/ruby/3.2.0/gems/rb-inotify-0.10.1/spec/spec_helper.rb +29 -0
  1668. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/attlistdecl.rb +63 -0
  1669. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/attribute.rb +210 -0
  1670. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/cdata.rb +68 -0
  1671. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/child.rb +97 -0
  1672. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/comment.rb +80 -0
  1673. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/doctype.rb +311 -0
  1674. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/document.rb +451 -0
  1675. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/dtd/attlistdecl.rb +11 -0
  1676. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/dtd/dtd.rb +47 -0
  1677. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/dtd/elementdecl.rb +18 -0
  1678. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/dtd/entitydecl.rb +57 -0
  1679. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/dtd/notationdecl.rb +40 -0
  1680. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/element.rb +2599 -0
  1681. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/encoding.rb +51 -0
  1682. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/entity.rb +181 -0
  1683. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/formatters/default.rb +116 -0
  1684. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/formatters/pretty.rb +142 -0
  1685. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/formatters/transitive.rb +58 -0
  1686. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/functions.rb +447 -0
  1687. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/instruction.rb +79 -0
  1688. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/light/node.rb +188 -0
  1689. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/namespace.rb +63 -0
  1690. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/node.rb +76 -0
  1691. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/output.rb +30 -0
  1692. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/parent.rb +166 -0
  1693. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/parseexception.rb +52 -0
  1694. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/parsers/baseparser.rb +694 -0
  1695. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/parsers/lightparser.rb +59 -0
  1696. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/parsers/pullparser.rb +197 -0
  1697. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/parsers/sax2parser.rb +273 -0
  1698. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/parsers/streamparser.rb +61 -0
  1699. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/parsers/treeparser.rb +101 -0
  1700. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/parsers/ultralightparser.rb +57 -0
  1701. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/parsers/xpathparser.rb +739 -0
  1702. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/quickpath.rb +266 -0
  1703. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/rexml.rb +39 -0
  1704. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/sax2listener.rb +98 -0
  1705. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/security.rb +28 -0
  1706. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/source.rb +298 -0
  1707. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/streamlistener.rb +93 -0
  1708. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/text.rb +426 -0
  1709. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/undefinednamespaceexception.rb +9 -0
  1710. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/validation/relaxng.rb +539 -0
  1711. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/validation/validation.rb +144 -0
  1712. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/validation/validationexception.rb +10 -0
  1713. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/xmldecl.rb +130 -0
  1714. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/xmltokens.rb +85 -0
  1715. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/xpath.rb +81 -0
  1716. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml/xpath_parser.rb +974 -0
  1717. data/vendor/bundle/ruby/3.2.0/gems/rexml-3.2.6/lib/rexml.rb +3 -0
  1718. data/vendor/bundle/ruby/3.2.0/gems/rspec-3.12.0/lib/rspec/version.rb +5 -0
  1719. data/vendor/bundle/ruby/3.2.0/gems/rspec-3.12.0/lib/rspec.rb +3 -0
  1720. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/autorun.rb +3 -0
  1721. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/backtrace_formatter.rb +65 -0
  1722. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/bisect/coordinator.rb +62 -0
  1723. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/bisect/example_minimizer.rb +173 -0
  1724. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/bisect/fork_runner.rb +138 -0
  1725. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/bisect/server.rb +61 -0
  1726. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/bisect/shell_command.rb +126 -0
  1727. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/bisect/shell_runner.rb +73 -0
  1728. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/bisect/utilities.rb +69 -0
  1729. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/configuration.rb +2385 -0
  1730. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/configuration_options.rb +233 -0
  1731. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/did_you_mean.rb +46 -0
  1732. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/drb.rb +120 -0
  1733. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/dsl.rb +98 -0
  1734. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/example.rb +666 -0
  1735. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/example_group.rb +905 -0
  1736. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/example_status_persister.rb +235 -0
  1737. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/filter_manager.rb +231 -0
  1738. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/flat_map.rb +20 -0
  1739. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/base_bisect_formatter.rb +45 -0
  1740. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/base_formatter.rb +70 -0
  1741. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/base_text_formatter.rb +75 -0
  1742. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/bisect_drb_formatter.rb +29 -0
  1743. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/bisect_progress_formatter.rb +157 -0
  1744. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/console_codes.rb +76 -0
  1745. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/deprecation_formatter.rb +223 -0
  1746. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/documentation_formatter.rb +102 -0
  1747. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/exception_presenter.rb +525 -0
  1748. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/failure_list_formatter.rb +23 -0
  1749. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/fallback_message_formatter.rb +28 -0
  1750. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/helpers.rb +118 -0
  1751. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/html_formatter.rb +153 -0
  1752. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/html_printer.rb +412 -0
  1753. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/html_snippet_extractor.rb +120 -0
  1754. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/json_formatter.rb +102 -0
  1755. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/profile_formatter.rb +68 -0
  1756. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/progress_formatter.rb +29 -0
  1757. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/protocol.rb +182 -0
  1758. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/snippet_extractor.rb +134 -0
  1759. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/syntax_highlighter.rb +91 -0
  1760. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters.rb +279 -0
  1761. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/hooks.rb +646 -0
  1762. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/invocations.rb +87 -0
  1763. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/memoized_helpers.rb +580 -0
  1764. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/metadata.rb +498 -0
  1765. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/metadata_filter.rb +255 -0
  1766. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/minitest_assertions_adapter.rb +31 -0
  1767. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/mocking_adapters/flexmock.rb +31 -0
  1768. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/mocking_adapters/mocha.rb +57 -0
  1769. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/mocking_adapters/null.rb +14 -0
  1770. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/mocking_adapters/rr.rb +31 -0
  1771. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/mocking_adapters/rspec.rb +32 -0
  1772. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/notifications.rb +521 -0
  1773. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/option_parser.rb +323 -0
  1774. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/ordering.rb +169 -0
  1775. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/output_wrapper.rb +29 -0
  1776. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/pending.rb +157 -0
  1777. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/profiler.rb +34 -0
  1778. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/project_initializer/spec/spec_helper.rb +98 -0
  1779. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/project_initializer.rb +48 -0
  1780. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/rake_task.rb +188 -0
  1781. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/reporter.rb +265 -0
  1782. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/ruby_project.rb +53 -0
  1783. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/runner.rb +212 -0
  1784. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/sandbox.rb +37 -0
  1785. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/set.rb +54 -0
  1786. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/shared_context.rb +55 -0
  1787. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/shared_example_group.rb +271 -0
  1788. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/shell_escape.rb +49 -0
  1789. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/test_unit_assertions_adapter.rb +30 -0
  1790. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/version.rb +9 -0
  1791. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/warnings.rb +40 -0
  1792. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/world.rb +287 -0
  1793. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core.rb +212 -0
  1794. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/expectations/block_snippet_extractor.rb +253 -0
  1795. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/expectations/configuration.rb +230 -0
  1796. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/expectations/expectation_target.rb +163 -0
  1797. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/expectations/fail_with.rb +39 -0
  1798. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/expectations/failure_aggregator.rb +229 -0
  1799. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/expectations/handler.rb +182 -0
  1800. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/expectations/minitest_integration.rb +58 -0
  1801. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/expectations/syntax.rb +132 -0
  1802. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/expectations/version.rb +8 -0
  1803. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/expectations.rb +82 -0
  1804. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/aliased_matcher.rb +116 -0
  1805. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/all.rb +86 -0
  1806. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/base_matcher.rb +198 -0
  1807. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/be.rb +191 -0
  1808. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/be_between.rb +77 -0
  1809. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/be_instance_of.rb +26 -0
  1810. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/be_kind_of.rb +20 -0
  1811. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/be_within.rb +72 -0
  1812. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/change.rb +450 -0
  1813. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/compound.rb +290 -0
  1814. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/contain_exactly.rb +310 -0
  1815. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/count_expectation.rb +169 -0
  1816. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/cover.rb +24 -0
  1817. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/eq.rb +40 -0
  1818. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/eql.rb +34 -0
  1819. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/equal.rb +81 -0
  1820. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/exist.rb +90 -0
  1821. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/has.rb +167 -0
  1822. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/have_attributes.rb +114 -0
  1823. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/include.rb +213 -0
  1824. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/match.rb +106 -0
  1825. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/operators.rb +128 -0
  1826. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/output.rb +207 -0
  1827. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/raise_error.rb +271 -0
  1828. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/respond_to.rb +200 -0
  1829. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/satisfy.rb +60 -0
  1830. 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
  1831. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/throw_symbol.rb +138 -0
  1832. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/yield.rb +375 -0
  1833. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in.rb +53 -0
  1834. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/composable.rb +171 -0
  1835. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/dsl.rb +545 -0
  1836. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/english_phrasing.rb +58 -0
  1837. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/expecteds_for_multiple_diffs.rb +82 -0
  1838. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/fail_matchers.rb +42 -0
  1839. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/generated_descriptions.rb +41 -0
  1840. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/matcher_delegator.rb +35 -0
  1841. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/matcher_protocol.rb +105 -0
  1842. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers.rb +1044 -0
  1843. data/vendor/bundle/ruby/3.2.0/gems/rspec-its-1.3.0/features/step_definitions/additional_cli_steps.rb +32 -0
  1844. data/vendor/bundle/ruby/3.2.0/gems/rspec-its-1.3.0/features/support/env.rb +23 -0
  1845. data/vendor/bundle/ruby/3.2.0/gems/rspec-its-1.3.0/lib/rspec/its/version.rb +5 -0
  1846. data/vendor/bundle/ruby/3.2.0/gems/rspec-its-1.3.0/lib/rspec/its.rb +182 -0
  1847. data/vendor/bundle/ruby/3.2.0/gems/rspec-its-1.3.0/spec/rspec/its_spec.rb +380 -0
  1848. data/vendor/bundle/ruby/3.2.0/gems/rspec-its-1.3.0/spec/spec_helper.rb +15 -0
  1849. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/any_instance/chain.rb +111 -0
  1850. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/any_instance/error_generator.rb +31 -0
  1851. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/any_instance/expect_chain_chain.rb +31 -0
  1852. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/any_instance/expectation_chain.rb +50 -0
  1853. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/any_instance/message_chains.rb +83 -0
  1854. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/any_instance/proxy.rb +125 -0
  1855. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/any_instance/recorder.rb +295 -0
  1856. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/any_instance/stub_chain.rb +51 -0
  1857. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/any_instance/stub_chain_chain.rb +23 -0
  1858. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/any_instance.rb +11 -0
  1859. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/argument_list_matcher.rb +117 -0
  1860. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/argument_matchers.rb +322 -0
  1861. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/configuration.rb +212 -0
  1862. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/error_generator.rb +390 -0
  1863. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/example_methods.rb +434 -0
  1864. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/instance_method_stasher.rb +146 -0
  1865. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/marshal_extension.rb +41 -0
  1866. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/matchers/expectation_customization.rb +20 -0
  1867. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/matchers/have_received.rb +134 -0
  1868. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/matchers/receive.rb +134 -0
  1869. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/matchers/receive_message_chain.rb +82 -0
  1870. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/matchers/receive_messages.rb +77 -0
  1871. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/message_chain.rb +87 -0
  1872. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/message_expectation.rb +820 -0
  1873. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/method_double.rb +316 -0
  1874. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/method_reference.rb +214 -0
  1875. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/minitest_integration.rb +68 -0
  1876. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/mutate_const.rb +339 -0
  1877. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/object_reference.rb +149 -0
  1878. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/order_group.rb +81 -0
  1879. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/proxy.rb +520 -0
  1880. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/space.rb +238 -0
  1881. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/standalone.rb +3 -0
  1882. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/syntax.rb +325 -0
  1883. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/targets.rb +124 -0
  1884. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/test_double.rb +171 -0
  1885. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/verifying_double.rb +123 -0
  1886. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/verifying_message_expectation.rb +55 -0
  1887. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/verifying_proxy.rb +221 -0
  1888. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/version.rb +9 -0
  1889. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks.rb +133 -0
  1890. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/caller_filter.rb +83 -0
  1891. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/comparable_version.rb +46 -0
  1892. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/differ.rb +215 -0
  1893. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/directory_maker.rb +63 -0
  1894. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/encoded_string.rb +161 -0
  1895. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/fuzzy_matcher.rb +48 -0
  1896. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/hunk_generator.rb +47 -0
  1897. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/matcher_definition.rb +42 -0
  1898. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/method_signature_verifier.rb +438 -0
  1899. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/mutex.rb +73 -0
  1900. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/object_formatter.rb +275 -0
  1901. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/recursive_const_methods.rb +76 -0
  1902. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/reentrant_mutex.rb +78 -0
  1903. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/ruby_features.rb +198 -0
  1904. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/source/location.rb +21 -0
  1905. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/source/node.rb +110 -0
  1906. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/source/token.rb +94 -0
  1907. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/source.rb +85 -0
  1908. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/spec/deprecation_helpers.rb +48 -0
  1909. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/spec/diff_helpers.rb +31 -0
  1910. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/spec/formatting_support.rb +9 -0
  1911. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/spec/in_sub_process.rb +67 -0
  1912. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/spec/library_wide_checks.rb +150 -0
  1913. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/spec/shell_out.rb +108 -0
  1914. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/spec/stderr_splitter.rb +75 -0
  1915. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/spec/string_matcher.rb +45 -0
  1916. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/spec/with_isolated_directory.rb +13 -0
  1917. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/spec/with_isolated_stderr.rb +13 -0
  1918. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/spec.rb +82 -0
  1919. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/version.rb +7 -0
  1920. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/warnings.rb +39 -0
  1921. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/with_keywords_when_needed.rb +33 -0
  1922. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support.rb +160 -0
  1923. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/ext/ruby_prof/extconf.rb +22 -0
  1924. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/lib/ruby-prof/call_tree.rb +57 -0
  1925. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/lib/ruby-prof/call_tree_visitor.rb +36 -0
  1926. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/lib/ruby-prof/compatibility.rb +113 -0
  1927. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/lib/ruby-prof/exclude_common_methods.rb +198 -0
  1928. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/lib/ruby-prof/measurement.rb +17 -0
  1929. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/lib/ruby-prof/method_info.rb +85 -0
  1930. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/lib/ruby-prof/printers/abstract_printer.rb +138 -0
  1931. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/lib/ruby-prof/printers/call_info_printer.rb +53 -0
  1932. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/lib/ruby-prof/printers/call_stack_printer.rb +180 -0
  1933. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/lib/ruby-prof/printers/call_tree_printer.rb +145 -0
  1934. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/lib/ruby-prof/printers/dot_printer.rb +132 -0
  1935. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/lib/ruby-prof/printers/flat_printer.rb +53 -0
  1936. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/lib/ruby-prof/printers/graph_html_printer.rb +63 -0
  1937. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/lib/ruby-prof/printers/graph_printer.rb +113 -0
  1938. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/lib/ruby-prof/printers/multi_printer.rb +127 -0
  1939. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/lib/ruby-prof/profile.rb +70 -0
  1940. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/lib/ruby-prof/rack.rb +105 -0
  1941. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/lib/ruby-prof/task.rb +147 -0
  1942. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/lib/ruby-prof/thread.rb +20 -0
  1943. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/lib/ruby-prof/version.rb +3 -0
  1944. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/lib/ruby-prof.rb +52 -0
  1945. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/lib/unprof.rb +10 -0
  1946. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/abstract_printer_test.rb +27 -0
  1947. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/alias_test.rb +117 -0
  1948. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/call_tree_builder.rb +126 -0
  1949. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/call_tree_test.rb +94 -0
  1950. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/call_tree_visitor_test.rb +27 -0
  1951. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/call_trees_test.rb +66 -0
  1952. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/compatibility_test.rb +49 -0
  1953. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/duplicate_names_test.rb +32 -0
  1954. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/dynamic_method_test.rb +62 -0
  1955. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/enumerable_test.rb +21 -0
  1956. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/exceptions_test.rb +24 -0
  1957. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/exclude_methods_test.rb +146 -0
  1958. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/exclude_threads_test.rb +48 -0
  1959. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/fiber_test.rb +195 -0
  1960. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/gc_test.rb +102 -0
  1961. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/inverse_call_tree_test.rb +174 -0
  1962. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/line_number_test.rb +134 -0
  1963. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/marshal_test.rb +145 -0
  1964. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/measure_allocations.rb +26 -0
  1965. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/measure_allocations_test.rb +660 -0
  1966. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/measure_memory_test.rb +1024 -0
  1967. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/measure_process_time_test.rb +1610 -0
  1968. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/measure_times.rb +56 -0
  1969. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/measure_wall_time_test.rb +421 -0
  1970. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/measurement_test.rb +82 -0
  1971. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/merge_test.rb +146 -0
  1972. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/method_info_test.rb +95 -0
  1973. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/multi_printer_test.rb +66 -0
  1974. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/no_method_class_test.rb +15 -0
  1975. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/pause_resume_test.rb +171 -0
  1976. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/prime.rb +54 -0
  1977. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/prime_script.rb +6 -0
  1978. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/printer_call_stack_test.rb +27 -0
  1979. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/printer_call_tree_test.rb +30 -0
  1980. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/printer_flat_test.rb +99 -0
  1981. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/printer_graph_html_test.rb +59 -0
  1982. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/printer_graph_test.rb +40 -0
  1983. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/printers_test.rb +135 -0
  1984. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/printing_recursive_graph_test.rb +81 -0
  1985. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/profile_test.rb +101 -0
  1986. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/rack_test.rb +93 -0
  1987. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/recursive_test.rb +425 -0
  1988. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/scheduler.rb +363 -0
  1989. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/singleton_test.rb +38 -0
  1990. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/stack_printer_test.rb +61 -0
  1991. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/start_stop_test.rb +106 -0
  1992. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/test_helper.rb +20 -0
  1993. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/thread_test.rb +235 -0
  1994. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/unique_call_path_test.rb +136 -0
  1995. data/vendor/bundle/ruby/3.2.0/gems/ruby-prof-1.6.3/test/yarv_test.rb +60 -0
  1996. data/vendor/bundle/ruby/3.2.0/gems/shellany-0.0.1/lib/shellany/sheller.rb +144 -0
  1997. data/vendor/bundle/ruby/3.2.0/gems/shellany-0.0.1/lib/shellany/version.rb +3 -0
  1998. data/vendor/bundle/ruby/3.2.0/gems/shellany-0.0.1/lib/shellany.rb +5 -0
  1999. data/vendor/bundle/ruby/3.2.0/gems/shellany-0.0.1/spec/lib/shellany/sheller_spec.rb +141 -0
  2000. data/vendor/bundle/ruby/3.2.0/gems/shellany-0.0.1/spec/shellany_spec.rb +5 -0
  2001. data/vendor/bundle/ruby/3.2.0/gems/shellany-0.0.1/spec/spec_helper.rb +24 -0
  2002. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/examples/simple_connection.rb +9 -0
  2003. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/core_ext/array.rb +5 -0
  2004. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/core_ext/hash.rb +11 -0
  2005. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/all.rb +40 -0
  2006. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/backends/abstract.rb +167 -0
  2007. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/backends/connection_pool/cache.rb +83 -0
  2008. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/backends/connection_pool/nil_cache.rb +15 -0
  2009. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/backends/connection_pool.rb +183 -0
  2010. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/backends/local.rb +66 -0
  2011. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/backends/netssh/known_hosts.rb +143 -0
  2012. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/backends/netssh.rb +189 -0
  2013. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/backends/printer.rb +20 -0
  2014. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/backends/skipper.rb +27 -0
  2015. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/color.rb +58 -0
  2016. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/command.rb +260 -0
  2017. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/command_map.rb +73 -0
  2018. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/configuration.rb +104 -0
  2019. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/coordinator.rb +39 -0
  2020. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/deprecation_logger.rb +19 -0
  2021. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/dsl.rb +15 -0
  2022. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/exception.rb +13 -0
  2023. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/formatters/abstract.rb +51 -0
  2024. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/formatters/black_hole.rb +15 -0
  2025. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/formatters/dot.rb +18 -0
  2026. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/formatters/pretty.rb +60 -0
  2027. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/formatters/simple_text.rb +20 -0
  2028. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/host.rb +194 -0
  2029. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/log_message.rb +13 -0
  2030. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/logger.rb +9 -0
  2031. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/mapping_interaction_handler.rb +48 -0
  2032. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/runners/abstract.rb +29 -0
  2033. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/runners/group.rb +24 -0
  2034. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/runners/null.rb +12 -0
  2035. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/runners/parallel.rb +25 -0
  2036. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/runners/sequential.rb +38 -0
  2037. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit/version.rb +3 -0
  2038. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/lib/sshkit.rb +29 -0
  2039. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/test/functional/backends/test_local.rb +122 -0
  2040. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/test/functional/backends/test_netssh.rb +233 -0
  2041. 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
  2042. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/test/helper.rb +81 -0
  2043. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/test/support/vagrant_wrapper.rb +64 -0
  2044. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/test/unit/backends/test_abstract.rb +202 -0
  2045. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/test/unit/backends/test_connection_pool.rb +148 -0
  2046. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/test/unit/backends/test_local.rb +22 -0
  2047. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/test/unit/backends/test_netssh.rb +94 -0
  2048. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/test/unit/backends/test_printer.rb +73 -0
  2049. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/test/unit/formatters/test_custom.rb +71 -0
  2050. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/test/unit/formatters/test_dot.rb +58 -0
  2051. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/test/unit/formatters/test_pretty.rb +143 -0
  2052. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/test/unit/formatters/test_simple_text.rb +83 -0
  2053. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/test/unit/runners/test_group.rb +17 -0
  2054. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/test/unit/runners/test_parallel.rb +18 -0
  2055. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/test/unit/runners/test_sequential.rb +18 -0
  2056. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/test/unit/test_color.rb +80 -0
  2057. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/test/unit/test_command.rb +274 -0
  2058. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/test/unit/test_command_map.rb +78 -0
  2059. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/test/unit/test_configuration.rb +124 -0
  2060. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/test/unit/test_coordinator.rb +161 -0
  2061. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/test/unit/test_deprecation_logger.rb +38 -0
  2062. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/test/unit/test_dsl.rb +26 -0
  2063. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/test/unit/test_host.rb +147 -0
  2064. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/test/unit/test_logger.rb +17 -0
  2065. data/vendor/bundle/ruby/3.2.0/gems/sshkit-1.21.5/test/unit/test_mapping_interaction_handler.rb +101 -0
  2066. data/vendor/bundle/ruby/3.2.0/gems/stringio-3.0.8/ext/stringio/extconf.rb +3 -0
  2067. data/vendor/bundle/ruby/3.2.0/gems/sys-uname-1.2.3/examples/uname_test.rb +42 -0
  2068. data/vendor/bundle/ruby/3.2.0/gems/sys-uname-1.2.3/lib/sys/platform.rb +58 -0
  2069. data/vendor/bundle/ruby/3.2.0/gems/sys-uname-1.2.3/lib/sys/uname.rb +21 -0
  2070. data/vendor/bundle/ruby/3.2.0/gems/sys-uname-1.2.3/lib/sys/unix/uname.rb +312 -0
  2071. data/vendor/bundle/ruby/3.2.0/gems/sys-uname-1.2.3/lib/sys/windows/uname.rb +499 -0
  2072. data/vendor/bundle/ruby/3.2.0/gems/sys-uname-1.2.3/lib/sys-uname.rb +3 -0
  2073. data/vendor/bundle/ruby/3.2.0/gems/sys-uname-1.2.3/spec/spec_helper.rb +12 -0
  2074. data/vendor/bundle/ruby/3.2.0/gems/sys-uname-1.2.3/spec/sys_platform_spec.rb +69 -0
  2075. data/vendor/bundle/ruby/3.2.0/gems/sys-uname-1.2.3/spec/sys_uname_spec.rb +449 -0
  2076. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/actions/create_file.rb +105 -0
  2077. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/actions/create_link.rb +61 -0
  2078. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/actions/directory.rb +108 -0
  2079. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/actions/empty_directory.rb +143 -0
  2080. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/actions/file_manipulation.rb +373 -0
  2081. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/actions/inject_into_file.rb +130 -0
  2082. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/actions.rb +340 -0
  2083. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/base.rb +825 -0
  2084. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/command.rb +151 -0
  2085. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/core_ext/hash_with_indifferent_access.rb +107 -0
  2086. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/error.rb +106 -0
  2087. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/group.rb +281 -0
  2088. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/invocation.rb +178 -0
  2089. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/line_editor/basic.rb +37 -0
  2090. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/line_editor/readline.rb +88 -0
  2091. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/line_editor.rb +17 -0
  2092. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/nested_context.rb +29 -0
  2093. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/parser/argument.rb +89 -0
  2094. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/parser/arguments.rb +195 -0
  2095. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/parser/option.rb +178 -0
  2096. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/parser/options.rb +293 -0
  2097. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/parser.rb +4 -0
  2098. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/rake_compat.rb +72 -0
  2099. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/runner.rb +335 -0
  2100. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/shell/basic.rb +388 -0
  2101. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/shell/color.rb +115 -0
  2102. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/shell/column_printer.rb +29 -0
  2103. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/shell/html.rb +84 -0
  2104. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/shell/lcs_diff.rb +49 -0
  2105. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/shell/table_printer.rb +134 -0
  2106. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/shell/terminal.rb +42 -0
  2107. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/shell/wrapped_printer.rb +38 -0
  2108. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/shell.rb +81 -0
  2109. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/util.rb +285 -0
  2110. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/version.rb +3 -0
  2111. data/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor.rb +663 -0
  2112. data/vendor/bundle/ruby/3.2.0/gems/timecop-0.9.8/lib/timecop/time_extensions.rb +160 -0
  2113. data/vendor/bundle/ruby/3.2.0/gems/timecop-0.9.8/lib/timecop/time_stack_item.rb +140 -0
  2114. data/vendor/bundle/ruby/3.2.0/gems/timecop-0.9.8/lib/timecop/timecop.rb +240 -0
  2115. data/vendor/bundle/ruby/3.2.0/gems/timecop-0.9.8/lib/timecop/version.rb +3 -0
  2116. data/vendor/bundle/ruby/3.2.0/gems/timecop-0.9.8/lib/timecop.rb +2 -0
  2117. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/api.rb +111 -0
  2118. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/assertion_failure.rb +13 -0
  2119. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/callback_registry.rb +37 -0
  2120. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/config.rb +20 -0
  2121. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/cucumber.rb +12 -0
  2122. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/deprecation.rb +11 -0
  2123. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/errors.rb +19 -0
  2124. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/http_lib_adapters/async_http_client_adapter.rb +223 -0
  2125. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/http_lib_adapters/curb_adapter.rb +353 -0
  2126. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/http_lib_adapters/em_http_request_adapter.rb +239 -0
  2127. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/http_lib_adapters/excon_adapter.rb +167 -0
  2128. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/http_lib_adapters/http_lib_adapter.rb +9 -0
  2129. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/http_lib_adapters/http_lib_adapter_registry.rb +21 -0
  2130. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/http_lib_adapters/http_rb/client.rb +17 -0
  2131. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/http_lib_adapters/http_rb/request.rb +18 -0
  2132. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/http_lib_adapters/http_rb/response.rb +69 -0
  2133. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/http_lib_adapters/http_rb/streamer.rb +33 -0
  2134. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/http_lib_adapters/http_rb/webmock.rb +74 -0
  2135. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/http_lib_adapters/http_rb_adapter.rb +39 -0
  2136. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/http_lib_adapters/httpclient_adapter.rb +261 -0
  2137. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/http_lib_adapters/manticore_adapter.rb +147 -0
  2138. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/http_lib_adapters/net_http.rb +294 -0
  2139. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/http_lib_adapters/net_http_response.rb +36 -0
  2140. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/http_lib_adapters/patron_adapter.rb +132 -0
  2141. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/http_lib_adapters/typhoeus_hydra_adapter.rb +176 -0
  2142. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/matchers/any_arg_matcher.rb +15 -0
  2143. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/matchers/hash_argument_matcher.rb +23 -0
  2144. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/matchers/hash_excluding_matcher.rb +17 -0
  2145. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/matchers/hash_including_matcher.rb +19 -0
  2146. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/minitest.rb +43 -0
  2147. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/rack_response.rb +71 -0
  2148. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/request_body_diff.rb +66 -0
  2149. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/request_execution_verifier.rb +79 -0
  2150. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/request_pattern.rb +423 -0
  2151. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/request_registry.rb +37 -0
  2152. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/request_signature.rb +56 -0
  2153. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/request_signature_snippet.rb +63 -0
  2154. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/request_stub.rb +134 -0
  2155. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/response.rb +161 -0
  2156. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/responses_sequence.rb +42 -0
  2157. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/rspec/matchers/request_pattern_matcher.rb +80 -0
  2158. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/rspec/matchers/webmock_matcher.rb +69 -0
  2159. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/rspec/matchers.rb +29 -0
  2160. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/rspec.rb +44 -0
  2161. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/stub_registry.rb +84 -0
  2162. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/stub_request_snippet.rb +40 -0
  2163. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/test_unit.rb +22 -0
  2164. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/util/hash_counter.rb +45 -0
  2165. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/util/hash_keys_stringifier.rb +27 -0
  2166. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/util/hash_validator.rb +19 -0
  2167. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/util/headers.rb +78 -0
  2168. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/util/json.rb +69 -0
  2169. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/util/query_mapper.rb +283 -0
  2170. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/util/uri.rb +113 -0
  2171. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/util/values_stringifier.rb +22 -0
  2172. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/util/version_checker.rb +113 -0
  2173. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/version.rb +5 -0
  2174. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock/webmock.rb +175 -0
  2175. data/vendor/bundle/ruby/3.2.0/gems/webmock-3.19.1/lib/webmock.rb +61 -0
  2176. metadata +2167 -6
@@ -0,0 +1,2168 @@
1
+ require 'concurrent/synchronization/object'
2
+ require 'concurrent/atomic/atomic_boolean'
3
+ require 'concurrent/atomic/atomic_fixnum'
4
+ require 'concurrent/collection/lock_free_stack'
5
+ require 'concurrent/configuration'
6
+ require 'concurrent/errors'
7
+ require 'concurrent/re_include'
8
+
9
+ module Concurrent
10
+
11
+ # {include:file:docs-source/promises-main.md}
12
+ module Promises
13
+
14
+ # @!macro promises.param.default_executor
15
+ # @param [Executor, :io, :fast] default_executor Instance of an executor or a name of the
16
+ # global executor. Default executor propagates to chained futures unless overridden with
17
+ # executor parameter or changed with {AbstractEventFuture#with_default_executor}.
18
+ #
19
+ # @!macro promises.param.executor
20
+ # @param [Executor, :io, :fast] executor Instance of an executor or a name of the
21
+ # global executor. The task is executed on it, default executor remains unchanged.
22
+ #
23
+ # @!macro promises.param.args
24
+ # @param [Object] args arguments which are passed to the task when it's executed.
25
+ # (It might be prepended with other arguments, see the @yeild section).
26
+ #
27
+ # @!macro promises.shortcut.on
28
+ # Shortcut of {#$0_on} with default `:io` executor supplied.
29
+ # @see #$0_on
30
+ #
31
+ # @!macro promises.shortcut.using
32
+ # Shortcut of {#$0_using} with default `:io` executor supplied.
33
+ # @see #$0_using
34
+ #
35
+ # @!macro promise.param.task-future
36
+ # @yieldreturn will become result of the returned Future.
37
+ # Its returned value becomes {Future#value} fulfilling it,
38
+ # raised exception becomes {Future#reason} rejecting it.
39
+ #
40
+ # @!macro promise.param.callback
41
+ # @yieldreturn is forgotten.
42
+
43
+ # Container of all {Future}, {Event} factory methods. They are never constructed directly with
44
+ # new.
45
+ module FactoryMethods
46
+ extend ReInclude
47
+ extend self
48
+
49
+ module Configuration
50
+ # @return [Executor, :io, :fast] the executor which is used when none is supplied
51
+ # to a factory method. The method can be overridden in the receivers of
52
+ # `include FactoryMethod`
53
+ def default_executor
54
+ :io
55
+ end
56
+ end
57
+
58
+ include Configuration
59
+
60
+ # @!macro promises.shortcut.on
61
+ # @return [ResolvableEvent]
62
+ def resolvable_event
63
+ resolvable_event_on default_executor
64
+ end
65
+
66
+ # Created resolvable event, user is responsible for resolving the event once by
67
+ # {Promises::ResolvableEvent#resolve}.
68
+ #
69
+ # @!macro promises.param.default_executor
70
+ # @return [ResolvableEvent]
71
+ def resolvable_event_on(default_executor = self.default_executor)
72
+ ResolvableEventPromise.new(default_executor).future
73
+ end
74
+
75
+ # @!macro promises.shortcut.on
76
+ # @return [ResolvableFuture]
77
+ def resolvable_future
78
+ resolvable_future_on default_executor
79
+ end
80
+
81
+ # Creates resolvable future, user is responsible for resolving the future once by
82
+ # {Promises::ResolvableFuture#resolve}, {Promises::ResolvableFuture#fulfill},
83
+ # or {Promises::ResolvableFuture#reject}
84
+ #
85
+ # @!macro promises.param.default_executor
86
+ # @return [ResolvableFuture]
87
+ def resolvable_future_on(default_executor = self.default_executor)
88
+ ResolvableFuturePromise.new(default_executor).future
89
+ end
90
+
91
+ # @!macro promises.shortcut.on
92
+ # @return [Future]
93
+ def future(*args, &task)
94
+ future_on(default_executor, *args, &task)
95
+ end
96
+
97
+ # Constructs new Future which will be resolved after block is evaluated on default executor.
98
+ # Evaluation begins immediately.
99
+ #
100
+ # @!macro promises.param.default_executor
101
+ # @!macro promises.param.args
102
+ # @yield [*args] to the task.
103
+ # @!macro promise.param.task-future
104
+ # @return [Future]
105
+ def future_on(default_executor, *args, &task)
106
+ ImmediateEventPromise.new(default_executor).future.then(*args, &task)
107
+ end
108
+
109
+ # Creates resolved future with will be either fulfilled with the given value or rejection with
110
+ # the given reason.
111
+ #
112
+ # @param [true, false] fulfilled
113
+ # @param [Object] value
114
+ # @param [Object] reason
115
+ # @!macro promises.param.default_executor
116
+ # @return [Future]
117
+ def resolved_future(fulfilled, value, reason, default_executor = self.default_executor)
118
+ ImmediateFuturePromise.new(default_executor, fulfilled, value, reason).future
119
+ end
120
+
121
+ # Creates resolved future with will be fulfilled with the given value.
122
+ #
123
+ # @!macro promises.param.default_executor
124
+ # @param [Object] value
125
+ # @return [Future]
126
+ def fulfilled_future(value, default_executor = self.default_executor)
127
+ resolved_future true, value, nil, default_executor
128
+ end
129
+
130
+ # Creates resolved future with will be rejected with the given reason.
131
+ #
132
+ # @!macro promises.param.default_executor
133
+ # @param [Object] reason
134
+ # @return [Future]
135
+ def rejected_future(reason, default_executor = self.default_executor)
136
+ resolved_future false, nil, reason, default_executor
137
+ end
138
+
139
+ # Creates resolved event.
140
+ #
141
+ # @!macro promises.param.default_executor
142
+ # @return [Event]
143
+ def resolved_event(default_executor = self.default_executor)
144
+ ImmediateEventPromise.new(default_executor).event
145
+ end
146
+
147
+ # General constructor. Behaves differently based on the argument's type. It's provided for convenience
148
+ # but it's better to be explicit.
149
+ #
150
+ # @see rejected_future, resolved_event, fulfilled_future
151
+ # @!macro promises.param.default_executor
152
+ # @return [Event, Future]
153
+ #
154
+ # @overload make_future(nil, default_executor = self.default_executor)
155
+ # @param [nil] nil
156
+ # @return [Event] resolved event.
157
+ #
158
+ # @overload make_future(a_future, default_executor = self.default_executor)
159
+ # @param [Future] a_future
160
+ # @return [Future] a future which will be resolved when a_future is.
161
+ #
162
+ # @overload make_future(an_event, default_executor = self.default_executor)
163
+ # @param [Event] an_event
164
+ # @return [Event] an event which will be resolved when an_event is.
165
+ #
166
+ # @overload make_future(exception, default_executor = self.default_executor)
167
+ # @param [Exception] exception
168
+ # @return [Future] a rejected future with the exception as its reason.
169
+ #
170
+ # @overload make_future(value, default_executor = self.default_executor)
171
+ # @param [Object] value when none of the above overloads fits
172
+ # @return [Future] a fulfilled future with the value.
173
+ def make_future(argument = nil, default_executor = self.default_executor)
174
+ case argument
175
+ when AbstractEventFuture
176
+ # returning wrapper would change nothing
177
+ argument
178
+ when Exception
179
+ rejected_future argument, default_executor
180
+ when nil
181
+ resolved_event default_executor
182
+ else
183
+ fulfilled_future argument, default_executor
184
+ end
185
+ end
186
+
187
+ # @!macro promises.shortcut.on
188
+ # @return [Future, Event]
189
+ def delay(*args, &task)
190
+ delay_on default_executor, *args, &task
191
+ end
192
+
193
+ # Creates new event or future which is resolved only after it is touched,
194
+ # see {Concurrent::AbstractEventFuture#touch}.
195
+ #
196
+ # @!macro promises.param.default_executor
197
+ # @overload delay_on(default_executor, *args, &task)
198
+ # If task is provided it returns a {Future} representing the result of the task.
199
+ # @!macro promises.param.args
200
+ # @yield [*args] to the task.
201
+ # @!macro promise.param.task-future
202
+ # @return [Future]
203
+ # @overload delay_on(default_executor)
204
+ # If no task is provided, it returns an {Event}
205
+ # @return [Event]
206
+ def delay_on(default_executor, *args, &task)
207
+ event = DelayPromise.new(default_executor).event
208
+ task ? event.chain(*args, &task) : event
209
+ end
210
+
211
+ # @!macro promises.shortcut.on
212
+ # @return [Future, Event]
213
+ def schedule(intended_time, *args, &task)
214
+ schedule_on default_executor, intended_time, *args, &task
215
+ end
216
+
217
+ # Creates new event or future which is resolved in intended_time.
218
+ #
219
+ # @!macro promises.param.default_executor
220
+ # @!macro promises.param.intended_time
221
+ # @param [Numeric, Time] intended_time `Numeric` means to run in `intended_time` seconds.
222
+ # `Time` means to run on `intended_time`.
223
+ # @overload schedule_on(default_executor, intended_time, *args, &task)
224
+ # If task is provided it returns a {Future} representing the result of the task.
225
+ # @!macro promises.param.args
226
+ # @yield [*args] to the task.
227
+ # @!macro promise.param.task-future
228
+ # @return [Future]
229
+ # @overload schedule_on(default_executor, intended_time)
230
+ # If no task is provided, it returns an {Event}
231
+ # @return [Event]
232
+ def schedule_on(default_executor, intended_time, *args, &task)
233
+ event = ScheduledPromise.new(default_executor, intended_time).event
234
+ task ? event.chain(*args, &task) : event
235
+ end
236
+
237
+ # @!macro promises.shortcut.on
238
+ # @return [Future]
239
+ def zip_futures(*futures_and_or_events)
240
+ zip_futures_on default_executor, *futures_and_or_events
241
+ end
242
+
243
+ # Creates new future which is resolved after all futures_and_or_events are resolved.
244
+ # Its value is array of zipped future values. Its reason is array of reasons for rejection.
245
+ # If there is an error it rejects.
246
+ # @!macro promises.event-conversion
247
+ # If event is supplied, which does not have value and can be only resolved, it's
248
+ # represented as `:fulfilled` with value `nil`.
249
+ #
250
+ # @!macro promises.param.default_executor
251
+ # @param [AbstractEventFuture] futures_and_or_events
252
+ # @return [Future]
253
+ def zip_futures_on(default_executor, *futures_and_or_events)
254
+ ZipFuturesPromise.new_blocked_by(futures_and_or_events, default_executor).future
255
+ end
256
+
257
+ alias_method :zip, :zip_futures
258
+
259
+ # @!macro promises.shortcut.on
260
+ # @return [Event]
261
+ def zip_events(*futures_and_or_events)
262
+ zip_events_on default_executor, *futures_and_or_events
263
+ end
264
+
265
+ # Creates new event which is resolved after all futures_and_or_events are resolved.
266
+ # (Future is resolved when fulfilled or rejected.)
267
+ #
268
+ # @!macro promises.param.default_executor
269
+ # @param [AbstractEventFuture] futures_and_or_events
270
+ # @return [Event]
271
+ def zip_events_on(default_executor, *futures_and_or_events)
272
+ ZipEventsPromise.new_blocked_by(futures_and_or_events, default_executor).event
273
+ end
274
+
275
+ # @!macro promises.shortcut.on
276
+ # @return [Future]
277
+ def any_resolved_future(*futures_and_or_events)
278
+ any_resolved_future_on default_executor, *futures_and_or_events
279
+ end
280
+
281
+ alias_method :any, :any_resolved_future
282
+
283
+ # Creates new future which is resolved after first futures_and_or_events is resolved.
284
+ # Its result equals result of the first resolved future.
285
+ # @!macro promises.any-touch
286
+ # If resolved it does not propagate {Concurrent::AbstractEventFuture#touch}, leaving delayed
287
+ # futures un-executed if they are not required any more.
288
+ # @!macro promises.event-conversion
289
+ #
290
+ # @!macro promises.param.default_executor
291
+ # @param [AbstractEventFuture] futures_and_or_events
292
+ # @return [Future]
293
+ def any_resolved_future_on(default_executor, *futures_and_or_events)
294
+ AnyResolvedFuturePromise.new_blocked_by(futures_and_or_events, default_executor).future
295
+ end
296
+
297
+ # @!macro promises.shortcut.on
298
+ # @return [Future]
299
+ def any_fulfilled_future(*futures_and_or_events)
300
+ any_fulfilled_future_on default_executor, *futures_and_or_events
301
+ end
302
+
303
+ # Creates new future which is resolved after first of futures_and_or_events is fulfilled.
304
+ # Its result equals result of the first resolved future or if all futures_and_or_events reject,
305
+ # it has reason of the last resolved future.
306
+ # @!macro promises.any-touch
307
+ # @!macro promises.event-conversion
308
+ #
309
+ # @!macro promises.param.default_executor
310
+ # @param [AbstractEventFuture] futures_and_or_events
311
+ # @return [Future]
312
+ def any_fulfilled_future_on(default_executor, *futures_and_or_events)
313
+ AnyFulfilledFuturePromise.new_blocked_by(futures_and_or_events, default_executor).future
314
+ end
315
+
316
+ # @!macro promises.shortcut.on
317
+ # @return [Event]
318
+ def any_event(*futures_and_or_events)
319
+ any_event_on default_executor, *futures_and_or_events
320
+ end
321
+
322
+ # Creates new event which becomes resolved after first of the futures_and_or_events resolves.
323
+ # @!macro promises.any-touch
324
+ #
325
+ # @!macro promises.param.default_executor
326
+ # @param [AbstractEventFuture] futures_and_or_events
327
+ # @return [Event]
328
+ def any_event_on(default_executor, *futures_and_or_events)
329
+ AnyResolvedEventPromise.new_blocked_by(futures_and_or_events, default_executor).event
330
+ end
331
+
332
+ # TODO consider adding first(count, *futures)
333
+ # TODO consider adding zip_by(slice, *futures) processing futures in slices
334
+ # TODO or rather a generic aggregator taking a function
335
+ end
336
+
337
+ module InternalStates
338
+ # @!visibility private
339
+ class State
340
+ def resolved?
341
+ raise NotImplementedError
342
+ end
343
+
344
+ def to_sym
345
+ raise NotImplementedError
346
+ end
347
+ end
348
+
349
+ # @!visibility private
350
+ class Pending < State
351
+ def resolved?
352
+ false
353
+ end
354
+
355
+ def to_sym
356
+ :pending
357
+ end
358
+ end
359
+
360
+ # @!visibility private
361
+ class Reserved < Pending
362
+ end
363
+
364
+ # @!visibility private
365
+ class ResolvedWithResult < State
366
+ def resolved?
367
+ true
368
+ end
369
+
370
+ def to_sym
371
+ :resolved
372
+ end
373
+
374
+ def result
375
+ [fulfilled?, value, reason]
376
+ end
377
+
378
+ def fulfilled?
379
+ raise NotImplementedError
380
+ end
381
+
382
+ def value
383
+ raise NotImplementedError
384
+ end
385
+
386
+ def reason
387
+ raise NotImplementedError
388
+ end
389
+
390
+ def apply
391
+ raise NotImplementedError
392
+ end
393
+ end
394
+
395
+ # @!visibility private
396
+ class Fulfilled < ResolvedWithResult
397
+
398
+ def initialize(value)
399
+ @Value = value
400
+ end
401
+
402
+ def fulfilled?
403
+ true
404
+ end
405
+
406
+ def apply(args, block)
407
+ block.call value, *args
408
+ end
409
+
410
+ def value
411
+ @Value
412
+ end
413
+
414
+ def reason
415
+ nil
416
+ end
417
+
418
+ def to_sym
419
+ :fulfilled
420
+ end
421
+ end
422
+
423
+ # @!visibility private
424
+ class FulfilledArray < Fulfilled
425
+ def apply(args, block)
426
+ block.call(*value, *args)
427
+ end
428
+ end
429
+
430
+ # @!visibility private
431
+ class Rejected < ResolvedWithResult
432
+ def initialize(reason)
433
+ @Reason = reason
434
+ end
435
+
436
+ def fulfilled?
437
+ false
438
+ end
439
+
440
+ def value
441
+ nil
442
+ end
443
+
444
+ def reason
445
+ @Reason
446
+ end
447
+
448
+ def to_sym
449
+ :rejected
450
+ end
451
+
452
+ def apply(args, block)
453
+ block.call reason, *args
454
+ end
455
+ end
456
+
457
+ # @!visibility private
458
+ class PartiallyRejected < ResolvedWithResult
459
+ def initialize(value, reason)
460
+ super()
461
+ @Value = value
462
+ @Reason = reason
463
+ end
464
+
465
+ def fulfilled?
466
+ false
467
+ end
468
+
469
+ def to_sym
470
+ :rejected
471
+ end
472
+
473
+ def value
474
+ @Value
475
+ end
476
+
477
+ def reason
478
+ @Reason
479
+ end
480
+
481
+ def apply(args, block)
482
+ block.call(*reason, *args)
483
+ end
484
+ end
485
+
486
+ # @!visibility private
487
+ PENDING = Pending.new
488
+ # @!visibility private
489
+ RESERVED = Reserved.new
490
+ # @!visibility private
491
+ RESOLVED = Fulfilled.new(nil)
492
+
493
+ def RESOLVED.to_sym
494
+ :resolved
495
+ end
496
+ end
497
+
498
+ private_constant :InternalStates
499
+
500
+ # @!macro promises.shortcut.event-future
501
+ # @see Event#$0
502
+ # @see Future#$0
503
+
504
+ # @!macro promises.param.timeout
505
+ # @param [Numeric] timeout the maximum time in second to wait.
506
+
507
+ # @!macro promises.warn.blocks
508
+ # @note This function potentially blocks current thread until the Future is resolved.
509
+ # Be careful it can deadlock. Try to chain instead.
510
+
511
+ # Common ancestor of {Event} and {Future} classes, many shared methods are defined here.
512
+ class AbstractEventFuture < Synchronization::Object
513
+ safe_initialization!
514
+ attr_atomic(:internal_state)
515
+ private :internal_state=, :swap_internal_state, :compare_and_set_internal_state, :update_internal_state
516
+ # @!method internal_state
517
+ # @!visibility private
518
+
519
+ include InternalStates
520
+
521
+ def initialize(promise, default_executor)
522
+ super()
523
+ @Lock = Mutex.new
524
+ @Condition = ConditionVariable.new
525
+ @Promise = promise
526
+ @DefaultExecutor = default_executor
527
+ @Callbacks = LockFreeStack.new
528
+ @Waiters = AtomicFixnum.new 0
529
+ self.internal_state = PENDING
530
+ end
531
+
532
+ private :initialize
533
+
534
+ # Returns its state.
535
+ # @return [Symbol]
536
+ #
537
+ # @overload an_event.state
538
+ # @return [:pending, :resolved]
539
+ # @overload a_future.state
540
+ # Both :fulfilled, :rejected implies :resolved.
541
+ # @return [:pending, :fulfilled, :rejected]
542
+ def state
543
+ internal_state.to_sym
544
+ end
545
+
546
+ # Is it in pending state?
547
+ # @return [Boolean]
548
+ def pending?
549
+ !internal_state.resolved?
550
+ end
551
+
552
+ # Is it in resolved state?
553
+ # @return [Boolean]
554
+ def resolved?
555
+ internal_state.resolved?
556
+ end
557
+
558
+ # Propagates touch. Requests all the delayed futures, which it depends on, to be
559
+ # executed. This method is called by any other method requiring resolved state, like {#wait}.
560
+ # @return [self]
561
+ def touch
562
+ @Promise.touch
563
+ self
564
+ end
565
+
566
+ # @!macro promises.touches
567
+ # Calls {Concurrent::AbstractEventFuture#touch}.
568
+
569
+ # @!macro promises.method.wait
570
+ # Wait (block the Thread) until receiver is {#resolved?}.
571
+ # @!macro promises.touches
572
+ #
573
+ # @!macro promises.warn.blocks
574
+ # @!macro promises.param.timeout
575
+ # @return [self, true, false] self implies timeout was not used, true implies timeout was used
576
+ # and it was resolved, false implies it was not resolved within timeout.
577
+ def wait(timeout = nil)
578
+ result = wait_until_resolved(timeout)
579
+ timeout ? result : self
580
+ end
581
+
582
+ # Returns default executor.
583
+ # @return [Executor] default executor
584
+ # @see #with_default_executor
585
+ # @see FactoryMethods#future_on
586
+ # @see FactoryMethods#resolvable_future
587
+ # @see FactoryMethods#any_fulfilled_future_on
588
+ # @see similar
589
+ def default_executor
590
+ @DefaultExecutor
591
+ end
592
+
593
+ # @!macro promises.shortcut.on
594
+ # @return [Future]
595
+ def chain(*args, &task)
596
+ chain_on @DefaultExecutor, *args, &task
597
+ end
598
+
599
+ # Chains the task to be executed asynchronously on executor after it is resolved.
600
+ #
601
+ # @!macro promises.param.executor
602
+ # @!macro promises.param.args
603
+ # @return [Future]
604
+ # @!macro promise.param.task-future
605
+ #
606
+ # @overload an_event.chain_on(executor, *args, &task)
607
+ # @yield [*args] to the task.
608
+ # @overload a_future.chain_on(executor, *args, &task)
609
+ # @yield [fulfilled, value, reason, *args] to the task.
610
+ # @yieldparam [true, false] fulfilled
611
+ # @yieldparam [Object] value
612
+ # @yieldparam [Object] reason
613
+ def chain_on(executor, *args, &task)
614
+ ChainPromise.new_blocked_by1(self, @DefaultExecutor, executor, args, &task).future
615
+ end
616
+
617
+ # @return [String] Short string representation.
618
+ def to_s
619
+ format '%s %s>', super[0..-2], state
620
+ end
621
+
622
+ alias_method :inspect, :to_s
623
+
624
+ # Resolves the resolvable when receiver is resolved.
625
+ #
626
+ # @param [Resolvable] resolvable
627
+ # @return [self]
628
+ def chain_resolvable(resolvable)
629
+ on_resolution! { resolvable.resolve_with internal_state }
630
+ end
631
+
632
+ alias_method :tangle, :chain_resolvable
633
+
634
+ # @!macro promises.shortcut.using
635
+ # @return [self]
636
+ def on_resolution(*args, &callback)
637
+ on_resolution_using @DefaultExecutor, *args, &callback
638
+ end
639
+
640
+ # Stores the callback to be executed synchronously on resolving thread after it is
641
+ # resolved.
642
+ #
643
+ # @!macro promises.param.args
644
+ # @!macro promise.param.callback
645
+ # @return [self]
646
+ #
647
+ # @overload an_event.on_resolution!(*args, &callback)
648
+ # @yield [*args] to the callback.
649
+ # @overload a_future.on_resolution!(*args, &callback)
650
+ # @yield [fulfilled, value, reason, *args] to the callback.
651
+ # @yieldparam [true, false] fulfilled
652
+ # @yieldparam [Object] value
653
+ # @yieldparam [Object] reason
654
+ def on_resolution!(*args, &callback)
655
+ add_callback :callback_on_resolution, args, callback
656
+ end
657
+
658
+ # Stores the callback to be executed asynchronously on executor after it is resolved.
659
+ #
660
+ # @!macro promises.param.executor
661
+ # @!macro promises.param.args
662
+ # @!macro promise.param.callback
663
+ # @return [self]
664
+ #
665
+ # @overload an_event.on_resolution_using(executor, *args, &callback)
666
+ # @yield [*args] to the callback.
667
+ # @overload a_future.on_resolution_using(executor, *args, &callback)
668
+ # @yield [fulfilled, value, reason, *args] to the callback.
669
+ # @yieldparam [true, false] fulfilled
670
+ # @yieldparam [Object] value
671
+ # @yieldparam [Object] reason
672
+ def on_resolution_using(executor, *args, &callback)
673
+ add_callback :async_callback_on_resolution, executor, args, callback
674
+ end
675
+
676
+ # @!macro promises.method.with_default_executor
677
+ # Crates new object with same class with the executor set as its new default executor.
678
+ # Any futures depending on it will use the new default executor.
679
+ # @!macro promises.shortcut.event-future
680
+ # @abstract
681
+ # @return [AbstractEventFuture]
682
+ def with_default_executor(executor)
683
+ raise NotImplementedError
684
+ end
685
+
686
+ # @!visibility private
687
+ def resolve_with(state, raise_on_reassign = true, reserved = false)
688
+ if compare_and_set_internal_state(reserved ? RESERVED : PENDING, state)
689
+ # go to synchronized block only if there were waiting threads
690
+ @Lock.synchronize { @Condition.broadcast } unless @Waiters.value == 0
691
+ call_callbacks state
692
+ else
693
+ return rejected_resolution(raise_on_reassign, state)
694
+ end
695
+ self
696
+ end
697
+
698
+ # For inspection.
699
+ # @!visibility private
700
+ # @return [Array<AbstractPromise>]
701
+ def blocks
702
+ @Callbacks.each_with_object([]) do |(method, args), promises|
703
+ promises.push(args[0]) if method == :callback_notify_blocked
704
+ end
705
+ end
706
+
707
+ # For inspection.
708
+ # @!visibility private
709
+ def callbacks
710
+ @Callbacks.each.to_a
711
+ end
712
+
713
+ # For inspection.
714
+ # @!visibility private
715
+ def promise
716
+ @Promise
717
+ end
718
+
719
+ # For inspection.
720
+ # @!visibility private
721
+ def touched?
722
+ promise.touched?
723
+ end
724
+
725
+ # For inspection.
726
+ # @!visibility private
727
+ def waiting_threads
728
+ @Waiters.each.to_a
729
+ end
730
+
731
+ # @!visibility private
732
+ def add_callback_notify_blocked(promise, index)
733
+ add_callback :callback_notify_blocked, promise, index
734
+ end
735
+
736
+ # @!visibility private
737
+ def add_callback_clear_delayed_node(node)
738
+ add_callback(:callback_clear_delayed_node, node)
739
+ end
740
+
741
+ # @!visibility private
742
+ def with_hidden_resolvable
743
+ # TODO (pitr-ch 10-Dec-2018): documentation, better name if in edge
744
+ self
745
+ end
746
+
747
+ private
748
+
749
+ def add_callback(method, *args)
750
+ state = internal_state
751
+ if state.resolved?
752
+ call_callback method, state, args
753
+ else
754
+ @Callbacks.push [method, args]
755
+ state = internal_state
756
+ # take back if it was resolved in the meanwhile
757
+ call_callbacks state if state.resolved?
758
+ end
759
+ self
760
+ end
761
+
762
+ def callback_clear_delayed_node(state, node)
763
+ node.value = nil
764
+ end
765
+
766
+ # @return [Boolean]
767
+ def wait_until_resolved(timeout)
768
+ return true if resolved?
769
+
770
+ touch
771
+
772
+ @Lock.synchronize do
773
+ @Waiters.increment
774
+ begin
775
+ unless resolved?
776
+ @Condition.wait @Lock, timeout
777
+ end
778
+ ensure
779
+ # JRuby may raise ConcurrencyError
780
+ @Waiters.decrement
781
+ end
782
+ end
783
+ resolved?
784
+ end
785
+
786
+ def call_callback(method, state, args)
787
+ self.send method, state, *args
788
+ end
789
+
790
+ def call_callbacks(state)
791
+ method, args = @Callbacks.pop
792
+ while method
793
+ call_callback method, state, args
794
+ method, args = @Callbacks.pop
795
+ end
796
+ end
797
+
798
+ def with_async(executor, *args, &block)
799
+ Concurrent.executor(executor).post(*args, &block)
800
+ end
801
+
802
+ def async_callback_on_resolution(state, executor, args, callback)
803
+ with_async(executor, state, args, callback) do |st, ar, cb|
804
+ callback_on_resolution st, ar, cb
805
+ end
806
+ end
807
+
808
+ def callback_notify_blocked(state, promise, index)
809
+ promise.on_blocker_resolution self, index
810
+ end
811
+ end
812
+
813
+ # Represents an event which will happen in future (will be resolved). The event is either
814
+ # pending or resolved. It should be always resolved. Use {Future} to communicate rejections and
815
+ # cancellation.
816
+ class Event < AbstractEventFuture
817
+
818
+ alias_method :then, :chain
819
+
820
+
821
+ # @!macro promises.method.zip
822
+ # Creates a new event or a future which will be resolved when receiver and other are.
823
+ # Returns an event if receiver and other are events, otherwise returns a future.
824
+ # If just one of the parties is Future then the result
825
+ # of the returned future is equal to the result of the supplied future. If both are futures
826
+ # then the result is as described in {FactoryMethods#zip_futures_on}.
827
+ #
828
+ # @return [Future, Event]
829
+ def zip(other)
830
+ if other.is_a?(Future)
831
+ ZipFutureEventPromise.new_blocked_by2(other, self, @DefaultExecutor).future
832
+ else
833
+ ZipEventEventPromise.new_blocked_by2(self, other, @DefaultExecutor).event
834
+ end
835
+ end
836
+
837
+ alias_method :&, :zip
838
+
839
+ # Creates a new event which will be resolved when the first of receiver, `event_or_future`
840
+ # resolves.
841
+ #
842
+ # @return [Event]
843
+ def any(event_or_future)
844
+ AnyResolvedEventPromise.new_blocked_by2(self, event_or_future, @DefaultExecutor).event
845
+ end
846
+
847
+ alias_method :|, :any
848
+
849
+ # Creates new event dependent on receiver which will not evaluate until touched, see {#touch}.
850
+ # In other words, it inserts delay into the chain of Futures making rest of it lazy evaluated.
851
+ #
852
+ # @return [Event]
853
+ def delay
854
+ event = DelayPromise.new(@DefaultExecutor).event
855
+ ZipEventEventPromise.new_blocked_by2(self, event, @DefaultExecutor).event
856
+ end
857
+
858
+ # @!macro promise.method.schedule
859
+ # Creates new event dependent on receiver scheduled to execute on/in intended_time.
860
+ # In time is interpreted from the moment the receiver is resolved, therefore it inserts
861
+ # delay into the chain.
862
+ #
863
+ # @!macro promises.param.intended_time
864
+ # @return [Event]
865
+ def schedule(intended_time)
866
+ chain do
867
+ event = ScheduledPromise.new(@DefaultExecutor, intended_time).event
868
+ ZipEventEventPromise.new_blocked_by2(self, event, @DefaultExecutor).event
869
+ end.flat_event
870
+ end
871
+
872
+ # Converts event to a future. The future is fulfilled when the event is resolved, the future may never fail.
873
+ #
874
+ # @return [Future]
875
+ def to_future
876
+ future = Promises.resolvable_future
877
+ ensure
878
+ chain_resolvable(future)
879
+ end
880
+
881
+ # Returns self, since this is event
882
+ # @return [Event]
883
+ def to_event
884
+ self
885
+ end
886
+
887
+ # @!macro promises.method.with_default_executor
888
+ # @return [Event]
889
+ def with_default_executor(executor)
890
+ EventWrapperPromise.new_blocked_by1(self, executor).event
891
+ end
892
+
893
+ private
894
+
895
+ def rejected_resolution(raise_on_reassign, state)
896
+ raise Concurrent::MultipleAssignmentError.new('Event can be resolved only once') if raise_on_reassign
897
+ return false
898
+ end
899
+
900
+ def callback_on_resolution(state, args, callback)
901
+ callback.call(*args)
902
+ end
903
+ end
904
+
905
+ # Represents a value which will become available in future. May reject with a reason instead,
906
+ # e.g. when the tasks raises an exception.
907
+ class Future < AbstractEventFuture
908
+
909
+ # Is it in fulfilled state?
910
+ # @return [Boolean]
911
+ def fulfilled?
912
+ state = internal_state
913
+ state.resolved? && state.fulfilled?
914
+ end
915
+
916
+ # Is it in rejected state?
917
+ # @return [Boolean]
918
+ def rejected?
919
+ state = internal_state
920
+ state.resolved? && !state.fulfilled?
921
+ end
922
+
923
+ # @!macro promises.warn.nil
924
+ # @note Make sure returned `nil` is not confused with timeout, no value when rejected,
925
+ # no reason when fulfilled, etc.
926
+ # Use more exact methods if needed, like {#wait}, {#value!}, {#result}, etc.
927
+
928
+ # @!macro promises.method.value
929
+ # Return value of the future.
930
+ # @!macro promises.touches
931
+ #
932
+ # @!macro promises.warn.blocks
933
+ # @!macro promises.warn.nil
934
+ # @!macro promises.param.timeout
935
+ # @!macro promises.param.timeout_value
936
+ # @param [Object] timeout_value a value returned by the method when it times out
937
+ # @return [Object, nil, timeout_value] the value of the Future when fulfilled,
938
+ # timeout_value on timeout,
939
+ # nil on rejection.
940
+ def value(timeout = nil, timeout_value = nil)
941
+ if wait_until_resolved timeout
942
+ internal_state.value
943
+ else
944
+ timeout_value
945
+ end
946
+ end
947
+
948
+ # Returns reason of future's rejection.
949
+ # @!macro promises.touches
950
+ #
951
+ # @!macro promises.warn.blocks
952
+ # @!macro promises.warn.nil
953
+ # @!macro promises.param.timeout
954
+ # @!macro promises.param.timeout_value
955
+ # @return [Object, timeout_value] the reason, or timeout_value on timeout, or nil on fulfillment.
956
+ def reason(timeout = nil, timeout_value = nil)
957
+ if wait_until_resolved timeout
958
+ internal_state.reason
959
+ else
960
+ timeout_value
961
+ end
962
+ end
963
+
964
+ # Returns triplet fulfilled?, value, reason.
965
+ # @!macro promises.touches
966
+ #
967
+ # @!macro promises.warn.blocks
968
+ # @!macro promises.param.timeout
969
+ # @return [Array(Boolean, Object, Object), nil] triplet of fulfilled?, value, reason, or nil
970
+ # on timeout.
971
+ def result(timeout = nil)
972
+ internal_state.result if wait_until_resolved timeout
973
+ end
974
+
975
+ # @!macro promises.method.wait
976
+ # @raise [Exception] {#reason} on rejection
977
+ def wait!(timeout = nil)
978
+ result = wait_until_resolved!(timeout)
979
+ timeout ? result : self
980
+ end
981
+
982
+ # @!macro promises.method.value
983
+ # @return [Object, nil, timeout_value] the value of the Future when fulfilled,
984
+ # or nil on rejection,
985
+ # or timeout_value on timeout.
986
+ # @raise [Exception] {#reason} on rejection
987
+ def value!(timeout = nil, timeout_value = nil)
988
+ if wait_until_resolved! timeout
989
+ internal_state.value
990
+ else
991
+ timeout_value
992
+ end
993
+ end
994
+
995
+ # Allows rejected Future to be risen with `raise` method.
996
+ # If the reason is not an exception `Runtime.new(reason)` is returned.
997
+ #
998
+ # @example
999
+ # raise Promises.rejected_future(StandardError.new("boom"))
1000
+ # raise Promises.rejected_future("or just boom")
1001
+ # @raise [Concurrent::Error] when raising not rejected future
1002
+ # @return [Exception]
1003
+ def exception(*args)
1004
+ raise Concurrent::Error, 'it is not rejected' unless rejected?
1005
+ raise ArgumentError unless args.size <= 1
1006
+ reason = Array(internal_state.reason).flatten.compact
1007
+ if reason.size > 1
1008
+ ex = Concurrent::MultipleErrors.new reason
1009
+ ex.set_backtrace(caller)
1010
+ ex
1011
+ else
1012
+ ex = if reason[0].respond_to? :exception
1013
+ reason[0].exception(*args)
1014
+ else
1015
+ RuntimeError.new(reason[0]).exception(*args)
1016
+ end
1017
+ ex.set_backtrace Array(ex.backtrace) + caller
1018
+ ex
1019
+ end
1020
+ end
1021
+
1022
+ # @!macro promises.shortcut.on
1023
+ # @return [Future]
1024
+ def then(*args, &task)
1025
+ then_on @DefaultExecutor, *args, &task
1026
+ end
1027
+
1028
+ # Chains the task to be executed asynchronously on executor after it fulfills. Does not run
1029
+ # the task if it rejects. It will resolve though, triggering any dependent futures.
1030
+ #
1031
+ # @!macro promises.param.executor
1032
+ # @!macro promises.param.args
1033
+ # @!macro promise.param.task-future
1034
+ # @return [Future]
1035
+ # @yield [value, *args] to the task.
1036
+ def then_on(executor, *args, &task)
1037
+ ThenPromise.new_blocked_by1(self, @DefaultExecutor, executor, args, &task).future
1038
+ end
1039
+
1040
+ # @!macro promises.shortcut.on
1041
+ # @return [Future]
1042
+ def rescue(*args, &task)
1043
+ rescue_on @DefaultExecutor, *args, &task
1044
+ end
1045
+
1046
+ # Chains the task to be executed asynchronously on executor after it rejects. Does not run
1047
+ # the task if it fulfills. It will resolve though, triggering any dependent futures.
1048
+ #
1049
+ # @!macro promises.param.executor
1050
+ # @!macro promises.param.args
1051
+ # @!macro promise.param.task-future
1052
+ # @return [Future]
1053
+ # @yield [reason, *args] to the task.
1054
+ def rescue_on(executor, *args, &task)
1055
+ RescuePromise.new_blocked_by1(self, @DefaultExecutor, executor, args, &task).future
1056
+ end
1057
+
1058
+ # @!macro promises.method.zip
1059
+ # @return [Future]
1060
+ def zip(other)
1061
+ if other.is_a?(Future)
1062
+ ZipFuturesPromise.new_blocked_by2(self, other, @DefaultExecutor).future
1063
+ else
1064
+ ZipFutureEventPromise.new_blocked_by2(self, other, @DefaultExecutor).future
1065
+ end
1066
+ end
1067
+
1068
+ alias_method :&, :zip
1069
+
1070
+ # Creates a new event which will be resolved when the first of receiver, `event_or_future`
1071
+ # resolves. Returning future will have value nil if event_or_future is event and resolves
1072
+ # first.
1073
+ #
1074
+ # @return [Future]
1075
+ def any(event_or_future)
1076
+ AnyResolvedFuturePromise.new_blocked_by2(self, event_or_future, @DefaultExecutor).future
1077
+ end
1078
+
1079
+ alias_method :|, :any
1080
+
1081
+ # Creates new future dependent on receiver which will not evaluate until touched, see {#touch}.
1082
+ # In other words, it inserts delay into the chain of Futures making rest of it lazy evaluated.
1083
+ #
1084
+ # @return [Future]
1085
+ def delay
1086
+ event = DelayPromise.new(@DefaultExecutor).event
1087
+ ZipFutureEventPromise.new_blocked_by2(self, event, @DefaultExecutor).future
1088
+ end
1089
+
1090
+ # @!macro promise.method.schedule
1091
+ # @return [Future]
1092
+ def schedule(intended_time)
1093
+ chain do
1094
+ event = ScheduledPromise.new(@DefaultExecutor, intended_time).event
1095
+ ZipFutureEventPromise.new_blocked_by2(self, event, @DefaultExecutor).future
1096
+ end.flat
1097
+ end
1098
+
1099
+ # @!macro promises.method.with_default_executor
1100
+ # @return [Future]
1101
+ def with_default_executor(executor)
1102
+ FutureWrapperPromise.new_blocked_by1(self, executor).future
1103
+ end
1104
+
1105
+ # Creates new future which will have result of the future returned by receiver. If receiver
1106
+ # rejects it will have its rejection.
1107
+ #
1108
+ # @param [Integer] level how many levels of futures should flatten
1109
+ # @return [Future]
1110
+ def flat_future(level = 1)
1111
+ FlatFuturePromise.new_blocked_by1(self, level, @DefaultExecutor).future
1112
+ end
1113
+
1114
+ alias_method :flat, :flat_future
1115
+
1116
+ # Creates new event which will be resolved when the returned event by receiver is.
1117
+ # Be careful if the receiver rejects it will just resolve since Event does not hold reason.
1118
+ #
1119
+ # @return [Event]
1120
+ def flat_event
1121
+ FlatEventPromise.new_blocked_by1(self, @DefaultExecutor).event
1122
+ end
1123
+
1124
+ # @!macro promises.shortcut.using
1125
+ # @return [self]
1126
+ def on_fulfillment(*args, &callback)
1127
+ on_fulfillment_using @DefaultExecutor, *args, &callback
1128
+ end
1129
+
1130
+ # Stores the callback to be executed synchronously on resolving thread after it is
1131
+ # fulfilled. Does nothing on rejection.
1132
+ #
1133
+ # @!macro promises.param.args
1134
+ # @!macro promise.param.callback
1135
+ # @return [self]
1136
+ # @yield [value, *args] to the callback.
1137
+ def on_fulfillment!(*args, &callback)
1138
+ add_callback :callback_on_fulfillment, args, callback
1139
+ end
1140
+
1141
+ # Stores the callback to be executed asynchronously on executor after it is
1142
+ # fulfilled. Does nothing on rejection.
1143
+ #
1144
+ # @!macro promises.param.executor
1145
+ # @!macro promises.param.args
1146
+ # @!macro promise.param.callback
1147
+ # @return [self]
1148
+ # @yield [value, *args] to the callback.
1149
+ def on_fulfillment_using(executor, *args, &callback)
1150
+ add_callback :async_callback_on_fulfillment, executor, args, callback
1151
+ end
1152
+
1153
+ # @!macro promises.shortcut.using
1154
+ # @return [self]
1155
+ def on_rejection(*args, &callback)
1156
+ on_rejection_using @DefaultExecutor, *args, &callback
1157
+ end
1158
+
1159
+ # Stores the callback to be executed synchronously on resolving thread after it is
1160
+ # rejected. Does nothing on fulfillment.
1161
+ #
1162
+ # @!macro promises.param.args
1163
+ # @!macro promise.param.callback
1164
+ # @return [self]
1165
+ # @yield [reason, *args] to the callback.
1166
+ def on_rejection!(*args, &callback)
1167
+ add_callback :callback_on_rejection, args, callback
1168
+ end
1169
+
1170
+ # Stores the callback to be executed asynchronously on executor after it is
1171
+ # rejected. Does nothing on fulfillment.
1172
+ #
1173
+ # @!macro promises.param.executor
1174
+ # @!macro promises.param.args
1175
+ # @!macro promise.param.callback
1176
+ # @return [self]
1177
+ # @yield [reason, *args] to the callback.
1178
+ def on_rejection_using(executor, *args, &callback)
1179
+ add_callback :async_callback_on_rejection, executor, args, callback
1180
+ end
1181
+
1182
+ # Allows to use futures as green threads. The receiver has to evaluate to a future which
1183
+ # represents what should be done next. It basically flattens indefinitely until non Future
1184
+ # values is returned which becomes result of the returned future. Any encountered exception
1185
+ # will become reason of the returned future.
1186
+ #
1187
+ # @return [Future]
1188
+ # @param [#call(value)] run_test
1189
+ # an object which when called returns either Future to keep running with
1190
+ # or nil, then the run completes with the value.
1191
+ # The run_test can be used to extract the Future from deeper structure,
1192
+ # or to distinguish Future which is a resulting value from a future
1193
+ # which is suppose to continue running.
1194
+ # @example
1195
+ # body = lambda do |v|
1196
+ # v += 1
1197
+ # v < 5 ? Promises.future(v, &body) : v
1198
+ # end
1199
+ # Promises.future(0, &body).run.value! # => 5
1200
+ def run(run_test = method(:run_test))
1201
+ RunFuturePromise.new_blocked_by1(self, @DefaultExecutor, run_test).future
1202
+ end
1203
+
1204
+ # @!visibility private
1205
+ def apply(args, block)
1206
+ internal_state.apply args, block
1207
+ end
1208
+
1209
+ # Converts future to event which is resolved when future is resolved by fulfillment or rejection.
1210
+ #
1211
+ # @return [Event]
1212
+ def to_event
1213
+ event = Promises.resolvable_event
1214
+ ensure
1215
+ chain_resolvable(event)
1216
+ end
1217
+
1218
+ # Returns self, since this is a future
1219
+ # @return [Future]
1220
+ def to_future
1221
+ self
1222
+ end
1223
+
1224
+ # @return [String] Short string representation.
1225
+ def to_s
1226
+ if resolved?
1227
+ format '%s with %s>', super[0..-2], (fulfilled? ? value : reason).inspect
1228
+ else
1229
+ super
1230
+ end
1231
+ end
1232
+
1233
+ alias_method :inspect, :to_s
1234
+
1235
+ private
1236
+
1237
+ def run_test(v)
1238
+ v if v.is_a?(Future)
1239
+ end
1240
+
1241
+ def rejected_resolution(raise_on_reassign, state)
1242
+ if raise_on_reassign
1243
+ if internal_state == RESERVED
1244
+ raise Concurrent::MultipleAssignmentError.new(
1245
+ "Future can be resolved only once. It is already reserved.")
1246
+ else
1247
+ raise Concurrent::MultipleAssignmentError.new(
1248
+ "Future can be resolved only once. It's #{result}, trying to set #{state.result}.",
1249
+ current_result: result,
1250
+ new_result: state.result)
1251
+ end
1252
+ end
1253
+ return false
1254
+ end
1255
+
1256
+ def wait_until_resolved!(timeout = nil)
1257
+ result = wait_until_resolved(timeout)
1258
+ raise self if rejected?
1259
+ result
1260
+ end
1261
+
1262
+ def async_callback_on_fulfillment(state, executor, args, callback)
1263
+ with_async(executor, state, args, callback) do |st, ar, cb|
1264
+ callback_on_fulfillment st, ar, cb
1265
+ end
1266
+ end
1267
+
1268
+ def async_callback_on_rejection(state, executor, args, callback)
1269
+ with_async(executor, state, args, callback) do |st, ar, cb|
1270
+ callback_on_rejection st, ar, cb
1271
+ end
1272
+ end
1273
+
1274
+ def callback_on_fulfillment(state, args, callback)
1275
+ state.apply args, callback if state.fulfilled?
1276
+ end
1277
+
1278
+ def callback_on_rejection(state, args, callback)
1279
+ state.apply args, callback unless state.fulfilled?
1280
+ end
1281
+
1282
+ def callback_on_resolution(state, args, callback)
1283
+ callback.call(*state.result, *args)
1284
+ end
1285
+
1286
+ end
1287
+
1288
+ # Marker module of Future, Event resolved manually.
1289
+ module Resolvable
1290
+ include InternalStates
1291
+ end
1292
+
1293
+ # A Event which can be resolved by user.
1294
+ class ResolvableEvent < Event
1295
+ include Resolvable
1296
+
1297
+ # @!macro raise_on_reassign
1298
+ # @raise [MultipleAssignmentError] when already resolved and raise_on_reassign is true.
1299
+
1300
+ # @!macro promise.param.raise_on_reassign
1301
+ # @param [Boolean] raise_on_reassign should method raise exception if already resolved
1302
+ # @return [self, false] false is returned when raise_on_reassign is false and the receiver
1303
+ # is already resolved.
1304
+ #
1305
+
1306
+ # Makes the event resolved, which triggers all dependent futures.
1307
+ #
1308
+ # @!macro promise.param.raise_on_reassign
1309
+ # @!macro promise.param.reserved
1310
+ # @param [true, false] reserved
1311
+ # Set to true if the resolvable is {#reserve}d by you,
1312
+ # marks resolution of reserved resolvable events and futures explicitly.
1313
+ # Advanced feature, ignore unless you use {Resolvable#reserve} from edge.
1314
+ def resolve(raise_on_reassign = true, reserved = false)
1315
+ resolve_with RESOLVED, raise_on_reassign, reserved
1316
+ end
1317
+
1318
+ # Creates new event wrapping receiver, effectively hiding the resolve method.
1319
+ #
1320
+ # @return [Event]
1321
+ def with_hidden_resolvable
1322
+ @with_hidden_resolvable ||= EventWrapperPromise.new_blocked_by1(self, @DefaultExecutor).event
1323
+ end
1324
+
1325
+ # Behaves as {AbstractEventFuture#wait} but has one additional optional argument
1326
+ # resolve_on_timeout.
1327
+ #
1328
+ # @param [true, false] resolve_on_timeout
1329
+ # If it times out and the argument is true it will also resolve the event.
1330
+ # @return [self, true, false]
1331
+ # @see AbstractEventFuture#wait
1332
+ def wait(timeout = nil, resolve_on_timeout = false)
1333
+ super(timeout) or if resolve_on_timeout
1334
+ # if it fails to resolve it was resolved in the meantime
1335
+ # so return true as if there was no timeout
1336
+ !resolve(false)
1337
+ else
1338
+ false
1339
+ end
1340
+ end
1341
+ end
1342
+
1343
+ # A Future which can be resolved by user.
1344
+ class ResolvableFuture < Future
1345
+ include Resolvable
1346
+
1347
+ # Makes the future resolved with result of triplet `fulfilled?`, `value`, `reason`,
1348
+ # which triggers all dependent futures.
1349
+ #
1350
+ # @param [true, false] fulfilled
1351
+ # @param [Object] value
1352
+ # @param [Object] reason
1353
+ # @!macro promise.param.raise_on_reassign
1354
+ # @!macro promise.param.reserved
1355
+ def resolve(fulfilled = true, value = nil, reason = nil, raise_on_reassign = true, reserved = false)
1356
+ resolve_with(fulfilled ? Fulfilled.new(value) : Rejected.new(reason), raise_on_reassign, reserved)
1357
+ end
1358
+
1359
+ # Makes the future fulfilled with `value`,
1360
+ # which triggers all dependent futures.
1361
+ #
1362
+ # @param [Object] value
1363
+ # @!macro promise.param.raise_on_reassign
1364
+ # @!macro promise.param.reserved
1365
+ def fulfill(value, raise_on_reassign = true, reserved = false)
1366
+ resolve_with Fulfilled.new(value), raise_on_reassign, reserved
1367
+ end
1368
+
1369
+ # Makes the future rejected with `reason`,
1370
+ # which triggers all dependent futures.
1371
+ #
1372
+ # @param [Object] reason
1373
+ # @!macro promise.param.raise_on_reassign
1374
+ # @!macro promise.param.reserved
1375
+ def reject(reason, raise_on_reassign = true, reserved = false)
1376
+ resolve_with Rejected.new(reason), raise_on_reassign, reserved
1377
+ end
1378
+
1379
+ # Evaluates the block and sets its result as future's value fulfilling, if the block raises
1380
+ # an exception the future rejects with it.
1381
+ #
1382
+ # @yield [*args] to the block.
1383
+ # @yieldreturn [Object] value
1384
+ # @return [self]
1385
+ def evaluate_to(*args, &block)
1386
+ promise.evaluate_to(*args, block)
1387
+ end
1388
+
1389
+ # Evaluates the block and sets its result as future's value fulfilling, if the block raises
1390
+ # an exception the future rejects with it.
1391
+ #
1392
+ # @yield [*args] to the block.
1393
+ # @yieldreturn [Object] value
1394
+ # @return [self]
1395
+ # @raise [Exception] also raise reason on rejection.
1396
+ def evaluate_to!(*args, &block)
1397
+ promise.evaluate_to(*args, block).wait!
1398
+ end
1399
+
1400
+ # @!macro promises.resolvable.resolve_on_timeout
1401
+ # @param [::Array(true, Object, nil), ::Array(false, nil, Exception), nil] resolve_on_timeout
1402
+ # If it times out and the argument is not nil it will also resolve the future
1403
+ # to the provided resolution.
1404
+
1405
+ # Behaves as {AbstractEventFuture#wait} but has one additional optional argument
1406
+ # resolve_on_timeout.
1407
+ #
1408
+ # @!macro promises.resolvable.resolve_on_timeout
1409
+ # @return [self, true, false]
1410
+ # @see AbstractEventFuture#wait
1411
+ def wait(timeout = nil, resolve_on_timeout = nil)
1412
+ super(timeout) or if resolve_on_timeout
1413
+ # if it fails to resolve it was resolved in the meantime
1414
+ # so return true as if there was no timeout
1415
+ !resolve(*resolve_on_timeout, false)
1416
+ else
1417
+ false
1418
+ end
1419
+ end
1420
+
1421
+ # Behaves as {Future#wait!} but has one additional optional argument
1422
+ # resolve_on_timeout.
1423
+ #
1424
+ # @!macro promises.resolvable.resolve_on_timeout
1425
+ # @return [self, true, false]
1426
+ # @raise [Exception] {#reason} on rejection
1427
+ # @see Future#wait!
1428
+ def wait!(timeout = nil, resolve_on_timeout = nil)
1429
+ super(timeout) or if resolve_on_timeout
1430
+ if resolve(*resolve_on_timeout, false)
1431
+ false
1432
+ else
1433
+ # if it fails to resolve it was resolved in the meantime
1434
+ # so return true as if there was no timeout
1435
+ raise self if rejected?
1436
+ true
1437
+ end
1438
+ else
1439
+ false
1440
+ end
1441
+ end
1442
+
1443
+ # Behaves as {Future#value} but has one additional optional argument
1444
+ # resolve_on_timeout.
1445
+ #
1446
+ # @!macro promises.resolvable.resolve_on_timeout
1447
+ # @return [Object, timeout_value, nil]
1448
+ # @see Future#value
1449
+ def value(timeout = nil, timeout_value = nil, resolve_on_timeout = nil)
1450
+ if wait_until_resolved timeout
1451
+ internal_state.value
1452
+ else
1453
+ if resolve_on_timeout
1454
+ unless resolve(*resolve_on_timeout, false)
1455
+ # if it fails to resolve it was resolved in the meantime
1456
+ # so return value as if there was no timeout
1457
+ return internal_state.value
1458
+ end
1459
+ end
1460
+ timeout_value
1461
+ end
1462
+ end
1463
+
1464
+ # Behaves as {Future#value!} but has one additional optional argument
1465
+ # resolve_on_timeout.
1466
+ #
1467
+ # @!macro promises.resolvable.resolve_on_timeout
1468
+ # @return [Object, timeout_value, nil]
1469
+ # @raise [Exception] {#reason} on rejection
1470
+ # @see Future#value!
1471
+ def value!(timeout = nil, timeout_value = nil, resolve_on_timeout = nil)
1472
+ if wait_until_resolved! timeout
1473
+ internal_state.value
1474
+ else
1475
+ if resolve_on_timeout
1476
+ unless resolve(*resolve_on_timeout, false)
1477
+ # if it fails to resolve it was resolved in the meantime
1478
+ # so return value as if there was no timeout
1479
+ raise self if rejected?
1480
+ return internal_state.value
1481
+ end
1482
+ end
1483
+ timeout_value
1484
+ end
1485
+ end
1486
+
1487
+ # Behaves as {Future#reason} but has one additional optional argument
1488
+ # resolve_on_timeout.
1489
+ #
1490
+ # @!macro promises.resolvable.resolve_on_timeout
1491
+ # @return [Exception, timeout_value, nil]
1492
+ # @see Future#reason
1493
+ def reason(timeout = nil, timeout_value = nil, resolve_on_timeout = nil)
1494
+ if wait_until_resolved timeout
1495
+ internal_state.reason
1496
+ else
1497
+ if resolve_on_timeout
1498
+ unless resolve(*resolve_on_timeout, false)
1499
+ # if it fails to resolve it was resolved in the meantime
1500
+ # so return value as if there was no timeout
1501
+ return internal_state.reason
1502
+ end
1503
+ end
1504
+ timeout_value
1505
+ end
1506
+ end
1507
+
1508
+ # Behaves as {Future#result} but has one additional optional argument
1509
+ # resolve_on_timeout.
1510
+ #
1511
+ # @!macro promises.resolvable.resolve_on_timeout
1512
+ # @return [::Array(Boolean, Object, Exception), nil]
1513
+ # @see Future#result
1514
+ def result(timeout = nil, resolve_on_timeout = nil)
1515
+ if wait_until_resolved timeout
1516
+ internal_state.result
1517
+ else
1518
+ if resolve_on_timeout
1519
+ unless resolve(*resolve_on_timeout, false)
1520
+ # if it fails to resolve it was resolved in the meantime
1521
+ # so return value as if there was no timeout
1522
+ internal_state.result
1523
+ end
1524
+ end
1525
+ # otherwise returns nil
1526
+ end
1527
+ end
1528
+
1529
+ # Creates new future wrapping receiver, effectively hiding the resolve method and similar.
1530
+ #
1531
+ # @return [Future]
1532
+ def with_hidden_resolvable
1533
+ @with_hidden_resolvable ||= FutureWrapperPromise.new_blocked_by1(self, @DefaultExecutor).future
1534
+ end
1535
+ end
1536
+
1537
+ # @abstract
1538
+ # @private
1539
+ class AbstractPromise < Synchronization::Object
1540
+ safe_initialization!
1541
+ include InternalStates
1542
+
1543
+ def initialize(future)
1544
+ super()
1545
+ @Future = future
1546
+ end
1547
+
1548
+ def future
1549
+ @Future
1550
+ end
1551
+
1552
+ alias_method :event, :future
1553
+
1554
+ def default_executor
1555
+ future.default_executor
1556
+ end
1557
+
1558
+ def state
1559
+ future.state
1560
+ end
1561
+
1562
+ def touch
1563
+ end
1564
+
1565
+ def to_s
1566
+ format '%s %s>', super[0..-2], @Future
1567
+ end
1568
+
1569
+ alias_method :inspect, :to_s
1570
+
1571
+ def delayed_because
1572
+ nil
1573
+ end
1574
+
1575
+ private
1576
+
1577
+ def resolve_with(new_state, raise_on_reassign = true)
1578
+ @Future.resolve_with(new_state, raise_on_reassign)
1579
+ end
1580
+
1581
+ # @return [Future]
1582
+ def evaluate_to(*args, block)
1583
+ resolve_with Fulfilled.new(block.call(*args))
1584
+ rescue Exception => error
1585
+ resolve_with Rejected.new(error)
1586
+ raise error unless error.is_a?(StandardError)
1587
+ end
1588
+ end
1589
+
1590
+ class ResolvableEventPromise < AbstractPromise
1591
+ def initialize(default_executor)
1592
+ super ResolvableEvent.new(self, default_executor)
1593
+ end
1594
+ end
1595
+
1596
+ class ResolvableFuturePromise < AbstractPromise
1597
+ def initialize(default_executor)
1598
+ super ResolvableFuture.new(self, default_executor)
1599
+ end
1600
+
1601
+ public :evaluate_to
1602
+ end
1603
+
1604
+ # @abstract
1605
+ class InnerPromise < AbstractPromise
1606
+ end
1607
+
1608
+ # @abstract
1609
+ class BlockedPromise < InnerPromise
1610
+
1611
+ private_class_method :new
1612
+
1613
+ def self.new_blocked_by1(blocker, *args, &block)
1614
+ blocker_delayed = blocker.promise.delayed_because
1615
+ promise = new(blocker_delayed, 1, *args, &block)
1616
+ blocker.add_callback_notify_blocked promise, 0
1617
+ promise
1618
+ end
1619
+
1620
+ def self.new_blocked_by2(blocker1, blocker2, *args, &block)
1621
+ blocker_delayed1 = blocker1.promise.delayed_because
1622
+ blocker_delayed2 = blocker2.promise.delayed_because
1623
+ delayed = if blocker_delayed1 && blocker_delayed2
1624
+ # TODO (pitr-ch 23-Dec-2016): use arrays when we know it will not grow (only flat adds delay)
1625
+ LockFreeStack.of2(blocker_delayed1, blocker_delayed2)
1626
+ else
1627
+ blocker_delayed1 || blocker_delayed2
1628
+ end
1629
+ promise = new(delayed, 2, *args, &block)
1630
+ blocker1.add_callback_notify_blocked promise, 0
1631
+ blocker2.add_callback_notify_blocked promise, 1
1632
+ promise
1633
+ end
1634
+
1635
+ def self.new_blocked_by(blockers, *args, &block)
1636
+ delayed = blockers.reduce(nil) { |d, f| add_delayed d, f.promise.delayed_because }
1637
+ promise = new(delayed, blockers.size, *args, &block)
1638
+ blockers.each_with_index { |f, i| f.add_callback_notify_blocked promise, i }
1639
+ promise
1640
+ end
1641
+
1642
+ def self.add_delayed(delayed1, delayed2)
1643
+ if delayed1 && delayed2
1644
+ delayed1.push delayed2
1645
+ delayed1
1646
+ else
1647
+ delayed1 || delayed2
1648
+ end
1649
+ end
1650
+
1651
+ def initialize(delayed, blockers_count, future)
1652
+ super(future)
1653
+ @Delayed = delayed
1654
+ @Countdown = AtomicFixnum.new blockers_count
1655
+ end
1656
+
1657
+ def on_blocker_resolution(future, index)
1658
+ countdown = process_on_blocker_resolution(future, index)
1659
+ resolvable = resolvable?(countdown, future, index)
1660
+
1661
+ on_resolvable(future, index) if resolvable
1662
+ end
1663
+
1664
+ def delayed_because
1665
+ @Delayed
1666
+ end
1667
+
1668
+ def touch
1669
+ clear_and_propagate_touch
1670
+ end
1671
+
1672
+ # for inspection only
1673
+ def blocked_by
1674
+ blocked_by = []
1675
+ ObjectSpace.each_object(AbstractEventFuture) { |o| blocked_by.push o if o.blocks.include? self }
1676
+ blocked_by
1677
+ end
1678
+
1679
+ private
1680
+
1681
+ def clear_and_propagate_touch(stack_or_element = @Delayed)
1682
+ return if stack_or_element.nil?
1683
+
1684
+ if stack_or_element.is_a? LockFreeStack
1685
+ stack_or_element.clear_each { |element| clear_and_propagate_touch element }
1686
+ else
1687
+ stack_or_element.touch unless stack_or_element.nil? # if still present
1688
+ end
1689
+ end
1690
+
1691
+ # @return [true,false] if resolvable
1692
+ def resolvable?(countdown, future, index)
1693
+ countdown.zero?
1694
+ end
1695
+
1696
+ def process_on_blocker_resolution(future, index)
1697
+ @Countdown.decrement
1698
+ end
1699
+
1700
+ def on_resolvable(resolved_future, index)
1701
+ raise NotImplementedError
1702
+ end
1703
+ end
1704
+
1705
+ # @abstract
1706
+ class BlockedTaskPromise < BlockedPromise
1707
+ def initialize(delayed, blockers_count, default_executor, executor, args, &task)
1708
+ raise ArgumentError, 'no block given' unless block_given?
1709
+ super delayed, 1, Future.new(self, default_executor)
1710
+ @Executor = executor
1711
+ @Task = task
1712
+ @Args = args
1713
+ end
1714
+
1715
+ def executor
1716
+ @Executor
1717
+ end
1718
+ end
1719
+
1720
+ class ThenPromise < BlockedTaskPromise
1721
+ private
1722
+
1723
+ def initialize(delayed, blockers_count, default_executor, executor, args, &task)
1724
+ super delayed, blockers_count, default_executor, executor, args, &task
1725
+ end
1726
+
1727
+ def on_resolvable(resolved_future, index)
1728
+ if resolved_future.fulfilled?
1729
+ Concurrent.executor(@Executor).post(resolved_future, @Args, @Task) do |future, args, task|
1730
+ evaluate_to lambda { future.apply args, task }
1731
+ end
1732
+ else
1733
+ resolve_with resolved_future.internal_state
1734
+ end
1735
+ end
1736
+ end
1737
+
1738
+ class RescuePromise < BlockedTaskPromise
1739
+ private
1740
+
1741
+ def initialize(delayed, blockers_count, default_executor, executor, args, &task)
1742
+ super delayed, blockers_count, default_executor, executor, args, &task
1743
+ end
1744
+
1745
+ def on_resolvable(resolved_future, index)
1746
+ if resolved_future.rejected?
1747
+ Concurrent.executor(@Executor).post(resolved_future, @Args, @Task) do |future, args, task|
1748
+ evaluate_to lambda { future.apply args, task }
1749
+ end
1750
+ else
1751
+ resolve_with resolved_future.internal_state
1752
+ end
1753
+ end
1754
+ end
1755
+
1756
+ class ChainPromise < BlockedTaskPromise
1757
+ private
1758
+
1759
+ def on_resolvable(resolved_future, index)
1760
+ if Future === resolved_future
1761
+ Concurrent.executor(@Executor).post(resolved_future, @Args, @Task) do |future, args, task|
1762
+ evaluate_to(*future.result, *args, task)
1763
+ end
1764
+ else
1765
+ Concurrent.executor(@Executor).post(@Args, @Task) do |args, task|
1766
+ evaluate_to(*args, task)
1767
+ end
1768
+ end
1769
+ end
1770
+ end
1771
+
1772
+ # will be immediately resolved
1773
+ class ImmediateEventPromise < InnerPromise
1774
+ def initialize(default_executor)
1775
+ super Event.new(self, default_executor).resolve_with(RESOLVED)
1776
+ end
1777
+ end
1778
+
1779
+ class ImmediateFuturePromise < InnerPromise
1780
+ def initialize(default_executor, fulfilled, value, reason)
1781
+ super Future.new(self, default_executor).
1782
+ resolve_with(fulfilled ? Fulfilled.new(value) : Rejected.new(reason))
1783
+ end
1784
+ end
1785
+
1786
+ class AbstractFlatPromise < BlockedPromise
1787
+
1788
+ def initialize(delayed_because, blockers_count, event_or_future)
1789
+ delayed = LockFreeStack.of1(self)
1790
+ super(delayed, blockers_count, event_or_future)
1791
+ # noinspection RubyArgCount
1792
+ @Touched = AtomicBoolean.new false
1793
+ @DelayedBecause = delayed_because || LockFreeStack.new
1794
+
1795
+ event_or_future.add_callback_clear_delayed_node delayed.peek
1796
+ end
1797
+
1798
+ def touch
1799
+ if @Touched.make_true
1800
+ clear_and_propagate_touch @DelayedBecause
1801
+ end
1802
+ end
1803
+
1804
+ private
1805
+
1806
+ def touched?
1807
+ @Touched.value
1808
+ end
1809
+
1810
+ def on_resolvable(resolved_future, index)
1811
+ resolve_with resolved_future.internal_state
1812
+ end
1813
+
1814
+ def resolvable?(countdown, future, index)
1815
+ !@Future.internal_state.resolved? && super(countdown, future, index)
1816
+ end
1817
+
1818
+ def add_delayed_of(future)
1819
+ delayed = future.promise.delayed_because
1820
+ if touched?
1821
+ clear_and_propagate_touch delayed
1822
+ else
1823
+ BlockedPromise.add_delayed @DelayedBecause, delayed
1824
+ clear_and_propagate_touch @DelayedBecause if touched?
1825
+ end
1826
+ end
1827
+
1828
+ end
1829
+
1830
+ class FlatEventPromise < AbstractFlatPromise
1831
+
1832
+ private
1833
+
1834
+ def initialize(delayed, blockers_count, default_executor)
1835
+ super delayed, 2, Event.new(self, default_executor)
1836
+ end
1837
+
1838
+ def process_on_blocker_resolution(future, index)
1839
+ countdown = super(future, index)
1840
+ if countdown.nonzero?
1841
+ internal_state = future.internal_state
1842
+
1843
+ unless internal_state.fulfilled?
1844
+ resolve_with RESOLVED
1845
+ return countdown
1846
+ end
1847
+
1848
+ value = internal_state.value
1849
+ case value
1850
+ when AbstractEventFuture
1851
+ add_delayed_of value
1852
+ value.add_callback_notify_blocked self, nil
1853
+ countdown
1854
+ else
1855
+ resolve_with RESOLVED
1856
+ end
1857
+ end
1858
+ countdown
1859
+ end
1860
+
1861
+ end
1862
+
1863
+ class FlatFuturePromise < AbstractFlatPromise
1864
+
1865
+ private
1866
+
1867
+ def initialize(delayed, blockers_count, levels, default_executor)
1868
+ raise ArgumentError, 'levels has to be higher than 0' if levels < 1
1869
+ # flat promise may result to a future having delayed futures, therefore we have to have empty stack
1870
+ # to be able to add new delayed futures
1871
+ super delayed || LockFreeStack.new, 1 + levels, Future.new(self, default_executor)
1872
+ end
1873
+
1874
+ def process_on_blocker_resolution(future, index)
1875
+ countdown = super(future, index)
1876
+ if countdown.nonzero?
1877
+ internal_state = future.internal_state
1878
+
1879
+ unless internal_state.fulfilled?
1880
+ resolve_with internal_state
1881
+ return countdown
1882
+ end
1883
+
1884
+ value = internal_state.value
1885
+ case value
1886
+ when AbstractEventFuture
1887
+ add_delayed_of value
1888
+ value.add_callback_notify_blocked self, nil
1889
+ countdown
1890
+ else
1891
+ evaluate_to(lambda { raise TypeError, "returned value #{value.inspect} is not a Future" })
1892
+ end
1893
+ end
1894
+ countdown
1895
+ end
1896
+
1897
+ end
1898
+
1899
+ class RunFuturePromise < AbstractFlatPromise
1900
+
1901
+ private
1902
+
1903
+ def initialize(delayed, blockers_count, default_executor, run_test)
1904
+ super delayed, 1, Future.new(self, default_executor)
1905
+ @RunTest = run_test
1906
+ end
1907
+
1908
+ def process_on_blocker_resolution(future, index)
1909
+ internal_state = future.internal_state
1910
+
1911
+ unless internal_state.fulfilled?
1912
+ resolve_with internal_state
1913
+ return 0
1914
+ end
1915
+
1916
+ value = internal_state.value
1917
+ continuation_future = @RunTest.call value
1918
+
1919
+ if continuation_future
1920
+ add_delayed_of continuation_future
1921
+ continuation_future.add_callback_notify_blocked self, nil
1922
+ else
1923
+ resolve_with internal_state
1924
+ end
1925
+
1926
+ 1
1927
+ end
1928
+ end
1929
+
1930
+ class ZipEventEventPromise < BlockedPromise
1931
+ def initialize(delayed, blockers_count, default_executor)
1932
+ super delayed, 2, Event.new(self, default_executor)
1933
+ end
1934
+
1935
+ private
1936
+
1937
+ def on_resolvable(resolved_future, index)
1938
+ resolve_with RESOLVED
1939
+ end
1940
+ end
1941
+
1942
+ class ZipFutureEventPromise < BlockedPromise
1943
+ def initialize(delayed, blockers_count, default_executor)
1944
+ super delayed, 2, Future.new(self, default_executor)
1945
+ @result = nil
1946
+ end
1947
+
1948
+ private
1949
+
1950
+ def process_on_blocker_resolution(future, index)
1951
+ # first blocking is future, take its result
1952
+ @result = future.internal_state if index == 0
1953
+ # super has to be called after above to piggyback on volatile @Countdown
1954
+ super future, index
1955
+ end
1956
+
1957
+ def on_resolvable(resolved_future, index)
1958
+ resolve_with @result
1959
+ end
1960
+ end
1961
+
1962
+ class EventWrapperPromise < BlockedPromise
1963
+ def initialize(delayed, blockers_count, default_executor)
1964
+ super delayed, 1, Event.new(self, default_executor)
1965
+ end
1966
+
1967
+ private
1968
+
1969
+ def on_resolvable(resolved_future, index)
1970
+ resolve_with RESOLVED
1971
+ end
1972
+ end
1973
+
1974
+ class FutureWrapperPromise < BlockedPromise
1975
+ def initialize(delayed, blockers_count, default_executor)
1976
+ super delayed, 1, Future.new(self, default_executor)
1977
+ end
1978
+
1979
+ private
1980
+
1981
+ def on_resolvable(resolved_future, index)
1982
+ resolve_with resolved_future.internal_state
1983
+ end
1984
+ end
1985
+
1986
+ class ZipFuturesPromise < BlockedPromise
1987
+
1988
+ private
1989
+
1990
+ def initialize(delayed, blockers_count, default_executor)
1991
+ super(delayed, blockers_count, Future.new(self, default_executor))
1992
+ @Resolutions = ::Array.new(blockers_count, nil)
1993
+
1994
+ on_resolvable nil, nil if blockers_count == 0
1995
+ end
1996
+
1997
+ def process_on_blocker_resolution(future, index)
1998
+ # TODO (pitr-ch 18-Dec-2016): Can we assume that array will never break under parallel access when never re-sized?
1999
+ @Resolutions[index] = future.internal_state # has to be set before countdown in super
2000
+ super future, index
2001
+ end
2002
+
2003
+ def on_resolvable(resolved_future, index)
2004
+ all_fulfilled = true
2005
+ values = ::Array.new(@Resolutions.size)
2006
+ reasons = ::Array.new(@Resolutions.size)
2007
+
2008
+ @Resolutions.each_with_index do |internal_state, i|
2009
+ fulfilled, values[i], reasons[i] = internal_state.result
2010
+ all_fulfilled &&= fulfilled
2011
+ end
2012
+
2013
+ if all_fulfilled
2014
+ resolve_with FulfilledArray.new(values)
2015
+ else
2016
+ resolve_with PartiallyRejected.new(values, reasons)
2017
+ end
2018
+ end
2019
+ end
2020
+
2021
+ class ZipEventsPromise < BlockedPromise
2022
+
2023
+ private
2024
+
2025
+ def initialize(delayed, blockers_count, default_executor)
2026
+ super delayed, blockers_count, Event.new(self, default_executor)
2027
+
2028
+ on_resolvable nil, nil if blockers_count == 0
2029
+ end
2030
+
2031
+ def on_resolvable(resolved_future, index)
2032
+ resolve_with RESOLVED
2033
+ end
2034
+ end
2035
+
2036
+ # @abstract
2037
+ class AbstractAnyPromise < BlockedPromise
2038
+ end
2039
+
2040
+ class AnyResolvedEventPromise < AbstractAnyPromise
2041
+
2042
+ private
2043
+
2044
+ def initialize(delayed, blockers_count, default_executor)
2045
+ super delayed, blockers_count, Event.new(self, default_executor)
2046
+ end
2047
+
2048
+ def resolvable?(countdown, future, index)
2049
+ true
2050
+ end
2051
+
2052
+ def on_resolvable(resolved_future, index)
2053
+ resolve_with RESOLVED, false
2054
+ end
2055
+ end
2056
+
2057
+ class AnyResolvedFuturePromise < AbstractAnyPromise
2058
+
2059
+ private
2060
+
2061
+ def initialize(delayed, blockers_count, default_executor)
2062
+ super delayed, blockers_count, Future.new(self, default_executor)
2063
+ end
2064
+
2065
+ def resolvable?(countdown, future, index)
2066
+ true
2067
+ end
2068
+
2069
+ def on_resolvable(resolved_future, index)
2070
+ resolve_with resolved_future.internal_state, false
2071
+ end
2072
+ end
2073
+
2074
+ class AnyFulfilledFuturePromise < AnyResolvedFuturePromise
2075
+
2076
+ private
2077
+
2078
+ def resolvable?(countdown, event_or_future, index)
2079
+ (event_or_future.is_a?(Event) ? event_or_future.resolved? : event_or_future.fulfilled?) ||
2080
+ # inlined super from BlockedPromise
2081
+ countdown.zero?
2082
+ end
2083
+ end
2084
+
2085
+ class DelayPromise < InnerPromise
2086
+
2087
+ def initialize(default_executor)
2088
+ event = Event.new(self, default_executor)
2089
+ @Delayed = LockFreeStack.of1(self)
2090
+ super event
2091
+ event.add_callback_clear_delayed_node @Delayed.peek
2092
+ end
2093
+
2094
+ def touch
2095
+ @Future.resolve_with RESOLVED
2096
+ end
2097
+
2098
+ def delayed_because
2099
+ @Delayed
2100
+ end
2101
+
2102
+ end
2103
+
2104
+ class ScheduledPromise < InnerPromise
2105
+ def intended_time
2106
+ @IntendedTime
2107
+ end
2108
+
2109
+ def inspect
2110
+ "#{to_s[0..-2]} intended_time: #{@IntendedTime}>"
2111
+ end
2112
+
2113
+ private
2114
+
2115
+ def initialize(default_executor, intended_time)
2116
+ super Event.new(self, default_executor)
2117
+
2118
+ @IntendedTime = intended_time
2119
+
2120
+ in_seconds = begin
2121
+ now = Time.now
2122
+ schedule_time = if @IntendedTime.is_a? Time
2123
+ @IntendedTime
2124
+ else
2125
+ now + @IntendedTime
2126
+ end
2127
+ [0, schedule_time.to_f - now.to_f].max
2128
+ end
2129
+
2130
+ Concurrent.global_timer_set.post(in_seconds) do
2131
+ @Future.resolve_with RESOLVED
2132
+ end
2133
+ end
2134
+ end
2135
+
2136
+ extend FactoryMethods
2137
+
2138
+ private_constant :AbstractPromise,
2139
+ :ResolvableEventPromise,
2140
+ :ResolvableFuturePromise,
2141
+ :InnerPromise,
2142
+ :BlockedPromise,
2143
+ :BlockedTaskPromise,
2144
+ :ThenPromise,
2145
+ :RescuePromise,
2146
+ :ChainPromise,
2147
+ :ImmediateEventPromise,
2148
+ :ImmediateFuturePromise,
2149
+ :AbstractFlatPromise,
2150
+ :FlatFuturePromise,
2151
+ :FlatEventPromise,
2152
+ :RunFuturePromise,
2153
+ :ZipEventEventPromise,
2154
+ :ZipFutureEventPromise,
2155
+ :EventWrapperPromise,
2156
+ :FutureWrapperPromise,
2157
+ :ZipFuturesPromise,
2158
+ :ZipEventsPromise,
2159
+ :AbstractAnyPromise,
2160
+ :AnyResolvedFuturePromise,
2161
+ :AnyFulfilledFuturePromise,
2162
+ :AnyResolvedEventPromise,
2163
+ :DelayPromise,
2164
+ :ScheduledPromise
2165
+
2166
+
2167
+ end
2168
+ end