# File lib/tree.rb, line 218 def delete!(cidr) removed = false # validate object if ( !cidr.kind_of?(NetAddr::CIDR) ) begin cidr = NetAddr::CIDR.create(cidr) rescue Exception => error raise ArgumentError, "Provided argument raised the following " + "errors: #{error}" end end # find matching me = find_me(cidr) # remove if (me) parent = me.tag[:Parent] children = me.tag[:Subnets] parent.tag[:Subnets].delete(me) children.each {|x| add_to_parent(x,parent)} removed = true end return(removed) end