Class: Spinach::Config

Inherits:
Object
  • Object
show all
Defined in:
lib/spinach/config.rb

Overview

The config object holds all the runtime configurations needed for spinach to run.

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#default_reporterObject

The default reporter is the reporter spinach will use if there’s no other specified. Defaults to Spinach::Reporter::Stdout, which will print all output to the standard output



52
53
54
# File 'lib/spinach/config.rb', line 52

def default_reporter
  @default_reporter || Spinach::Reporter::Stdout.new
end

#failure_exceptionsArray<Exception>

The failure exceptions return an array of exceptions to be captured and considered as failures (as opposite of errors)

Returns:

  • (Array<Exception>)


93
94
95
# File 'lib/spinach/config.rb', line 93

def failure_exceptions
  @failure_exceptions ||= []
end

#step_definitions_pathString

The “step definitions path” holds the place where your feature step classes will be searched for. Defaults to ‘features/steps’

Returns:

  • (String)

    The step definitions path.



33
34
35
# File 'lib/spinach/config.rb', line 33

def step_definitions_path
  @step_definitions_path || 'features/steps'
end

#support_pathString

The “support path” helds the place where you can put your configuration files.

Returns:

  • (String)

    The support file path.



44
45
46
# File 'lib/spinach/config.rb', line 44

def support_path
  @support_path || 'features/support'
end

Instance Method Details

#[](attribute) ⇒ Object

Allows you to read the config object using a hash-like syntax.

Examples:

Spinach.config[:step_definitions_path]
# => 'features/steps'

Parameters:

  • attribute (String)

    The attribute to fetch.



66
67
68
# File 'lib/spinach/config.rb', line 66

def [](attribute)
  self.send(attribute)
end

#[]=(attribute, value) ⇒ Object

Allows you to set config properties using a hash-like syntax.

Examples:

Spinach.config[:step_definitions_path] = 'integration/steps'
  # => 'integration/steps'

Parameters:

  • attribute (#to_s)

    The attribute to set.

  • value (Object)

    The value to set the attribute to.



83
84
85
# File 'lib/spinach/config.rb', line 83

def []=(attribute, value)
  self.send("#{attribute}=", value)
end