class Datagrid::Drivers::Array
@!visibility private
Public Class Methods
Source
# File lib/datagrid/drivers/array.rb, line 7 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
Source
# File lib/datagrid/drivers/array.rb, line 24 def asc(scope, order) return scope unless order return scope if order.empty? scope.sort_by do |object| get(object, order) end end
Source
# File lib/datagrid/drivers/array.rb, line 76 def batch_each(scope, _batch_size, &block) scope.each(&block) end
Source
# File lib/datagrid/drivers/array.rb, line 84 def can_preload?(_scope, _association) false end
Source
# File lib/datagrid/drivers/array.rb, line 72 def column_names(_scope) [] end
Source
# File lib/datagrid/drivers/array.rb, line 66 def contains(scope, field, value) scope.select do |object| get(object, field).to_s.include?(value) end end
Source
# File lib/datagrid/drivers/array.rb, line 80 def default_cache_key(asset) asset end
Source
# File lib/datagrid/drivers/array.rb, line 37 def default_order(_scope, column_name) column_name end
Source
# File lib/datagrid/drivers/array.rb, line 33 def desc(scope, order) asc(scope, order).reverse end
Source
# File lib/datagrid/drivers/array.rb, line 45 def greater_equal(scope, field, value) scope.select do |object| get(object, field) >= value end end
Source
# File lib/datagrid/drivers/array.rb, line 51 def less_equal(scope, field, value) scope.select do |object| get(object, field) <= value end end
Source
# File lib/datagrid/drivers/array.rb, line 41 def reverse_order(scope) scope.reverse end
Source
# File lib/datagrid/drivers/array.rb, line 57 def scope_has_column?(scope, column_name) scope.any? && scope.first.respond_to?(column_name) end
Source
# File lib/datagrid/drivers/array.rb, line 61 def timestamp_column?(scope, column_name) scope_has_column?(scope, column_name) && timestamp_class?(get(scope.first, column_name).class) end
Source
# File lib/datagrid/drivers/array.rb, line 18 def where(scope, attribute, value) scope.select do |object| get(object, attribute) == value end end
Protected Instance Methods
Source
# File lib/datagrid/drivers/array.rb, line 90 def get(object, property) object.is_a?(Hash) ? object[property] : object.public_send(property) end