Class: RSpec::Core::ConfigurationOptions

Inherits:
Object
  • Object
show all
Defined in:
lib/rspec/core/configuration_options.rb

Overview

Responsible for utilizing externally provided configuration options, whether via the command line, .rspec, ~/.rspec, $XDG_CONFIG_HOME/rspec/options, .rspec-local or a custom options file.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(args) ⇒ ConfigurationOptions

Returns a new instance of ConfigurationOptions.

Parameters:

  • args (Array<String>)

    command line arguments

12
13
14
15
# File 'lib/rspec/core/configuration_options.rb', line 12
def initialize(args)
  @args = args.dup
  organize_options
end

Instance Attribute Details

#argsArray<String> (readonly)

Returns the original command-line arguments.

Returns:

  • (Array<String>)

    the original command-line arguments

40
41
42
# File 'lib/rspec/core/configuration_options.rb', line 40
def args
  @args
end

#optionsHash (readonly)

Returns the final merged options, drawn from all external sources.

Returns:

  • (Hash)

    the final merged options, drawn from all external sources

37
38
39
# File 'lib/rspec/core/configuration_options.rb', line 37
def options
  @options
end

Instance Method Details

#configure(config) ⇒ void

Updates the provided RSpec::Core::Configuration instance based on the provided external configuration options.

Parameters:

  • config (Configuration)

    the configuration instance to update

21
22
23
24
25
# File 'lib/rspec/core/configuration_options.rb', line 21
def configure(config)
  process_options_into config
  configure_filter_manager config.filter_manager
  load_formatters_into config
end

#configure_filter_manager(filter_manager) ⇒ void

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.

Updates the provided FilterManager based on the filter options.

Parameters:

  • filter_manager (FilterManager)

    instance to update

30
31
32
33
34
# File 'lib/rspec/core/configuration_options.rb', line 30
def configure_filter_manager(filter_manager)
  @filter_manager_options.each do |command, value|
    filter_manager.__send__ command, value
  end
end