Class: SRC::CLI

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

Instance Method Summary collapse

Instance Method Details

#check(*args) ⇒ Object



24
25
26
# File 'lib/src/cli.rb', line 24

def check(*args)
  SRC.check
end

#cut(*args) ⇒ Object



16
17
18
# File 'lib/src/cli.rb', line 16

def cut(*args)
  SRC::Branch.new(args[0]).cut
end

#merge(*args) ⇒ Object



20
21
22
# File 'lib/src/cli.rb', line 20

def merge(*args)
  SRC::Branch.new(args[0]).merge
end

#optionsObject



32
33
34
# File 'lib/src/cli.rb', line 32

def options
  @options ||= parse
end

#parseObject



36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/src/cli.rb', line 36

def parse
  key = :base_args
  argv.inject({}) do |args, val|
    if val[0] == '-'
      key = val.gsub('-', '').to_sym
      args[key] ||= nil
    elsif args[key]
      args[key] = [args[key]] unless args[key].kind_of? Array
      args[key] << val
    else
      args[key] = val
    end
    args
  end
end

#runObject



6
7
8
9
10
11
12
13
14
# File 'lib/src/cli.rb', line 6

def run
  if options.has_key?(:v)
    version
  elsif options.empty?
    check
  else
    public_send(*options[:base_args])
  end
end

#versionObject



28
29
30
# File 'lib/src/cli.rb', line 28

def version
  puts File.read(File.expand_path('../../version', File.dirname(__FILE__)))
end