module RelationalRedisMapper
Constants
- VERSION
Attributes
id[RW]
persisted[RW]
Public Class Methods
included(base)
click to toggle source
# File lib/relational_redis_mapper.rb, line 19 def self.included(base) base.extend ClassMethods end
Public Instance Methods
changed?()
click to toggle source
# File lib/relational_redis_mapper.rb, line 48 def changed? persisted_version && persisted_version != self end
delete()
click to toggle source
# File lib/relational_redis_mapper.rb, line 44 def delete remove_indices; delete_object end
persisted_version()
click to toggle source
# File lib/relational_redis_mapper.rb, line 52 def persisted_version klass.find(id) end
save()
click to toggle source
# File lib/relational_redis_mapper.rb, line 35 def save persisted_version.delete if changed? if validate save_object; save_indices return self end nil end
validate()
click to toggle source
# File lib/relational_redis_mapper.rb, line 29 def validate uniqueness_attr.none? do |attr| redis.get_uniq_index key_gen.uniqueness_key(attr, send(attr)) end || raise(ValidationError) end
Private Instance Methods
delete_object()
click to toggle source
# File lib/relational_redis_mapper.rb, line 62 def delete_object redis.delete_object class_key, id end
remove_indices()
click to toggle source
# File lib/relational_redis_mapper.rb, line 71 def remove_indices query_keys.all?{|attr| redis.rm_search_index key_gen.query_key(attr, send(attr)), id } && uniqueness_attr.all? { |attr| redis.rm_uniq_index key_gen.uniqueness_key(attr, send(attr)) } end
save_indices()
click to toggle source
# File lib/relational_redis_mapper.rb, line 66 def save_indices query_keys.all?{|attr| redis.add_query_index key_gen.query_key(attr, send(attr)), id } && uniqueness_attr.all?{|attr| redis.add_uniq_index key_gen.uniqueness_key(attr, send(attr)), id } end
save_object()
click to toggle source
# File lib/relational_redis_mapper.rb, line 58 def save_object redis.save_object class_key, id, self end