class Audiothority::Cli

Public Instance Methods

enforce(*paths) click to toggle source
# File lib/audiothority/cli.rb, line 32
def enforce(*paths)
  if paths.any?
    run_scan_for(paths)
    display_summary
    if tracker.suspects.any? && should_enforce?
      execute_enforcement
    end
  else
    self.class.task_help(console, 'enforce')
  end
end
scan(*paths) click to toggle source
# File lib/audiothority/cli.rb, line 17
def scan(*paths)
  if paths.any?
    run_scan_for(paths)
    display_summary
    throw_in_custody
  else
    self.class.task_help(console, 'scan')
  end
end

Private Instance Methods

console() click to toggle source
# File lib/audiothority/cli.rb, line 50
def console
  @console ||= Thor::Shell::Color.new
end
display_summary() click to toggle source
# File lib/audiothority/cli.rb, line 62
def display_summary
  s = (options.paths_only? ? PathsOnlySummary : Summary).new(tracker.suspects)
  s.display(console)
end
execute_enforcement() click to toggle source
# File lib/audiothority/cli.rb, line 74
def execute_enforcement
  Enforcer.new(tracker.suspects, console, society: society).enforce
end
run_scan_for(paths) click to toggle source
# File lib/audiothority/cli.rb, line 58
def run_scan_for(paths)
  Inspector.scan(paths, tracker)
end
should_enforce?() click to toggle source
# File lib/audiothority/cli.rb, line 46
def should_enforce?
  console.yes?('enforce audiothority on violations?')
end
society() click to toggle source
# File lib/audiothority/cli.rb, line 78
def society
  Society.new(options.society) if options.society
end
throw_in_custody() click to toggle source
# File lib/audiothority/cli.rb, line 67
def throw_in_custody
  if options.custody
    c = Custodian.new(options.custody, tracker.suspects)
    c.throw_in_custody
  end
end
tracker() click to toggle source
# File lib/audiothority/cli.rb, line 54
def tracker
  @tracker ||= Tracker.new
end