Module: Slices::GeneratorMacros

Defined in:
lib/slices/generator_macros.rb

Instance Method Summary collapse

Instance Method Details

#generate!Object

Invokes all generators.



32
33
34
# File 'lib/slices/generator_macros.rb', line 32

def generate!
  generators.map { |m| send m }
end

#generator(name, &block) ⇒ Object

Defines a generator method.

e.g.

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

Results in:

MyStandardTree.home

Parameters:

  • name (Symbol)
  • block (Proc)

    macro body



21
22
23
24
# File 'lib/slices/generator_macros.rb', line 21

def generator name, &block
  define_singleton_method name, &block
  generators << name
end

#generatorsObject

Simple catalogue of generators.



27
28
29
# File 'lib/slices/generator_macros.rb', line 27

def generators
  @generators ||= []
end