mirror of
https://github.com/jimeh/redistat.git
synced 2026-02-19 13:26:39 +00:00
added grouping support to Redistat::Label
This commit is contained in:
@@ -5,6 +5,10 @@ module Redistat
|
||||
attr_reader :raw
|
||||
attr_reader :connection_ref
|
||||
|
||||
def self.create(name, options = {})
|
||||
self.new(name, options).save
|
||||
end
|
||||
|
||||
def initialize(str, options = {})
|
||||
@options = options
|
||||
@raw = str.to_s
|
||||
@@ -31,8 +35,18 @@ module Redistat
|
||||
@saved ||= false
|
||||
end
|
||||
|
||||
def self.create(name, options = {})
|
||||
self.new(name, options).save
|
||||
def groups
|
||||
return @groups if @groups
|
||||
@groups = []
|
||||
parent = ""
|
||||
@raw.split(GROUP_SEPARATOR).each do |part|
|
||||
if !part.blank?
|
||||
group = ((parent.blank?) ? "" : "#{parent}/") + part
|
||||
@groups << group
|
||||
parent = group
|
||||
end
|
||||
end
|
||||
@groups.reverse!
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
@@ -25,4 +25,17 @@ describe Redistat::Label do
|
||||
db.get("#{Redistat::KEY_LEBELS}#{label.hash}").should == name
|
||||
end
|
||||
|
||||
it "should separate label names into groups" do
|
||||
name = "message/public/offensive"
|
||||
label = Redistat::Label.new(name)
|
||||
label.name.should == name
|
||||
label.groups.should == [ "message/public/offensive",
|
||||
"message/public",
|
||||
"message" ]
|
||||
name = "message"
|
||||
label = Redistat::Label.new(name)
|
||||
label.name.should == name
|
||||
label.groups.should == [ "message" ]
|
||||
end
|
||||
|
||||
end
|
||||
Reference in New Issue
Block a user