Class: Lapidarius::CLI

Inherits:
Object
  • Object
show all
Defined in:
lib/lapidarius/cli.rb

Instance Method Summary collapse

Constructor Details

#initialize(args, io = STDOUT) ⇒ CLI

Returns a new instance of CLI.



7
8
9
10
11
12
# File 'lib/lapidarius/cli.rb', line 7

def initialize(args, io = STDOUT)
  @args = args
  @io = io
  @gem = nil
  @recursive = nil
end

Instance Method Details

#call(cmd_klass = Command) ⇒ Object



14
15
16
17
18
19
20
21
# File 'lib/lapidarius/cli.rb', line 14

def call(cmd_klass = Command)
  parser.parse!(@args)
  return @io.puts("specify gem name as: '-g gem_name'") unless @gem
  obj = Lapidarius::Cutter.new(@gem, cmd_klass).call
  Lapidarius::Renderer::new(obj, @recursive).call(@io)
rescue Gem::NotInstalledError => e
  @io.puts e.message.sub("specified", @gem)
end