Class: Picobox::Services::Manifest
- Inherits:
-
Object
- Object
- Picobox::Services::Manifest
- Defined in:
- lib/picobox/services/manifest.rb
Instance Method Summary collapse
- #check! ⇒ Object
- #docker_compose_file ⇒ Object
-
#initialize(os, type = nil) ⇒ Manifest
constructor
A new instance of Manifest.
- #list ⇒ Object
- #package_contents ⇒ Object
- #post_install_instructions ⇒ Object
- #service ⇒ Object
- #service_links ⇒ Object
- #service_name ⇒ Object
Constructor Details
#initialize(os, type = nil) ⇒ Manifest
Returns a new instance of Manifest.
4 5 6 |
# File 'lib/picobox/services/manifest.rb', line 4 def initialize(os, type = nil) @os, @type = os, type end |
Instance Method Details
#check! ⇒ Object
19 20 21 |
# File 'lib/picobox/services/manifest.rb', line 19 def check! (raise Errors::ServiceNotImplemented, type) unless list.include?(type) end |
#docker_compose_file ⇒ Object
23 |
# File 'lib/picobox/services/manifest.rb', line 23 def docker_compose_file () "#{os.project_root}/docker-compose.yml" end |
#list ⇒ Object
8 9 10 11 |
# File 'lib/picobox/services/manifest.rb', line 8 def list result = Dir.glob("#{Picobox.service_packages_dir}/*").select {|f| File.directory? f} result.map {|r| strip_path(r) }.sort! end |
#package_contents ⇒ Object
14 15 16 |
# File 'lib/picobox/services/manifest.rb', line 14 def package_contents @package_contents ||= Dir.glob(File.join(service, "*")) end |
#post_install_instructions ⇒ Object
28 |
# File 'lib/picobox/services/manifest.rb', line 28 def post_install_instructions() slice(package, 'instructions')['instructions'] end |
#service ⇒ Object
26 |
# File 'lib/picobox/services/manifest.rb', line 26 def service () slice(package, service_name) end |
#service_links ⇒ Object
27 |
# File 'lib/picobox/services/manifest.rb', line 27 def service_links() slice(package, 'links')['links'] end |
#service_name ⇒ Object
24 |
# File 'lib/picobox/services/manifest.rb', line 24 def service_name() (package.keys - ['links', 'instructions']).first end |