Sha256: 1d3c94436d70bb5c830a3d74f3dc08d23bf572315bcc5c1f050cc6dfff3f65c5

Contents?: true

Size: 715 Bytes

Versions: 4

Compression:

Stored size: 715 Bytes

Contents

require 'chake/node'
require 'chake/yaml'

module Chake
  class << self
    attr_accessor :nodes
  end
end

nodes_file = ENV['CHAKE_NODES'] || 'nodes.yaml'
nodes_directory = ENV['CHAKE_NODES_D'] || 'nodes.d'
nodes = (File.exist?(nodes_file) && Chake::YAML.load_file(nodes_file)) || {}
nodes.values.each do |node|
  node['chake_metadata'] = { 'definition_file' => nodes_file }
end
Dir.glob(File.join(nodes_directory, '*.yaml')).sort.each do |f|
  file_nodes = Chake::YAML.load_file(f)
  file_nodes.values.each do |node|
    node['chake_metadata'] = { 'definition_file' => f }
  end
  nodes.merge!(file_nodes)
end

Chake.nodes = nodes.map { |node, data| Chake::Node.new(node, data) }.reject(&:skip?).uniq(&:hostname)

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
chake-0.92 lib/chake/config.rb
chake-0.91 lib/chake/config.rb
chake-0.90.3 lib/chake/config.rb
chake-0.90.2 lib/chake/config.rb