module Slices::GeneratorMacros

Public Instance Methods

generate!() click to toggle source

Invokes all generators.

# File lib/slices/generator_macros.rb, line 32
def generate!
  generators.map { |m| send m }
end
generator(name, &block) click to toggle source

Defines a generator method.

e.g.

generator :home do
  Page.where(path: '/').first || Page.make(
    name: 'Home'
  )
end

Results in:

MyStandardTree.home

@param [Symbol] name @param [Proc] block macro body

# File lib/slices/generator_macros.rb, line 21
def generator name, &block
  define_singleton_method name, &block
  generators << name
end
generators() click to toggle source

Simple catalogue of generators.

# File lib/slices/generator_macros.rb, line 27
def generators
  @generators ||= []
end