Module: RSpec::Expectations::Syntax Private
- Defined in:
- lib/rspec/expectations/syntax.rb
Overview
This module is part of a private API. You should avoid using this module if possible, as it may be removed or be changed in the future.
Provides methods for enabling and disabling the available syntaxes provided by rspec-expectations.
Class Method Summary collapse
-
.default_should_host ⇒ Object
private
Determines where we add
should
andshould_not
. -
.disable_expect(syntax_host = ::RSpec::Matchers) ⇒ Object
private
Disables the
expect
syntax. -
.disable_should(syntax_host = default_should_host) ⇒ Object
private
Disables the
should
syntax. -
.enable_expect(syntax_host = ::RSpec::Matchers) ⇒ Object
private
Enables the
expect
syntax. -
.enable_should(syntax_host = default_should_host) ⇒ Object
private
Enables the
should
syntax. -
.expect_enabled?(syntax_host = ::RSpec::Matchers) ⇒ Boolean
private
Indicates whether or not the
expect
syntax is enabled. -
.should_enabled?(syntax_host = default_should_host) ⇒ Boolean
private
Indicates whether or not the
should
syntax is enabled. -
.warn_about_should! ⇒ Object
private
Instructs rspec-expectations to warn on first usage of
should
orshould_not
. -
.warn_about_should_unless_configured(method_name) ⇒ Object
private
Generates a deprecation warning for the given method if no warning has already been issued.
Class Method Details
.default_should_host ⇒ Object
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.
Determines where we add should
and should_not
.
11 12 13 |
# File 'lib/rspec/expectations/syntax.rb', line 11 def default_should_host @default_should_host ||= ::Object.ancestors.last end |
.disable_expect(syntax_host = ::RSpec::Matchers) ⇒ Object
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.
Disables the expect
syntax.
80 81 82 83 84 85 86 |
# File 'lib/rspec/expectations/syntax.rb', line 80 def disable_expect(syntax_host=::RSpec::Matchers) return unless expect_enabled?(syntax_host) syntax_host.module_exec do undef expect end end |
.disable_should(syntax_host = default_should_host) ⇒ Object
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.
Disables the should
syntax.
57 58 59 60 61 62 63 64 |
# File 'lib/rspec/expectations/syntax.rb', line 57 def disable_should(syntax_host=default_should_host) return unless should_enabled?(syntax_host) syntax_host.module_exec do undef should undef should_not end end |
.enable_expect(syntax_host = ::RSpec::Matchers) ⇒ Object
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.
Enables the expect
syntax.
68 69 70 71 72 73 74 75 76 |
# File 'lib/rspec/expectations/syntax.rb', line 68 def enable_expect(syntax_host=::RSpec::Matchers) return if expect_enabled?(syntax_host) syntax_host.module_exec do def expect(value=::RSpec::Expectations::ExpectationTarget::UndefinedValue, &block) ::RSpec::Expectations::ExpectationTarget.for(value, block) end end end |
.enable_should(syntax_host = default_should_host) ⇒ Object
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.
Enables the should
syntax.
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/rspec/expectations/syntax.rb', line 38 def enable_should(syntax_host=default_should_host) @warn_about_should = false if syntax_host == default_should_host return if should_enabled?(syntax_host) syntax_host.module_exec do def should(matcher=nil, =nil, &block) ::RSpec::Expectations::Syntax.warn_about_should_unless_configured(::Kernel.__method__) ::RSpec::Expectations::PositiveExpectationHandler.handle_matcher(self, matcher, , &block) end def should_not(matcher=nil, =nil, &block) ::RSpec::Expectations::Syntax.warn_about_should_unless_configured(::Kernel.__method__) ::RSpec::Expectations::NegativeExpectationHandler.handle_matcher(self, matcher, , &block) end end end |
.expect_enabled?(syntax_host = ::RSpec::Matchers) ⇒ 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.
Indicates whether or not the expect
syntax is enabled.
96 97 98 |
# File 'lib/rspec/expectations/syntax.rb', line 96 def expect_enabled?(syntax_host=::RSpec::Matchers) syntax_host.method_defined?(:expect) end |
.should_enabled?(syntax_host = default_should_host) ⇒ 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.
Indicates whether or not the should
syntax is enabled.
90 91 92 |
# File 'lib/rspec/expectations/syntax.rb', line 90 def should_enabled?(syntax_host=default_should_host) syntax_host.method_defined?(:should) end |
.warn_about_should! ⇒ Object
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.
Instructs rspec-expectations to warn on first usage of should
or should_not
.
Enabled by default. This is largely here to facilitate testing.
18 19 20 |
# File 'lib/rspec/expectations/syntax.rb', line 18 def warn_about_should! @warn_about_should = true end |
.warn_about_should_unless_configured(method_name) ⇒ Object
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.
Generates a deprecation warning for the given method if no warning has already been issued.
25 26 27 28 29 30 31 32 33 34 |
# File 'lib/rspec/expectations/syntax.rb', line 25 def warn_about_should_unless_configured(method_name) return unless @warn_about_should RSpec.deprecate( "Using `#{method_name}` from rspec-expectations' old `:should` syntax without explicitly enabling the syntax", :replacement => "the new `:expect` syntax or explicitly enable `:should` with `config.expect_with(:rspec) { |c| c.syntax = :should }`" ) @warn_about_should = false end |