Sha256: 5e57376ec6cbbd25e916b2baa215f3c3a1acadde5ecdeb3ae588bc13ef155e02
Contents?: true
Size: 1.33 KB
Versions: 7
Compression:
Stored size: 1.33 KB
Contents
module Protobuf class Lifecycle include ::Protobuf::Logging def self.register(event_name, &blk) raise "Lifecycle register must have a block" unless block_given? event_name = normalized_event_name(event_name) if ::Protobuf.print_deprecation_warnings? $stderr.puts <<-ERROR [DEPRECATED] ::Protobuf::Lifecycle has been deprecated and will be removed in a future version. Use ::ActiveSupport::Notifications.subscribe('#{event_name}') ERROR end ::ActiveSupport::Notifications.subscribe(event_name) do |name, start, finish, id, args| blk.call(*args) end end def self.trigger( event_name, *args ) if ::Protobuf.print_deprecation_warnings? $stderr.puts <<-ERROR [DEPRECATED] ::Protobuf::Lifecycle has been deprecated and will be removed in a future version. Use ::ActiveSupport::Notifications.instrument(...) ERROR end event_name = normalized_event_name( event_name ) ::ActiveSupport::Notifications.instrument(event_name, args) end def self.normalized_event_name(event_name) return "#{event_name}".downcase end class << self attr_accessor :lifecycle_events alias_method :on, :register end @lifecycle_events ||= {} end end
Version data entries
7 entries across 7 versions & 1 rubygems