From 89a5d6fdbbbfeba1608152342006eaaf26a5371b Mon Sep 17 00:00:00 2001 From: soh_cah_toa Date: Wed, 5 Jun 2013 18:20:48 -0400 Subject: [PATCH] Modified #remove_rule to return a boolean value. This is will soon allow the DELETE handler to indicate success or failure. --- extensions/dns/dns.rb | 3 +++ extensions/dns/ruby/rubydns.rb | 11 ++++------- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/extensions/dns/dns.rb b/extensions/dns/dns.rb index b64b86190..7304d8621 100644 --- a/extensions/dns/dns.rb +++ b/extensions/dns/dns.rb @@ -79,6 +79,9 @@ module Dns # Removes the given DNS rule. Any future queries for it will be passed through. # # @param id [Integer] id returned from {#add_rule} + # + # @return [Boolean] true on success, false on failure + # # @see #add_rule def remove_rule(id) @lock.synchronize do diff --git a/extensions/dns/ruby/rubydns.rb b/extensions/dns/ruby/rubydns.rb index 5c98dc785..924bbd0ae 100644 --- a/extensions/dns/ruby/rubydns.rb +++ b/extensions/dns/ruby/rubydns.rb @@ -44,7 +44,6 @@ module RubyDNS class Rule - # XXX Can this be removed? attr_accessor :id # Now uses an 'id' parameter to uniquely identify rules @@ -109,15 +108,13 @@ module RubyDNS id end - # New method that removes a rule given its id + # New method that removes a rule given its id and returns boolean result def remove_rule(id) @rules.delete_if { |rule| rule.id == id } - begin - BeEF::Core::Models::Dns::Rule.get!(id).destroy - rescue DataMapper::ObjectNotFoundError => e - @logger.error(e.message) - end + rule = BeEF::Core::Models::Dns::Rule.get(id) + + rule != nil ? rule.destroy : false end # New method that loads all rules from the database at server startup