Class: Spinach::Config
- Inherits:
-
Object
- Object
- Spinach::Config
- Defined in:
- lib/spinach/config.rb
Overview
The config object holds all the runtime configurations needed for spinach to run.
Instance Attribute Summary collapse
-
#audit ⇒ true/false
“audit” enables step auditing mode.
-
#config_path ⇒ String
It allows you to set a config file to parse for all the other options to be set.
-
#default_reporter ⇒ Object
writeonly
Sets the attribute default_reporter.
-
#fail_fast ⇒ true/false
The “fail_fast” determines if the suite run should exit when encountering a failure/error.
-
#failure_exceptions ⇒ Array<Exception>
The failure exceptions return an array of exceptions to be captured and considered as failures (as opposite of errors).
-
#features_path ⇒ String
The “features path” holds the place where your features will be searched for.
- #generate ⇒ Object
-
#reporter_classes ⇒ Array<reporter object>
The “reporter classes” holds an array of reporter class name Default to [“Spinach::Reporter::Stdout”].
-
#reporter_options ⇒ Object
The “reporter_options” holds the options passed to reporter_classes.
-
#save_and_open_page_on_failure ⇒ Object
When using capybara, it automatically shows the current page when there’s a failure.
-
#step_definitions_path ⇒ String
The “step definitions path” holds the place where your feature step classes will be searched for.
-
#support_path ⇒ String
The “support path” helds the place where you can put your configuration files.
-
#tags ⇒ Array
Tags to tell Spinach that you only want to run scenarios that have (or don’t have) certain tags.
Instance Method Summary collapse
-
#[](attribute) ⇒ Object
Allows you to read the config object using a hash-like syntax.
-
#[]=(attribute, value) ⇒ Object
Allows you to set config properties using a hash-like syntax.
-
#parse_from_file ⇒ Boolean
Parse options from the config file.
Instance Attribute Details
#audit ⇒ true/false
“audit” enables step auditing mode
153 154 155 |
# File 'lib/spinach/config.rb', line 153 def audit @audit || false end |
#config_path ⇒ String
It allows you to set a config file to parse for all the other options to be set
162 163 164 |
# File 'lib/spinach/config.rb', line 162 def config_path @config_path ||= 'config/spinach.yml' end |
#default_reporter=(value) ⇒ Object (writeonly)
Sets the attribute default_reporter
25 26 27 |
# File 'lib/spinach/config.rb', line 25 def default_reporter=(value) @default_reporter = value end |
#fail_fast ⇒ true/false
The “fail_fast” determines if the suite run should exit when encountering a failure/error
143 144 145 |
# File 'lib/spinach/config.rb', line 143 def fail_fast @fail_fast end |
#failure_exceptions ⇒ Array<Exception>
The failure exceptions return an array of exceptions to be captured and considered as failures (as opposite of errors)
132 133 134 |
# File 'lib/spinach/config.rb', line 132 def failure_exceptions @failure_exceptions ||= [] end |
#features_path ⇒ String
The “features path” holds the place where your features will be searched for. Defaults to ‘features’
47 48 49 |
# File 'lib/spinach/config.rb', line 47 def features_path @features_path || 'features' end |
#generate ⇒ Object
91 92 93 |
# File 'lib/spinach/config.rb', line 91 def generate @generate || false end |
#reporter_classes ⇒ Array<reporter object>
The “reporter classes” holds an array of reporter class name Default to [“Spinach::Reporter::Stdout”]
58 59 60 |
# File 'lib/spinach/config.rb', line 58 def reporter_classes @reporter_classes || ["Spinach::Reporter::Stdout"] end |
#reporter_options ⇒ Object
The “reporter_options” holds the options passed to reporter_classes
65 66 67 |
# File 'lib/spinach/config.rb', line 65 def @reporter_options || {} end |
#save_and_open_page_on_failure ⇒ Object
When using capybara, it automatically shows the current page when there’s a failure
169 170 171 |
# File 'lib/spinach/config.rb', line 169 def save_and_open_page_on_failure @save_and_open_page_on_failure ||= false end |
#step_definitions_path ⇒ String
The “step definitions path” holds the place where your feature step classes will be searched for. Defaults to ‘##features_path/steps’
76 77 78 |
# File 'lib/spinach/config.rb', line 76 def step_definitions_path @step_definitions_path || "#{self.features_path}/steps" end |
#support_path ⇒ String
The “support path” helds the place where you can put your configuration files. Defaults to ‘##features_path/support’
87 88 89 |
# File 'lib/spinach/config.rb', line 87 def support_path @support_path || "#{self.features_path}/support" end |
#tags ⇒ Array
Tags to tell Spinach that you only want to run scenarios that have (or don’t have) certain tags.
179 180 181 |
# File 'lib/spinach/config.rb', line 179 def @tags ||= [] end |
Instance Method Details
#[](attribute) ⇒ Object
Allows you to read the config object using a hash-like syntax.
105 106 107 |
# File 'lib/spinach/config.rb', line 105 def [](attribute) self.send(attribute) end |
#[]=(attribute, value) ⇒ Object
Allows you to set config properties using a hash-like syntax.
122 123 124 |
# File 'lib/spinach/config.rb', line 122 def []=(attribute, value) self.send("#{attribute}=", value) end |
#parse_from_file ⇒ Boolean
Parse options from the config file
188 189 190 191 192 193 194 195 |
# File 'lib/spinach/config.rb', line 188 def parse_from_file parsed_opts = YAML.load_file(config_path) parsed_opts.delete_if{|k| k.to_s == 'config_path'} parsed_opts.each_pair{|k,v| self[k] = v} true rescue Errno::ENOENT false end |