Parent

Class/Module Index [+]

Quicksearch

Rails::Generator::Manifest

Manifest captures the actions a generator performs. Instantiate a manifest with an optional target object, hammer it with actions, then replay or rewind on the object of your choice.

Example:

manifest = Manifest.new { |m|
  m.make_directory '/foo'
  m.create_file '/foo/bar.txt'
}
manifest.replay(creator)
manifest.rewind(destroyer)

Attributes

target[R]

Public Class Methods

new(target = nil) click to toggle source

Take a default action target. Yield self if block given.

# File lib/rails_generator/manifest.rb, line 19
def initialize(target = nil)
  @target, @actions = target, []
  yield self if block_given?
end

Public Instance Methods

erase() click to toggle source

Erase recorded actions.

# File lib/rails_generator/manifest.rb, line 40
def erase
  @actions = []
end
method_missing(action, *args, &block) click to toggle source

Record an action.

# File lib/rails_generator/manifest.rb, line 25
def method_missing(action, *args, &block)
  @actions << [action, args, block]
end
replay(target = nil) click to toggle source

Replay recorded actions.

# File lib/rails_generator/manifest.rb, line 30
def replay(target = nil)
  send_actions(target || @target, @actions)
end
rewind(target = nil) click to toggle source

Rewind recorded actions.

# File lib/rails_generator/manifest.rb, line 35
def rewind(target = nil)
  send_actions(target || @target, @actions.reverse)
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.