Sha256: 67181a88422141e0c5949342d9fb47fef6dd564c24e2e5ca0e7a97a51ca35352

Contents?: true

Size: 620 Bytes

Versions: 7

Compression:

Stored size: 620 Bytes

Contents

require 'ganymed/websocket'
require 'ganymed/websocket/filter'

module Ganymed
  class Websocket
    module Query
      def self.included(base)
        base.command :query
      end

      def query(data)
        return if not authenticated?
        data.each do |ns, query|
          query_id = query.delete('_id')
          log.debug("query #{query_id} from #{peer}: #{ns}(#{query.inspect})")

          events = db.collection(ns).find(query).map do |event|
            Event.parse(event.merge({'n' => ns}))
          end

          send(:result, {query_id => convert(events)})
        end
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
ganymed-0.2.3 lib/ganymed/websocket/query.rb
ganymed-0.2.2 lib/ganymed/websocket/query.rb
ganymed-0.2.1 lib/ganymed/websocket/query.rb
ganymed-0.2.0 lib/ganymed/websocket/query.rb
ganymed-0.1.2 lib/ganymed/websocket/query.rb
ganymed-0.1.1 lib/ganymed/websocket/query.rb
ganymed-0.1.0 lib/ganymed/websocket/query.rb