Forum: Ruby Why does drb.rb depend on its filename?

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.
A63764f318f10379c8b51349b757cf4b?d=identicon&s=25 Jay Levitt (Guest)
on 2006-02-19 01:54
(Received via mailing list)
I was creating my first DRb server, and ran into a trouble with ACLs.  I
wanted to put a debug statement into DRb::Accept, so I copied it to my
directory, renamed it jrb.rb, and required it with the new name.  But
when
I did that, I got an error at launch:

....jrb.rb:1047: undefined method `to_s' for class `DRb::DRbObject'
(NameError)

And the same error happened when I left jrb.rb in
/usr/local/lib/ruby/1.8.
So it's not the path - it's the filename.

What's going on?  It works fine when run as drb.rb.

Jay Levitt
58479f76374a3ba3c69b9804163f39f4?d=identicon&s=25 Eric Hodel (Guest)
on 2006-02-19 02:15
(Received via mailing list)
On Feb 18, 2006, at 4:53 PM, Jay Levitt wrote:

> And the same error happened when I left jrb.rb in /usr/local/lib/
> ruby/1.8.
> So it's not the path - it's the filename.
>
> What's going on?  It works fine when run as drb.rb.

It would be easier to tell you with an example.

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

http://trackmap.robotcoop.com
A63764f318f10379c8b51349b757cf4b?d=identicon&s=25 Jay Levitt (Guest)
on 2006-02-19 14:10
(Received via mailing list)
On Sun, 19 Feb 2006 10:13:44 +0900, Eric Hodel wrote:

>> What's going on?  It works fine when run as drb.rb.
>
> It would be easier to tell you with an example.

$ cp /usr/local/lib/ruby/1.8/drb/drb.rb jrb.rb
$ cat > test.rb

#!/usr/local/bin/ruby

require "jrb"

def main
  DRb.start_service("druby://localhost:8000", IceDrb.new())
  DRb.thread.join
end

class IceDrb
  def message
    puts "message!"
  end
end

main
58479f76374a3ba3c69b9804163f39f4?d=identicon&s=25 Eric Hodel (Guest)
on 2006-02-19 22:56
(Received via mailing list)
On Feb 19, 2006, at 5:08 AM, Jay Levitt wrote:

>
> require "jrb"

drb is more than one file so you need to fix your requires.

$ ruby test.rb
./jrb.rb:1059: undefined method `to_s' for class
`DRb::DRbObject' (NameError)
         from test.rb:3
$ cat -n jrb.rb | grep 1059
   1059      undef :to_s
$ grep require jrb.rb
require 'socket'
require 'thread'
require 'fcntl'
require 'drb/eq'
[...]
$ grep require /usr/local/lib/ruby/1.8/drb/eq.rb
require 'drb/drb'

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

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