class Prepd::Setup

Constants

ANSIBLE_ROLES
ANSIBLE_ROLES_PATH

TODO: add OS detection TODO: Externalize next two values to a yaml file?

Public Instance Methods

clone_ansible_roles() click to toggle source

Clone Ansible roles

# File lib/prepd/models/setup.rb, line 38
def clone_ansible_roles
  FileUtils.mkdir_p(ANSIBLE_ROLES_PATH) unless Dir.exists? ANSIBLE_ROLES_PATH
  Dir.chdir(ANSIBLE_ROLES_PATH) do
    ANSIBLE_ROLES.each do |key, value|
      next if Dir.exists? "#{ANSIBLE_ROLES_PATH}/#{value}"
      system("git clone #{Prepd.git_log} git@github.com:rjayroach/#{key} #{value}")
    end
  end
end
directory_cannot_exist() click to toggle source
# File lib/prepd/models/setup.rb, line 12
def directory_cannot_exist
  return if Prepd.config.force
  errors.add(:directory_exists, requested_dir) if Dir.exists?(requested_dir)
end
initialize_setup() click to toggle source
# File lib/prepd/models/setup.rb, line 21
def initialize_setup
  FileUtils.mkdir_p(requested_dir)
  Dir.chdir(requested_dir) do
    FileUtils.cp_r("#{Prepd.files_dir}/setup/.", '.')
  end
  Prepd.config.working_dir = Prepd.config_dir
  Workspace.new(name: 'share').create
end
machine_is_host() click to toggle source
# File lib/prepd/models/setup.rb, line 7
def machine_is_host
  return if Prepd.config.machine_type.host?
  errors.add(:machine_type, 'Setup can only run on the host machine')
end
requested_dir() click to toggle source
# File lib/prepd/models/setup.rb, line 17
def requested_dir
  "#{Prepd.config_dir}/setup"
end