class Shiplane::ComposeHash

Attributes

compose_file[RW]
production_config[RW]

Public Class Methods

new(compose_file, production_config) click to toggle source
# File lib/shiplane/compose_hash.rb, line 7
def initialize(compose_file, production_config)
  @compose_file = compose_file
  @production_config = production_config
end

Public Instance Methods

blacklisted_nodes() click to toggle source
# File lib/shiplane/compose_hash.rb, line 24
def blacklisted_nodes
  @blacklisted_nodes ||= production_config.fetch('blacklist', [])
end
compose_hash() click to toggle source
# File lib/shiplane/compose_hash.rb, line 16
def compose_hash
  @compose_hash ||= YAML.load(compose_file)
end
default_whitelisted_nodes() click to toggle source
# File lib/shiplane/compose_hash.rb, line 32
def default_whitelisted_nodes
  [
    "version",
  ]
end
production_yml() click to toggle source
# File lib/shiplane/compose_hash.rb, line 12
def production_yml
  blacklisted_nodes.inject(whitelisted_hash){ |acc, node| acc.blacklist(node) }
end
whitelisted_hash() click to toggle source
# File lib/shiplane/compose_hash.rb, line 20
def whitelisted_hash
  @whitelisted_hash ||= compose_hash.whitelist(*default_whitelisted_nodes, *whitelisted_nodes)
end
whitelisted_nodes() click to toggle source
# File lib/shiplane/compose_hash.rb, line 28
def whitelisted_nodes
  @whitelisted_nodes ||= production_config.fetch('whitelist', [])
end