Sha256: 62574dc8704cebe97fd76a7fed4ea42519e574c5ab450725d74e7ca69dc5f961

Contents?: true

Size: 572 Bytes

Versions: 1

Compression:

Stored size: 572 Bytes

Contents

require "yaml"
require "docktor/manifest"
require "docktor/container"

module Docktor
  class ManifestParser
    def parse(yaml_path)
      manifest_data = YAML.load_file(yaml_path)
      manifest = Docktor::Manifest.new
      default_containers = manifest_data.delete("doc_defaults")

      manifest.containers = manifest_data.map do |container_name, options|
        Container.new(
          name: container_name,
          **options.symbolize_keys
        )
      end

      manifest.select_containers_for_execution default_containers

      manifest
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
docktor-0.2.0 lib/docktor/manifest_parser.rb