Class: Uncov::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/uncov/configuration.rb

Overview

handle configuration for uncov

Defined Under Namespace

Classes: Option

Constant Summary collapse

CONFIG_FILE =
'.uncov'
FILE_MATCH_FLAGS =

equivalent of ‘shopt -s extglob dotglob globstar` for testing with `bash` & `ls`

File::FNM_EXTGLOB | File::FNM_PATHNAME | File::FNM_DOTMATCH

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

Returns a new instance of Configuration.



42
43
44
45
# File 'lib/uncov/configuration.rb', line 42

def initialize
  define_options
  parse_config
end

Class Method Details

.option(name, description, options:, default:, allowed_values: nil, value_parse: ->(value) { value }) ⇒ Object



13
14
15
16
17
# File 'lib/uncov/configuration.rb', line 13

def option(name, description, options:, default:, allowed_values: nil, value_parse: ->(value) { value })
  self.options << [name, description, options, default, allowed_values, value_parse]
  define_method(name) { self.options[name].value }
  define_method("#{name}=") { |value| self.options[name].value = value }
end

.optionsObject



19
# File 'lib/uncov/configuration.rb', line 19

def options = @options ||= []

Instance Method Details

#options_valuesObject



48
# File 'lib/uncov/configuration.rb', line 48

def options_values = options.to_h { |name, option| [name.to_sym, option.value] }

#parse_cli(args) ⇒ Object



47
# File 'lib/uncov/configuration.rb', line 47

def parse_cli(args) = parser.parse!(args)