Sha256: 7fa0e1f69b06e4d8a9e1e4da0ae612faab079cb3ee22bf703102b5039e36250a

Contents?: true

Size: 486 Bytes

Versions: 10

Compression:

Stored size: 486 Bytes

Contents

module ActiveRepository
  module Callback
    class Pool
      def initialize
        @pools = {}
      end

      def add(pool, callback)
        return false unless can_add?(pool, callback)

        @pools[pool] ||= []

        @pools[pool] << callback

        true
      end

      def get(pool='')
        @pools[pool] || []
      end

    private
      def can_add?(pool, callback)
        pool && callback.is_a?(Base) && !get(pool).include?(callback)
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
active_repository-0.5.1 lib/active_repository/callback/pool.rb
active_repository-0.5.0 lib/active_repository/callback/pool.rb
active_repository-0.4.3 lib/active_repository/callback/pool.rb
active_repository-0.4.2 lib/active_repository/callback/pool.rb
active_repository-0.4.1 lib/active_repository/callback/pool.rb
active_repository-0.4.0 lib/active_repository/callback/pool.rb
active_repository-0.3.10 lib/active_repository/callback/pool.rb
active_repository-0.3.9 lib/active_repository/callback/pool.rb
active_repository-0.3.8 lib/active_repository/callback/pool.rb
active_repository-0.3.7 lib/active_repository/callback/pool.rb