Method: Dnsruby::RRSet#privateAdd

Defined in:
lib/Dnsruby/resource/resource.rb

#privateAdd(r) ⇒ Object

:nodoc:



50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# File 'lib/Dnsruby/resource/resource.rb', line 50

def privateAdd(r) #:nodoc:
  if @rrs.include?r
    return true
  end      
  new_pos = @rrs.length - @num_sigs
  if ((@num_sigs == @rrs.length)  && @num_sigs > 0) # if we added RRSIG first
    if (((r.type != @rrs.last.type_covered) && (r.type != Types.RRSIG))||
          ((r.type == Types.RRSIG) && (r.type_covered != @rrs.last.type_covered)))
      return false
    end
  end
  if (r.type == Types::RRSIG)
    new_pos = @rrs.length
    @num_sigs += 1
  end
  @rrs.insert(new_pos, r)
  return true
end