Class: Leap::CLI

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

Instance Method Summary collapse

Instance Method Details

#clone(username_project) ⇒ Object



19
20
21
22
23
24
25
26
27
# File 'lib/leap/cli.rb', line 19

def clone(username_project)
  username, project_name = split_source(username_project)
  if Dir.exists?(project_name)
    say "Project appears to already exist. Skipping clone.", :green
  else
    say "Cloning #{project_name}.", :green
    `git clone [email protected]:#{username}/#{project_name}.git`
  end
end

#dependencies(project_name = nil) ⇒ Object

setup above invokes dependencies with an argument so we allow for a single unused argument when called inside a project



39
40
41
42
43
44
# File 'lib/leap/cli.rb', line 39

def dependencies(project_name = nil)
  brew = Brew.new(self, Leap::CONFIG, project_name)

  brew.install unless brew.present?
  brew.install_dependencies
end

#remotes(project_name = nil) ⇒ Object



30
31
32
33
34
# File 'lib/leap/cli.rb', line 30

def remotes(project_name = nil)
  # setup above invokes dependencies with an argument so we allow for a single
  # unused argument when called inside a project
  Remotes.new(self, Leap::CONFIG, project_name).add_specified_remotes
end

#setup(username_project) ⇒ Object



11
12
13
14
15
16
# File 'lib/leap/cli.rb', line 11

def setup(username_project)
  username, project_name = split_source(username_project)
  invoke :clone, [username_project]
  invoke :remotes, [project_name]
  invoke :dependencies, [project_name]
end

#startObject



47
48
49
50
51
52
53
54
# File 'lib/leap/cli.rb', line 47

def start
  remotes_file = '.leap/start'
  if File.exists?(remotes_file)
    exec(remotes_file)
  else
    say 'No start script', :red
  end
end