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.
47b36de21d7ecbc824c81d24802a6290?d=identicon&s=25 Minkoo Seo (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
F3b7b8756d0c7f71cc7460cc33aefaee?d=identicon&s=25 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
58479f76374a3ba3c69b9804163f39f4?d=identicon&s=25 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
47b36de21d7ecbc824c81d24802a6290?d=identicon&s=25 Minkoo Seo (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
7d2b5009cb461bab0fad0ff707b9b034?d=identicon&s=25 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
58479f76374a3ba3c69b9804163f39f4?d=identicon&s=25 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.