Class: Picobox::Boxes::Manifest
- Inherits:
-
Object
- Object
- Picobox::Boxes::Manifest
- Defined in:
- lib/picobox/boxes/manifest.rb
Instance Method Summary collapse
- #additional_files ⇒ Object
- #check! ⇒ Object
- #dest ⇒ Object
-
#initialize(os, type = nil) ⇒ Manifest
constructor
A new instance of Manifest.
- #list ⇒ Object
- #package_contents ⇒ Object
- #source ⇒ Object
Constructor Details
#initialize(os, type = nil) ⇒ Manifest
Returns a new instance of Manifest.
4 5 6 |
# File 'lib/picobox/boxes/manifest.rb', line 4 def initialize(os, type = nil) @os, @type = os, type end |
Instance Method Details
#additional_files ⇒ Object
41 42 43 44 45 |
# File 'lib/picobox/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! ⇒ Object
19 20 21 |
# File 'lib/picobox/boxes/manifest.rb', line 19 def check! raise Errors::BoxNotImplemented unless list.include?(type) end |
#dest ⇒ Object
33 34 35 36 37 38 39 |
# File 'lib/picobox/boxes/manifest.rb', line 33 def dest @dest ||= OpenStruct.new( start_script: "#{os.project_root}/#{Picobox::CONFIG_DIR}/start", docker_compose: "#{os.project_root}/docker-compose.yml", dockerfile: "#{os.project_root}/Dockerfile" ) end |
#list ⇒ Object
8 9 10 11 |
# File 'lib/picobox/boxes/manifest.rb', line 8 def list result = Dir.glob("#{Picobox.box_packages_dir}/*").select {|f| File.directory? f} result.map {|r| strip_path(r) }.sort! end |
#package_contents ⇒ Object
14 15 16 |
# File 'lib/picobox/boxes/manifest.rb', line 14 def package_contents @package_contents ||= Dir.glob(File.join(package_dir, "*")) end |
#source ⇒ Object
24 25 26 27 28 29 30 |
# File 'lib/picobox/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 |