class ChefSpec::Matchers::IncludeRecipeMatcher

Public Class Methods

new(recipe_name) click to toggle source
# File lib/chefspec/matchers/include_recipe_matcher.rb, line 3
def initialize(recipe_name)
  @recipe_name = with_default(recipe_name)
end

Public Instance Methods

description() click to toggle source
# File lib/chefspec/matchers/include_recipe_matcher.rb, line 12
def description
  %Q{include recipe "#{@recipe_name}"}
end
failure_message() click to toggle source
# File lib/chefspec/matchers/include_recipe_matcher.rb, line 16
def failure_message
  %Q{expected #{loaded_recipes.inspect} to include "#{@recipe_name}"}
end
failure_message_when_negated() click to toggle source
# File lib/chefspec/matchers/include_recipe_matcher.rb, line 20
def failure_message_when_negated
  %Q{expected "#{@recipe_name}" to not be included}
end
matches?(runner) click to toggle source
# File lib/chefspec/matchers/include_recipe_matcher.rb, line 7
def matches?(runner)
  @runner = runner
  loaded_recipes.include?(@recipe_name)
end

Private Instance Methods

loaded_recipes() click to toggle source

The list of loaded recipes on the Chef run (normalized)

@return [Array<String>]

# File lib/chefspec/matchers/include_recipe_matcher.rb, line 42
def loaded_recipes
  @runner.run_context.loaded_recipes.map { |name| with_default(name) }
end
with_default(name) click to toggle source

Automatically appends “::default” to recipes that need them.

@param [String] name

@return [String]

# File lib/chefspec/matchers/include_recipe_matcher.rb, line 33
def with_default(name)
  name.include?("::") ? name : "#{name}::default"
end