class SocialSnippet::DocumentBackend::YAMLDocument::Query

Attributes

collection[R]
document_class[R]

Public Class Methods

new(new_document_class, new_collection) click to toggle source
# File lib/social_snippet/document_backend/yaml_document/query.rb, line 8
def initialize(new_document_class, new_collection)
  @document_class = new_document_class
  @collection = new_collection
end

Public Instance Methods

count() click to toggle source
# File lib/social_snippet/document_backend/yaml_document/query.rb, line 24
def count
  collection.length
end
each(&block) click to toggle source
# File lib/social_snippet/document_backend/yaml_document/query.rb, line 34
def each(&block)
  enum.each &block
end
enum() click to toggle source
# File lib/social_snippet/document_backend/yaml_document/query.rb, line 28
def enum
  collection.map do |_, item|
    document_class.new item
  end
end
exists?() click to toggle source
# File lib/social_snippet/document_backend/yaml_document/query.rb, line 13
def exists?
  collection.size > 0
end
find(cond) click to toggle source
# File lib/social_snippet/document_backend/yaml_document/query.rb, line 17
def find(cond)
  new_collection = collection.select do |item_id, item|
    cond.all? {|k, _| cond[k] === item[k] }
  end
  self.class.new document_class, new_collection
end
map(&block) click to toggle source
# File lib/social_snippet/document_backend/yaml_document/query.rb, line 38
def map(&block)
  enum.map &block
end