module LifecycleCallbacks

Attributes

callbacks[RW]

Public Class Methods

new() click to toggle source
# File lib/roundtrip_xml/lifecycle_callbacks.rb, line 3
def initialize
  @callbacks = {}
end

Public Instance Methods

on(event, &callback) click to toggle source
# File lib/roundtrip_xml/lifecycle_callbacks.rb, line 6
def on (event, &callback)
  callbacks[event] ||= []
  callbacks[event] << callback
end

Private Instance Methods

trigger(event, *args) click to toggle source
# File lib/roundtrip_xml/lifecycle_callbacks.rb, line 13
def trigger(event, *args)
  @callbacks ||= {}
  callbacks[event] && callbacks[event].each {|cb| cb.call *args}
end