On Fri, 21 Apr 2006, A LeDonne wrote:
irb(main):007:2> return @addr <=> other.to_i
IPv4:192.168.1.3/255.255.255.255>, #<IPAddr:
IPv4:192.168.1.4/255.255.255.255>, #<IPAddr:
IPv4:192.168.1.5/255.255.255.255>]
Maybe that should be added to ipaddr.rb…
ipadmin seems to do this now:
harp:~ > cat a.rb
require 'rubygems'
require_gem 'ipadmin'
class String
def to_cidr
IPAdmin::CIDR.new :CIDR => self
end
end
class Array
def to_cidr
map{|elem| elem.to_s.to_cidr}
end
end
list = IPAdmin.range :Boundaries => %w( 192.168.0.0 192.168.0.255
).to_cidr
p list
harp:~ > ruby a.rb
[“192.168.0.1”, “192.168.0.2”, “192.168.0.3”, “192.168.0.4”,
“192.168.0.5”, “192.168.0.6”, “192.168.0.7”, “192.168.0.8”,
“192.168.0.9”, “192.168.0.10”, “192.168.0.11”, “192.168.0.12”,
“192.168.0.13”, “192.168.0.14”, “192.168.0.15”, “192.168.0.16”,
“192.168.0.17”, “192.168.0.18”, “192.168.0.19”, “192.168.0.20”,
“192.168.0.21”, “192.168.0.22”, “192.168.0.23”, “192.168.0.24”,
“192.168.0.25”, “192.168.0.26”, “192.168.0.27”, “192.168.0.28”,
“192.168.0.29”, “192.168.0.30”, “192.168.0.31”, “192.168.0.32”,
“192.168.0.33”, “192.168.0.34”, “192.168.0.35”, “192.168.0.36”,
“192.168.0.37”, “192.168.0.38”, “192.168.0.39”, “192.168.0.40”,
“192.168.0.41”, “192.168.0.42”, “192.168.0.43”, “192.168.0.44”,
“192.168.0.45”, “192.168.0.46”, “192.168.0.47”, “192.168.0.48”,
“192.168.0.49”, “192.168.0.50”, “192.168.0.51”, “192.168.0.52”,
“192.168.0.53”, “192.168.0.54”, “192.168.0.55”, “192.168.0.56”,
“192.168.0.57”, “192.168.0.58”, “192.168.0.59”, “192.168.0.60”,
“192.168.0.61”, “192.168.0.62”, “192.168.0.63”, “192.168.0.64”,
“192.168.0.65”, “192.168.0.66”, “192.168.0.67”, “192.168.0.68”,
“192.168.0.69”, “192.168.0.70”, “192.168.0.71”, “192.168.0.72”,
“192.168.0.73”, “192.168.0.74”, “192.168.0.75”, “192.168.0.76”,
“192.168.0.77”, “192.168.0.78”, “192.168.0.79”, “192.168.0.80”,
“192.168.0.81”, “192.168.0.82”, “192.168.0.83”, “192.168.0.84”,
“192.168.0.85”, “192.168.0.86”, “192.168.0.87”, “192.168.0.88”,
“192.168.0.89”, “192.168.0.90”, “192.168.0.91”, “192.168.0.92”,
“192.168.0.93”, “192.168.0.94”, “192.168.0.95”, “192.168.0.96”,
“192.168.0.97”, “192.168.0.98”, “192.168.0.99”, “192.168.0.100”,
“192.168.0.101”, “192.168.0.102”, “192.168.0.103”, “192.168.0.104”,
“192.168.0.105”, “192.168.0.106”, “192.168.0.107”, “192.168.0.108”,
“192.168.0.109”, “192.168.0.110”, “192.168.0.111”, “192.168.0.112”,
“192.168.0.113”, “192.168.0.114”, “192.168.0.115”, “192.168.0.116”,
“192.168.0.117”, “192.168.0.118”, “192.168.0.119”, “192.168.0.120”,
“192.168.0.121”, “192.168.0.122”, “192.168.0.123”, “192.168.0.124”,
“192.168.0.125”, “192.168.0.126”, “192.168.0.127”, “192.168.0.128”,
“192.168.0.129”, “192.168.0.130”, “192.168.0.131”, “192.168.0.132”,
“192.168.0.133”, “192.168.0.134”, “192.168.0.135”, “192.168.0.136”,
“192.168.0.137”, “192.168.0.138”, “192.168.0.139”, “192.168.0.140”,
“192.168.0.141”, “192.168.0.142”, “192.168.0.143”, “192.168.0.144”,
“192.168.0.145”, “192.168.0.146”, “192.168.0.147”, “192.168.0.148”,
“192.168.0.149”, “192.168.0.150”, “192.168.0.151”, “192.168.0.152”,
“192.168.0.153”, “192.168.0.154”, “192.168.0.155”, “192.168.0.156”,
“192.168.0.157”, “192.168.0.158”, “192.168.0.159”, “192.168.0.160”,
“192.168.0.161”, “192.168.0.162”, “192.168.0.163”, “192.168.0.164”,
“192.168.0.165”, “192.168.0.166”, “192.168.0.167”, “192.168.0.168”,
“192.168.0.169”, “192.168.0.170”, “192.168.0.171”, “192.168.0.172”,
“192.168.0.173”, “192.168.0.174”, “192.168.0.175”, “192.168.0.176”,
“192.168.0.177”, “192.168.0.178”, “192.168.0.179”, “192.168.0.180”,
“192.168.0.181”, “192.168.0.182”, “192.168.0.183”, “192.168.0.184”,
“192.168.0.185”, “192.168.0.186”, “192.168.0.187”, “192.168.0.188”,
“192.168.0.189”, “192.168.0.190”, “192.168.0.191”, “192.168.0.192”,
“192.168.0.193”, “192.168.0.194”, “192.168.0.195”, “192.168.0.196”,
“192.168.0.197”, “192.168.0.198”, “192.168.0.199”, “192.168.0.200”,
“192.168.0.201”, “192.168.0.202”, “192.168.0.203”, “192.168.0.204”,
“192.168.0.205”, “192.168.0.206”, “192.168.0.207”, “192.168.0.208”,
“192.168.0.209”, “192.168.0.210”, “192.168.0.211”, “192.168.0.212”,
“192.168.0.213”, “192.168.0.214”, “192.168.0.215”, “192.168.0.216”,
“192.168.0.217”, “192.168.0.218”, “192.168.0.219”, “192.168.0.220”,
“192.168.0.221”, “192.168.0.222”, “192.168.0.223”, “192.168.0.224”,
“192.168.0.225”, “192.168.0.226”, “192.168.0.227”, “192.168.0.228”,
“192.168.0.229”, “192.168.0.230”, “192.168.0.231”, “192.168.0.232”,
“192.168.0.233”, “192.168.0.234”, “192.168.0.235”, “192.168.0.236”,
“192.168.0.237”, “192.168.0.238”, “192.168.0.239”, “192.168.0.240”,
“192.168.0.241”, “192.168.0.242”, “192.168.0.243”, “192.168.0.244”,
“192.168.0.245”, “192.168.0.246”, “192.168.0.247”, “192.168.0.248”,
“192.168.0.249”, “192.168.0.250”, “192.168.0.251”, “192.168.0.252”,
“192.168.0.253”, “192.168.0.254”]
fyi.
-a