class Pixiebox::Services::Manifest
Attributes
os[R]
type[R]
Public Class Methods
new(os, type = nil)
click to toggle source
# File lib/pixiebox/services/manifest.rb, line 4 def initialize(os, type = nil) @os, @type = os, type end
Public Instance Methods
check!()
click to toggle source
# File lib/pixiebox/services/manifest.rb, line 19 def check! (raise Errors::ServiceNotImplemented, type) unless list.include?(type) end
docker_compose_file()
click to toggle source
# File lib/pixiebox/services/manifest.rb, line 23 def docker_compose_file () "#{os.project_root}/docker-compose.yml" end
list()
click to toggle source
# File lib/pixiebox/services/manifest.rb, line 8 def list result = Dir.glob("#{os.service_packages_dir}/*").select {|f| File.directory? f} result.map {|r| strip_path(r) }.sort! end
package_contents()
click to toggle source
# File lib/pixiebox/services/manifest.rb, line 14 def package_contents @package_contents ||= Dir.glob(File.join(service, "*")) end
post_install_instructions()
click to toggle source
# File lib/pixiebox/services/manifest.rb, line 28 def post_install_instructions() slice(package, 'instructions')['instructions'] end
service()
click to toggle source
# File lib/pixiebox/services/manifest.rb, line 26 def service () slice(package, service_name) end
service_links()
click to toggle source
# File lib/pixiebox/services/manifest.rb, line 27 def service_links() slice(package, 'links')['links'] end
service_name()
click to toggle source
# File lib/pixiebox/services/manifest.rb, line 24 def service_name() (package.keys - ['links', 'instructions']).first end
Private Instance Methods
package()
click to toggle source
# File lib/pixiebox/services/manifest.rb, line 33 def package @package ||= YAML.load_file("#{package_dir}/config.yml") end
package_dir()
click to toggle source
# File lib/pixiebox/services/manifest.rb, line 37 def package_dir "#{os.service_packages_dir}/#{type}" end
slice(hash, *keys)
click to toggle source
# File lib/pixiebox/services/manifest.rb, line 45 def slice(hash, *keys) Hash[ [keys, hash.values_at(*keys)].transpose] end
strip_path(file)
click to toggle source
# File lib/pixiebox/services/manifest.rb, line 41 def strip_path(file) file.split('/').last end