roast-ai 1.0.2 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. checksums.yaml +4 -4
  2. data/.claude/commands/docs/write-comments.md +1 -1
  3. data/.rubocop.yml +12 -1
  4. data/Gemfile +2 -2
  5. data/Gemfile.lock +149 -34
  6. data/README.md +56 -3
  7. data/examples/agent_with_multiple_prompts.rb +27 -0
  8. data/examples/custom_logging.rb +4 -2
  9. data/examples/demo/Gemfile.lock +49 -15
  10. data/examples/plugin-gem-example/Gemfile.lock +19 -15
  11. data/examples/simple_chat.rb +1 -1
  12. data/examples/simple_pi_agent.rb +18 -0
  13. data/internal/rubocop/cop/roast/no_test_class_nesting.rb +126 -0
  14. data/internal/rubocop/rubocop-roast.yml +6 -0
  15. data/internal/workflows/maintenance/branch_docs_impact.rb +97 -0
  16. data/internal/workflows/maintenance/deprecated_models_docs_updater.rb +78 -0
  17. data/lib/roast/cog/config.rb +1 -1
  18. data/lib/roast/cog/output.rb +2 -1
  19. data/lib/roast/cog/registry.rb +3 -3
  20. data/lib/roast/cog_input_manager.rb +28 -7
  21. data/lib/roast/cogs/agent/config.rb +2 -2
  22. data/lib/roast/cogs/agent/input.rb +20 -22
  23. data/lib/roast/cogs/agent/providers/claude/claude_invocation.rb +13 -5
  24. data/lib/roast/cogs/agent/providers/claude/messages/result_message.rb +1 -1
  25. data/lib/roast/cogs/agent/providers/claude/tool_result.rb +344 -4
  26. data/lib/roast/cogs/agent/providers/claude/tool_use.rb +356 -1
  27. data/lib/roast/cogs/agent/providers/claude.rb +16 -3
  28. data/lib/roast/cogs/agent/providers/pi/messages/tool_call_message.rb +60 -0
  29. data/lib/roast/cogs/agent/providers/pi/messages/tool_result_message.rb +57 -0
  30. data/lib/roast/cogs/agent/providers/pi/pi_invocation.rb +352 -0
  31. data/lib/roast/cogs/agent/providers/pi.rb +41 -0
  32. data/lib/roast/cogs/agent/stats.rb +29 -0
  33. data/lib/roast/cogs/agent/usage.rb +22 -0
  34. data/lib/roast/cogs/agent.rb +5 -6
  35. data/lib/roast/cogs/chat/config.rb +28 -2
  36. data/lib/roast/cogs/chat.rb +82 -10
  37. data/lib/roast/event.rb +1 -0
  38. data/lib/roast/event_monitor.rb +35 -3
  39. data/lib/roast/log.rb +21 -0
  40. data/lib/roast/log_formatter.rb +9 -7
  41. data/lib/roast/version.rb +1 -1
  42. data/lib/roast.rb +1 -3
  43. data/roast-ai.gemspec +2 -1
  44. data/sorbet/rbi/gems/activesupport@8.0.2.rbi +549 -383
  45. data/sorbet/rbi/gems/addressable@2.8.7.rbi +46 -44
  46. data/sorbet/rbi/gems/ast@2.4.3.rbi +7 -6
  47. data/sorbet/rbi/gems/async@2.34.0.rbi +21 -3
  48. data/sorbet/rbi/gems/benchmark@0.4.1.rbi +7 -7
  49. data/sorbet/rbi/gems/bigdecimal@3.2.2.rbi +198 -1
  50. data/sorbet/rbi/gems/concurrent-ruby@1.3.5.rbi +405 -328
  51. data/sorbet/rbi/gems/console@1.34.2.rbi +2 -2
  52. data/sorbet/rbi/gems/docile@1.4.1.rbi +30 -30
  53. data/sorbet/rbi/gems/drb@2.2.3.rbi +25 -25
  54. data/sorbet/rbi/gems/erubi@1.13.1.rbi +2 -0
  55. data/sorbet/rbi/gems/faraday-net_http@3.4.2.rbi +2 -77
  56. data/sorbet/rbi/gems/faraday-retry@2.3.2.rbi +2 -57
  57. data/sorbet/rbi/gems/faraday@2.14.1.rbi +382 -75
  58. data/sorbet/rbi/gems/guard-compat@1.2.1.rbi +1 -110
  59. data/sorbet/rbi/gems/guard-minitest@2.4.6.rbi +0 -139
  60. data/sorbet/rbi/gems/guard@2.19.1.rbi +38 -38
  61. data/sorbet/rbi/gems/hashdiff@1.2.0.rbi +3 -3
  62. data/sorbet/rbi/gems/i18n@1.14.7.rbi +53 -29
  63. data/sorbet/rbi/gems/io-event@1.14.0.rbi +67 -10
  64. data/sorbet/rbi/gems/json@2.18.1.rbi +227 -5
  65. data/sorbet/rbi/gems/lint_roller@1.1.0.rbi +83 -0
  66. data/sorbet/rbi/gems/listen@3.9.0.rbi +7 -7
  67. data/sorbet/rbi/gems/logger@1.7.0.rbi +3 -3
  68. data/sorbet/rbi/gems/lumberjack@1.2.10.rbi +21 -21
  69. data/sorbet/rbi/gems/marcel@1.1.0.rbi +1 -1
  70. data/sorbet/rbi/gems/minitest-rg@5.3.0.rbi +0 -96
  71. data/sorbet/rbi/gems/minitest@5.25.5.rbi +1 -16
  72. data/sorbet/rbi/gems/net-http@0.9.1.rbi +27 -19
  73. data/sorbet/rbi/gems/netrc@0.11.0.rbi +18 -0
  74. data/sorbet/rbi/gems/notiffany@0.1.3.rbi +20 -20
  75. data/sorbet/rbi/gems/ostruct@0.6.2.rbi +149 -15
  76. data/sorbet/rbi/gems/parser@3.3.8.0.rbi +141 -139
  77. data/sorbet/rbi/gems/prism@1.4.0.rbi +922 -864
  78. data/sorbet/rbi/gems/public_suffix@6.0.2.rbi +56 -35
  79. data/sorbet/rbi/gems/racc@1.8.1.rbi +10 -2
  80. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +12 -12
  81. data/sorbet/rbi/gems/rake@13.3.0.rbi +219 -318
  82. data/sorbet/rbi/gems/{rbi@0.3.6.rbi → rbi@0.3.9.rbi} +612 -2267
  83. data/sorbet/rbi/gems/{rbs@3.9.4.rbi → rbs@4.0.0.dev.5.rbi} +2013 -680
  84. data/sorbet/rbi/gems/regexp_parser@2.10.0.rbi +151 -113
  85. data/sorbet/rbi/gems/require-hooks@0.2.3.rbi +110 -0
  86. data/sorbet/rbi/gems/rexml@3.4.2.rbi +24 -51
  87. data/sorbet/rbi/gems/rubocop-ast@1.45.1.rbi +506 -815
  88. data/sorbet/rbi/gems/rubocop-sorbet@0.10.5.rbi +16 -16
  89. data/sorbet/rbi/gems/rubocop@1.77.0.rbi +2692 -2327
  90. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +8 -8
  91. data/sorbet/rbi/gems/ruby_llm@1.8.2.rbi +38 -23
  92. data/sorbet/rbi/gems/securerandom@0.4.1.rbi +1 -1
  93. data/sorbet/rbi/gems/simplecov-html@0.13.2.rbi +2 -131
  94. data/sorbet/rbi/gems/simplecov@0.22.0.rbi +28 -127
  95. data/sorbet/rbi/gems/{spoom@1.6.3.rbi → spoom@1.7.11.rbi} +1139 -2246
  96. data/sorbet/rbi/gems/sqlite3@2.9.0.rbi +91 -1
  97. data/sorbet/rbi/gems/{tapioca@0.16.11.rbi → tapioca@0.17.10.rbi} +721 -835
  98. data/sorbet/rbi/gems/thor@1.4.0.rbi +53 -53
  99. data/sorbet/rbi/gems/tsort@0.2.0.rbi +393 -0
  100. data/sorbet/rbi/gems/type_toolkit@0.0.5.rbi +49 -0
  101. data/sorbet/rbi/gems/tzinfo@2.0.6.rbi +144 -143
  102. data/sorbet/rbi/gems/uri@1.1.1.rbi +7 -7
  103. data/sorbet/rbi/gems/vcr@6.3.1.rbi +53 -36
  104. data/sorbet/rbi/gems/webmock@3.25.1.rbi +38 -13
  105. data/sorbet/rbi/gems/zeitwerk@2.7.3.rbi +39 -272
  106. data/sorbet/rbi/shims/lib/roast/execution_context.rbi +3 -3
  107. data/tutorial/01_your_first_workflow/README.md +9 -5
  108. data/tutorial/01_your_first_workflow/configured_chat.rb +1 -1
  109. data/tutorial/02_chaining_cogs/README.md +2 -2
  110. data/tutorial/02_chaining_cogs/code_review.rb +1 -1
  111. data/tutorial/02_chaining_cogs/session_resumption.rb +1 -1
  112. data/tutorial/03_targets_and_params/README.md +1 -1
  113. data/tutorial/04_configuration_options/README.md +2 -2
  114. data/tutorial/08_iterative_workflows/README.md +1 -1
  115. data/tutorial/README.md +1 -1
  116. metadata +39 -17
  117. data/docs/AGENT_STEPS.md +0 -288
  118. data/docs/INSTRUMENTATION.md +0 -243
  119. data/docs/ITERATION_SYNTAX.md +0 -147
  120. data/docs/VALIDATION.md +0 -178
  121. data/lib/roast/nil_assertions.rb +0 -23
  122. /data/internal/documentation/{architectural-notes.md → comments/architectural-notes.md} +0 -0
  123. /data/internal/documentation/{doc-comments-external.md → comments/doc-comments-external.md} +0 -0
  124. /data/internal/documentation/{doc-comments-internal.md → comments/doc-comments-internal.md} +0 -0
  125. /data/internal/documentation/{doc-comments.md → comments/doc-comments.md} +0 -0
@@ -11,49 +11,6 @@
11
11
  # source://guard-compat//lib/guard/compat/plugin.rb#5
12
12
  module Guard
13
13
  extend ::Guard::Internals::Helpers
14
-
15
- class << self
16
- # source://guard/2.19.1/lib/guard.rb#87
17
- def async_queue_add(changes); end
18
-
19
- # source://guard/2.19.1/lib/guard.rb#73
20
- def init(cmdline_options); end
21
-
22
- # source://guard/2.19.1/lib/guard.rb#24
23
- def interactor; end
24
-
25
- # source://guard/2.19.1/lib/guard.rb#23
26
- def listener; end
27
-
28
- # source://guard/2.19.1/lib/guard.rb#22
29
- def queue; end
30
-
31
- # source://guard/2.19.1/lib/guard.rb#44
32
- def setup(cmdline_options = T.unsafe(nil)); end
33
-
34
- # source://guard/2.19.1/lib/guard.rb#21
35
- def state; end
36
-
37
- private
38
-
39
- # source://guard/2.19.1/lib/guard.rb#132
40
- def _evaluate(options); end
41
-
42
- # source://guard/2.19.1/lib/guard.rb#152
43
- def _guardfile_deprecated_check(modified); end
44
-
45
- # source://guard/2.19.1/lib/guard.rb#113
46
- def _listener_callback; end
47
-
48
- # source://guard/2.19.1/lib/guard.rb#128
49
- def _pluginless_guardfile?; end
50
-
51
- # source://guard/2.19.1/lib/guard.rb#109
52
- def _relative_pathnames(paths); end
53
-
54
- # source://guard/2.19.1/lib/guard.rb#99
55
- def _relevant_changes?(changes); end
56
- end
57
14
  end
58
15
 
59
16
  # source://guard-compat//lib/guard/compat/plugin.rb#24
@@ -107,72 +64,6 @@ end
107
64
  class Guard::Plugin
108
65
  # @return [Plugin] a new instance of Plugin
109
66
  #
110
- # source://guard/2.19.1/lib/guard/plugin.rb#285
67
+ # source://guard-compat//lib/guard/compat/plugin.rb#14
111
68
  def initialize(options = T.unsafe(nil)); end
112
-
113
- # source://guard/2.19.1/lib/guard/plugin.rb#129
114
- def callbacks; end
115
-
116
- # source://guard/2.19.1/lib/guard/plugin.rb#129
117
- def callbacks=(_arg0); end
118
-
119
- # source://guard/2.19.1/lib/guard/plugin.rb#129
120
- def group; end
121
-
122
- # source://guard/2.19.1/lib/guard/plugin.rb#129
123
- def group=(_arg0); end
124
-
125
- # source://guard/2.19.1/lib/guard/plugin.rb#116
126
- def hook(event, *args); end
127
-
128
- # source://guard/2.19.1/lib/guard/plugin.rb#240
129
- def name; end
130
-
131
- # Returns the value of attribute options.
132
- #
133
- # source://guard/2.19.1/lib/guard/plugin.rb#129
134
- def options; end
135
-
136
- # source://guard/2.19.1/lib/guard/plugin.rb#129
137
- def options=(_arg0); end
138
-
139
- # source://guard/2.19.1/lib/guard/plugin.rb#252
140
- def title; end
141
-
142
- # source://guard/2.19.1/lib/guard/plugin.rb#267
143
- def to_s; end
144
-
145
- # source://guard/2.19.1/lib/guard/plugin.rb#129
146
- def watchers; end
147
-
148
- # source://guard/2.19.1/lib/guard/plugin.rb#129
149
- def watchers=(_arg0); end
150
-
151
- private
152
-
153
- # source://guard/2.19.1/lib/guard/plugin.rb#297
154
- def _register_callbacks; end
155
-
156
- class << self
157
- # source://guard/2.19.1/lib/guard/plugin.rb#62
158
- def add_callback(listener, guard_plugin, events); end
159
-
160
- # source://guard/2.19.1/lib/guard/plugin.rb#52
161
- def callbacks; end
162
-
163
- # source://guard/2.19.1/lib/guard/plugin.rb#140
164
- def non_namespaced_classname; end
165
-
166
- # source://guard/2.19.1/lib/guard/plugin.rb#153
167
- def non_namespaced_name; end
168
-
169
- # source://guard/2.19.1/lib/guard/plugin.rb#74
170
- def notify(guard_plugin, event, *args); end
171
-
172
- # source://guard/2.19.1/lib/guard/plugin.rb#83
173
- def reset_callbacks!; end
174
-
175
- # source://guard/2.19.1/lib/guard/plugin.rb#162
176
- def template(plugin_location); end
177
- end
178
69
  end
@@ -8,49 +8,6 @@
8
8
  # source://guard-minitest//lib/guard/minitest.rb#3
9
9
  module Guard
10
10
  extend ::Guard::Internals::Helpers
11
-
12
- class << self
13
- # source://guard/2.19.1/lib/guard.rb#87
14
- def async_queue_add(changes); end
15
-
16
- # source://guard/2.19.1/lib/guard.rb#73
17
- def init(cmdline_options); end
18
-
19
- # source://guard/2.19.1/lib/guard.rb#24
20
- def interactor; end
21
-
22
- # source://guard/2.19.1/lib/guard.rb#23
23
- def listener; end
24
-
25
- # source://guard/2.19.1/lib/guard.rb#22
26
- def queue; end
27
-
28
- # source://guard/2.19.1/lib/guard.rb#44
29
- def setup(cmdline_options = T.unsafe(nil)); end
30
-
31
- # source://guard/2.19.1/lib/guard.rb#21
32
- def state; end
33
-
34
- private
35
-
36
- # source://guard/2.19.1/lib/guard.rb#132
37
- def _evaluate(options); end
38
-
39
- # source://guard/2.19.1/lib/guard.rb#152
40
- def _guardfile_deprecated_check(modified); end
41
-
42
- # source://guard/2.19.1/lib/guard.rb#113
43
- def _listener_callback; end
44
-
45
- # source://guard/2.19.1/lib/guard.rb#128
46
- def _pluginless_guardfile?; end
47
-
48
- # source://guard/2.19.1/lib/guard.rb#109
49
- def _relative_pathnames(paths); end
50
-
51
- # source://guard/2.19.1/lib/guard.rb#99
52
- def _relevant_changes?(changes); end
53
- end
54
11
  end
55
12
 
56
13
  # source://guard-minitest//lib/guard/minitest.rb#4
@@ -300,106 +257,10 @@ Guard::MinitestVersion::VERSION = T.let(T.unsafe(nil), String)
300
257
  # source://guard-minitest//lib/minitest/guard_minitest_plugin.rb#1
301
258
  module Minitest
302
259
  class << self
303
- # source://minitest/5.25.5/lib/minitest.rb#323
304
- def __run(reporter, options); end
305
-
306
- # source://minitest/5.25.5/lib/minitest.rb#97
307
- def after_run(&block); end
308
-
309
- # source://minitest/5.25.5/lib/minitest.rb#20
310
- def allow_fork; end
311
-
312
- # source://minitest/5.25.5/lib/minitest.rb#20
313
- def allow_fork=(_arg0); end
314
-
315
- # source://minitest/5.25.5/lib/minitest.rb#70
316
- def autorun; end
317
-
318
- # source://minitest/5.25.5/lib/minitest.rb#20
319
- def backtrace_filter; end
320
-
321
- # source://minitest/5.25.5/lib/minitest.rb#20
322
- def backtrace_filter=(_arg0); end
323
-
324
- # source://minitest/5.25.5/lib/minitest.rb#19
325
- def cattr_accessor(name); end
326
-
327
- # source://minitest/5.25.5/lib/minitest.rb#1216
328
- def clock_time; end
329
-
330
- # source://minitest/5.25.5/lib/minitest.rb#303
331
- def empty_run!(options); end
332
-
333
- # source://minitest/5.25.5/lib/minitest.rb#20
334
- def extensions; end
335
-
336
- # source://minitest/5.25.5/lib/minitest.rb#20
337
- def extensions=(_arg0); end
338
-
339
- # source://minitest/5.25.5/lib/minitest.rb#336
340
- def filter_backtrace(bt); end
341
-
342
- # source://minitest/5.25.5/lib/minitest.rb#20
343
- def info_signal; end
344
-
345
- # source://minitest/5.25.5/lib/minitest.rb#20
346
- def info_signal=(_arg0); end
347
-
348
- # source://minitest/5.25.5/lib/minitest.rb#125
349
- def init_plugins(options); end
350
-
351
- # source://minitest/5.25.5/lib/minitest.rb#109
352
- def load_plugins; end
353
-
354
- # source://minitest/5.25.5/lib/minitest.rb#20
355
- def parallel_executor; end
356
-
357
- # source://minitest/5.25.5/lib/minitest.rb#20
358
- def parallel_executor=(_arg0); end
359
-
360
260
  # source://guard-minitest//lib/minitest/guard_minitest_plugin.rb#8
361
261
  def plugin_guard_minitest_init(options); end
362
262
 
363
263
  # source://guard-minitest//lib/minitest/guard_minitest_plugin.rb#2
364
264
  def plugin_guard_minitest_options(opts, options); end
365
-
366
- # source://minitest/5.25.5/lib/minitest/pride_plugin.rb#10
367
- def plugin_pride_init(options); end
368
-
369
- # source://minitest/5.25.5/lib/minitest/pride_plugin.rb#4
370
- def plugin_pride_options(opts, _options); end
371
-
372
- # source://minitest-rg/5.3.0/lib/minitest/rg_plugin.rb#12
373
- def plugin_rg_init(options); end
374
-
375
- # source://minitest-rg/5.3.0/lib/minitest/rg_plugin.rb#6
376
- def plugin_rg_options(opts, _options); end
377
-
378
- # source://simplecov/0.22.0/lib/minitest/simplecov_plugin.rb#6
379
- def plugin_simplecov_init(_options); end
380
-
381
- # source://minitest/5.25.5/lib/minitest.rb#143
382
- def process_args(args = T.unsafe(nil)); end
383
-
384
- # source://minitest/5.25.5/lib/minitest.rb#104
385
- def register_plugin(name_or_mod); end
386
-
387
- # source://minitest/5.25.5/lib/minitest.rb#20
388
- def reporter; end
389
-
390
- # source://minitest/5.25.5/lib/minitest.rb#20
391
- def reporter=(_arg0); end
392
-
393
- # source://minitest/5.25.5/lib/minitest.rb#269
394
- def run(args = T.unsafe(nil)); end
395
-
396
- # source://minitest/5.25.5/lib/minitest.rb#1207
397
- def run_one_method(klass, method_name); end
398
-
399
- # source://minitest/5.25.5/lib/minitest.rb#20
400
- def seed; end
401
-
402
- # source://minitest/5.25.5/lib/minitest.rb#20
403
- def seed=(_arg0); end
404
265
  end
405
266
  end
@@ -443,7 +443,7 @@ class Guard::Dsl
443
443
  # ignore %r{^ignored/path/}, /man/
444
444
  # @param regexps [Regexp] a pattern (or list of patterns) for ignoring paths
445
445
  #
446
- # source://guard//lib/guard/dsl.rb#267
446
+ # source://guard//lib/guard/dsl.rb#273
447
447
  def filter(*regexps); end
448
448
 
449
449
  # Replaces ignored paths globally
@@ -453,7 +453,7 @@ class Guard::Dsl
453
453
  # ignore! %r{^ignored/path/}, /man/
454
454
  # @param regexps [Regexp] a pattern (or list of patterns) for ignoring paths
455
455
  #
456
- # source://guard//lib/guard/dsl.rb#282
456
+ # source://guard//lib/guard/dsl.rb#290
457
457
  def filter!(*regexps); end
458
458
 
459
459
  # Declares a group of Guard plugins to be run with `guard start --group
@@ -472,9 +472,9 @@ class Guard::Dsl
472
472
  # @param name [Symbol, String, Array<Symbol, String>] the group name called
473
473
  # from the CLI
474
474
  # @param options [Hash] the options accepted by the group
475
+ # @see #guard
475
476
  # @see Group
476
477
  # @see Guard.add_group
477
- # @see #guard
478
478
  # @yield a block where you can declare several Guard plugins
479
479
  #
480
480
  # source://guard//lib/guard/dsl.rb#124
@@ -487,18 +487,18 @@ class Guard::Dsl
487
487
  #
488
488
  # The available options are different for each Guard implementation.
489
489
  #
490
- # @example Declare a Guard without `watch` patterns
491
- # guard :rspec
492
490
  # @example Declare a Guard with a `watch` pattern
493
491
  # guard :rspec do
494
492
  # watch %r{.*_spec.rb}
495
493
  # end
494
+ # @example Declare a Guard without `watch` patterns
495
+ # guard :rspec
496
496
  # @param name [String] the Guard plugin name
497
497
  # @param options [Hash] the options accepted by the Guard plugin
498
- # @see Plugin
499
- # @see Guard.add_plugin
500
- # @see #watch
501
498
  # @see #group
499
+ # @see #watch
500
+ # @see Guard.add_plugin
501
+ # @see Plugin
502
502
  # @yield a block where you can declare several watch patterns and actions
503
503
  #
504
504
  # source://guard//lib/guard/dsl.rb#176
@@ -543,16 +543,16 @@ class Guard::Dsl
543
543
  # `:milliseconds`.
544
544
  # * The `:only` and `:except` options must be a `RegExp`.
545
545
  #
546
- # @example Set the log level
547
- # logger level: :warn
548
- # @example Set a custom log template
549
- # logger template: '[Guard - :severity - :progname - :time] :message'
550
- # @example Set a custom time format
551
- # logger time_format: '%h'
552
546
  # @example Limit logging to a Guard plugin
553
547
  # logger only: :jasmine
554
548
  # @example Log all but not the messages from a specific Guard plugin
555
549
  # logger except: :jasmine
550
+ # @example Set a custom log template
551
+ # logger template: '[Guard - :severity - :progname - :time] :message'
552
+ # @example Set a custom time format
553
+ # logger time_format: '%h'
554
+ # @example Set the log level
555
+ # logger level: :warn
556
556
  # @option options
557
557
  # @option options
558
558
  # @option options
@@ -582,10 +582,10 @@ class Guard::Dsl
582
582
  #
583
583
  # @example Scope Guard to a single group
584
584
  # scope group: :frontend
585
- # @example Scope Guard to multiple groups
586
- # scope groups: [:specs, :docs]
587
585
  # @example Scope Guard to a single plugin
588
586
  # scope plugin: :test
587
+ # @example Scope Guard to multiple groups
588
+ # scope groups: [:specs, :docs]
589
589
  # @example Scope Guard to multiple plugins
590
590
  # scope plugins: [:jasmine, :rspec]
591
591
  # @param scope [Hash] the scope for the groups and plugins
@@ -938,13 +938,13 @@ class Guard::Interactor
938
938
  # source://guard//lib/guard/interactor.rb#9
939
939
  def initialize(no_interaction = T.unsafe(nil)); end
940
940
 
941
- # source://forwardable/1.3.3/forwardable.rb#231
941
+ # source://guard//lib/guard/interactor.rb#25
942
942
  def background(*args, **_arg1, &block); end
943
943
 
944
- # source://forwardable/1.3.3/forwardable.rb#231
944
+ # source://guard//lib/guard/interactor.rb#25
945
945
  def foreground(*args, **_arg1, &block); end
946
946
 
947
- # source://forwardable/1.3.3/forwardable.rb#231
947
+ # source://guard//lib/guard/interactor.rb#25
948
948
  def handle_interrupt(*args, **_arg1, &block); end
949
949
 
950
950
  # @return [Boolean]
@@ -964,7 +964,7 @@ class Guard::Interactor
964
964
  #
965
965
  # @return [Boolean]
966
966
  #
967
- # source://guard//lib/guard/interactor.rb#39
967
+ # source://guard//lib/guard/interactor.rb#43
968
968
  def enabled; end
969
969
 
970
970
  # TODO: handle switching interactors during runtime?
@@ -1165,7 +1165,7 @@ class Guard::Internals::Session
1165
1165
 
1166
1166
  # @return [Boolean]
1167
1167
  #
1168
- # source://guard//lib/guard/internals/session.rb#102
1168
+ # source://guard//lib/guard/internals/session.rb#106
1169
1169
  def clear?; end
1170
1170
 
1171
1171
  # source://guard//lib/guard/internals/session.rb#98
@@ -1343,8 +1343,8 @@ class Guard::Options < ::Thor::CoreExt::HashWithIndifferentAccess
1343
1343
  # Initializes an Guard::Options object. `default_opts` is merged into
1344
1344
  # `opts`.
1345
1345
  #
1346
- # @param opts [Hash] the options
1347
1346
  # @param default_opts [Hash] the default options
1347
+ # @param opts [Hash] the options
1348
1348
  # @return [Options] a new instance of Options
1349
1349
  #
1350
1350
  # source://guard//lib/guard/options.rb#13
@@ -1446,19 +1446,19 @@ class Guard::Plugin
1446
1446
  # When {Guard::Plugin::run_all} is called, {#hook} will notify
1447
1447
  # callbacks registered for the "foo_bar" event.
1448
1448
  #
1449
- # @example Add a hook with a Symbol
1449
+ # @example Add a hook with a String
1450
1450
  #
1451
1451
  # def run_all
1452
- # hook :foo
1452
+ # hook "foo_bar"
1453
1453
  # end
1454
- # @example Add a hook with a String
1454
+ # @example Add a hook with a Symbol
1455
1455
  #
1456
1456
  # def run_all
1457
- # hook "foo_bar"
1457
+ # hook :foo
1458
1458
  # end
1459
- # @param event [Symbol, String] the name of the Guard event
1460
1459
  # @param args [Array] the parameters are passed as is to the callbacks
1461
1460
  # registered for the given event.
1461
+ # @param event [Symbol, String] the name of the Guard event
1462
1462
  #
1463
1463
  # source://guard//lib/guard/plugin.rb#116
1464
1464
  def hook(event, *args); end
@@ -1531,9 +1531,9 @@ class Guard::Plugin
1531
1531
  class << self
1532
1532
  # Add a callback.
1533
1533
  #
1534
- # @param listener [Block] the listener to notify
1535
- # @param guard_plugin [Guard::Plugin] the Guard plugin to add the callback
1536
1534
  # @param events [Array<Symbol>] the events to register
1535
+ # @param guard_plugin [Guard::Plugin] the Guard plugin to add the callback
1536
+ # @param listener [Block] the listener to notify
1537
1537
  #
1538
1538
  # source://guard//lib/guard/plugin.rb#62
1539
1539
  def add_callback(listener, guard_plugin, events); end
@@ -1566,9 +1566,9 @@ class Guard::Plugin
1566
1566
 
1567
1567
  # Notify a callback.
1568
1568
  #
1569
- # @param guard_plugin [Guard::Plugin] the Guard plugin to add the callback
1570
- # @param event [Symbol] the event to trigger
1571
1569
  # @param args [Array] the arguments for the listener
1570
+ # @param event [Symbol] the event to trigger
1571
+ # @param guard_plugin [Guard::Plugin] the Guard plugin to add the callback
1572
1572
  #
1573
1573
  # source://guard//lib/guard/plugin.rb#74
1574
1574
  def notify(guard_plugin, event, *args); end
@@ -1727,9 +1727,9 @@ class Guard::Runner
1727
1727
  # When the Group has `:halt_on_fail` disabled, we've to catch
1728
1728
  # `:task_has_failed` here in order to avoid an uncaught throw error.
1729
1729
  #
1730
+ # @param args [Array] the arguments for the task
1730
1731
  # @param plugin [Guard::Plugin] guard the Guard to execute
1731
1732
  # @param task [Symbol] the task to run
1732
- # @param args [Array] the arguments for the task
1733
1733
  # @raise [:task_has_failed] when task has failed
1734
1734
  #
1735
1735
  # source://guard//lib/guard/runner.rb#78
@@ -1739,8 +1739,8 @@ class Guard::Runner
1739
1739
  #
1740
1740
  # on
1741
1741
  #
1742
- # @param task [Symbol] the task to run
1743
1742
  # @param scope_hash [Hash] either the Guard plugin or the group to run the task
1743
+ # @param task [Symbol] the task to run
1744
1744
  #
1745
1745
  # source://guard//lib/guard/runner.rb#17
1746
1746
  def run(task, scope_hash = T.unsafe(nil)); end
@@ -1748,8 +1748,8 @@ class Guard::Runner
1748
1748
  # Runs the appropriate tasks on all registered plugins
1749
1749
  # based on the passed changes.
1750
1750
  #
1751
- # @param modified [Array<String>] the modified paths.
1752
1751
  # @param added [Array<String>] the added paths.
1752
+ # @param modified [Array<String>] the modified paths.
1753
1753
  # @param removed [Array<String>] the removed paths.
1754
1754
  #
1755
1755
  # source://guard//lib/guard/runner.rb#44
@@ -1957,8 +1957,8 @@ module Guard::UI
1957
1957
  # @example
1958
1958
  #
1959
1959
  # color('Hello World', :red, :bright)
1960
- # @param text [String] the text to colorize
1961
1960
  # @param color_options [Array] the color options
1961
+ # @param text [String] the text to colorize
1962
1962
  #
1963
1963
  # source://guard//lib/guard/ui.rb#247
1964
1964
  def color(text, *color_options); end
@@ -2122,10 +2122,10 @@ class Guard::Watcher
2122
2122
 
2123
2123
  # Initializes a file watcher.
2124
2124
  #
2125
- # @param pattern [String, Regexp] the pattern to be watched by the Guard
2126
- # plugin
2127
2125
  # @param action [Block] the action to execute before passing the result to
2128
2126
  # the Guard plugin
2127
+ # @param pattern [String, Regexp] the pattern to be watched by the Guard
2128
+ # plugin
2129
2129
  # @return [Watcher] a new instance of Watcher
2130
2130
  #
2131
2131
  # source://guard//lib/guard/watcher.rb#24
@@ -2178,8 +2178,8 @@ class Guard::Watcher
2178
2178
  class << self
2179
2179
  # Finds the files that matches a Guard plugin.
2180
2180
  #
2181
- # @param guard [Guard::Plugin] the Guard plugin which watchers are used
2182
2181
  # @param files [Array<String>] the changed files
2182
+ # @param guard [Guard::Plugin] the Guard plugin which watchers are used
2183
2183
  # @return [Array<Object>] the matched watcher response
2184
2184
  #
2185
2185
  # source://guard//lib/guard/watcher.rb#42
@@ -78,8 +78,8 @@ module Hashdiff
78
78
  # decode property path into an array
79
79
  # e.g. "a.b[3].c" => ['a', 'b', 3, 'c']
80
80
  #
81
- # @param path [String] Property-string
82
81
  # @param delimiter [String] Property-string delimiter
82
+ # @param path [String] Property-string
83
83
  # @private
84
84
  #
85
85
  # source://hashdiff//lib/hashdiff/util.rb#58
@@ -139,8 +139,8 @@ module Hashdiff
139
139
 
140
140
  # Apply patch to object
141
141
  #
142
- # @param obj [Hash, Array] the object to be patched, can be an Array or a Hash
143
142
  # @param changes [Array] e.g. [[ '+', 'a.b', '45' ], [ '-', 'a.c', '5' ], [ '~', 'a.x', '45', '63']]
143
+ # @param obj [Hash, Array] the object to be patched, can be an Array or a Hash
144
144
  # @param options [Hash] supports following keys:
145
145
  # * :delimiter (String) ['.'] delimiter string for representing nested keys in changes array
146
146
  # @return the object after patch
@@ -165,8 +165,8 @@ module Hashdiff
165
165
 
166
166
  # Unpatch an object
167
167
  #
168
- # @param obj [Hash, Array] the object to be unpatched, can be an Array or a Hash
169
168
  # @param changes [Array] e.g. [[ '+', 'a.b', '45' ], [ '-', 'a.c', '5' ], [ '~', 'a.x', '45', '63']]
169
+ # @param obj [Hash, Array] the object to be unpatched, can be an Array or a Hash
170
170
  # @param options [Hash] supports following keys:
171
171
  # * :delimiter (String) ['.'] delimiter string for representing nested keys in changes array
172
172
  # @return the object after unpatch