module RedisOrm::Associations::HasManyHelper

Private Instance Methods

save_index_for_associated_record(index, record, inception) click to toggle source
   # File lib/redis_orm/associations/has_many_helper.rb
 5 def save_index_for_associated_record(index, record, inception)
 6   prepared_index = if index[:name].is_a?(Array) # TODO sort alphabetically
 7     index[:name].inject(inception) do |sum, index_part|
 8       sum += [index_part, record.send(index_part.to_sym)]
 9     end.join(':')
10   else
11     inception += [index[:name], record.send(index[:name].to_sym)]
12     inception.join(':')
13   end
14 
15   prepared_index.downcase! if index[:options][:case_insensitive]
16 
17   if index[:options][:unique]
18     $redis.set(prepared_index, record.id)
19   else
20     $redis.zadd(prepared_index, Time.now.to_f, record.id)
21   end
22 end