class Protobuf::Lifecycle

Public Class Methods

normalized_event_name(event_name) click to toggle source
# File lib/protobuf/lifecycle.rb, line 28
def normalized_event_name(event_name)
  event_name.to_s.downcase
end
on(event_name, &blk)
Alias for: register
register(event_name, &blk) click to toggle source
# File lib/protobuf/lifecycle.rb, line 4
def register(event_name, &blk)
  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|
    blk.call(*args)
  end
end
Also aliased as: on
trigger(event_name, *args) click to toggle source
# 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