From: bluemonk on
Hi,

I've released IPAddress 0.5.0, first release to be public available.

http://github.com/bluemonk/ipaddress

IPAddress is an IPv4 and IPv6 addresses manipulation library, designed
to be easy to use. It is probably the most complete and powerful IP
manipulation library available today.

Some key features:

* support for IPv4, IPv6 and IPv4-IPv6 mapped addresses;
* easy handling of networks, broadcasts, prefixes;
* classless and classful (legacy) implementation;
* full set of conversion methods (bit strings, hex, unsigned
integers);
* network design features: subnetting, summarization, supernetting;
* comprehensive documentation;

IPAddress is already available as a gem on rubygems.org:

http://rubygems.org/gems/ipaddress

Migration from IPAddr should be seamlessly and pretty straightforward.
We'll soon write a tutorial on how to perform such migration.

Regards,
Marco

From: botp on
On Mon, May 24, 2010 at 6:03 PM, bluemonk <ceresa(a)gmail.com> wrote:
> I've released IPAddress 0.5.0, first release to be public available.
> http://github.com/bluemonk/ipaddress

heheh, very nice net tool gem.
thanks -botp

From: Jeremy Hinegardner on
On Mon, May 24, 2010 at 07:03:55PM +0900, bluemonk wrote:
> Hi,
>
> I've released IPAddress 0.5.0, first release to be public available.
>
> http://github.com/bluemonk/ipaddress
>
> IPAddress is an IPv4 and IPv6 addresses manipulation library, designed
> to be easy to use. It is probably the most complete and powerful IP
> manipulation library available today.
>
> Some key features:
>
> * support for IPv4, IPv6 and IPv4-IPv6 mapped addresses;
> * easy handling of networks, broadcasts, prefixes;
> * classless and classful (legacy) implementation;
> * full set of conversion methods (bit strings, hex, unsigned
> integers);
> * network design features: subnetting, summarization, supernetting;
> * comprehensive documentation;
>
> IPAddress is already available as a gem on rubygems.org:
>
> http://rubygems.org/gems/ipaddress
>
> Migration from IPAddr should be seamlessly and pretty straightforward.
> We'll soon write a tutorial on how to perform such migration.
>

Agreed, this is a very nice addition, thank you.

-jeremy

--
========================================================================
Jeremy Hinegardner jeremy(a)hinegardner.org


From: Brian Candler on
bluemonk wrote:
> IPAddress is an IPv4 and IPv6 addresses manipulation library, designed
> to be easy to use. It is probably the most complete and powerful IP
> manipulation library available today.

Looks like you've done a good job.

BTW, a little while ago I released a small library,
http://github.com/deploy2/ruby-ip
and it seems we've had some similar ideas (such as separate subclasses
for v4 and v6). I meant to add things like IP#each but never got around
to it :-)

Regards,

Brian.
--
Posted via http://www.ruby-forum.com/.

From: Aaron D. Gifford on
Without having looked at your library, does it support IP ranges (i.e.
blocks of IP addresses that are contiguous but do not necessarily
exactly match a subnet boundary)? Perhaps as a separate class?

Can one do this?

ip = IPAddress.new("10.0.0.1") ## No prefix specified... will it
assume /32 IPv4 host prefix?

Also, are there methods to determine if a network (or range, if
supported) contains another IP, network, or range? Something like:

ip = IPAddress.new("10.0.0.1/32")
net = IPAddress.new("10.0.0.0/24")
puts "IP is contained by network" if net.contains?(ip) || ip.is_in?(net)

Wondering,
Aaron out.