Class: Coco::Configuration
- Inherits:
-
Hash
- Object
- Hash
- Coco::Configuration
- Defined in:
- lib/coco/configuration.rb
Overview
Public: I know the configuration of coco. You can override the default configuration by putting a ‘.coco.yml’ file in YAML format in the project root directory.
Examples
# Read the threshold value
config = Configuration.new
config[:threshold]
# => 100
# To override the threshold, put this line in '.coco.yml' file:
# :threshold: 70
Note you can set the threshold above 100% (to be sure to see all files) but you cannot set it under 0.
Instance Method Summary collapse
-
#initialize ⇒ Configuration
constructor
Public: Initialize a Configuration.
-
#user_wants_to_run? ⇒ Boolean
Public: Code coverage not have to run with every test/spec runs.
Constructor Details
#initialize ⇒ Configuration
Public: Initialize a Configuration.
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/coco/configuration.rb', line 26 def initialize self[:threshold] = 100 self[:directories] = ['lib'] self[:excludes] = [] self[:single_line_report] = false self[:always_run] = true self[:show_link_in_terminal] = false self[:exclude_above_threshold] = true if File.exist?('.coco.yml') self.merge!(YAML.load_file('.coco.yml')) # Deprecated: Support of '.coco' file will be removed in v1.0. elsif File.exist?('.coco') warn('Please use `.coco.yml` instead of `.coco`.') warn('Support for `.coco` will be removed in future versions.') self.merge!(YAML.load_file('.coco')) end ensure_threeshold_compatibility remove_directories end |
Instance Method Details
#user_wants_to_run? ⇒ Boolean
Public: Code coverage not have to run with every test/spec runs.
Here are the rules: If the configuration key :always_run is set to true, we always run the coverage. In case the configuration key :always_run is set to false, we have to check for an environement variable named ‘COCO’ to decide if we launch the coverage or not. When ‘COCO’ doesn’t exist, or is the empty string, or ‘0’, or ‘false’, we don’t run coverage. When ‘COCO’ is set to any other value, we start coverage.
Returns true if coverage should start.
60 61 62 63 64 65 66 |
# File 'lib/coco/configuration.rb', line 60 def user_wants_to_run? if self[:always_run] true else ![nil, '', '0', 'false'].include?(ENV['COCO']) end end |