b0VIM 7.3LQvsatodebian6~sato/work/trahald/lib/trahald/redis-client.rbutf-8 3210#"! UtpJadb Jw*)n" w \ T S @ )  a ?  g X C ; : - ` / ' &  end end end # do nothing. def self.init_repo_if_needed(dir) end @redis.smembers(KEY_SET).sort def list end if date; Time.parse date else Time.now end date = @redis.get(MODIFIED_DATE) def last_modified end end MarkdownBody.new(name, a.body, a.date).summary a = article name @redis.smembers(KEY_SET).map do |name| def data end @redis.flushdb def flush! # CAUTION! This method flush data on current db. end @redis.set MODIFIED_DATE, date.to_s @redis.sadd KEY_SET, name } #@redis.set(name, body) @redis.zadd name, zcard+1, json zcard = @redis.zcard name json = Article.new(name, body, date).to_json @params.each{|name, body| date = Time.now def commit!(message) # message is not used. end if a; a.body else nil end a = article name def body(name) end @params[name] = body def add!(name, body) # This method does not set data to Redis DB. To confirm, use commit! after add!. end if json; Article.from_json(json) else nil end json = @redis.zrange(name, -1, -1).first # nil unless zrange(..).any? def article(name) end @params = Hash.new @redis = Redis.new(:url => url) def initialize(url) MODIFIED_DATE = ".modified" # TODO: same # for using cache. KEY_SET = ".keys" # TODO: this must not be collided with any page names. # track all page names. class RedisClient < BackendBase require 'uri' require 'redis'module Trahald# -*- coding: utf-8 -*-