class AmusingGit::GitRepository

Public Class Methods

git_repo?(dir) click to toggle source
# File lib/amusing_git/git/git_repository.rb, line 31
def self.git_repo? dir
  File.exists? "#{dir}/.git"
end
new(dir, config) click to toggle source
# File lib/amusing_git/git/git_repository.rb, line 5
def initialize(dir, config)
  @dir = dir
  @hooks = config.hooks
end

Public Instance Methods

configure_amusing_git!() click to toggle source
# File lib/amusing_git/git/git_repository.rb, line 18
def configure_amusing_git!
  hooks.each do |hook|
    hook.create! unless hook.exists?
    hook.configure_amusing_git! unless hook.amusing?
  end
end
create_hooks!() click to toggle source
# File lib/amusing_git/git/git_repository.rb, line 14
def create_hooks!
  `mkdir -p .git/hooks`
end
has_hooks?() click to toggle source
# File lib/amusing_git/git/git_repository.rb, line 10
def has_hooks?
  File.exists? "#{@dir}/.git/hooks"
end
remove_amusing_git!() click to toggle source
# File lib/amusing_git/git/git_repository.rb, line 25
def remove_amusing_git!
  hooks.each do |hook|
    hook.remove_amusing_git! if hook.amusing?
  end
end

Private Instance Methods

hooks() click to toggle source
# File lib/amusing_git/git/git_repository.rb, line 36
def hooks
  @hooks.map { |hook_name| "#{@dir}/.git/hooks/#{hook_name}" }.map { |h| AmusingGit::GitHook.new h}
end