Sha256: 83ab0ac71e3c705f1ac1707e6c63b1767fb09899710c6b4891ab7751d6e192ab
Contents?: true
Size: 909 Bytes
Versions: 1
Compression:
Stored size: 909 Bytes
Contents
# -*- coding: utf-8 -*- module Redisable module KVSKey def self.included(base) base.extend ClassMethods end module ClassMethods # return model_name:id:field_name def kvs_key(name, options={}) klass_name ||= self.name define_method(name) do |id_=nil| id_ ||= if options[:id] options[:id].call(self) else self.id end KVSKey.join_key(klass_name, id_, name, options[:blank_field]) end define_singleton_method(name) do |id_=nil| id_ ||= opts[:id].call(self) KVSKey.join_key(klass_name, id_, name, options[:blank_field]) end end end def self.join_key(klass_name, id, name, is_blank_field) k = "#{klass_name}" k << ":#{id}" if id k << ":#{name}" unless is_blank_field k end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
redisable-0.0.1 | lib/redisable/kvs_key.rb |