class ElectricMonk::CLI
Attributes
config[R]
reporter[R]
Public Class Methods
new(config_path:, reporter: Reporter.instance)
click to toggle source
# File lib/electric_monk.rb, line 11 def initialize(config_path:, reporter: Reporter.instance) @reporter = reporter @config = Config.new(config_path) end
Public Instance Methods
run()
click to toggle source
# File lib/electric_monk.rb, line 16 def run config.projects.each do |project| reporter.start(project.name) unless project.exists? reporter.update_progress("Cloning #{project.name}") project.clone_project end if project.valid? reporter.fail(project.failures) else reporter.succeed(project.name) end end reporter.start("Untracked projects") if untracked_projects.empty? reporter.succeed("No untracked projects") else reporter.fail "#{untracked_projects.size} untracked projects: #{untracked_projects.join(', ')}" end reporter.report end
untracked_projects()
click to toggle source
# File lib/electric_monk.rb, line 42 def untracked_projects @untracked_projects ||= Dir.entries(config.root) - config.projects.map(&:name) - [".", ".."] end