class Chef::Sugar::Filters::AtCompileTime

Evaluate resources at compile time instead of converge time.

Public Class Methods

new(recipe) click to toggle source
# File lib/chef/sugar/filters.rb, line 8
def initialize(recipe)
  @recipe = recipe
end

Public Instance Methods

evaluate(&block) click to toggle source
# File lib/chef/sugar/filters.rb, line 12
def evaluate(&block)
  instance_eval(&block)
end
method_missing(m, *args, &block) click to toggle source
# File lib/chef/sugar/filters.rb, line 16
def method_missing(m, *args, &block)
  resource = @recipe.send(m, *args, &block)

  if resource.is_a?(Chef::Resource)
    actions = Array(resource.action)
    resource.action(:nothing)

    actions.each do |action|
      resource.run_action(action)
    end
  end

  resource
end