Module: DocktorRails::Compose

Defined in:
lib/docktor_rails/compose.rb

Constant Summary collapse

CANDIDATES =
["compose.yml", "docker-compose.yml"].freeze

Class Method Summary collapse

Class Method Details

.find_file(root) ⇒ Object



9
10
11
# File 'lib/docktor_rails/compose.rb', line 9

def self.find_file(root)
  CANDIDATES.map { |f| File.join(root, f) }.find { |p| File.file?(p) }
end

.load_file(path) ⇒ Object



13
14
15
16
17
18
# File 'lib/docktor_rails/compose.rb', line 13

def self.load_file(path)
  data = YAML.safe_load(File.read(path), aliases: true)
  data.is_a?(Hash) ? data : {}
rescue Psych::Exception => e
  raise DocktorRails::Error, "Invalid compose YAML in #{File.basename(path)}: #{e.message}"
end

.services(doc) ⇒ Object



20
21
22
# File 'lib/docktor_rails/compose.rb', line 20

def self.services(doc)
  doc.fetch("services", {}) || {}
end