def update_state(name, status, services, tags)
old_services = @redis.smembers("s-#{name}")
if old_services
(old_services - services).each do |s|
@redis.srem(s, name)
@redis.srem("naniteservices", s)
end
end
old_tags = @redis.smembers("tg-#{name}")
if old_tags
(old_tags - tags).each do |t|
@redis.srem(t, name)
@redis.srem("nanitetags", t)
end
end
@redis.del("s-#{name}")
services.each do |srv|
@redis.sadd(srv, name)
@redis.sadd("s-#{name}", srv)
@redis.sadd("naniteservices", srv)
end
@redis.del("tg-#{name}")
tags.each do |tag|
next if tag.nil?
@redis.sadd(tag, name)
@redis.sadd("tg-#{name}", tag)
@redis.sadd("nanitetags", tag)
end
update_status(name, status)
end