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