Module: Hari::Entity::Repository::ClassMethods

Defined in:
lib/hari/entity/repository.rb

Instance Method Summary collapse

Instance Method Details

#create(attrs = {}) ⇒ Object



57
58
59
# File 'lib/hari/entity/repository.rb', line 57

def create(attrs = {})
  new(attrs).save
end

#find(*args) ⇒ Object



61
62
63
64
65
66
67
68
# File 'lib/hari/entity/repository.rb', line 61

def find(*args)
  options = args.extract_options!
  args.flatten!
  return if args.empty?

  args = args.map { |a| a.to_s.gsub(/^hari\:/, '') }
  args.one? ? find_one(args[0], options) : find_many(args, options)
end

#find_many(ids, options = {}) ⇒ Object



74
75
76
77
78
# File 'lib/hari/entity/repository.rb', line 74

def find_many(ids, options = {})
  return [] if ids.empty?

  Hari.redis.mget(ids).map &method(:from_json)
end

#find_one(id, options = {}) ⇒ Object



70
71
72
# File 'lib/hari/entity/repository.rb', line 70

def find_one(id, options = {})
  from_json Hari.redis.get(id)
end