class Pixiebox::Boxes::Manifest
Attributes
os[R]
type[R]
Public Class Methods
new(os, type = nil)
click to toggle source
# File lib/pixiebox/boxes/manifest.rb, line 4 def initialize(os, type = nil) @os, @type = os, type end
Public Instance Methods
additional_files()
click to toggle source
# File lib/pixiebox/boxes/manifest.rb, line 41 def additional_files (package_contents - source.to_h.values).map do |file| { source: file, dest: "#{os.project_root}/#{strip_path(file)}" } end end
check!()
click to toggle source
# File lib/pixiebox/boxes/manifest.rb, line 19 def check! raise Errors::BoxNotImplemented unless list.include?(type) end
dest()
click to toggle source
# File lib/pixiebox/boxes/manifest.rb, line 33 def dest @dest ||= OpenStruct.new( start_script: "#{os.project_root}/#{Pixiebox::CONFIG_DIR}/start", docker_compose: "#{os.project_root}/docker-compose.yml", dockerfile: "#{os.project_root}/Dockerfile" ) end
list()
click to toggle source
# File lib/pixiebox/boxes/manifest.rb, line 8 def list result = Dir.glob("#{os.box_packages_dir}/*").select {|f| File.directory? f} result.map {|r| strip_path(r) }.sort! end
package_contents()
click to toggle source
# File lib/pixiebox/boxes/manifest.rb, line 14 def package_contents @package_contents ||= Dir.glob(File.join(package_dir, "*")) end
source()
click to toggle source
# File lib/pixiebox/boxes/manifest.rb, line 24 def source @source ||= OpenStruct.new( start_script: "#{package_dir}/start", docker_compose: "#{package_dir}/docker-compose.yml", dockerfile: "#{package_dir}/Dockerfile" ) end
Private Instance Methods
package_dir()
click to toggle source
# File lib/pixiebox/boxes/manifest.rb, line 50 def package_dir "#{os.box_packages_dir}/#{type}" end
strip_path(file)
click to toggle source
# File lib/pixiebox/boxes/manifest.rb, line 54 def strip_path(file) file.split('/').last end