Class: Protobuf::Lifecycle
- Inherits:
-
Object
- Object
- Protobuf::Lifecycle
- Defined in:
- lib/protobuf/lifecycle.rb
Class Method Summary collapse
- .normalized_event_name(event_name) ⇒ Object
- .register(event_name) ⇒ Object (also: on)
- .trigger(event_name, *args) ⇒ Object
Class Method Details
.normalized_event_name(event_name) ⇒ Object
28 29 30 |
# File 'lib/protobuf/lifecycle.rb', line 28 def normalized_event_name(event_name) event_name.to_s.downcase end |
.register(event_name) ⇒ Object Also known as: on
4 5 6 7 8 9 10 11 |
# File 'lib/protobuf/lifecycle.rb', line 4 def register(event_name) fail "Lifecycle register must have a block" unless block_given? event_name = normalized_event_name(event_name) ::ActiveSupport::Notifications.subscribe(event_name) do |_name, _start, _finish, _id, args| yield(*args) end end |
.trigger(event_name, *args) ⇒ Object
14 15 16 17 18 |
# File 'lib/protobuf/lifecycle.rb', line 14 def trigger(event_name, *args) event_name = normalized_event_name(event_name) ::ActiveSupport::Notifications.instrument(event_name, args) end |