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
@@ -41,7 +41,7 @@ module Kernel
41
41
  #
42
42
  # You must require 'uri' to use this method.
43
43
  #
44
- # source://uri//lib/uri/common.rb#911
44
+ # source://uri//lib/uri/common.rb#921
45
45
  def URI(uri); end
46
46
  end
47
47
  end
@@ -774,7 +774,7 @@ class URI::Generic
774
774
  # # => "http://my.example.com/main.rbx?page=1"
775
775
  # merge
776
776
  #
777
- # source://uri//lib/uri/generic.rb#1124
777
+ # source://uri//lib/uri/generic.rb#1164
778
778
  def +(oth); end
779
779
 
780
780
  # == Args
@@ -794,7 +794,7 @@ class URI::Generic
794
794
  # uri.route_from('http://my.example.com')
795
795
  # #=> #<URI::Generic /main.rbx?page=1>
796
796
  #
797
- # source://uri//lib/uri/generic.rb#1274
797
+ # source://uri//lib/uri/generic.rb#1294
798
798
  def -(oth); end
799
799
 
800
800
  # Compares two URIs.
@@ -806,7 +806,7 @@ class URI::Generic
806
806
  #
807
807
  # @return [Boolean]
808
808
  #
809
- # source://uri//lib/uri/generic.rb#987
809
+ # source://uri//lib/uri/generic.rb#994
810
810
  def absolute; end
811
811
 
812
812
  # Returns true if URI has a scheme (e.g. http:// or https://) specified.
@@ -1350,7 +1350,7 @@ class URI::Generic
1350
1350
 
1351
1351
  # Constructs String from URI.
1352
1352
  #
1353
- # source://uri//lib/uri/generic.rb#1355
1353
+ # source://uri//lib/uri/generic.rb#1394
1354
1354
  def to_str; end
1355
1355
 
1356
1356
  # Returns the user component (without URI decoding).
@@ -1944,7 +1944,7 @@ class URI::MailTo < ::URI::Generic
1944
1944
  # uri.to_mailtext
1945
1945
  # # => "To: ruby-list@ruby-lang.org\nSubject: subscribe\nCc: myaddr\n\n\n"
1946
1946
  #
1947
- # source://uri//lib/uri/mailto.rb#268
1947
+ # source://uri//lib/uri/mailto.rb#289
1948
1948
  def to_rfc822text; end
1949
1949
 
1950
1950
  # Constructs String from URI.
@@ -2336,7 +2336,7 @@ module URI::Util
2336
2336
  def make_components_hash(klass, array_hash); end
2337
2337
 
2338
2338
  class << self
2339
- # source://uri//lib/uri/common.rb#66
2339
+ # source://uri//lib/uri/common.rb#94
2340
2340
  def make_components_hash(klass, array_hash); end
2341
2341
  end
2342
2342
  end
@@ -194,8 +194,8 @@ module VCR
194
194
  # @return [void]
195
195
  # @see #turn_off!
196
196
  # @see #turned_off
197
- # @see #turned_on?
198
197
  # @see #turned_on
198
+ # @see #turned_on?
199
199
  #
200
200
  # source://vcr//lib/vcr.rb#327
201
201
  def turn_on!; end
@@ -206,9 +206,9 @@ module VCR
206
206
  # @raise [VCR::Errors::CassetteInUseError] if there is currently a cassette in use
207
207
  # @raise [ArgumentError] if you pass an invalid option
208
208
  # @return [void]
209
- # @see #turned_on
210
209
  # @see #turn_off!
211
210
  # @see #turn_on!
211
+ # @see #turned_on
212
212
  # @see #turned_on?
213
213
  #
214
214
  # source://vcr//lib/vcr.rb#270
@@ -228,8 +228,8 @@ module VCR
228
228
  # @note Normally VCR is _always_ turned on; it will only be off if you have
229
229
  # explicitly turned it off.
230
230
  # @return [Boolean] whether or not VCR is turned on
231
- # @see #turn_on!
232
231
  # @see #turn_off!
232
+ # @see #turn_on!
233
233
  # @see #turned_off
234
234
  #
235
235
  # source://vcr//lib/vcr.rb#337
@@ -272,8 +272,8 @@ module VCR
272
272
  # @raise [VCR::Errors::MissingERBVariableError] when the `:erb` option
273
273
  # is used and the ERB template requires variables that you did not provide.
274
274
  # @return [void]
275
- # @see #insert_cassette
276
275
  # @see #eject_cassette
276
+ # @see #insert_cassette
277
277
  # @yield Block to run while this cassette is in use.
278
278
  # @yieldparam cassette [(optional) VCR::Cassette] the cassette that has
279
279
  # been inserted.
@@ -764,8 +764,8 @@ module VCR::Cassette::Persisters::FileSystem
764
764
 
765
765
  # Sets the cassette for the given storage key (file name).
766
766
  #
767
- # @param file_name [String] the file name
768
767
  # @param content [String] the content to store
768
+ # @param file_name [String] the file name
769
769
  #
770
770
  # source://vcr//lib/vcr/cassette/persisters/file_system.rb#33
771
771
  def []=(file_name, content); end
@@ -1107,8 +1107,8 @@ class VCR::Configuration
1107
1107
  # @param filters [optional splat of #to_proc] one or more filters to apply.
1108
1108
  # The objects provided will be converted to procs using `#to_proc`. If provided,
1109
1109
  # the callback will only be invoked if these procs all return `true`.
1110
- # @see #before_http_request
1111
1110
  # @see #around_http_request
1111
+ # @see #before_http_request
1112
1112
  # @yield the callback
1113
1113
  # @yieldparam request [VCR::Request::Typed] the request that is being made
1114
1114
  # @yieldparam response [VCR::Response] the response from the request
@@ -1123,8 +1123,8 @@ class VCR::Configuration
1123
1123
  # will be raised for any HTTP request made when there is no
1124
1124
  # cassette in use.
1125
1125
  #
1126
- # @overload allow_http_connections_when_no_cassette?
1127
1126
  # @overload allow_http_connections_when_no_cassette=
1127
+ # @overload allow_http_connections_when_no_cassette?
1128
1128
  #
1129
1129
  # source://vcr//lib/vcr/configuration.rb#129
1130
1130
  def allow_http_connections_when_no_cassette=(_arg0); end
@@ -1155,8 +1155,8 @@ class VCR::Configuration
1155
1155
  # The objects provided will be converted to procs using `#to_proc`. If provided,
1156
1156
  # the callback will only be invoked if these procs all return `true`.
1157
1157
  # @raise [VCR::Errors::NotSupportedError] if the fiber library cannot be loaded.
1158
- # @see #before_http_request
1159
1158
  # @see #after_http_request
1159
+ # @see #before_http_request
1160
1160
  # @yield the callback
1161
1161
  # @yieldparam request [VCR::Request::FiberAware] the request that is being made
1162
1162
  #
@@ -1182,9 +1182,9 @@ class VCR::Configuration
1182
1182
  # the given tag.
1183
1183
  # @see #before_record
1184
1184
  # @yield the callback
1185
+ # @yieldparam cassette [(optional) VCR::Cassette] The current cassette.
1185
1186
  # @yieldparam interaction [VCR::HTTPInteraction::HookAware] The interaction that is being
1186
1187
  # loaded.
1187
- # @yieldparam cassette [(optional) VCR::Cassette] The current cassette.
1188
1188
  #
1189
1189
  # source://vcr//lib/vcr/configuration.rb#325
1190
1190
  def before_playback(tag = T.unsafe(nil), &block); end
@@ -1208,9 +1208,9 @@ class VCR::Configuration
1208
1208
  # the given tag.
1209
1209
  # @see #before_playback
1210
1210
  # @yield the callback
1211
+ # @yieldparam cassette [(optional) VCR::Cassette] The current cassette.
1211
1212
  # @yieldparam interaction [VCR::HTTPInteraction::HookAware] The interaction that will be
1212
1213
  # serialized and written to disk.
1213
- # @yieldparam cassette [(optional) VCR::Cassette] The current cassette.
1214
1214
  #
1215
1215
  # source://vcr//lib/vcr/configuration.rb#297
1216
1216
  def before_record(tag = T.unsafe(nil), &block); end
@@ -1361,7 +1361,7 @@ class VCR::Configuration
1361
1361
  # @yieldparam interaction [(optional) VCR::HTTPInteraction::HookAware] the HTTP interaction
1362
1362
  # @yieldreturn the string to replace
1363
1363
  #
1364
- # source://vcr//lib/vcr/configuration.rb#225
1364
+ # source://vcr//lib/vcr/configuration.rb#238
1365
1365
  def filter_sensitive_data(placeholder, tag = T.unsafe(nil), &block); end
1366
1366
 
1367
1367
  # Configures which libraries VCR will hook into to intercept HTTP requests.
@@ -1385,7 +1385,7 @@ class VCR::Configuration
1385
1385
  # @see #ignore_localhost=
1386
1386
  # @see #ignore_request
1387
1387
  #
1388
- # source://vcr//lib/vcr/configuration.rb#75
1388
+ # source://vcr//lib/vcr/configuration.rb#78
1389
1389
  def ignore_host(*hosts); end
1390
1390
 
1391
1391
  # Specifies host(s) that VCR should ignore.
@@ -1507,7 +1507,7 @@ class VCR::Configuration
1507
1507
  # @param hosts [Array<String>] List of hosts to unignore
1508
1508
  # @see #ignore_hosts
1509
1509
  #
1510
- # source://vcr//lib/vcr/configuration.rb#84
1510
+ # source://vcr//lib/vcr/configuration.rb#87
1511
1511
  def unignore_host(*hosts); end
1512
1512
 
1513
1513
  # Specifies host(s) that VCR should stop ignoring.
@@ -1597,24 +1597,24 @@ class VCR::Configuration
1597
1597
  def tag_filter_from(tag); end
1598
1598
  end
1599
1599
 
1600
- # source://vcr//lib/vcr/configuration.rb#0
1600
+ # source://vcr//lib/vcr/configuration.rb#8
1601
1601
  module VCR::Configuration::DefinedHooks
1602
- # source://vcr//lib/vcr/util/hooks.rb#55
1602
+ # source://vcr//lib/vcr/configuration.rb#347
1603
1603
  def after_http_request(*filters, &hook); end
1604
1604
 
1605
- # source://vcr//lib/vcr/util/hooks.rb#55
1605
+ # source://vcr//lib/vcr/configuration.rb#587
1606
1606
  def after_library_hooks_loaded(*filters, &hook); end
1607
1607
 
1608
- # source://vcr//lib/vcr/util/hooks.rb#55
1608
+ # source://vcr//lib/vcr/configuration.rb#345
1609
1609
  def before_http_request(*filters, &hook); end
1610
1610
 
1611
- # source://vcr//lib/vcr/util/hooks.rb#55
1611
+ # source://vcr//lib/vcr/configuration.rb#301
1612
1612
  def before_playback(*filters, &hook); end
1613
1613
 
1614
- # source://vcr//lib/vcr/util/hooks.rb#55
1614
+ # source://vcr//lib/vcr/configuration.rb#273
1615
1615
  def before_record(*filters, &hook); end
1616
1616
 
1617
- # source://vcr//lib/vcr/util/hooks.rb#55
1617
+ # source://vcr//lib/vcr/configuration.rb#478
1618
1618
  def preserve_exact_body_bytes(*filters, &hook); end
1619
1619
  end
1620
1620
 
@@ -1636,7 +1636,7 @@ class VCR::CucumberTags
1636
1636
  # - `:use_scenario_name => true` to automatically name the
1637
1637
  # cassette according to the scenario name.
1638
1638
  #
1639
- # source://vcr//lib/vcr/test_frameworks/cucumber.rb#30
1639
+ # source://vcr//lib/vcr/test_frameworks/cucumber.rb#80
1640
1640
  def tag(*tag_names); end
1641
1641
 
1642
1642
  # Adds `Before` and `After` cucumber hooks for the named tags that
@@ -1677,7 +1677,7 @@ class VCR::CucumberTags::ScenarioNameBuilder
1677
1677
  # source://vcr//lib/vcr/test_frameworks/cucumber.rb#90
1678
1678
  def cassette_name; end
1679
1679
 
1680
- # source://vcr//lib/vcr/test_frameworks/cucumber.rb#100
1680
+ # source://vcr//lib/vcr/test_frameworks/cucumber.rb#101
1681
1681
  def examples_table(*_arg0); end
1682
1682
 
1683
1683
  # source://vcr//lib/vcr/test_frameworks/cucumber.rb#103
@@ -1689,7 +1689,7 @@ class VCR::CucumberTags::ScenarioNameBuilder
1689
1689
  # source://vcr//lib/vcr/test_frameworks/cucumber.rb#100
1690
1690
  def scenario(*_arg0); end
1691
1691
 
1692
- # source://vcr//lib/vcr/test_frameworks/cucumber.rb#94
1692
+ # source://vcr//lib/vcr/test_frameworks/cucumber.rb#98
1693
1693
  def scenario_outline(feature); end
1694
1694
  end
1695
1695
 
@@ -1898,9 +1898,9 @@ class VCR::Errors::UnusedHTTPInteractionError < ::VCR::Errors::Error; end
1898
1898
 
1899
1899
  # Represents a single interaction over HTTP, containing a request and a response.
1900
1900
  #
1901
+ # @attr recorded_at [Time] when this HTTP interaction was recorded
1901
1902
  # @attr request [Request] the request
1902
1903
  # @attr response [Response] the response
1903
- # @attr recorded_at [Time] when this HTTP interaction was recorded
1904
1904
  #
1905
1905
  # source://vcr//lib/vcr/structs.rb#504
1906
1906
  class VCR::HTTPInteraction < ::Struct
@@ -1948,8 +1948,8 @@ class VCR::HTTPInteraction::HookAware
1948
1948
  # Replaces a string in any part of the HTTP interaction (headers, request body,
1949
1949
  # response body, etc) with the given replacement text.
1950
1950
  #
1951
- # @param text [#to_s] the text to replace
1952
1951
  # @param replacement_text [#to_s] the text to put in its place
1952
+ # @param text [#to_s] the text to replace
1953
1953
  #
1954
1954
  # source://vcr//lib/vcr/structs.rb#566
1955
1955
  def filter!(text, replacement_text); end
@@ -2028,30 +2028,47 @@ class VCR::Hooks::FilteredHook < ::Struct
2028
2028
  # Returns the value of attribute filters
2029
2029
  #
2030
2030
  # @return [Object] the current value of filters
2031
+ #
2032
+ # source://vcr//lib/vcr/util/hooks.rb#9
2031
2033
  def filters; end
2032
2034
 
2033
2035
  # Sets the attribute filters
2034
2036
  #
2035
2037
  # @param value [Object] the value to set the attribute filters to.
2036
2038
  # @return [Object] the newly set value
2039
+ #
2040
+ # source://vcr//lib/vcr/util/hooks.rb#9
2037
2041
  def filters=(_); end
2038
2042
 
2039
2043
  # Returns the value of attribute hook
2040
2044
  #
2041
2045
  # @return [Object] the current value of hook
2046
+ #
2047
+ # source://vcr//lib/vcr/util/hooks.rb#9
2042
2048
  def hook; end
2043
2049
 
2044
2050
  # Sets the attribute hook
2045
2051
  #
2046
2052
  # @param value [Object] the value to set the attribute hook to.
2047
2053
  # @return [Object] the newly set value
2054
+ #
2055
+ # source://vcr//lib/vcr/util/hooks.rb#9
2048
2056
  def hook=(_); end
2049
2057
 
2050
2058
  class << self
2059
+ # source://vcr//lib/vcr/util/hooks.rb#9
2051
2060
  def [](*_arg0); end
2061
+
2062
+ # source://vcr//lib/vcr/util/hooks.rb#9
2052
2063
  def inspect; end
2064
+
2065
+ # source://vcr//lib/vcr/util/hooks.rb#9
2053
2066
  def keyword_init?; end
2067
+
2068
+ # source://vcr//lib/vcr/util/hooks.rb#9
2054
2069
  def members; end
2070
+
2071
+ # source://vcr//lib/vcr/util/hooks.rb#9
2055
2072
  def new(*_arg0); end
2056
2073
  end
2057
2074
  end
@@ -2482,7 +2499,7 @@ module VCR::Ping
2482
2499
  def pingecho(host, timeout = T.unsafe(nil), service = T.unsafe(nil)); end
2483
2500
 
2484
2501
  class << self
2485
- # source://vcr//lib/vcr/util/internet_connection.rb#9
2502
+ # source://vcr//lib/vcr/util/internet_connection.rb#22
2486
2503
  def pingecho(host, timeout = T.unsafe(nil), service = T.unsafe(nil)); end
2487
2504
  end
2488
2505
  end
@@ -2507,10 +2524,10 @@ end
2507
2524
 
2508
2525
  # The request of an {HTTPInteraction}.
2509
2526
  #
2510
- # @attr method [Symbol] the HTTP method (i.e. :head, :options, :get, :post, :put, :patch or :delete)
2511
- # @attr uri [String] the request URI
2512
2527
  # @attr body [String, nil] the request body
2513
2528
  # @attr headers [Hash{String => Array<String>}] the request headers
2529
+ # @attr method [Symbol] the HTTP method (i.e. :head, :options, :get, :post, :put, :patch or :delete)
2530
+ # @attr uri [String] the request URI
2514
2531
  #
2515
2532
  # source://vcr//lib/vcr/structs.rb#179
2516
2533
  class VCR::Request < ::Struct
@@ -2596,8 +2613,8 @@ class VCR::Request::Typed
2596
2613
 
2597
2614
  # @return [Boolean] whether or not this request is being stubbed by an
2598
2615
  # external library (such as WebMock).
2599
- # @see #stubbed_by_vcr?
2600
2616
  # @see #stubbed?
2617
+ # @see #stubbed_by_vcr?
2601
2618
  #
2602
2619
  # source://vcr//lib/vcr/structs.rb#264
2603
2620
  def externally_stubbed?; end
@@ -2620,8 +2637,8 @@ class VCR::Request::Typed
2620
2637
 
2621
2638
  # @return [Boolean] whether or not this request will be stubbed.
2622
2639
  # It may be stubbed by an external library or by VCR.
2623
- # @see #stubbed_by_vcr?
2624
2640
  # @see #externally_stubbed?
2641
+ # @see #stubbed_by_vcr?
2625
2642
  #
2626
2643
  # source://vcr//lib/vcr/structs.rb#288
2627
2644
  def stubbed?; end
@@ -2758,9 +2775,9 @@ class VCR::RequestIgnorer
2758
2775
  def ignored_hosts; end
2759
2776
  end
2760
2777
 
2761
- # source://vcr//lib/vcr/request_ignorer.rb#0
2778
+ # source://vcr//lib/vcr/request_ignorer.rb#7
2762
2779
  module VCR::RequestIgnorer::DefinedHooks
2763
- # source://vcr//lib/vcr/util/hooks.rb#55
2780
+ # source://vcr//lib/vcr/request_ignorer.rb#9
2764
2781
  def ignore_request(*filters, &hook); end
2765
2782
  end
2766
2783
 
@@ -2806,7 +2823,7 @@ class VCR::RequestMatcherRegistry
2806
2823
  # @param ignores [Array<#to_s>] The names of the query parameters to ignore
2807
2824
  # @return [#call] the request matcher
2808
2825
  #
2809
- # source://vcr//lib/vcr/request_matcher_registry.rb#91
2826
+ # source://vcr//lib/vcr/request_matcher_registry.rb#94
2810
2827
  def uri_without_param(*ignores); end
2811
2828
 
2812
2829
  # Builds a dynamic request matcher that matches on a URI while ignoring the
@@ -2878,11 +2895,11 @@ end
2878
2895
 
2879
2896
  # The response of an {HTTPInteraction}.
2880
2897
  #
2881
- # @attr status [ResponseStatus] the status of the response
2882
- # @attr headers [Hash{String => Array<String>}] the response headers
2898
+ # @attr adapter_metadata [Hash] Additional metadata used by a specific VCR adapter.
2883
2899
  # @attr body [String] the response body
2900
+ # @attr headers [Hash{String => Array<String>}] the response headers
2884
2901
  # @attr http_version [nil, String] the HTTP version
2885
- # @attr adapter_metadata [Hash] Additional metadata used by a specific VCR adapter.
2902
+ # @attr status [ResponseStatus] the status of the response
2886
2903
  #
2887
2904
  # source://vcr//lib/vcr/structs.rb#334
2888
2905
  class VCR::Response < ::Struct
@@ -92,12 +92,25 @@ module WebMock
92
92
  include ::WebMock::API
93
93
  extend ::WebMock::API
94
94
 
95
+ # source://webmock//lib/webmock/webmock.rb#168
95
96
  def after_request(*args, &block); end
97
+
98
+ # source://webmock//lib/webmock/webmock.rb#168
96
99
  def allow_net_connect!(*args, &block); end
100
+
101
+ # source://webmock//lib/webmock/webmock.rb#168
97
102
  def disable_net_connect!(*args, &block); end
103
+
104
+ # source://webmock//lib/webmock/webmock.rb#168
98
105
  def net_connect_allowed?(*args, &block); end
106
+
107
+ # source://webmock//lib/webmock/webmock.rb#168
99
108
  def registered_request?(*args, &block); end
109
+
110
+ # source://webmock//lib/webmock/webmock.rb#168
100
111
  def reset_callbacks(*args, &block); end
112
+
113
+ # source://webmock//lib/webmock/webmock.rb#168
101
114
  def reset_webmock(*args, &block); end
102
115
 
103
116
  class << self
@@ -113,13 +126,13 @@ module WebMock
113
126
  # source://webmock//lib/webmock/webmock.rb#51
114
127
  def disable_net_connect!(options = T.unsafe(nil)); end
115
128
 
116
- # source://webmock//lib/webmock/webmock.rb#51
129
+ # source://webmock//lib/webmock/webmock.rb#60
117
130
  def disallow_net_connect!(options = T.unsafe(nil)); end
118
131
 
119
132
  # source://webmock//lib/webmock/webmock.rb#38
120
133
  def enable!(options = T.unsafe(nil)); end
121
134
 
122
- # source://webmock//lib/webmock/webmock.rb#46
135
+ # source://webmock//lib/webmock/webmock.rb#59
123
136
  def enable_net_connect!(options = T.unsafe(nil)); end
124
137
 
125
138
  # source://webmock//lib/webmock/webmock.rb#155
@@ -159,7 +172,7 @@ module WebMock
159
172
  # source://webmock//lib/webmock/webmock.rb#147
160
173
  def registered_request?(request_signature); end
161
174
 
162
- # source://webmock//lib/webmock/api.rb#14
175
+ # source://webmock//lib/webmock/webmock.rb#23
163
176
  def request(method, uri); end
164
177
 
165
178
  # source://webmock//lib/webmock/webmock.rb#129
@@ -222,7 +235,7 @@ module WebMock::API
222
235
  # source://webmock//lib/webmock/api.rb#51
223
236
  def hash_including(*args); end
224
237
 
225
- # source://webmock//lib/webmock/api.rb#31
238
+ # source://webmock//lib/webmock/api.rb#39
226
239
  def refute_requested(*args, &block); end
227
240
 
228
241
  # source://webmock//lib/webmock/api.rb#67
@@ -231,7 +244,7 @@ module WebMock::API
231
244
  # source://webmock//lib/webmock/api.rb#71
232
245
  def reset_executed_requests!; end
233
246
 
234
- # source://webmock//lib/webmock/api.rb#7
247
+ # source://webmock//lib/webmock/api.rb#12
235
248
  def stub_http_request(method, uri); end
236
249
 
237
250
  # source://webmock//lib/webmock/api.rb#7
@@ -254,7 +267,7 @@ module WebMock::API
254
267
  def convert_uri_method_and_options_to_request_and_options(method, uri, options, &block); end
255
268
 
256
269
  class << self
257
- # source://webmock//lib/webmock/api.rb#14
270
+ # source://webmock//lib/webmock/api.rb#19
258
271
  def request(method, uri); end
259
272
  end
260
273
  end
@@ -339,10 +352,10 @@ class WebMock::BodyPattern
339
352
  #
340
353
  # {a: {b: 'wow'}} and {a: {b: 'wow'}}
341
354
  #
342
- # @param query_parameters [Hash] typically the result of parsing
343
- # JSON, XML or URL encoded parameters.
344
355
  # @param pattern [Hash] which contains keys with a string, hash or
345
356
  # regular expression value to use for comparison.
357
+ # @param query_parameters [Hash] typically the result of parsing
358
+ # JSON, XML or URL encoded parameters.
346
359
  # @return [Boolean] true if the paramaters match the comparison
347
360
  # hash, false if not.
348
361
  #
@@ -484,7 +497,10 @@ class WebMock::Config
484
497
  class << self
485
498
  private
486
499
 
500
+ # source://webmock//lib/webmock/config.rb#5
487
501
  def allocate; end
502
+
503
+ # source://webmock//lib/webmock/config.rb#5
488
504
  def new(*_arg0); end
489
505
  end
490
506
  end
@@ -599,7 +615,10 @@ class WebMock::HttpLibAdapterRegistry
599
615
  class << self
600
616
  private
601
617
 
618
+ # source://webmock//lib/webmock/http_lib_adapters/http_lib_adapter_registry.rb#5
602
619
  def allocate; end
620
+
621
+ # source://webmock//lib/webmock/http_lib_adapters/http_lib_adapter_registry.rb#5
603
622
  def new(*_arg0); end
604
623
  end
605
624
  end
@@ -1015,7 +1034,10 @@ class WebMock::RequestRegistry
1015
1034
  class << self
1016
1035
  private
1017
1036
 
1037
+ # source://webmock//lib/webmock/request_registry.rb#6
1018
1038
  def allocate; end
1039
+
1040
+ # source://webmock//lib/webmock/request_registry.rb#6
1019
1041
  def new(*_arg0); end
1020
1042
  end
1021
1043
  end
@@ -1029,7 +1051,7 @@ class WebMock::RequestSignature
1029
1051
 
1030
1052
  # @return [Boolean]
1031
1053
  #
1032
- # source://webmock//lib/webmock/request_signature.rb#34
1054
+ # source://webmock//lib/webmock/request_signature.rb#37
1033
1055
  def ==(other); end
1034
1056
 
1035
1057
  # Returns the value of attribute body.
@@ -1148,18 +1170,18 @@ class WebMock::RequestStub
1148
1170
  # source://webmock//lib/webmock/request_stub.rb#8
1149
1171
  def initialize(method, uri); end
1150
1172
 
1151
- # source://webmock//lib/webmock/request_stub.rb#65
1173
+ # source://webmock//lib/webmock/request_stub.rb#71
1152
1174
  def and_raise(*exceptions); end
1153
1175
 
1154
- # source://webmock//lib/webmock/request_stub.rb#19
1176
+ # source://webmock//lib/webmock/request_stub.rb#27
1155
1177
  def and_return(*response_hashes, &block); end
1156
1178
 
1157
1179
  # @raise [ArgumentError]
1158
1180
  #
1159
- # source://webmock//lib/webmock/request_stub.rb#29
1181
+ # source://webmock//lib/webmock/request_stub.rb#59
1160
1182
  def and_return_json(*response_hashes); end
1161
1183
 
1162
- # source://webmock//lib/webmock/request_stub.rb#73
1184
+ # source://webmock//lib/webmock/request_stub.rb#77
1163
1185
  def and_timeout; end
1164
1186
 
1165
1187
  # @return [Boolean]
@@ -1383,7 +1405,10 @@ class WebMock::StubRegistry
1383
1405
  class << self
1384
1406
  private
1385
1407
 
1408
+ # source://webmock//lib/webmock/stub_registry.rb#6
1386
1409
  def allocate; end
1410
+
1411
+ # source://webmock//lib/webmock/stub_registry.rb#6
1387
1412
  def new(*_arg0); end
1388
1413
  end
1389
1414
  end