Class: Chassis::BaseRepo

Inherits:
Object
  • Object
show all
Defined in:
lib/chassis/repo/base_repo.rb

Direct Known Subclasses

MaglevRepo, MemoryRepo

Instance Method Summary collapse

Instance Method Details

#all(klass) ⇒ Object



20
21
22
# File 'lib/chassis/repo/base_repo.rb', line 20

def all(klass)
  map.all klass
end

#clearObject



16
17
18
# File 'lib/chassis/repo/base_repo.rb', line 16

def clear
  map.clear
end

#count(klass) ⇒ Object



44
45
46
# File 'lib/chassis/repo/base_repo.rb', line 44

def count(klass)
  all(klass).count
end

#create(record) ⇒ Object



3
4
5
6
# File 'lib/chassis/repo/base_repo.rb', line 3

def create(record)
  record.id ||= next_id
  map.set record
end

#delete(record) ⇒ Object



12
13
14
# File 'lib/chassis/repo/base_repo.rb', line 12

def delete(record)
  map.delete record
end

#empty?(klass) ⇒ Boolean



40
41
42
# File 'lib/chassis/repo/base_repo.rb', line 40

def empty?(klass)
  all(klass).empty?
end

#find(klass, id) ⇒ Object



24
25
26
# File 'lib/chassis/repo/base_repo.rb', line 24

def find(klass, id)
  map.get klass, id
end

#first(klass) ⇒ Object



28
29
30
# File 'lib/chassis/repo/base_repo.rb', line 28

def first(klass)
  all(klass).first
end

#graph_query(klass, selector) ⇒ Object



56
57
58
59
60
61
62
# File 'lib/chassis/repo/base_repo.rb', line 56

def graph_query(klass, selector)
  if graph_query_implemented? klass, selector
    send graph_query_method(klass, selector), klass, selector
  else
    raise GraphQueryNotImplementedError, selector
  end
end

#initialize_storageObject



64
65
66
# File 'lib/chassis/repo/base_repo.rb', line 64

def initialize_storage

end

#last(klass) ⇒ Object



32
33
34
# File 'lib/chassis/repo/base_repo.rb', line 32

def last(klass)
  all(klass).last
end

#query(klass, selector) ⇒ Object



48
49
50
51
52
53
54
# File 'lib/chassis/repo/base_repo.rb', line 48

def query(klass, selector)
  if query_implemented? klass, selector
    send query_method(klass, selector), klass, selector
  else
    raise QueryNotImplementedError, selector
  end
end

#sample(klass) ⇒ Object



36
37
38
# File 'lib/chassis/repo/base_repo.rb', line 36

def sample(klass)
  all(klass).sample
end

#update(record) ⇒ Object



8
9
10
# File 'lib/chassis/repo/base_repo.rb', line 8

def update(record)
  map.set record
end