summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoreahlstrom <erik@negahok.se>2010-12-16 23:43:57 +0100
committereahlstrom <erik@negahok.se>2010-12-16 23:43:57 +0100
commit3e9d0f5103664bf509c6fd578a84ea9919b75fcb (patch)
treed6995edab2f644fe61a31a0ebcc75f16661c8b68
parent4ba10f58a8642ad9d4e421d5c23da1d2e2fb8af1 (diff)
downloadipaddress-3e9d0f5103664bf509c6fd578a84ea9919b75fcb.tar.gz
Removed another level of nested if's
-rw-r--r--lib/ipaddress/ipv4.rb16
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