class Prepd::Workspace
Attributes
name[RW]
Public Instance Methods
create_workspace()
click to toggle source
# File lib/prepd/models/workspace.rb, line 19 def create_workspace Dir.chdir(Prepd.config.working_dir) do FileUtils.rm_rf(name) if Prepd.config.force FileUtils.mkdir_p(name) end end
directory_cannot_exist()
click to toggle source
# File lib/prepd/models/workspace.rb, line 10 def directory_cannot_exist return if Prepd.config.force errors.add(:directory_exists, requested_dir) if Dir.exists?(requested_dir) end
initialize_workspace()
click to toggle source
# File lib/prepd/models/workspace.rb, line 26 def initialize_workspace Dir.chdir(requested_dir) do File.open('prepd-workspace.yml', 'w') { |f| f.write("---\nname: #{name}\n") } Prepd.register_workspace(Dir.pwd) FileUtils.cp_r("#{Prepd.files_dir}/workspace/.", '.') Dir.chdir('developer') do File.open('vars.yml', 'w') do |f| f.puts("---\ngit_user:") f.puts(" name: #{`git config --get user.name`.chomp}") f.puts(" email: #{`git config --get user.email`.chomp}") end Prepd.write_password_file('vault-password.txt') FileUtils.touch('vault.yml') system('ansible-vault encrypt vault.yml') end # NOTE: remove after testing # Dir.chdir('machines') do # FileUtils.mkdir('packer_cache') # Dir.chdir('packer_cache') do # FileUtils.cp('/tmp/50e697ab8edda5b0ac5ba2482c07003d2ff037315c7910af66efd3c28d23ed51.iso', '.') # end # end end end
requested_dir()
click to toggle source
# File lib/prepd/models/workspace.rb, line 15 def requested_dir "#{Prepd.config.working_dir}/#{name}" end