module Git

Public Class Methods

extended(mod) click to toggle source
# File lib/skills/git.rb, line 3
def self.extended(mod)
  Dependencies.gem_require('git')
  require 'logger'
end

Public Instance Methods

delegate(arg) click to toggle source

Delegate command

# File lib/skills/git.rb, line 12
def delegate(arg)
  case
  when repository.respond_to?(arg)
    puts repository.send(arg)
  when repository.lib.respond_to?(arg)
    puts repository.lib.send(arg)
  end
end
documentation(skill, task=nil, mode=nil) click to toggle source

Documentation

# File lib/skills/git.rb, line 24
def documentation(skill, task=nil, mode=nil)

  base_skill = Billy::Skill.new(name: 'Git::Base')
  lib_skill = Billy::Skill.new(name: 'Git::Lib')
  all_tasks = base_skill.tasks + base_skill.tasks
  tasks = task ? [base_skill.find_task(task) || lib_skill.find_task(task)] : all_tasks
  tasks.map do |task|
    Billy::Documentation.new(
      method: task.method,
      owner: skill.name.downcase,
      mode: mode
    ).inspect
  end

end

Private Instance Methods

repository(path = '.') click to toggle source
# File lib/skills/git.rb, line 42
def repository(path = '.')
  Git.open(path, :log => Logger.new(StringIO.new))
end