class AmusingGit::Setup

Public Instance Methods

setup_exists?() click to toggle source
# File lib/amusing_git/setup.rb, line 22
def setup_exists?
  File.exists? "#{ENV['HOME']}/.amusing_git"
end
start() click to toggle source
# File lib/amusing_git/setup.rb, line 9
def start
  if setup_exists?
    print_info "You already have amusing git setup, skipping...\n"
    return
  end

  print_info "Setting up amusing git configuration...\n"
  create_amusing_git_dir
  write_config
  copy_messages
  print_success "Setup is completed!\n"
end

Private Instance Methods

config() click to toggle source
# File lib/amusing_git/setup.rb, line 43
def config
  {
    "messages" => "#{ENV['HOME']}/.amusing_git/default_messages",
    "hooks" => ["pre-push", "pre-rebase", "post-merge"]
  }
end
copy_messages() click to toggle source
# File lib/amusing_git/setup.rb, line 37
def copy_messages
  File.open("#{ENV['HOME']}/.amusing_git/default_messages", 'w') do |f|
    f.write(AmusingGit::MessageSeeder.seed)
  end
end
create_amusing_git_dir() click to toggle source
# File lib/amusing_git/setup.rb, line 27
def create_amusing_git_dir
  `mkdir #{ENV['HOME']}/.amusing_git`
end
write_config() click to toggle source
# File lib/amusing_git/setup.rb, line 31
def write_config
  File.open("#{ENV['HOME']}/.amusing_git/config", "w") do |f|
    f.write(JSON.pretty_generate(config))
  end
end