class Datagrid::Drivers::MongoMapper
@!visibility private
Public Class Methods
match?(scope)
click to toggle source
# File lib/datagrid/drivers/mongo_mapper.rb, line 6 def self.match?(scope) return false unless defined?(::MongoMapper) if scope.is_a?(Class) scope.ancestors.include?(::MongoMapper::Document) else scope.is_a?(::Plucky::Query) end end
Public Instance Methods
asc(scope, order)
click to toggle source
# File lib/datagrid/drivers/mongo_mapper.rb, line 23 def asc(scope, order) scope.sort(order.asc) end
batch_each(scope, batch_size) { |item| ... }
click to toggle source
# File lib/datagrid/drivers/mongo_mapper.rb, line 60 def batch_each(scope, batch_size, &block) current_page = 0 loop do batch = scope.skip(current_page * batch_size).limit(batch_size).to_a return if batch.empty? scope.skip(current_page * batch_size).limit(batch_size).each do |item| yield(item) end current_page+=1 end end
can_preload?(scope, association)
click to toggle source
# File lib/datagrid/drivers/mongo_mapper.rb, line 80 def can_preload?(scope, association) false end
column_names(scope)
click to toggle source
# File lib/datagrid/drivers/mongo_mapper.rb, line 56 def column_names(scope) [] # TODO: implement support end
contains(scope, field, value)
click to toggle source
# File lib/datagrid/drivers/mongo_mapper.rb, line 52 def contains(scope, field, value) scope(field => Regexp.compile(Regexp.escape(value))) end
default_cache_key(asset)
click to toggle source
# File lib/datagrid/drivers/mongo_mapper.rb, line 72 def default_cache_key(asset) raise NotImplementedError end
default_order(scope, column_name)
click to toggle source
# File lib/datagrid/drivers/mongo_mapper.rb, line 31 def default_order(scope, column_name) has_column?(scope, column_name) ? column_name : nil end
default_preload(scope, value)
click to toggle source
# File lib/datagrid/drivers/mongo_mapper.rb, line 76 def default_preload(scope, value) raise NotImplementedError end
desc(scope, order)
click to toggle source
# File lib/datagrid/drivers/mongo_mapper.rb, line 27 def desc(scope, order) scope.sort("#{order} desc") end
greater_equal(scope, field, value)
click to toggle source
# File lib/datagrid/drivers/mongo_mapper.rb, line 35 def greater_equal(scope, field, value) scope.where(field => {"$gte" => value}) end
has_column?(scope, column_name)
click to toggle source
# File lib/datagrid/drivers/mongo_mapper.rb, line 43 def has_column?(scope, column_name) scope.key?(column_name) end
is_timestamp?(scope, column_name)
click to toggle source
# File lib/datagrid/drivers/mongo_mapper.rb, line 47 def is_timestamp?(scope, column_name) #TODO implement the support false end
less_equal(scope, field, value)
click to toggle source
# File lib/datagrid/drivers/mongo_mapper.rb, line 39 def less_equal(scope, field, value) scope.where(field => {"$lte" => value}) end
to_scope(scope)
click to toggle source
# File lib/datagrid/drivers/mongo_mapper.rb, line 15 def to_scope(scope) scope.where end
where(scope, attribute, value)
click to toggle source
# File lib/datagrid/drivers/mongo_mapper.rb, line 19 def where(scope, attribute, value) scope.where(attribute => value) end