class Datagrid::Drivers::Array
@!visibility private
Public Class Methods
match?(scope)
click to toggle source
# File lib/datagrid/drivers/array.rb, line 6 def self.match?(scope) !Datagrid::Drivers::ActiveRecord.match?(scope) && ( scope.is_a?(::Array) || scope.is_a?(Enumerator) || (defined?(::ActiveRecord::Result) && scope.is_a?(::ActiveRecord::Result)) ) end
Public Instance Methods
asc(scope, order)
click to toggle source
# File lib/datagrid/drivers/array.rb, line 23 def asc(scope, order) return scope unless order return scope if order.empty? scope.sort_by do |object| object.public_send(order) end end
batch_each(scope, batch_size, &block)
click to toggle source
# File lib/datagrid/drivers/array.rb, line 74 def batch_each(scope, batch_size, &block) scope.each(&block) end
can_preload?(scope, association)
click to toggle source
# File lib/datagrid/drivers/array.rb, line 82 def can_preload?(scope, association) false end
column_names(scope)
click to toggle source
# File lib/datagrid/drivers/array.rb, line 70 def column_names(scope) [] end
contains(scope, field, value)
click to toggle source
# File lib/datagrid/drivers/array.rb, line 64 def contains(scope, field, value) scope.select do |object| object.public_send(field).to_s.include?(value) end end
default_cache_key(asset)
click to toggle source
# File lib/datagrid/drivers/array.rb, line 78 def default_cache_key(asset) asset end
default_order(scope, column_name)
click to toggle source
# File lib/datagrid/drivers/array.rb, line 35 def default_order(scope, column_name) column_name end
desc(scope, order)
click to toggle source
# File lib/datagrid/drivers/array.rb, line 31 def desc(scope, order) asc(scope, order).reverse end
greater_equal(scope, field, value)
click to toggle source
# File lib/datagrid/drivers/array.rb, line 43 def greater_equal(scope, field, value) scope.select do |object| object.public_send(field) >= value end end
has_column?(scope, column_name)
click to toggle source
# File lib/datagrid/drivers/array.rb, line 55 def has_column?(scope, column_name) scope.any? && scope.first.respond_to?(column_name) end
is_timestamp?(scope, column_name)
click to toggle source
# File lib/datagrid/drivers/array.rb, line 59 def is_timestamp?(scope, column_name) has_column?(scope, column_name) && timestamp_class?(scope.first.public_send(column_name).class) end
less_equal(scope, field, value)
click to toggle source
# File lib/datagrid/drivers/array.rb, line 49 def less_equal(scope, field, value) scope.select do |object| object.public_send(field) <= value end end
reverse_order(scope)
click to toggle source
# File lib/datagrid/drivers/array.rb, line 39 def reverse_order(scope) scope.reverse end
to_scope(scope)
click to toggle source
# File lib/datagrid/drivers/array.rb, line 13 def to_scope(scope) scope end
where(scope, attribute, value)
click to toggle source
# File lib/datagrid/drivers/array.rb, line 17 def where(scope, attribute, value) scope.select do |object| object.public_send(attribute) == value end end