Sha256: d547e439040e5202279fa3a672e0ae079d4c612cd40eb5414a220d649829f1a3

Contents?: true

Size: 1.22 KB

Versions: 1

Compression:

Stored size: 1.22 KB

Contents

class MockRedis
  module HashMethods
    def hset(key, hkey, val)
      case h = self.hash[key]
      when nil then self.hash[key] = {hkey => val.to_s}
      when Hash then h[hkey] = val.to_s
      else fail "Not a hash"
      end
    end

    def hget(key, hkey)
      case h = self.hash[key]
      when nil then nil
      when Hash then h[hkey]
      else fail "Not a hash"
      end
    end

    def hincrby(key, hkey, val)
      case h = self.hash[key]
      when nil then self.hash[key] = {hkey => val.to_s}
      when Hash then h[hkey] = (h[hkey].to_i + val).to_s
      else fail "Not a hash"
      end
    end

    def hgetall(key)
      case h = self.hash[key]
      when nil then {}
      when Hash then h
      else fail "Not a hash"
      end
    end

    def hkeys(key)
      case h = self.hash[key]
      when nil then []
      when Hash then h.keys
      else fail "Not a hash"
      end
    end

    def hvals(key)
      case h = self.hash[key]
      when nil then []
      when Hash then h.values
      else fail "Not a hash"
      end
    end

    def hlen(key)
      case h = self.hash[key]
      when nil then 0
      when Hash then h.keys.count
      else fail "Not a hash"
      end
    end
  end

  include HashMethods
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
modesty-0.1.0 vendor/mock_redis/lib/mock_redis/hash.rb