Class: Datagrid::Drivers::AbstractDriver

Inherits:
Object
  • Object
show all
Defined in:
lib/datagrid/drivers/abstract_driver.rb

Direct Known Subclasses

ActiveRecord, Array, MongoMapper, Mongoid

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.guess_driver(scope) ⇒ Object



13
14
15
16
17
# File 'lib/datagrid/drivers/abstract_driver.rb', line 13

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) ⇒ Object



7
8
9
10
11
# File 'lib/datagrid/drivers/abstract_driver.rb', line 7

def self.inherited(base)
  super(base)
  self.subclasses ||= []
  self.subclasses << base
end

.match?(scope) ⇒ Boolean

Returns:

  • (Boolean)

Raises:

  • (NotImplementedError)


19
20
21
# File 'lib/datagrid/drivers/abstract_driver.rb', line 19

def self.match?(scope)
  raise NotImplementedError
end

Instance Method Details

#asc(scope, order) ⇒ Object

Raises:

  • (NotImplementedError)


35
36
37
# File 'lib/datagrid/drivers/abstract_driver.rb', line 35

def asc(scope, order)
  raise NotImplementedError
end

#default_order(scope, column_name) ⇒ Object

Raises:

  • (NotImplementedError)


43
44
45
# File 'lib/datagrid/drivers/abstract_driver.rb', line 43

def default_order(scope, column_name)
  raise NotImplementedError
end

#desc(scope, order) ⇒ Object

Raises:

  • (NotImplementedError)


39
40
41
# File 'lib/datagrid/drivers/abstract_driver.rb', line 39

def desc(scope, order)
  raise NotImplementedError
end

#greater_equal(scope, field, value) ⇒ Object

Raises:

  • (NotImplementedError)


47
48
49
# File 'lib/datagrid/drivers/abstract_driver.rb', line 47

def greater_equal(scope, field, value)
  raise NotImplementedError
end

#has_column?(scope, column_name) ⇒ Boolean

Returns:

  • (Boolean)

Raises:

  • (NotImplementedError)


55
56
57
# File 'lib/datagrid/drivers/abstract_driver.rb', line 55

def has_column?(scope, column_name)
  raise NotImplementedError
end

#less_equal(scope, field, value) ⇒ Object

Raises:

  • (NotImplementedError)


51
52
53
# File 'lib/datagrid/drivers/abstract_driver.rb', line 51

def less_equal(scope, field, value)
  raise NotImplementedError
end

#match?(scope) ⇒ Boolean

Returns:

  • (Boolean)


23
24
25
# File 'lib/datagrid/drivers/abstract_driver.rb', line 23

def match?(scope)
  self.class.match?(scope)
end

#reverse_order(scope) ⇒ Object

Raises:

  • (NotImplementedError)


59
60
61
# File 'lib/datagrid/drivers/abstract_driver.rb', line 59

def reverse_order(scope)
  raise NotImplementedError
end

#to_scope(scope) ⇒ Object

Raises:

  • (NotImplementedError)


27
28
29
# File 'lib/datagrid/drivers/abstract_driver.rb', line 27

def to_scope(scope)
  raise NotImplementedError
end

#where(scope, attribute, value) ⇒ Object

Raises:

  • (NotImplementedError)


31
32
33
# File 'lib/datagrid/drivers/abstract_driver.rb', line 31

def where(scope, attribute, value)
  raise NotImplementedError
end