setsuzoku 0.11.9 → 0.12.54

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +5 -13
  3. data/lib/setsuzoku.rb +1 -2
  4. data/lib/setsuzoku/api_strategy.rb +6 -4
  5. data/lib/setsuzoku/auth_strategy.rb +28 -14
  6. data/lib/setsuzoku/credential.rb +10 -0
  7. data/lib/setsuzoku/has_config_context.rb +27 -0
  8. data/lib/setsuzoku/pluggable.rb +6 -4
  9. data/lib/setsuzoku/plugin.rb +1 -1
  10. data/lib/setsuzoku/rspec/dynamic_spec_helper.rb +4 -3
  11. data/lib/setsuzoku/service.rb +1 -1
  12. data/lib/setsuzoku/service/web_service.rb +6 -2
  13. data/lib/setsuzoku/service/web_service/api_strategies/rest_strategy.rb +35 -16
  14. data/lib/setsuzoku/service/web_service/api_strategy.rb +13 -8
  15. data/lib/setsuzoku/service/web_service/auth_strategies/basic_auth_strategy.rb +6 -4
  16. data/lib/setsuzoku/service/web_service/auth_strategies/custom_auth_strategy.rb +66 -0
  17. data/lib/setsuzoku/service/web_service/auth_strategies/o_auth_strategy.rb +25 -88
  18. data/lib/setsuzoku/service/web_service/auth_strategies/strategy_can_use_tokens.rb +175 -0
  19. data/lib/setsuzoku/service/web_service/auth_strategy.rb +1 -14
  20. data/lib/setsuzoku/service/web_service/credentials/basic_auth_credential.rb +3 -3
  21. data/lib/setsuzoku/service/web_service/credentials/custom_auth_credential.rb +46 -0
  22. data/lib/setsuzoku/service/web_service/credentials/o_auth_credential.rb +41 -35
  23. data/lib/setsuzoku/service/web_service/credentials/uses_credential_token.rb +68 -0
  24. data/lib/setsuzoku/service/web_service/service.rb +2 -1
  25. data/lib/setsuzoku/version.rb +1 -1
  26. data/setsuzoku.gemspec +0 -1
  27. data/sorbet/rbi/gems/activesupport.rbi +4 -54
  28. data/sorbet/rbi/gems/i18n.rbi +2 -2
  29. data/sorbet/rbi/gems/rspec-core.rbi +3 -155
  30. data/sorbet/rbi/gems/rspec-expectations.rbi +2 -6
  31. data/sorbet/rbi/gems/rspec-mocks.rbi +1 -5
  32. data/sorbet/rbi/gems/rspec-support.rbi +63 -74
  33. data/sorbet/rbi/gems/rspec.rbi +1 -1
  34. data/sorbet/rbi/gems/webmock.rbi +1 -5
  35. data/sorbet/rbi/hidden-definitions/hidden.rbi +3651 -619
  36. data/sorbet/rbi/sorbet-typed/lib/activesupport/all/activesupport.rbi +17 -17
  37. data/sorbet/rbi/sorbet-typed/lib/faraday/all/faraday.rbi +685 -0
  38. data/sorbet/rbi/todo.rbi +1 -0
  39. metadata +8 -20
  40. data/lib/setsuzoku/utilities.rb +0 -7
  41. data/sorbet/rbi/sorbet-typed/lib/bundler/all/bundler.rbi +0 -8684
  42. data/sorbet/rbi/sorbet-typed/lib/ruby/all/open3.rbi +0 -111
  43. data/sorbet/rbi/sorbet-typed/lib/ruby/all/resolv.rbi +0 -543
@@ -6,9 +6,9 @@ module Setsuzoku
6
6
  module WebService
7
7
  module Credentials
8
8
  module BasicAuthCredential
9
- include Setsuzoku::Credential
10
9
  extend T::Sig
11
10
  extend T::Helpers
11
+ include Setsuzoku::Credential
12
12
  abstract!
13
13
 
14
14
  # The username to use for the credential.
@@ -42,8 +42,8 @@ module Setsuzoku
42
42
  # @return [Struct] a stubbed basic_auth_credential-like struct.
43
43
  sig { returns(Struct) }
44
44
  def self.stub_credential
45
- s = Struct.new(:status, :settings, :username, :password)
46
- s.new('active', {}, 'stubbed_username', 'stubbed_password')
45
+ s = Struct.new(:auth_strategy, :status, :settings, :username, :password)
46
+ s.new(nil, 'active', {}, 'stubbed_username', 'stubbed_password')
47
47
  end
48
48
  end
49
49
  end
@@ -0,0 +1,46 @@
1
+ # typed: strict
2
+ # frozen_string_literal: true
3
+
4
+ module Setsuzoku
5
+ module Service
6
+ module WebService
7
+ module Credentials
8
+ module CustomAuthCredential
9
+ extend T::Sig
10
+ extend T::Helpers
11
+ include Setsuzoku::Credential
12
+ include UsesTokenCredential
13
+ abstract!
14
+
15
+ #
16
+ # uses_token?
17
+ sig{ abstract.returns(T::Boolean) }
18
+ #
19
+ # If the credential uses a token.
20
+ #
21
+ # @return [Boolean] if the credential should request and store tokens.
22
+ def uses_token?; end
23
+ #
24
+ # auth_headers
25
+ sig{ abstract.returns(T::Hash[Symbol, T.untyped]) }
26
+ # The custom auth_headers this credential provides for custom_auth_strategy.
27
+ #
28
+ # @return [Hash] the auth headers.
29
+ def auth_headers; end
30
+
31
+ #
32
+ # self.stub_credential
33
+ sig { returns(Struct) }
34
+ #
35
+ # Stub a custom_auth_credential-like instance.
36
+ #
37
+ # @return [Struct] a stubbed custom_auth_credential-like struct.
38
+ def self.stub_credential
39
+ s = Struct.new(:auth_strategy, :status, :settings, :auth_headers, :uses_token?, :token, :refresh_token, :expires_on)
40
+ s.new(nil, 'active', {}, { stubbed_auth_header: 'stubbed_auth_header' }, true, 'stubbed_token', 'stubbed_refresh_token', (Time.now + 30.days))
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
@@ -10,8 +10,32 @@ module Setsuzoku
10
10
  module OAuthCredential
11
11
  extend T::Sig
12
12
  extend T::Helpers
13
+ include Setsuzoku::Credential
14
+ include UsesTokenCredential
13
15
  abstract!
14
16
 
17
+ #
18
+ # auth_actions
19
+ sig { overridable.returns(T::Hash[T.untyped, T.untyped]) }
20
+ #
21
+ # All auth actions that are implemented.
22
+ #
23
+ # @return [Hash] all auth endpoint definitions for the API.
24
+ def auth_actions
25
+ {
26
+ new_token: {
27
+ 'POST' => 'token',
28
+ request_type: :json,
29
+ response_type: :json
30
+ },
31
+ refresh_token: {
32
+ 'POST' => 'token',
33
+ request_type: :json,
34
+ response_type: :json
35
+ }
36
+ }
37
+ end
38
+
15
39
  # The application's client_id to o_auth with.
16
40
  #
17
41
  # @return [String] the client_id for o_auth.
@@ -30,51 +54,33 @@ module Setsuzoku
30
54
  sig { abstract.returns(T.nilable(String)) }
31
55
  def redirect_url; end
32
56
 
33
- # The token to use for the credential.
34
- #
35
- # @return [String] the credential's token.
36
- sig{ abstract.returns(T.nilable(String)) }
37
- def token; end
38
-
39
- # The token to set for the credential.
57
+ # The token, refresh_token, and expires_at to assign for an OAuth token request.
40
58
  #
41
- # @return [String] the credential's token to set.
59
+ # @param resp [Hash] the response hash from the external api call for a token.
42
60
  #
43
- sig{ abstract.params(val: String).returns(T.nilable(String)) }
44
- def token=(val); end
61
+ # @return [Hash] the attributes to assign to the credential.
62
+ sig{ override.params(resp: Setsuzoku::ApiResponse).returns(T::Hash[Symbol, T.untyped]) }
63
+ def token_attributes_to_assign(resp)
64
+ attrs = {
65
+ token: resp.data[:access_token],
66
+ refresh_token: resp.data[:refresh_token]
67
+ }
45
68
 
46
- # The refresh token to use for the credential.
47
- #
48
- # @return [String] the credential's refresh token.
49
- sig{ abstract.returns(T.nilable(String)) }
50
- def refresh_token; end
69
+ expires_in = resp.data[:expires_in]
70
+ if expires_in && (expires_in.is_a?(Integer) || expires_in.match(/^\d+$/))
71
+ attrs[:expires_on] = expires_in.to_i.seconds.from_now
72
+ end
51
73
 
52
- # The refresh token to set for the credential.
53
- #
54
- # @return [String] the credential's refresh token to set.
55
- #
56
- sig{ abstract.params(val: String).returns(T.nilable(String)) }
57
- def refresh_token=(val); end
58
-
59
- # The time the currently valid token expires on.
60
- #
61
- # @return [Datetime] the time the current token expires.
62
- sig{ abstract.returns(T.nilable(DateTime)) }
63
- def expires_on; end
64
-
65
- # The time to set for when the token expires on.
66
- #
67
- # @return [Datetime] the time to set for the current token's expiry.
68
- sig{ abstract.params(val: DateTime).returns(T.nilable(DateTime)) }
69
- def expires_on=(val); end
74
+ attrs
75
+ end
70
76
 
71
77
  # Stub an o_auth_credential-like instance.
72
78
  #
73
79
  # @return [Struct] a stubbed o_auth_credential-like struct.
74
80
  sig { returns(Struct) }
75
81
  def self.stub_credential
76
- s = Struct.new(:status, :settings, :client_id, :client_secret, :redirect_url, :token, :refresh_token, :expires_on)
77
- s.new('active', {'extension': 'test'}, 'stubbed_client_id', 'stubbed_client_secret', 'stubbed_redirect_url', 'stubbed_token', 'refresh_token', (Time.now + 30.days))
82
+ s = Struct.new(:auth_strategy, :status, :settings, :client_id, :client_secret, :redirect_url, :token, :refresh_token, :expires_on)
83
+ s.new(nil, 'active', {'extension': 'test'}, 'stubbed_client_id', 'stubbed_client_secret', 'stubbed_redirect_url', 'stubbed_token', 'stubbed_refresh_token', (Time.now + 30.days))
78
84
  end
79
85
  end
80
86
  end
@@ -0,0 +1,68 @@
1
+ # typed: strict
2
+ # frozen_string_literal: true
3
+
4
+ module Setsuzoku
5
+ module Service
6
+ module WebService
7
+ module Credentials
8
+ module UsesTokenCredential
9
+ extend T::Sig
10
+ extend T::Helpers
11
+
12
+ # The base auth url for the plugin.
13
+ #
14
+ # @return [String] the auth url.
15
+ sig { abstract.returns(String) }
16
+ def auth_base_url; end
17
+
18
+ # The token to use for the credential.
19
+ #
20
+ # @return [String] the credential's token.
21
+ sig{ abstract.returns(T.nilable(String)) }
22
+ def token; end
23
+
24
+ # The token to set for the credential.
25
+ #
26
+ # @return [String] the credential's token to set.
27
+ #
28
+ sig{ abstract.params(val: String).returns(T.nilable(String)) }
29
+ def token=(val); end
30
+
31
+ # The refresh token to use for the credential.
32
+ #
33
+ # @return [String] the credential's refresh token.
34
+ sig{ abstract.returns(T.nilable(String)) }
35
+ def refresh_token; end
36
+
37
+ # The refresh token to set for the credential.
38
+ #
39
+ # @return [String] the credential's refresh token to set.
40
+ #
41
+ sig{ abstract.params(val: String).returns(T.nilable(String)) }
42
+ def refresh_token=(val); end
43
+
44
+ # The time the currently valid token expires on.
45
+ #
46
+ # @return [Datetime] the time the current token expires.
47
+ sig{ abstract.returns(T.nilable(DateTime)) }
48
+ def expires_on; end
49
+
50
+ # The time to set for when the token expires on.
51
+ #
52
+ # @return [Datetime] the time to set for the current token's expiry.
53
+ sig{ abstract.params(val: DateTime).returns(T.nilable(DateTime)) }
54
+ def expires_on=(val);
55
+
56
+ # The token fields to bet set for the custom credential.
57
+ #
58
+ # @param resp [Hash] the response hash from the external api call for a token.
59
+ #
60
+ # @return [Hash] the attributes to assign to the credential.
61
+ sig{ abstract.params(resp: T::Hash[Symbol, T.untyped]).returns(T::Hash[Symbol, T.untyped]) }
62
+ def token_attributes_to_assign(resp); end
63
+ end
64
+ end
65
+ end
66
+ end
67
+ end
68
+ end
@@ -1,4 +1,4 @@
1
- # typed: strict
1
+ # typed: ignore
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module Setsuzoku
@@ -18,6 +18,7 @@ module Setsuzoku
18
18
  {
19
19
  auth: {
20
20
  basic: Setsuzoku::Service::WebService::AuthStrategies::BasicAuthStrategy,
21
+ custom: Setsuzoku::Service::WebService::AuthStrategies::CustomAuthStrategy,
21
22
  o_auth: Setsuzoku::Service::WebService::AuthStrategies::OAuthStrategy
22
23
  },
23
24
  api: {
@@ -2,5 +2,5 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module Setsuzoku
5
- VERSION = '0.11.9'
5
+ VERSION = '0.12.54'
6
6
  end
@@ -44,7 +44,6 @@ Gem::Specification.new do |spec|
44
44
  spec.add_development_dependency "sorbet", "~> 0.5"
45
45
  spec.add_runtime_dependency "sorbet-runtime", "~> 0.5"
46
46
  #TODO: we should remove httparty if we can just use faraday
47
- spec.add_runtime_dependency "httparty", "~> 0.16.4"
48
47
  spec.add_runtime_dependency "faraday", "~> 0.11"
49
48
  spec.add_runtime_dependency "nokogiri", "~> 1.10"
50
49
  end
@@ -809,6 +809,10 @@ class ActiveSupport::HashWithIndifferentAccess < Hash
809
809
  def with_defaults(other_hash); end
810
810
  def with_indifferent_access; end
811
811
  end
812
+ class Class < Module
813
+ def descendants; end
814
+ def subclasses; end
815
+ end
812
816
  module ActiveSupport::Multibyte
813
817
  def self.proxy_class; end
814
818
  def self.proxy_class=(klass); end
@@ -1069,57 +1073,3 @@ module DateAndTime::Calculations
1069
1073
  def years_since(years); end
1070
1074
  def yesterday; end
1071
1075
  end
1072
- class Class < Module
1073
- def class_attribute(*attrs); end
1074
- def descendants; end
1075
- def subclasses; end
1076
- end
1077
- module ActiveSupport::NumberHelper
1078
- def number_to_currency(number, options = nil); end
1079
- def number_to_delimited(number, options = nil); end
1080
- def number_to_human(number, options = nil); end
1081
- def number_to_human_size(number, options = nil); end
1082
- def number_to_percentage(number, options = nil); end
1083
- def number_to_phone(number, options = nil); end
1084
- def number_to_rounded(number, options = nil); end
1085
- extend ActiveSupport::Autoload
1086
- extend ActiveSupport::NumberHelper
1087
- end
1088
- class ActiveSupport::NumberHelper::NumberConverter
1089
- def default_format_options; end
1090
- def default_value(key); end
1091
- def execute; end
1092
- def format_options; end
1093
- def i18n_format_options; end
1094
- def initialize(number, options); end
1095
- def namespace; end
1096
- def namespace=(val); end
1097
- def namespace?; end
1098
- def number; end
1099
- def options; end
1100
- def opts; end
1101
- def self.convert(number, options); end
1102
- def self.namespace; end
1103
- def self.namespace=(val); end
1104
- def self.namespace?; end
1105
- def self.validate_float; end
1106
- def self.validate_float=(val); end
1107
- def self.validate_float?; end
1108
- def translate_in_locale(key, i18n_options = nil); end
1109
- def translate_number_value_with_default(key, i18n_options = nil); end
1110
- def valid_float?; end
1111
- def validate_float; end
1112
- def validate_float=(val); end
1113
- def validate_float?; end
1114
- end
1115
- class ActiveSupport::NumberHelper::NumberToPhoneConverter < ActiveSupport::NumberHelper::NumberConverter
1116
- def convert; end
1117
- def convert_to_phone_number(number); end
1118
- def convert_with_area_code(number); end
1119
- def convert_without_area_code(number); end
1120
- def country_code(code); end
1121
- def delimiter; end
1122
- def phone_ext(ext); end
1123
- def regexp_pattern(default_pattern); end
1124
- def start_with_delimiter?(number); end
1125
- end
@@ -7,7 +7,7 @@
7
7
  #
8
8
  # https://github.com/sorbet/sorbet-typed/new/master?filename=lib/i18n/all/i18n.rbi
9
9
  #
10
- # i18n-1.8.2
10
+ # i18n-1.8.3
11
11
 
12
12
  module I18n
13
13
  def self.interpolate(string, values); end
@@ -87,7 +87,7 @@ module I18n::Base
87
87
  def enforce_available_locales=(value); end
88
88
  def exception_handler; end
89
89
  def exception_handler=(value); end
90
- def exists?(key, _locale = nil, locale: nil); end
90
+ def exists?(key, _locale = nil, locale: nil, **options); end
91
91
  def handle_exception(handling, exception, locale, key, options); end
92
92
  def l(object, locale: nil, format: nil, **options); end
93
93
  def load_path; end
@@ -7,7 +7,7 @@
7
7
  #
8
8
  # https://github.com/sorbet/sorbet-typed/new/master?filename=lib/rspec-core/all/rspec-core.rbi
9
9
  #
10
- # rspec-core-3.9.2
10
+ # rspec-core-3.8.2
11
11
 
12
12
  module RSpec
13
13
  def self.clear_examples; end
@@ -403,7 +403,6 @@ class RSpec::Core::Reporter
403
403
  def example_pending(example); end
404
404
  def example_started(example); end
405
405
  def examples; end
406
- def exit_early(exit_code); end
407
406
  def fail_fast_limit_met?; end
408
407
  def failed_examples; end
409
408
  def finish; end
@@ -808,7 +807,6 @@ class RSpec::Core::World
808
807
  def descending_declaration_line_numbers_by_file; end
809
808
  def everything_filtered_message; end
810
809
  def example_count(groups = nil); end
811
- def example_group_counts_by_spec_file; end
812
810
  def example_groups; end
813
811
  def exclusion_filter; end
814
812
  def fail_if_config_and_cli_options_invalid; end
@@ -1106,7 +1104,8 @@ class RSpec::Core::Configuration
1106
1104
  def extend(mod, *filters); end
1107
1105
  def extract_location(path); end
1108
1106
  def fail_fast; end
1109
- def fail_fast=(value); end
1107
+ def fail_fast=(arg0); end
1108
+ def fail_fast?; end
1110
1109
  def fail_if_no_examples; end
1111
1110
  def fail_if_no_examples=(arg0); end
1112
1111
  def fail_if_no_examples?; end
@@ -1729,157 +1728,6 @@ class RSpec::Core::Profiler
1729
1728
  def example_started(notification); end
1730
1729
  def initialize; end
1731
1730
  end
1732
- class RSpec::Core::DidYouMean
1733
- def call; end
1734
- def formats(probables); end
1735
- def initialize(relative_file_name); end
1736
- def red_font(mytext); end
1737
- def relative_file_name; end
1738
- def top_and_tail(rspec_format); end
1739
- end
1740
- class RSpec::Core::Formatters::BaseFormatter
1741
- def close(_notification); end
1742
- def example_group; end
1743
- def example_group=(arg0); end
1744
- def example_group_started(notification); end
1745
- def initialize(output); end
1746
- def output; end
1747
- def output_supports_sync; end
1748
- def restore_sync_output; end
1749
- def start(notification); end
1750
- def start_sync_output; end
1751
- end
1752
- class RSpec::Core::Formatters::BaseTextFormatter < RSpec::Core::Formatters::BaseFormatter
1753
- def close(_notification); end
1754
- def dump_failures(notification); end
1755
- def dump_pending(notification); end
1756
- def dump_summary(summary); end
1757
- def message(notification); end
1758
- def seed(notification); end
1759
- end
1760
- class RSpec::Core::Formatters::DocumentationFormatter < RSpec::Core::Formatters::BaseTextFormatter
1761
- def current_indentation(offset = nil); end
1762
- def example_failed(failure); end
1763
- def example_group_finished(_notification); end
1764
- def example_group_started(notification); end
1765
- def example_passed(passed); end
1766
- def example_pending(pending); end
1767
- def example_started(_notification); end
1768
- def failure_output(example); end
1769
- def flush_messages; end
1770
- def initialize(output); end
1771
- def message(notification); end
1772
- def next_failure_index; end
1773
- def passed_output(example); end
1774
- def pending_output(example, message); end
1775
- end
1776
- class RSpec::Core::Formatters::HtmlPrinter
1777
- def flush; end
1778
- def indentation_style(number_of_parents); end
1779
- def initialize(output); end
1780
- def make_example_group_header_red(group_id); end
1781
- def make_example_group_header_yellow(group_id); end
1782
- def make_header_red; end
1783
- def make_header_yellow; end
1784
- def move_progress(percent_done); end
1785
- def print_example_failed(pending_fixed, description, run_time, failure_id, exception, extra_content); end
1786
- def print_example_group_end; end
1787
- def print_example_group_start(group_id, description, number_of_parents); end
1788
- def print_example_passed(description, run_time); end
1789
- def print_example_pending(description, pending_message); end
1790
- def print_html_start; end
1791
- def print_summary(duration, example_count, failure_count, pending_count); end
1792
- include ERB::Util
1793
- end
1794
- class RSpec::Core::Formatters::HtmlFormatter < RSpec::Core::Formatters::BaseFormatter
1795
- def dump_summary(summary); end
1796
- def example_failed(failure); end
1797
- def example_group_number; end
1798
- def example_group_started(notification); end
1799
- def example_number; end
1800
- def example_passed(passed); end
1801
- def example_pending(pending); end
1802
- def example_started(_notification); end
1803
- def extra_failure_content(failure); end
1804
- def initialize(output); end
1805
- def percent_done; end
1806
- def start(notification); end
1807
- def start_dump(_notification); end
1808
- end
1809
- class RSpec::Core::Formatters::FallbackMessageFormatter
1810
- def initialize(output); end
1811
- def message(notification); end
1812
- def output; end
1813
- end
1814
- class RSpec::Core::Formatters::ProgressFormatter < RSpec::Core::Formatters::BaseTextFormatter
1815
- def example_failed(_notification); end
1816
- def example_passed(_notification); end
1817
- def example_pending(_notification); end
1818
- def start_dump(_notification); end
1819
- end
1820
- class RSpec::Core::Formatters::ProfileFormatter
1821
- def bold(text); end
1822
- def dump_profile(profile); end
1823
- def dump_profile_slowest_example_groups(profile); end
1824
- def dump_profile_slowest_examples(profile); end
1825
- def format_caller(caller_info); end
1826
- def initialize(output); end
1827
- def output; end
1828
- end
1829
- class RSpec::Core::Formatters::JsonFormatter < RSpec::Core::Formatters::BaseFormatter
1830
- def close(_notification); end
1831
- def dump_profile(profile); end
1832
- def dump_profile_slowest_example_groups(profile); end
1833
- def dump_profile_slowest_examples(profile); end
1834
- def dump_summary(summary); end
1835
- def format_example(example); end
1836
- def initialize(output); end
1837
- def message(notification); end
1838
- def output_hash; end
1839
- def seed(notification); end
1840
- def stop(notification); end
1841
- end
1842
- module RSpec::Core::Bisect
1843
- end
1844
- class RSpec::Core::Bisect::ExampleSetDescriptor < Struct
1845
- def all_example_ids; end
1846
- def all_example_ids=(_); end
1847
- def failed_example_ids; end
1848
- def failed_example_ids=(_); end
1849
- def self.[](*arg0); end
1850
- def self.inspect; end
1851
- def self.members; end
1852
- def self.new(*arg0); end
1853
- end
1854
- class RSpec::Core::Bisect::BisectFailedError < StandardError
1855
- def self.for_failed_spec_run(spec_output); end
1856
- end
1857
- class RSpec::Core::Bisect::Notifier
1858
- def initialize(formatter); end
1859
- def publish(event, *args); end
1860
- end
1861
- class RSpec::Core::Bisect::Channel
1862
- def close; end
1863
- def initialize; end
1864
- def receive; end
1865
- def send(message); end
1866
- end
1867
- class RSpec::Core::Formatters::BaseBisectFormatter
1868
- def example_failed(notification); end
1869
- def example_finished(notification); end
1870
- def initialize(expected_failures); end
1871
- def self.inherited(formatter); end
1872
- def start_dump(_notification); end
1873
- end
1874
- class RSpec::Core::Formatters::BisectDRbFormatter < RSpec::Core::Formatters::BaseBisectFormatter
1875
- def initialize(_output); end
1876
- def notify_results(results); end
1877
- end
1878
- class RSpec::Core::Formatters::FailureListFormatter < RSpec::Core::Formatters::BaseFormatter
1879
- def dump_profile(_profile); end
1880
- def example_failed(failure); end
1881
- def message(_message); end
1882
- end
1883
1731
  module RSpec::Core::MockingAdapters
1884
1732
  end
1885
1733
  module RSpec::Core::MockingAdapters::RSpec