Class: Chassis::BaseRepo
- Inherits:
-
Object
- Object
- Chassis::BaseRepo
- Defined in:
- lib/chassis/repo/base_repo.rb
Direct Known Subclasses
Instance Method Summary collapse
- #all(klass) ⇒ Object
- #clear ⇒ Object
- #count(klass) ⇒ Object
- #create(record) ⇒ Object
- #delete(record) ⇒ Object
- #empty?(klass) ⇒ Boolean
- #find(klass, id) ⇒ Object
- #first(klass) ⇒ Object
- #graph_query(klass, selector) ⇒ Object
- #initialize_storage ⇒ Object
- #last(klass) ⇒ Object
- #query(klass, selector) ⇒ Object
- #sample(klass) ⇒ Object
- #update(record) ⇒ Object
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 |
#clear ⇒ Object
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_storage ⇒ Object
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 |