Class: Futon::Workspace::Provider::Git

Inherits:
Futon::Workspace::Provider show all
Defined in:
lib/futon/workspace/provider/git.rb

Defined Under Namespace

Classes: Error

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ Git

Returns a new instance of Git.



13
14
15
# File 'lib/futon/workspace/provider/git.rb', line 13

def initialize(options)
  @url = options.fetch(:url)
end

Instance Method Details

#provide(directory) ⇒ Object

Raises:



17
18
19
20
21
22
23
24
25
# File 'lib/futon/workspace/provider/git.rb', line 17

def provide(directory)
  args = %W(git clone #{url} #{directory})
  result = Os.system(*args)
  return if result == true

  info = result.nil? ? '(exec failed)' : $CHILD_STATUS.to_s
  msg = "command failed [%s]: '%s'"
  raise Error::CloneFailed, format(msg, info, args.join(' '))
end