class Git
TODO: Move to another repository (e.g.: ‘SimpleGit`)
Attributes
working_directory[R]
Public Class Methods
git(method_name, cmd = nil)
click to toggle source
# File lib/git.rb, line 5 def self.git(method_name, cmd = nil) define_method(method_name) do |args| if cmd git("#{cmd} #{args}") else git("#{method_name} #{args}") end end end
new(working_directory)
click to toggle source
# File lib/git.rb, line 25 def initialize(working_directory) @working_directory ||= File.absolute_path(working_directory) end
verbose!(is_verbose = true)
click to toggle source
# File lib/git.rb, line 15 def self.verbose!(is_verbose = true) @verbose = is_verbose end
verbose?()
click to toggle source
# File lib/git.rb, line 19 def self.verbose? !!@verbose end
Private Instance Methods
git(cmd)
click to toggle source
# File lib/git.rb, line 40 def git(cmd) run "git #{cmd}" end
run(cmd)
click to toggle source
# File lib/git.rb, line 48 def run(cmd) puts "$: #{cmd}" if verbose? cmd = <<-CMD cd #{working_directory} && #{cmd} CMD # NOTE: Logging and debugging is writte to stderr _stdin, stdout, stderr = Open3.popen3(cmd) print stderr.read if verbose? stdout.read end
verbose?()
click to toggle source
# File lib/git.rb, line 44 def verbose? self.class.verbose? end