hanami / hanami/events

Transport library for events

Open
#18 1 comment 0 reactions 1 assignee Claimed by @davydovanton View on GitHub
enhancement
Dominant language
Ruby
Stars
41
Forks
6
PR merge metrics
No merged PRs in 30d

Description

```ruby
class WebHandler < Hanami::Events::Handler
on('user.created') { |payload| UserRepository.new.create(payload) }
on('user.updated') { |payload| payload }
end

class AnaliticHandler < Hanami::Events::Handler
on('*', AnaliticSender)
on('user.*') { |payload| payload }
on('user.signup') { |payload| payload }
end

class NotificationHandler < Hanami::Events::Handler
on('user.created') { |payload| payload }
on('post.created') { |payload| payload }
end

class UserEventRouting < Hanami::Events::Routing
mount UserHandler
mount AnaliticHandler
mount NotificationHandler
end

class PostEventRouting < Hanami::Events::Routing
mount UserHandler
mount AnaliticHandler
mount NotificationHandler
end

events = Hanami::Events.new(:kafka)
events.subscribe('user.*') { |event, payload| UserEventRouting.new(event, payload) }
events.subscribe('post.*') { |event, payload| PostEventRouting.new(event, payload) }
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.