class Skirnir::Chef

Public Class Methods

new(defs) click to toggle source
# File lib/skirnir/chef.rb, line 2
def initialize(defs)
  @defs = defs
end

Public Instance Methods

get_for_roles(*roles) click to toggle source

@param roles [Array]

# File lib/skirnir/chef.rb, line 17
def get_for_roles(*roles)
  roles.flatten!

  roles.unshift('all') unless roles.include?('all')

  result = {}

  roles.each do |role|
    result.deep_merge!(@defs[role]) if @defs.has_key?(role)
  end

  result
end
set(role, *path, value) click to toggle source
# File lib/skirnir/chef.rb, line 6
def set(role, *path, value)
  #where = path.join('/')
  #puts "Set for role #{role}: #{where} = #{value}"

  h = Hash.construct(path, value)
  @defs[role] = {} unless @defs.has_key?(role)

  @defs[role].deep_merge!(h)
end