Class: CC::Analyzer::Config

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

Overview

TODO: replace each use of this with CC::Yaml and remove it

Instance Method Summary collapse

Constructor Details

#initialize(config_body) ⇒ Config

Returns a new instance of Config.



5
6
7
8
9
10
# File 'lib/cc/analyzer/config.rb', line 5

def initialize(config_body)
  @config = YAML.safe_load(config_body) || { "engines" => {} }
  @config["engines"] ||= {}

  expand_shorthand
end

Instance Method Details

#disable_engine(engine_name) ⇒ Object



49
50
51
52
53
# File 'lib/cc/analyzer/config.rb', line 49

def disable_engine(engine_name)
  if engine_present?(engine_name) && engine_enabled?(engine_name)
    @config["engines"][engine_name]["enabled"] = false
  end
end

#enable_default_config(engine_name) ⇒ Object



41
42
43
# File 'lib/cc/analyzer/config.rb', line 41

def enable_default_config(engine_name)
  @config["engines"][engine_name]["config"] = default_config(engine_name)
end

#enable_engine(engine_name) ⇒ Object



32
33
34
35
36
37
38
39
# File 'lib/cc/analyzer/config.rb', line 32

def enable_engine(engine_name)
  if engine_present?(engine_name)
    @config["engines"][engine_name]["enabled"] = true
  else
    @config["engines"][engine_name] = { "enabled" => true }
    enable_default_config(engine_name) if default_config(engine_name)
  end
end

#engine_config(engine_name) ⇒ Object



16
17
18
# File 'lib/cc/analyzer/config.rb', line 16

def engine_config(engine_name)
  @config["engines"][engine_name] || {}
end

#engine_enabled?(engine_name) ⇒ Boolean

Returns:

  • (Boolean)


28
29
30
# File 'lib/cc/analyzer/config.rb', line 28

def engine_enabled?(engine_name)
  @config["engines"][engine_name] && @config["engines"][engine_name]["enabled"]
end

#engine_namesObject



20
21
22
# File 'lib/cc/analyzer/config.rb', line 20

def engine_names
  @config["engines"].keys.select { |name| engine_enabled?(name) }
end

#engine_present?(engine_name) ⇒ Boolean

Returns:

  • (Boolean)


24
25
26
# File 'lib/cc/analyzer/config.rb', line 24

def engine_present?(engine_name)
  @config["engines"][engine_name].present?
end

#exclude_pathsObject



45
46
47
# File 'lib/cc/analyzer/config.rb', line 45

def exclude_paths
  @config["exclude_paths"]
end

#remove_engine(engine_name) ⇒ Object



55
56
57
58
59
# File 'lib/cc/analyzer/config.rb', line 55

def remove_engine(engine_name)
  if engine_present?(engine_name)
    @config["engines"].delete(engine_name)
  end
end

#to_hashObject



12
13
14
# File 'lib/cc/analyzer/config.rb', line 12

def to_hash
  @config
end

#to_yamlObject



61
62
63
# File 'lib/cc/analyzer/config.rb', line 61

def to_yaml
  @config.to_yaml
end