module RedisUIHelpers
Public Instance Methods
build_namespace_tree(keys)
click to toggle source
# File lib/redis-ui/helpers.rb, line 68 def build_namespace_tree(keys) @namespace_tree = {} namespaces = keys.map{|k| k.split(':')[0..-2]}.uniq.sort_by(&:size) namespaces.each do |array| hash = array.reverse.inject({}) do |branch, string| newtrunk = {} newtrunk[string] = branch newtrunk end @namespace_tree.deep_merge!(hash) end end
current_ns()
click to toggle source
# File lib/redis-ui/helpers.rb, line 12 def current_ns @current_ns ||= '' end
get_key(key, redis=self.redis)
click to toggle source
# File lib/redis-ui/helpers.rb, line 16 def get_key(key, redis=self.redis) data = case redis.type(key) when "string" redis[key] when "list" redis.lrange(key, 0, -1) when "set" redis.smembers(key) when 'zset' redis.zrange(key, 0, -1) when 'hash' redis.hgetall(key) else '???' end {:key => key, :type => redis.type(key), :data => data} end
partial(template,locals=nil)
click to toggle source
# File lib/redis-ui/helpers.rb, line 6 def partial(template,locals=nil) locals = (locals.is_a?(Hash)) ? locals : {template.to_sym => locals} template = ('_' + template.to_s).to_sym erb template, {layout: false}, locals end
redis()
click to toggle source
# File lib/redis-ui/helpers.rb, line 2 def redis RedisUI.redis end
render_tree(val)
click to toggle source
# File lib/redis-ui/helpers.rb, line 60 def render_tree(val) str = "<ul>" val.each do |k, v| str << "<li><a href='#'>#{k}</a>#{render_tree(v)}</li>" end str << '</ul>' end
show(val)
click to toggle source
# File lib/redis-ui/helpers.rb, line 35 def show(val) case val when String val when Array if val.empty? '[]' else str = "<ul><li> · " str << val.map{|v|show(v)}.join('</li><li> · ') str << '</li></ul>' end when Hash str = "<ul><li> · " arr = [] val.map do |k, v| arr << "#{k} => #{show(v)}" end str << arr.join("</li><li> · ") str << '</li></ul>' else val.to_s end end