Class: DefaultAdapter

Inherits:
Object
  • Object
show all
Defined in:
lib/active_repository/adapters/default_adapter.rb

Direct Known Subclasses

MongoidAdapter

Class Method Summary collapse

Class Method Details

.all(klass) ⇒ Object



3
4
5
# File 'lib/active_repository/adapters/default_adapter.rb', line 3

def all(klass)
  klass.persistence_class.all
end

.create(klass, attributes) ⇒ Object



34
35
36
# File 'lib/active_repository/adapters/default_adapter.rb', line 34

def create(klass, attributes)
  object = klass.persistence_class.create(attributes)
end

.delete(klass, id) ⇒ Object



7
8
9
10
# File 'lib/active_repository/adapters/default_adapter.rb', line 7

def delete(klass, id)
  object = klass.persistence_class.where(id: id).first
  object.delete if object
end

.delete_all(klass) ⇒ Object



12
13
14
# File 'lib/active_repository/adapters/default_adapter.rb', line 12

def delete_all(klass)
  klass.persistence_class.delete_all
end

.exists?(klass, id) ⇒ Boolean

Returns:

  • (Boolean)


16
17
18
# File 'lib/active_repository/adapters/default_adapter.rb', line 16

def exists?(klass, id)
  klass.persistence_class.exists?(id)
end

.find(klass, id) ⇒ Object



20
21
22
23
24
# File 'lib/active_repository/adapters/default_adapter.rb', line 20

def find(klass, id)
  id = normalize_id(id) if id

  klass.persistence_class.find(id)
end

.first(klass) ⇒ Object



26
27
28
# File 'lib/active_repository/adapters/default_adapter.rb', line 26

def first(klass)
  klass.persistence_class.first
end

.last(klass) ⇒ Object



30
31
32
# File 'lib/active_repository/adapters/default_adapter.rb', line 30

def last(klass)
  klass.persistence_class.last
end

.update_attribute(klass, id, key, value) ⇒ Object



38
39
40
41
42
43
44
# File 'lib/active_repository/adapters/default_adapter.rb', line 38

def update_attribute(klass, id, key, value)
  object = id.nil? ? klass.persistence_class.new(key.to_sym => value) : klass.persistence_class.find(id)

  ret = object.update_attribute(key, value)

  [ret, object]
end

.update_attributes(klass, id, attributes) ⇒ Object



46
47
48
49
50
51
52
# File 'lib/active_repository/adapters/default_adapter.rb', line 46

def update_attributes(klass, id, attributes)
  object = id.nil? ? klass.persistence_class.new : klass.persistence_class.find(id)

  ret = object.update_attributes(attributes)

  [ret, object]
end

.where(klass, query) ⇒ Object



54
55
56
# File 'lib/active_repository/adapters/default_adapter.rb', line 54

def where(klass, query)
  klass.persistence_class.where(query.to_sql)
end