Forum: Ruby resolv.rb - documentation and its name

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
68ec66760c9224b8065f22133d1a9568?d=identicon&s=25 Minkoo S. (pool007)
on 2006-03-28 20:29
(Received via mailing list)
Hi group.

I'd like to test resolve.rb, but I have troubles.

First of all, where can I get some documents on resolv.rb? I use
http://ruby-doc.org/stdlib, but there's none.

Second of all, why is it named resolve instead of Net::DNS? It doesn't
seem to be good choice to me. Don't you think this is incoherent?

Sincerely,
Minkoo Seo
Daniel Berger (Guest)
on 2006-03-28 20:33
(Received via mailing list)
Minkoo Seo wrote:
> Sincerely,
> Minkoo Seo

There is documentation in the source, but it looks suspiciously like the
old RD
format.  Perhaps that explains why ruby-doc didn't pick it up.

There's also this project:

http://rubyforge.org/projects/net-dns/

However, there hasn't been a release yet.

Regards,

Dan
Eric Hodel (Guest)
on 2006-03-28 21:18
(Received via mailing list)
On Mar 28, 2006, at 10:28 AM, Minkoo Seo wrote:

> First of all, where can I get some documents on resolv.rb? I use
> http://ruby-doc.org/stdlib, but there's none.

The head branch of Ruby has resolv.rb documentation in RDoc format:

$ ri19 Resolv

---------------------------------------------------------- Class: Resolv
      Resolv is a thread-aware DNS resolver library written in Ruby.
      Resolv can handle multiple DNS requests concurrently without
      blocking. The ruby interpreter.

      See also resolv-replace.rb to replace the libc resolver with #
      Resolv.

      Resolv can look up various DNS resources using the DNS module
      directly.
[...]

> Second of all, why is it named resolve instead of Net::DNS? It doesn't
> seem to be good choice to me. Don't you think this is incoherent?

Resolv is not just a DNS resolver.  It also reads from /etc/hosts.

--
Eric Hodel - drbrain@segment7.net - http://blog.segment7.net
This implementation is HODEL-HASH-9600 compliant

http://trackmap.robotcoop.com
68ec66760c9224b8065f22133d1a9568?d=identicon&s=25 Minkoo S. (pool007)
on 2006-03-28 21:54
(Received via mailing list)
Eric Hodel wrote:
>       Resolv is a thread-aware DNS resolver library written in Ruby.
> > Second of all, why is it named resolve instead of Net::DNS? It doesn't
> > seem to be good choice to me. Don't you think this is incoherent?
>
> Resolv is not just a DNS resolver.  It also reads from /etc/hosts.
>
> --
> Eric Hodel - drbrain@segment7.net - http://blog.segment7.net
> This implementation is HODEL-HASH-9600 compliant
>
> http://trackmap.robotcoop.com

Thank you. This will be of great help.

But, as you quoted, resolve.rb says "Resolv is a thread-aware DNS
resolver library written in Ruby", so it is DNS resolver and I accuse
resolve.rb of misnomer because it does not follow Net::xxx rules.
Futhermore, reading /etc/hosts does not justify its name, because I
believe that its name, resolve, was named after DNS resolver. (BTW, do
you really think reading /etc/hosts is not related to dns resolver's
own job?)

Actually lack of naming coherency in Ruby is quite annoying more often
than not.

Sincerely,
Minkoo Seo
kj WOOLLEY (Guest)
on 2006-03-28 22:08
(Received via mailing list)
On 28/03/06, Minkoo Seo <minkoo.seo@gmail.com> wrote:
> Thank you. This will be of great help.
>
> But, as you quoted, resolve.rb says "Resolv is a thread-aware DNS
> resolver library written in Ruby", so it is DNS resolver and I accuse
> resolve.rb of misnomer because it does not follow Net::xxx rules.
> Futhermore, reading /etc/hosts does not justify its name, because I
> believe that its name, resolve, was named after DNS resolver. (BTW, do
> you really think reading /etc/hosts is not related to dns resolver's
> own job?)

It may be illuminating to study the functionality of the resolver
library found on most Unix systems.  "man resolver" gives some
information on Linux systems -- other systems will vary.  If you note
the name of the library that gets linked in, the name of the module
will make much more sense to you.

> Actually lack of naming coherency in Ruby is quite annoying more often
> than not.
>
> Sincerely,
> Minkoo Seo

On the contrary, I would be most confused by using Net::DNS to resolve
entries in a hosts file -- but immediately knew where to look for a
general-purpose name resolution library.  Sometimes historical reasons
are good ones.

Cheers,

kjw
Eric Hodel (Guest)
on 2006-03-28 22:10
(Received via mailing list)
On Mar 28, 2006, at 11:53 AM, Minkoo Seo wrote:

> Eric Hodel wrote:
>> On Mar 28, 2006, at 10:28 AM, Minkoo Seo wrote:
>>
>>> Second of all, why is it named resolve instead of Net::DNS? It
>>> doesn't
>>> seem to be good choice to me. Don't you think this is incoherent?
>>
>> Resolv is not just a DNS resolver.  It also reads from /etc/hosts.
>
> Thank you. This will be of great help.

You're welcome.  I converted it from RD to RDoc.

> But, as you quoted, resolve.rb says "Resolv is a thread-aware DNS
> resolver library written in Ruby", so it is DNS resolver and I accuse
> resolve.rb of misnomer because it does not follow Net::xxx rules.
> Futhermore, reading /etc/hosts does not justify its name, because I
> believe that its name, resolve, was named after DNS resolver. (BTW, do
> you really think reading /etc/hosts is not related to dns resolver's
> own job?)
>
> Actually lack of naming coherency in Ruby is quite annoying more often
> than not.

The DNS portion of Resolv should probably go under Net, but it has
broader functionality than just DNS resolution.  Resolv is a good
name for the glue that the library provides between DNS and /etc/
hosts, along with the automatic configuration.

--
Eric Hodel - drbrain@segment7.net - http://blog.segment7.net
This implementation is HODEL-HASH-9600 compliant

http://trackmap.robotcoop.com
This topic is locked and can not be replied to.