module Support::Commands::CommandRunner

Public Class Methods

run(command, &block) click to toggle source
# File lib/hecks/domain/templates/lib/support/commands/command_runner.rb, line 4
def self.run(command, &block)
  Events::DomainEventPublisher.emit(
    const_get(command.class.to_s.split('::')[0])::
      Events::CommandWillRun.new(command)
  )

  command.call
  command.root.test_invariants(command)
  Events::DomainEventPublisher.emit(command, &block)
  command
end