Sha256: 53a2514aeb1e7c0ef5341083c99790a65c5672d38867a790506e2566bfa6a9d9
Contents?: true
Size: 713 Bytes
Versions: 8
Compression:
Stored size: 713 Bytes
Contents
module Gumdrop module Callbacks # For defining callbacks def callback(*callback_names) callback_names.each do |name| class_eval <<-EOF def #{name}(*args, &block) if block @_#{name} = [] if @_#{name}.nil? @_#{name} << block elsif @_#{name} and !@_#{name}.nil? @_#{name}.each do |cb| cb.call(*args) end end end def clear_#{name}() @_#{name} = nil end EOF end end alias_method :callbacks, :callback alias_method :define_callback, :callback alias_method :define_callbacks, :callback end end
Version data entries
8 entries across 8 versions & 1 rubygems