Sha256: 31e8c9e7e3819f996d8b3f61b083fe2f2fdd8a63a3a8c2b06a4679570fc8ab1b

Contents?: true

Size: 860 Bytes

Versions: 16

Compression:

Stored size: 860 Bytes

Contents

require_relative 'live_query'
require 'volt/utils/generic_pool'

class LiveQueryPool < Volt::GenericPool
  def initialize(data_store)
    super()
    @data_store = data_store
  end

  def lookup(collection, query)
    query = normalize_query(query)

    super(collection, query)
  end

  def updated_collection(collection, skip_channel)
    lookup_all(collection).each do |live_query|
      live_query.run(skip_channel)
    end
  end

  private

  # Creates the live query if it doesn't exist, and stores it so it
  # can be found later.
  def create(collection, query = {})
    # If not already setup, create a new one for this collection/query
    LiveQuery.new(self, @data_store, collection, query)
  end

  def normalize_query(query)
    # TODO: add something to sort query properties so the queries are
    # always compared the same.
    query
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
volt-0.8.27.beta3 app/volt/tasks/live_query/live_query_pool.rb
volt-0.8.27.beta2 app/volt/tasks/live_query/live_query_pool.rb
volt-0.8.27.beta1 app/volt/tasks/live_query/live_query_pool.rb
volt-0.8.26.beta1 app/volt/tasks/live_query/live_query_pool.rb
volt-0.8.26 app/volt/tasks/live_query/live_query_pool.rb
volt-0.8.24 app/volt/tasks/live_query/live_query_pool.rb
volt-0.8.23 app/volt/tasks/live_query/live_query_pool.rb
volt-0.8.22 app/volt/tasks/live_query/live_query_pool.rb
volt-0.8.22.beta2 app/volt/tasks/live_query/live_query_pool.rb
volt-0.8.22.beta1 app/volt/tasks/live_query/live_query_pool.rb
volt-0.8.21 app/volt/tasks/live_query/live_query_pool.rb
volt-0.8.20 app/volt/tasks/live_query/live_query_pool.rb
volt-0.8.19 app/volt/tasks/live_query/live_query_pool.rb
volt-0.8.18 app/volt/tasks/live_query/live_query_pool.rb
volt-0.8.17 app/volt/tasks/live_query/live_query_pool.rb
volt-0.8.16 app/volt/tasks/live_query/live_query_pool.rb