Class: Annex::CLI

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

Overview

Manages the command line interface to Annex

Constant Summary collapse

COMMANDS =
%w(provision list)

Instance Method Summary collapse

Constructor Details

#initialize(argv, env) ⇒ CLI

Returns a new instance of CLI.



8
9
10
11
# File 'lib/annex/cli.rb', line 8

def initialize(argv, env)
  @argv = argv
  @env  = env
end

Instance Method Details

#executeObject



13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/annex/cli.rb', line 13

def execute
  exit_code = 0
  return exit_code unless options = parse(@argv.dup)
  command = case options[:command]
  when "provision"
    Annex::Provision.new(@env, options)
  when "list"
    Annex::List.new(@env, options)
  end
  env.info("Executing #{options[:command]}", :command)
  command.execute
  exit_code
end