class Monolith::Git

Public Class Methods

new(path) click to toggle source
  # File lib/monolith/git.rb
5 def initialize(path)
6   @path = path
7 end

Public Instance Methods

clone(url) click to toggle source
   # File lib/monolith/git.rb
 9 def clone(url)
10   run("clone #{url} .")
11 end
cloned?() click to toggle source
   # File lib/monolith/git.rb
13 def cloned?
14   File.exists?(@path)
15 end
fetch() click to toggle source
   # File lib/monolith/git.rb
17 def fetch
18   run("fetch --all")
19 end
run(cmd) click to toggle source
   # File lib/monolith/git.rb
21 def run(cmd)
22   within_working_dir do
23     run!(cmd)
24   end
25 end
run!(cmd) click to toggle source
   # File lib/monolith/git.rb
27 def run!(cmd)
28   command(cmd).run
29 end
within_working_dir(&block) click to toggle source
   # File lib/monolith/git.rb
31 def within_working_dir(&block)
32   create_working_dir unless cloned?
33   cd_working_dir(&block)
34 end

Private Instance Methods

cd_working_dir(&block) click to toggle source
   # File lib/monolith/git.rb
42 def cd_working_dir(&block)
43   LoggedChdir.new(@path).chdir(&block)
44 end
command(cmd) click to toggle source
   # File lib/monolith/git.rb
46 def command(cmd)
47   LoggedCommand.new("git", cmd)
48 end
create_working_dir() click to toggle source
   # File lib/monolith/git.rb
38 def create_working_dir
39   LoggedMkdir.new(@path).mkdir
40 end