Class: Crystalball::RSpec::Runner::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/crystalball/rspec/runner/configuration.rb

Overview

Class for storing local runner configuration

Instance Method Summary collapse

Constructor Details

#initialize(config = {}) ⇒ Configuration

rubocop:disable Metrics/MethodLength



10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/crystalball/rspec/runner/configuration.rb', line 10

def initialize(config = {}) # rubocop:disable Metrics/MethodLength
  @values = {
    'execution_map_path' => 'tmp/crystalball_data.yml',
    'map_expiration_period' => 86_400,
    'repo_path' => Dir.pwd,
    'requires' => [],
    'diff_from' => 'HEAD',
    'diff_to' => nil,
    'runner_class_name' => 'Crystalball::RSpec::Runner',
    'prediction_builder_class_name' => 'Crystalball::RSpec::StandardPredictionBuilder',
    'log_level' => :info,
    'log_file' => 'log/crystalball.log'
  }.merge(config)
end

Instance Method Details

#[](key) ⇒ Object



34
35
36
# File 'lib/crystalball/rspec/runner/configuration.rb', line 34

def [](key)
  respond_to?(key, true) ? send(key) : raw_value(key)
end

#to_hObject



25
26
27
28
29
30
31
32
# File 'lib/crystalball/rspec/runner/configuration.rb', line 25

def to_h
  dynamic_values = {}
  (private_methods - Object.private_instance_methods - %i[run_requires values raw_value]).each do |method|
    dynamic_values[method.to_s] = send(method)
  end

  values.merge(dynamic_values)
end