module Bake::Scope
def self.load(file_path, path = [])
def self.load(file_path, path = []) scope = Module.new if scope.respond_to?(:set_temporary_name) scope.set_temporary_name("#{self.name}[#{file_path}]") end scope.extend(self) scope.const_set(:FILE_PATH, file_path) scope.const_set(:PATH, path) # yield scope if block_given? scope.module_eval(File.read(file_path), file_path) return scope end
def file_path
def file_path pp file_path_self: self self.const_get(:FILE_PATH) end
def path
def path self.const_get(:PATH) end
def recipe_for(name)
Look up a recipe with a specific name.
def recipe_for(name) Recipe.new(self, name, self.instance_method(name)) end
def recipes
@parameter recipe [Recipe]
@yields {|recipe| ...}
Recipes defined in this scope.
def recipes return to_enum(:recipes) unless block_given? names = self.instance_methods names.each do |name| yield recipe_for(name) end end