Sha256: f996831ac2b5c1db1a095b3001457a845d31c82ea6c3ea4b2b6b2902ac986bf7

Contents?: true

Size: 396 Bytes

Versions: 1

Compression:

Stored size: 396 Bytes

Contents

# https://gist.github.com/nilbus/6385142
module HubLink
  class Callbacks
    def initialize(block)
      block&.call(self)
    end

    def callback(message, *args)
      callbacks[message]&.call(*args)
    end

    def method_missing(m, *args, &block)
      block ? callbacks[m] = block : super
      self
    end

    private

      def callbacks
        @callbacks ||= {}
      end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
hub_link-0.12.0 lib/hub_link/callbacks.rb