Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multi command dispatch registration in router #16

Closed
slashdotdash opened this issue Oct 9, 2016 · 0 comments
Closed

Multi command dispatch registration in router #16

slashdotdash opened this issue Oct 9, 2016 · 0 comments
Labels

Comments

@slashdotdash
Copy link
Member

slashdotdash commented Oct 9, 2016

The current command router dispatch registration can be repetitive when multiple commands are handled by the same command handler.

defmodule Router do
  use Commanded.Commands.Router

  dispatch MyApp.Commands.Foo, to: CommandHandler, aggregate: Aggregate, identity: :uuid
  dispatch MyApp.Commands.Bar, to: CommandHandler, aggregate: Aggregate, identity: :uuid
  dispatch MyApp.Commands.Baz, to: CommandHandler, aggregate: Aggregate, identity: :uuid
end

Following the Elixir convention for alias/import/require/use to reference multiple modules at once the registration would become more succinct.

defmodule Router do
  use Commanded.Commands.Router

  alias MyApp.Commands.{Foo, Bar, Baz}

  dispatch [Foo, Bar, Baz],
    to: CommandHandler, aggregate: Aggregate, identity: :uuid
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

No branches or pull requests

1 participant