class MGit::CloneCommand

Public Instance Methods

arity() click to toggle source
# File lib/mgit/commands/clone.rb, line 17
def arity
  [1, nil]
end
description() click to toggle source
# File lib/mgit/commands/clone.rb, line 25
def description
  'clone repository and add to mgit'
end
execute(args) click to toggle source
# File lib/mgit/commands/clone.rb, line 3
def execute(args)
  log = System.git("clone #{args.join(' ')}", raise: true)

  m = [log.stdout, log.stderr].find do |l|
    f = l.split("\n").first
    f && f.start_with?('Cloning into')
  end

  d = /Cloning into '(.*)'/.match(m)
  fail 'Failed to determine repository directory.' unless d

  Command.execute('add', [d[1]])
end
usage() click to toggle source
# File lib/mgit/commands/clone.rb, line 21
def usage
  'clone [options] <url> [<directory>]'
end