module Moxie::Finders

Public Instance Methods

all() click to toggle source
# File lib/moxie/finders.rb, line 12
def all
  ids.map { |id| find(id) }
end
find(*args) click to toggle source
# File lib/moxie/finders.rb, line 16
def find(*args)
  if args.first.is_a? Array
    find_multiple(*args)
  else
    find_one(args.first)
  end
end
find_multiple(ids) click to toggle source
# File lib/moxie/finders.rb, line 30
def find_multiple(ids)
  ids.map { |id| find_one(id) }
end
find_one(id) click to toggle source
# File lib/moxie/finders.rb, line 24
def find_one(id)
  hash = Store.object("#{key}:#{id}").to_hash
  raise NotFound, "Could not find #{self.name.split(":").last.downcase} '#{id}'" if hash.empty?
  new(hash)
end
ids() click to toggle source
# File lib/moxie/finders.rb, line 8
def ids
  Store.set("#{key}s").to_a
end
key(k=nil) click to toggle source
# File lib/moxie/finders.rb, line 3
def key(k=nil)
  @key = k unless k.nil?
  return @key
end