diff options
author | eahlstrom <erik@negahok.se> | 2010-12-16 23:43:57 +0100 |
---|---|---|
committer | eahlstrom <erik@negahok.se> | 2010-12-16 23:43:57 +0100 |
commit | 3e9d0f5103664bf509c6fd578a84ea9919b75fcb (patch) | |
tree | d6995edab2f644fe61a31a0ebcc75f16661c8b68 | |
parent | 4ba10f58a8642ad9d4e421d5c23da1d2e2fb8af1 (diff) | |
download | ipaddress-3e9d0f5103664bf509c6fd578a84ea9919b75fcb.tar.gz |
Removed another level of nested if's
-rw-r--r-- | lib/ipaddress/ipv4.rb | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/lib/ipaddress/ipv4.rb b/lib/ipaddress/ipv4.rb index 1ade6f2..bdfba97 100644 --- a/lib/ipaddress/ipv4.rb +++ b/lib/ipaddress/ipv4.rb @@ -950,17 +950,15 @@ module IPAddress; end def aggregate(ip1,ip2) - if ip1.include? ip2 - return [ip1] + return [ip1] if ip1.include? ip2 + + snet = ip1.supernet(ip1.prefix-1) + if snet.include_all?(ip1, ip2) && ((ip1.size + ip2.size) == snet.size) + return [snet] else - snet = ip1.supernet(ip1.prefix-1) - if snet.include_all?(ip1, ip2) && ((ip1.size + ip2.size) == snet.size) - return [snet] - else - return [ip1, ip2] - end + return [ip1, ip2] end - end + end end # class IPv4 end # module IPAddress |