Ruby: Tips & Tricks

Rapidly Compute the CIDR Range

Use IPAddr#to_range:

irb(main):001> require "ipaddr"
=> true
irb(main):002> IPAddr.new("192.168.128.0/19").to_range
=> #<IPAddr: IPv4:192.168.128.0/255.255.255.255>..#<IPAddr: IPv4:192.168.159.255/255.255.255.255>

To check whether an IP address belongs to the range:

irb(main):003> IPAddr.new("10.101.64.0/18") === "127.0.0.2"
=> false

Emacs 29.4 (Org mode 9.6.15)

Validate