class Ecogem::Git
Public Class Methods
new(uri, ref)
click to toggle source
# File lib/ecogem/git.rb, line 5 def initialize(uri, ref) @uri = uri @ref = ref || 'master' end
Public Instance Methods
dir()
click to toggle source
# File lib/ecogem/git.rb, line 14 def dir @dir ||= ::Ecogem.workspace.gitsfile.dir_of(key) end
exec(cmd)
click to toggle source
# File lib/ecogem/git.rb, line 22 def exec(cmd) puts "git: #{cmd}" cmd = "git #{cmd}" system("cd \"#{dir}\"; #{cmd}") end
gemfile()
click to toggle source
# File lib/ecogem/git.rb, line 46 def gemfile @gemfile ||= begin load ::Ecogem::Gemfile.new(gemfile_path) if ::File.file?(gemfile_path) end end
key()
click to toggle source
# File lib/ecogem/git.rb, line 10 def key @key ||= "#{@uri} #{@ref}" end
uri_alias()
click to toggle source
# File lib/ecogem/git.rb, line 18 def uri_alias @uri_alias ||= ::Ecogem.workspace.env.git_source_uri_to_alias(@uri) end
Private Instance Methods
gemfile_path()
click to toggle source
# File lib/ecogem/git.rb, line 42 def gemfile_path @gemfile_path ||= ::File.expand_path("#{dir}/Ecogemfile") end
load()
click to toggle source
# File lib/ecogem/git.rb, line 28 def load unless @loaded ::FileUtils.rm_rf dir ::FileUtils.mkdir_p dir self.exec "init -q" self.exec "remote add origin \"#{uri_alias}\"" self.exec "fetch -q origin #{@ref}" raise CommandError unless $?.success? self.exec "checkout -q FETCH_HEAD" raise CommandError unless $?.success? @loaded = true end end