class Hellgrid::CLI

Attributes

argv[R]

Public Class Methods

new(argv = ARGV) click to toggle source
# File lib/hellgrid/cli.rb, line 7
def initialize(argv = ARGV)
  @argv = argv
end
start(argv = ARGV) click to toggle source
# File lib/hellgrid/cli.rb, line 3
def self.start(argv = ARGV)
  new(argv).start
end

Public Instance Methods

start() click to toggle source
# File lib/hellgrid/cli.rb, line 13
def start
  recursive_search = !!(argv.delete('-r'))
  folders = argv.empty? ? [Dir.pwd] : argv

  folders.each do |folder|
    matrix = Hellgrid::Matrix.new

    Find.find(folder) do |path|
      if File.directory?(path) && File.exists?(File.join(path, 'Gemfile.lock'))
        matrix.add_project(Hellgrid::Project.new(folder, path))
        Find.prune unless recursive_search
      end
    end

    view = Hellgrid::Views::Console.new(matrix.sorted_by_most_used)

    view.render
  end
end