Sha256: 79ca3aeebe24ca73df2badd371af465a3f3c89a0c4db5e4f7189935f26ff53ee
Contents?: true
Size: 787 Bytes
Versions: 2
Compression:
Stored size: 787 Bytes
Contents
module Protobuf class Lifecycle def self.register( event_name, &blk ) raise "Lifecycle register must have a block" unless block_given? event_name = normalized_event_name( event_name ) lifecycle_events[ event_name ] ||= [] lifecycle_events[ event_name ] << blk end def self.trigger( event_name ) event_name = normalized_event_name( event_name ) if lifecycle_events.has_key?( event_name ) lifecycle_events[ event_name ].each do |block| block.call end end 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
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
protobuf-2.8.0.beta9-java | lib/protobuf/lifecycle.rb |
protobuf-2.8.0.beta9 | lib/protobuf/lifecycle.rb |