Sha256: 2ae5ca21844b7680e06c2c428a836d16f2b335cacce6fd1d41514f1e65199345

Contents?: true

Size: 732 Bytes

Versions: 1

Compression:

Stored size: 732 Bytes

Contents

module Chargify
  module Loops
    def self.delegate_hook(event, payload)
      loops[event].each do |block|
        block.call payload
      end

      loops[:all].each do |block|
        block.call event, payload
      end
    end

    def self.loops
      @loops ||= Hash.new { |hash, key| hash[key] = [] }
    end

    def self.loop!(event, &block)
      events = event.kind_of?(Array) ? event : [event]
      events.each do |event|
        loops[event] ||= []
        loops[event]  << block
      end
    end

    def self.shared_key
      @shared_key || ''
    end

    def self.shared_key=(key)
      @shared_key = key
    end
  end
end

require 'digest/md5'

require 'chargify/loops/version'
require 'chargify/loops/engine'

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
chargify-loops-0.3.0 lib/chargify/loops.rb