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 shouldandshould_not.
- 
  
      .disable_expect(syntax_host = ::RSpec::Matchers)  ⇒ Object 
  
  private
    Disables the expectsyntax.
- 
  
      .disable_should(syntax_host = default_should_host)  ⇒ Object 
  
  private
    Disables the shouldsyntax.
- 
  
      .enable_expect(syntax_host = ::RSpec::Matchers)  ⇒ Object 
  
  private
    Enables the expectsyntax.
- 
  
      .enable_should(syntax_host = default_should_host)  ⇒ Object 
  
  private
    Enables the shouldsyntax.
- 
  
      .expect_enabled?(syntax_host = ::RSpec::Matchers)  ⇒ Boolean 
  
  private
    Indicates whether or not the expectsyntax is enabled.
- 
  
      .should_enabled?(syntax_host = default_should_host)  ⇒ Boolean 
  
  private
    Indicates whether or not the shouldsyntax is enabled.
- 
  
      .warn_about_should!  ⇒ Object 
  
  private
    Instructs rspec-expectations to warn on first usage of shouldorshould_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 |