Sha256: 4f26d45b5fc018ed1cdc8a85c697eeb949ead563254673ae644b1c64c75d5a51

Contents?: true

Size: 332 Bytes

Versions: 1

Compression:

Stored size: 332 Bytes

Contents

module Zoology
  module Callbacks
    def call(callback, *args)
      cb = @callbacks[callback]
      cb.call(*args) if cb
    end

    private

    def callbacks(*callbacks)
      @callbacks ||= {}
      callbacks.each do |cb|
        self.class.send(:define_method, cb) { |&blk| @callbacks[cb] = blk }
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
zoology-0.1 lib/zoology/callbacks.rb