Sha256: d5a587dc04a8d8cac33e8f7fc512af5d88c5e32803373f7cc7fd225f8dda8bd6
Contents?: true
Size: 988 Bytes
Versions: 9
Compression:
Stored size: 988 Bytes
Contents
require_relative 'live_query' require 'volt/utils/generic_pool' class LiveQueryPool < GenericPool def initialize(data_store) super() @data_store = data_store end def lookup(collection, query) query = normalize_query(query) return super(collection, query) end def updated_collection(collection, skip_channel) lookup_all(collection).each do |live_query| puts "RUN ON: #{live_query} with #{live_query.instance_variable_get('@channels').inspect}" 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 return 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. return query end end
Version data entries
9 entries across 9 versions & 1 rubygems