module CommandExtension::AfterCommit::InstanceMethods

Attributes

after_commit_queue_enabled[W]

Public Instance Methods

after_commit(method = nil, &block) click to toggle source
# File lib/command_extension/after_commit.rb, line 22
def after_commit(method = nil, &block)
  after_commit_queue << proc { send(method) } if method
  after_commit_queue << block if block
  true
end
after_commit_queue() click to toggle source
# File lib/command_extension/after_commit.rb, line 13
def after_commit_queue
  @after_commit_queue ||= []
end
after_commit_queue_enabled() click to toggle source
# File lib/command_extension/after_commit.rb, line 28
def after_commit_queue_enabled
  @after_commit_queue_enabled = true if @after_commit_queue_enabled.nil?
  @after_commit_queue_enabled
end
after_commit_queue_enabled?() click to toggle source
# File lib/command_extension/after_commit.rb, line 33
def after_commit_queue_enabled?
  after_commit_queue_enabled
end
execute() click to toggle source
Calls superclass method
# File lib/command_extension/after_commit.rb, line 37
def execute
  run_after_commit_queue if after_commit_queue_enabled?
  super
end
reset() click to toggle source
Calls superclass method
# File lib/command_extension/after_commit.rb, line 17
def reset
  @after_commit_queue = nil
  super
end
run_after_commit_queue() click to toggle source
# File lib/command_extension/after_commit.rb, line 50
def run_after_commit_queue
  self.class.run_after_commit_queue(self)
  after_commit_queue.each(&:call)
end
subcommand(command) click to toggle source
# File lib/command_extension/after_commit.rb, line 42
def subcommand(command)
  command.after_commit_queue_enabled = false
  after_commit do
    command.run_after_commit_queue
  end
  command
end