Sha256: 8034d29d29bd337eaa0c73eb9c4b2e43688e219d821e4572a6a8d8399863086a
Contents?: true
Size: 1.32 KB
Versions: 3
Compression:
Stored size: 1.32 KB
Contents
module Datagrid module Drivers class AbstractDriver class_attribute :subclasses def self.inherited(base) super(base) self.subclasses ||= [] self.subclasses << base end 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 def self.match?(scope) raise NotImplementedError end def match?(scope) self.class.match?(scope) end def to_scope(scope) raise NotImplementedError end def where(scope, attribute, value) raise NotImplementedError end def asc(scope, order) raise NotImplementedError end def desc(scope, order) raise NotImplementedError end def default_order(scope, column_name) raise NotImplementedError end def greater_equal(scope, field, value) raise NotImplementedError end def less_equal(scope, field, value) raise NotImplementedError end def has_column?(scope, column_name) raise NotImplementedError end def reverse_order(scope) raise NotImplementedError end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
datagrid-0.8.3 | lib/datagrid/drivers/abstract_driver.rb |
datagrid-0.8.2 | lib/datagrid/drivers/abstract_driver.rb |
datagrid-0.8.1 | lib/datagrid/drivers/abstract_driver.rb |