Class: RSpec::Matchers::BuiltIn::ThrowSymbol Private

Inherits:
Object
  • Object
show all
Includes:
Composable
Defined in:
lib/rspec/matchers/built_in/throw_symbol.rb

Overview

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

Provides the implementation for throw_symbol. Not intended to be instantiated directly.

Instance Method Summary collapse

Methods included from Composable

#===, #and, #description_of, #or, should_enumerate?, surface_descriptions_in, unreadable_io?, #values_match?

Constructor Details

#initialize(expected_symbol = nil, expected_arg = nil) ⇒ ThrowSymbol

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns a new instance of ThrowSymbol.

10
11
12
13
14
# File 'lib/rspec/matchers/built_in/throw_symbol.rb', line 10
def initialize(expected_symbol=nil, expected_arg=nil)
  @expected_symbol = expected_symbol
  @expected_arg = expected_arg
  @caught_symbol = @caught_arg = nil
end

Instance Method Details

#descriptionString

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

  • (String)
86
87
88
# File 'lib/rspec/matchers/built_in/throw_symbol.rb', line 86
def description
  "throw #{expected}"
end

#does_not_match?(given_proc) ⇒ Boolean

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

rubocop:enable MethodLength

Returns:

  • (Boolean)
68
69
70
# File 'lib/rspec/matchers/built_in/throw_symbol.rb', line 68
def does_not_match?(given_proc)
  !matches?(given_proc) && Proc === given_proc
end

#expects_call_stack_jump?Boolean

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

  • (Boolean)
103
104
105
# File 'lib/rspec/matchers/built_in/throw_symbol.rb', line 103
def expects_call_stack_jump?
  true
end

#failure_messageString

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

  • (String)
74
75
76
# File 'lib/rspec/matchers/built_in/throw_symbol.rb', line 74
def failure_message
  "expected #{expected} to be thrown, #{actual_result}"
end

#failure_message_when_negatedString

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

  • (String)
80
81
82
# File 'lib/rspec/matchers/built_in/throw_symbol.rb', line 80
def failure_message_when_negated
  "expected #{expected('no Symbol')}#{' not' if @expected_symbol} to be thrown, #{actual_result}"
end

#supports_block_expectations?True

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Indicates this matcher matches against a block.

Returns:

  • (True)
93
94
95
# File 'lib/rspec/matchers/built_in/throw_symbol.rb', line 93
def supports_block_expectations?
  true
end

#supports_value_expectations?Boolean

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

  • (Boolean)
98
99
100
# File 'lib/rspec/matchers/built_in/throw_symbol.rb', line 98
def supports_value_expectations?
  false
end