Class: CC::CLI::ConfigGenerator
- Inherits:
-
Object
- Object
- CC::CLI::ConfigGenerator
- Defined in:
- lib/cc/cli/config_generator.rb
Direct Known Subclasses
Constant Summary collapse
- CODECLIMATE_YAML =
Command::CODECLIMATE_YAML
- AUTO_EXCLUDE_PATHS =
%w(config/ db/ features/ node_modules/ script/ spec/ test/ vendor/).freeze
Class Method Summary collapse
- .for(filesystem, engine_registry, upgrade_requested) ⇒ Object
- .upgrade_needed?(filesystem) ⇒ Boolean
Instance Method Summary collapse
- #eligible_engines ⇒ Object
- #exclude_paths ⇒ Object
-
#initialize(filesystem, engine_registry) ⇒ ConfigGenerator
constructor
A new instance of ConfigGenerator.
- #post_generation_verb ⇒ Object
Constructor Details
#initialize(filesystem, engine_registry) ⇒ ConfigGenerator
Returns a new instance of ConfigGenerator.
15 16 17 18 |
# File 'lib/cc/cli/config_generator.rb', line 15 def initialize(filesystem, engine_registry) @filesystem = filesystem @engine_registry = engine_registry end |
Class Method Details
.for(filesystem, engine_registry, upgrade_requested) ⇒ Object
7 8 9 10 11 12 13 |
# File 'lib/cc/cli/config_generator.rb', line 7 def self.for(filesystem, engine_registry, upgrade_requested) if upgrade_requested && upgrade_needed?(filesystem) UpgradeConfigGenerator.new(filesystem, engine_registry) else ConfigGenerator.new(filesystem, engine_registry) end end |
.upgrade_needed?(filesystem) ⇒ Boolean
43 44 45 46 47 |
# File 'lib/cc/cli/config_generator.rb', line 43 def self.upgrade_needed?(filesystem) if filesystem.exist?(CODECLIMATE_YAML) YAML.safe_load(File.read(CODECLIMATE_YAML))["languages"].present? end end |
Instance Method Details
#eligible_engines ⇒ Object
20 21 22 23 24 25 26 27 28 29 |
# File 'lib/cc/cli/config_generator.rb', line 20 def eligible_engines return @eligible_engines if @eligible_engines engines = engine_registry.list @eligible_engines = engines.each_with_object({}) do |(name, config), result| if engine_eligible?(config) result[name] = config end end end |
#exclude_paths ⇒ Object
31 32 33 |
# File 'lib/cc/cli/config_generator.rb', line 31 def exclude_paths AUTO_EXCLUDE_PATHS.select { |path| filesystem.exist?(path) } end |
#post_generation_verb ⇒ Object
35 36 37 |
# File 'lib/cc/cli/config_generator.rb', line 35 def post_generation_verb "generated" end |