class Boxes::Environment
For creating and managing the environment which boxes uses.
Public Class Methods
new()
click to toggle source
# File lib/boxes/environment.rb, line 4 def initialize FileUtils.mkdir_p(Boxes.config.working_dir) copy_templates copy_scripts end
Public Instance Methods
available_scripts()
click to toggle source
# File lib/boxes/environment.rb, line 30 def available_scripts t = Dir.glob("#{Boxes.config.working_dir}/scripts/*") a = t.collect { |c| c.include?('purge.sh') ? next : c }.compact a.collect do |c| c.gsub(Boxes.config.working_dir.to_s + '/scripts/', '') end end
available_templates()
click to toggle source
# File lib/boxes/environment.rb, line 11 def available_templates t = Dir.glob("#{Boxes.config.working_dir}/templates/*/**") a = t.collect { |c| c.include?('preseed.cfg') ? next : c }.compact a.collect do |c| c = c.gsub(Boxes.config.working_dir.to_s + '/templates/', '') c.gsub('.erb', '') end end
Private Instance Methods
copy_scripts()
click to toggle source
# File lib/boxes/environment.rb, line 62 def copy_scripts scripts_dir = Boxes.config.working_dir + 'scripts' FileUtils.mkdir_p(Boxes.config.working_dir + 'scripts') Boxes.config.script_paths.each do |script_path| Dir.glob("#{script_path}/*").each do |src_script| FileUtils.cp_r(src_script, scripts_dir) end end end
copy_templates()
click to toggle source
# File lib/boxes/environment.rb, line 50 def copy_templates templates_dir = Boxes.config.working_dir + 'templates' FileUtils.mkdir_p(templates_dir) Boxes.config.template_paths.each do |template_path| Dir.glob("#{template_path}/*").each do |src_template| FileUtils.cp_r(src_template, templates_dir) end end end