Class: Picobox::Services::Manifest

Inherits:
Object
  • Object
show all
Defined in:
lib/picobox/services/manifest.rb

Instance Method Summary collapse

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_fileObject



23
# File 'lib/picobox/services/manifest.rb', line 23

def docker_compose_file () "#{os.project_root}/docker-compose.yml" end

#listObject



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_contentsObject



14
15
16
# File 'lib/picobox/services/manifest.rb', line 14

def package_contents
  @package_contents ||= Dir.glob(File.join(service, "*"))
end

#post_install_instructionsObject



28
# File 'lib/picobox/services/manifest.rb', line 28

def post_install_instructions() slice(package, 'instructions')['instructions'] end

#serviceObject



26
# File 'lib/picobox/services/manifest.rb', line 26

def service ()                  slice(package, service_name) end


27
# File 'lib/picobox/services/manifest.rb', line 27

def service_links()             slice(package, 'links')['links'] end

#service_nameObject



24
# File 'lib/picobox/services/manifest.rb', line 24

def service_name()         (package.keys - ['links', 'instructions']).first end