Files
redistat/lib/redistat/label.rb
2010-11-22 13:28:19 +00:00

34 lines
595 B
Ruby

module Redistat
class Label
include Database
attr_reader :raw
def initialize(str, options = {})
@options = options
@raw = str.to_s
end
def name
@options[:hashed_label] ? hash : @raw
end
def hash
@hash ||= Digest::SHA1.hexdigest(@raw)
end
def save
@saved = (db.set("#{KEY_LEBELS}#{hash}", @raw) == "OK") if @options[:hashed_label]
self
end
def saved?
@saved ||= false
end
def self.create(name, options = {})
self.new(name, options).save
end
end
end