class Datagrid::Drivers::AbstractDriver
@!visibility private
Constants
- TIMESTAMP_CLASSES
Public Class Methods
guess_driver(scope)
click to toggle source
# File lib/datagrid/drivers/abstract_driver.rb, line 15 def self.guess_driver(scope) self.subclasses.find do |driver_class| driver_class.match?(scope) end || raise(Datagrid::ConfigurationError, "ORM Driver not found for scope: #{scope.inspect}.") end
inherited(base)
click to toggle source
Calls superclass method
# File lib/datagrid/drivers/abstract_driver.rb, line 10 def self.inherited(base) super(base) self.subclasses << base end
match?(scope)
click to toggle source
# File lib/datagrid/drivers/abstract_driver.rb, line 21 def self.match?(scope) raise NotImplementedError end
Public Instance Methods
append_column_queries(assets, columns)
click to toggle source
# File lib/datagrid/drivers/abstract_driver.rb, line 85 def append_column_queries(assets, columns) if columns.present? raise NotImplementedError else assets end end
asc(scope, order)
click to toggle source
# File lib/datagrid/drivers/abstract_driver.rb, line 37 def asc(scope, order) raise NotImplementedError end
batch_each(scope, batch_size, &block)
click to toggle source
# File lib/datagrid/drivers/abstract_driver.rb, line 81 def batch_each(scope, batch_size, &block) raise NotImplementedError end
can_preload?(scope, association)
click to toggle source
# File lib/datagrid/drivers/abstract_driver.rb, line 112 def can_preload?(scope, association) raise NotImplementedError end
column_names(scope)
click to toggle source
# File lib/datagrid/drivers/abstract_driver.rb, line 73 def column_names(scope) raise NotImplementedError end
contains(scope, field, value)
click to toggle source
# File lib/datagrid/drivers/abstract_driver.rb, line 69 def contains(scope, field, value) raise NotImplementedError end
default_cache_key(asset)
click to toggle source
# File lib/datagrid/drivers/abstract_driver.rb, line 93 def default_cache_key(asset) raise NotImplementedError end
default_order(scope, column_name)
click to toggle source
# File lib/datagrid/drivers/abstract_driver.rb, line 45 def default_order(scope, column_name) raise NotImplementedError end
default_preload(scope, value)
click to toggle source
# File lib/datagrid/drivers/abstract_driver.rb, line 108 def default_preload(scope, value) raise NotImplementedError end
desc(scope, order)
click to toggle source
# File lib/datagrid/drivers/abstract_driver.rb, line 41 def desc(scope, order) raise NotImplementedError end
greater_equal(scope, field, value)
click to toggle source
# File lib/datagrid/drivers/abstract_driver.rb, line 49 def greater_equal(scope, field, value) raise NotImplementedError end
has_column?(scope, column_name)
click to toggle source
# File lib/datagrid/drivers/abstract_driver.rb, line 57 def has_column?(scope, column_name) raise NotImplementedError end
is_timestamp?(scope, field)
click to toggle source
# File lib/datagrid/drivers/abstract_driver.rb, line 65 def is_timestamp?(scope, field) normalized_column_type(scope, field) == :timestamp end
less_equal(scope, field, value)
click to toggle source
# File lib/datagrid/drivers/abstract_driver.rb, line 53 def less_equal(scope, field, value) raise NotImplementedError end
match?(scope)
click to toggle source
# File lib/datagrid/drivers/abstract_driver.rb, line 25 def match?(scope) self.class.match?(scope) end
normalized_column_type(scope, field)
click to toggle source
# File lib/datagrid/drivers/abstract_driver.rb, line 77 def normalized_column_type(scope, field) raise NotImplementedError end
reverse_order(scope)
click to toggle source
# File lib/datagrid/drivers/abstract_driver.rb, line 61 def reverse_order(scope) raise NotImplementedError end
to_scope(scope)
click to toggle source
# File lib/datagrid/drivers/abstract_driver.rb, line 29 def to_scope(scope) raise NotImplementedError end
where(scope, attribute, value)
click to toggle source
# File lib/datagrid/drivers/abstract_driver.rb, line 33 def where(scope, attribute, value) raise NotImplementedError end
where_by_timestamp_gotcha(scope, name, value)
click to toggle source
# File lib/datagrid/drivers/abstract_driver.rb, line 97 def where_by_timestamp_gotcha(scope, name, value) value = Datagrid::Utils.format_date_as_timestamp(value) if value.first scope = greater_equal(scope, name, value.first) end if value.last scope = less_equal(scope, name, value.last) end scope end
Protected Instance Methods
timestamp_class?(klass)
click to toggle source
# File lib/datagrid/drivers/abstract_driver.rb, line 117 def timestamp_class?(klass) TIMESTAMP_CLASSES.include?(klass) end