module Redis::Helper::ClassMethods
クラスメソッド
Public Instance Methods
define_attr_keys(*names, unique_attr: nil)
click to toggle source
固定キーメソッドを作成する @param [Array<String|Symbol>] names キー名 @param [String|Symbol] unique_attr インスタンスの固有キーとして使用するメソッド名
# File lib/redis/helper.rb, line 62 def define_attr_keys(*names, unique_attr: nil) names.each do |name| define_method(:"#{name}_key") do attr_key(name, unique_attr) end end end
generate_key(unique_key, attr_name = nil)
click to toggle source
インスタンス固有キーから#attr_key/#instance_keyが返すキーを生成する @param [String|Integer] unique_key インスタンス固有のキー @param [String|Symbol] attr_name attr_key生成時に利用するキー名 @return [String]
# File lib/redis/helper.rb, line 82 def generate_key(unique_key, attr_name = nil) [name, unique_key, attr_name].compact.join(REDIS_KEY_DELIMITER) end
lock(base_key, &block)
click to toggle source
特定のkeyをbaseにしたロックをかけてブロック内の処理を実行 @param [String] base_key ロックを取得するリソースのkey @yield ロック中に実行する処理のブロック
# File lib/redis/helper.rb, line 73 def lock(base_key, &block) lock_key = [base_key, LOCK_POSTFIX].compact.join(REDIS_KEY_DELIMITER) ::Redis::Helper::Lock.new(redis, lock_key).lock(&block) end
redis()
click to toggle source
Redis.currentへのショートカット
# File lib/redis/helper.rb, line 51 def redis @redis ||= ::Redis.current end
redis=(conn)
click to toggle source
# File lib/redis/helper.rb, line 55 def redis=(conn) @redis = conn end