class Transpec::Syntax::RSpecConfigure

Public Instance Methods

block_arg_name() click to toggle source
# File lib/transpec/syntax/rspec_configure.rb, line 110
def block_arg_name
  first_block_arg_name(block_node)
end
convert_deprecated_options!() click to toggle source
# File lib/transpec/syntax/rspec_configure.rb, line 70
def convert_deprecated_options! # rubocop:disable MethodLength
  replace_config!(:backtrace_clean_patterns,  :backtrace_exclusion_patterns)
  replace_config!(:backtrace_clean_patterns=, :backtrace_exclusion_patterns=)
  replace_config!(:color_enabled=, :color=)

  if rspec_version.config_output_stream_available?
    replace_config!(:output,  :output_stream)
    replace_config!(:output=, :output_stream=)
    replace_config!(:out,     :output_stream)
    replace_config!(:out=,    :output_stream=)
  end

  if rspec_version.config_pattern_available?
    replace_config!(:filename_pattern,  :pattern)
    replace_config!(:filename_pattern=, :pattern=)
  end

  if rspec_version.config_backtrace_formatter_available?
    replace_config!(:backtrace_cleaner, :backtrace_formatter)
  end

  if rspec_version.config_predicate_color_enabled_available?
    replace_config!(:color?, :color_enabled?)
  end

  if rspec_version.config_predicate_warnings_available?
    replace_config!(:warnings, :warnings?)
  end
end
dynamic_analysis_target?() click to toggle source
# File lib/transpec/syntax/rspec_configure.rb, line 25
def dynamic_analysis_target?
  return false unless super
  const_name(receiver_node) == 'RSpec' && method_name == :configure && parent_node.block_type?
end
expectations() click to toggle source
# File lib/transpec/syntax/rspec_configure.rb, line 100
def expectations
  @expectations ||= Expectations.new(self)
end
expose_dsl_globally=(value) click to toggle source
# File lib/transpec/syntax/rspec_configure.rb, line 30
      def expose_dsl_globally=(value)
        comment = <<-END.gsub(/^\s+\|/, '').chomp
          |Setting this config option `false` removes rspec-core's monkey patching of the
          |top level methods like `describe`, `shared_examples_for` and `shared_context`
          |on `main` and `Module`. The methods are always available through the `RSpec`
          |module like `RSpec.describe` regardless of this setting.
          |For backwards compatibility this defaults to `true`.
          |
          |https://relishapp.com/rspec/rspec-core/v/3-0/docs/configuration/global-namespace-dsl
        END
        set_config_value!(:expose_dsl_globally, value, comment)
      end
infer_spec_type_from_file_location!() click to toggle source
# File lib/transpec/syntax/rspec_configure.rb, line 43
      def infer_spec_type_from_file_location!
        return if infer_spec_type_from_file_location?
        return unless rspec_rails?

        # Based on the deprecation warning in RSpec 2.99:
        # https://github.com/rspec/rspec-rails/blob/ab6313b/lib/rspec/rails/infer_type_configuration.rb#L13-L22
        # and the Myron's post:
        # http://myronmars.to/n/dev-blog/2014/05/notable-changes-in-rspec-3#filetype_inference_disabled_by_default
        comment = <<-END.gsub(/^\s+\|/, '').chomp
          |rspec-rails 3 will no longer automatically infer an example group's spec type
          |from the file location. You can explicitly opt-in to the feature using this
          |config option.
          |To explicitly tag specs without using automatic inference, set the `:type`
          |metadata manually:
          |
          |    describe ThingsController, :type => :controller do
          |      # Equivalent to being in spec/controllers
          |    end
        END

        add_config!(:infer_spec_type_from_file_location!, nil, comment)
      end
infer_spec_type_from_file_location?() click to toggle source
# File lib/transpec/syntax/rspec_configure.rb, line 66
def infer_spec_type_from_file_location?
  !find_config_node(:infer_spec_type_from_file_location!).nil?
end
mocks() click to toggle source
# File lib/transpec/syntax/rspec_configure.rb, line 104
def mocks
  @mocks ||= Mocks.new(self)
end