No description or website provided.
Switch branches/tags
Clone or download
shyouhei and hsbt Add uplevel keyword to Kernel#warn and use it
If uplevel keyword is given, the warning message is prepended
with caller file and line information and the string "warning: ".
The use of the uplevel keyword makes Kernel#warn format output
similar to how rb_warn formats output.

This patch modifies net/ftp and net/imap to use Kernel#warn
instead of $stderr.puts or $stderr.printf, since they are used
for printing warnings.

This makes lib/cgi/core and tempfile use $stderr.puts instead of
warn for debug logging, since they are used for debug printing
and not for warning.

This does not modify bundler, rubygems, or rdoc, as those are
maintained outside of ruby and probably wish to remain backwards
compatible with older ruby versions.

rb_warn_m code is originally from nobu, but I've changed it
so that it only includes the path and lineno from uplevel
(not the method), and also prepends the string "warning: ",
to make it more similar to rb_warn.

From: Jeremy Evans
Signed-off-by: Urabe Shyouhei

git-svn-id: svn+ssh:// b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Latest commit 0980b00 Dec 12, 2017


IPAddr provides a set of methods to manipulate an IP address. Both IPv4 and IPv6 are supported.


This library is part of the standard ruby distribution as default gem and synchronized periodically, but you can explicitly depend on this gem with version constraints as necessary, like when you need a newer version than comes with older versions of ruby.

For example, you can add this line to your application's Gemfile:

gem 'ipaddr', '~> 1.2'

And then execute:

$ bundle

Or install it yourself as:

$ gem install ipaddr


require 'ipaddr'

ipaddr1 = "3ffe:505:2::1"

p ipaddr1                   #=> #<IPAddr: IPv6:3ffe:0505:0002:0000:0000:0000:0000:0001/ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff>

p ipaddr1.to_s              #=> "3ffe:505:2::1"

ipaddr2 = ipaddr1.mask(48)  #=> #<IPAddr: IPv6:3ffe:0505:0002:0000:0000:0000:0000:0000/ffff:ffff:ffff:0000:0000:0000:0000:0000>

p ipaddr2.to_s              #=> "3ffe:505:2::"

ipaddr3 = ""

p ipaddr3                   #=> #<IPAddr: IPv4:>


The ipaddress gem is a popular, extensive library for manipulating IP addresses with a layer of compatibility with ipaddr. If you need a richer set of features than ipaddr has, try this library instead.


After checking out the repo, run bin/setup to install dependencies. Then, run rake test to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to


Bug reports and pull requests are welcome on GitHub at


The gem is available as open source under the terms of the 2-Clause BSD License.