Module: Bait::SimpleQuery

Included in:
Object
Defined in:
lib/bait/simple_query.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.extended(base) ⇒ Object



3
4
5
6
7
8
9
10
11
12
# File 'lib/bait/simple_query.rb', line 3

def self.extended(base)
  base.after_create do
    id_list = self.class.ids
    id_list << self.id
    self.class.ids = id_list
  end
  base.after_destroy do
    self.class.ids = self.class.ids.reject{|id| id == self.id}
  end
end

Instance Method Details

#allObject



26
27
28
# File 'lib/bait/simple_query.rb', line 26

def all
  ids.map{|id| self.read(id)}
end

#id_list_keyObject



14
15
16
# File 'lib/bait/simple_query.rb', line 14

def id_list_key
  "#{self.name.split('::').last.downcase}_ids"
end

#idsObject



18
19
20
# File 'lib/bait/simple_query.rb', line 18

def ids
  Bait.store.raw[id_list_key] ||= []
end

#ids=(new_ids) ⇒ Object



22
23
24
# File 'lib/bait/simple_query.rb', line 22

def ids=(new_ids)
  Bait.store.raw[id_list_key] = new_ids
end

#lastObject



30
31
32
# File 'lib/bait/simple_query.rb', line 30

def last
  self.read(self.ids.last)
end