Class: FunCi::Setup::Installer
- Inherits:
-
Object
- Object
- FunCi::Setup::Installer
- Defined in:
- lib/fun_ci/setup/installer.rb
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(project_root:, stdout:, pom_reader: nil) ⇒ Installer
constructor
A new instance of Installer.
- #run ⇒ Object
Constructor Details
#initialize(project_root:, stdout:, pom_reader: nil) ⇒ Installer
Returns a new instance of Installer.
14 15 16 17 18 |
# File 'lib/fun_ci/setup/installer.rb', line 14 def initialize(project_root:, stdout:, pom_reader: nil) @project_root = project_root @stdout = stdout @pom_reader = pom_reader || ->(path) { File.read(path) } end |
Class Method Details
.run(project_root:, stdout: $stdout, pom_reader: nil) ⇒ Object
10 11 12 |
# File 'lib/fun_ci/setup/installer.rb', line 10 def self.run(project_root:, stdout: $stdout, pom_reader: nil) new(project_root: project_root, stdout: stdout, pom_reader: pom_reader).run end |
Instance Method Details
#run ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/fun_ci/setup/installer.rb', line 20 def run if Dir.exist?(File.join(@project_root, ".fun-ci")) @stdout.puts ".fun-ci/ already exists, so init did nothing." return 0 end filenames = Dir.children(@project_root) detected = ProjectDetector.new(filenames).detect if detected == :unknown @stdout.puts "Could not detect project type. Create .fun-ci/ manually." return 1 end @stdout.puts "Detected: #{detected.to_s.tr("_", " ")}" lint_override = detect_maven_linter(detected) TemplateWriter.new(detected, @project_root, lint_override: lint_override).write @stdout.puts "Created .fun-ci/ with template scripts." 0 end |