Sha256: 8afe1d61ff5b4262713844460a3f1c283a16de6439ae68b74831a831b2388cf7
Contents?: true
Size: 677 Bytes
Versions: 9
Compression:
Stored size: 677 Bytes
Contents
module Slices module GeneratorMacros # 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 # def generator name, &block define_singleton_method name, &block generators << name end # Simple catalogue of generators. def generators @generators ||= [] end # Invokes all generators. def generate! generators.map { |m| send m } end end end
Version data entries
9 entries across 9 versions & 1 rubygems