IWETHEY v. 0.3.0 | TODO
1,095 registered users | 0 active users | 0 LpH | Statistics
Login | Create New User
IWETHEY Banner

Welcome to IWETHEY!

New Re: My environment
and here is what I have now:

[... list of gem packages elided ...]

Good, it looks like you only have one version of each package installed. (Gems should handle multiple versions, but since you are having problems it is good to eliminate variables). I assume that none of these are installed directly (as non-gem packages), correct?

As to the role of dependencies in loading process, don't you try to activate dependencies before activating the main gem?

Yes, but gems should be handling that. As soon as you require a file that is not found in the search path, RubyGems will find a gem that can satisfy that required file and activate it automatically. There is no need for the user to do anything special unless (a) they desire a particular version of a package and wish to manually activate it, or (b) there are some conflicts where RubyGems activates the wrong gem because of a name clash.

I will try to get a small example, but it would require me to manufacture gems, something I really have no experience with. I'll try it during the week.

If you get another together, I would love to see it.

I just had a thought. You might want to try out the latest beta version of RubyGems to see if that addresses the issue. There are some subtle autorequire bugs that were stamped out in the beta version and perhaps there is one that is affecting you.

You can get the latest beta version of RubyGems with:
  gem update --system --source [link|http://onestepback.org/betagems|http://onestepback.org/betagems]

--
-- Jim Weirich jim@weirichhouse.org [link|http://onestepback.org|http://onestepback.org]
---------------------------------------------------------------------
"Beware of bugs in the above code; I have only proved it correct,
not tried it." -- Donald Knuth (in a memo to Peter van Emde Boas)
New OK, I see more clearly now
I have sample code that repropduces the problem.

The code is essentially a top-level gem that depends on gems 1, 2 and 3.

2 and 3 depend on 1

3 uses "load("second.rb")" to load 2 in the middle of its .rb file (that's a huge simplification, but the complex code in rails boils down to "load". They do it to be able to refresh code after it gets changed during development, I think).

Now, if I have a test file that contains

require 'rubygems'
require 'top'
require 'third'
require 'second'


I get "second" loaded twice.

If you need my source, let me know where to post a tarball.



------

179. I will not outsource core functions.
--
[link|http://omega.med.yale.edu/~pcy5/misc/overlord2.htm|.]

New The rain has gone
--\n-------------------------------------------------------------------\n* Jack Troughton                            jake at consultron.ca *\n* [link|http://consultron.ca|http://consultron.ca]                   [link|irc://irc.ecomstation.ca|irc://irc.ecomstation.ca] *\n* Kingston Ontario Canada               [link|news://news.consultron.ca|news://news.consultron.ca] *\n-------------------------------------------------------------------
Expand Edited by jake123 Nov. 19, 2005, 02:31:10 AM EST
New I can see all obstacles in my way
--\n-------------------------------------------------------------------\n* Jack Troughton                            jake at consultron.ca *\n* [link|http://consultron.ca|http://consultron.ca]                   [link|irc://irc.ecomstation.ca|irc://irc.ecomstation.ca] *\n* Kingston Ontario Canada               [link|news://news.consultron.ca|news://news.consultron.ca] *\n-------------------------------------------------------------------
New Gone are the dark clouds that had me blind
--\n-------------------------------------------------------------------\n* Jack Troughton                            jake at consultron.ca *\n* [link|http://consultron.ca|http://consultron.ca]                   [link|irc://irc.ecomstation.ca|irc://irc.ecomstation.ca] *\n* Kingston Ontario Canada               [link|news://news.consultron.ca|news://news.consultron.ca] *\n-------------------------------------------------------------------
New It's gonna be a bright (bright) bright (bright) sunshiny day
--\n-------------------------------------------------------------------\n* Jack Troughton                            jake at consultron.ca *\n* [link|http://consultron.ca|http://consultron.ca]                   [link|irc://irc.ecomstation.ca|irc://irc.ecomstation.ca] *\n* Kingston Ontario Canada               [link|news://news.consultron.ca|news://news.consultron.ca] *\n-------------------------------------------------------------------
New A source of annoying catchphrases now.
New Sorry, saw Arkadiy's subject line and it just popped into my
head, fully formed. After that it was just inevitable that I was going to do that... gotta do something about that I guess.
--\n-------------------------------------------------------------------\n* Jack Troughton                            jake at consultron.ca *\n* [link|http://consultron.ca|http://consultron.ca]                   [link|irc://irc.ecomstation.ca|irc://irc.ecomstation.ca] *\n* Kingston Ontario Canada               [link|news://news.consultron.ca|news://news.consultron.ca] *\n-------------------------------------------------------------------
New (Twas just the LRPDism. :-)
New Except the song has no "ok" or "more"
Of course, I thought of them as well.
New Ditto. It's got staying power.
New But not in that way, pervs.
--\n-------------------------------------------------------------------\n* Jack Troughton                            jake at consultron.ca *\n* [link|http://consultron.ca|http://consultron.ca]                   [link|irc://irc.ecomstation.ca|irc://irc.ecomstation.ca] *\n* Kingston Ontario Canada               [link|news://news.consultron.ca|news://news.consultron.ca] *\n-------------------------------------------------------------------
New Grrrrrrr.

------

179. I will not outsource core functions.
--
[link|http://omega.med.yale.edu/~pcy5/misc/overlord2.htm|.]

New Re: OK, I see more clearly now
3 uses "load("second.rb")" to load 2 in the middle of its .rb file (that's a huge simplification, but the complex code in rails boils down to "load". They do it to be able to refresh code after it gets changed during development, I think).

Ahhh ... require won't load the same file twice, but load doesn't know anything about require's list of file names. So files loaded by 'load' are not reported to 'require' ... or something like that.

If Rails is working hard to load the file itself, is it possible for you to omit your require statement? There are a lot of declarations in rails that just handle the file loading automatically for you ... is there something you can take advantage of?
--
-- Jim Weirich jim@weirichhouse.org [link|http://onestepback.org|http://onestepback.org]
---------------------------------------------------------------------
"Beware of bugs in the above code; I have only proved it correct,
not tried it." -- Donald Knuth (in a memo to Peter van Emde Boas)
New It should be possible
But in the real code the require statementr is not there, either. The only thing that's "require"d is the top-level module.

I need to improve my model to figure out how that happens. Will try to do it later.

------

179. I will not outsource core functions.
--
[link|http://omega.med.yale.edu/~pcy5/misc/overlord2.htm|.]

     Ruby threw me a curve - (Arkadiy) - (25)
         Are you sure that is executed twice? - (ben_tilly) - (22)
             I am quite sure - (Arkadiy) - (21)
                 Ah, you're right, I looked closer at the method definition. -NT - (ben_tilly)
                 OK, now I see it - (Arkadiy) - (19)
                     Let me get this straight ... - (JimWeirich) - (18)
                         The scenario is correct - (Arkadiy) - (17)
                             Re: The scenario is correct - (JimWeirich) - (16)
                                 My environment - (Arkadiy) - (15)
                                     Re: My environment - (JimWeirich) - (14)
                                         OK, I see more clearly now - (Arkadiy) - (13)
                                             The rain has gone -NT - (jake123) - (10)
                                                 I can see all obstacles in my way -NT - (jake123) - (8)
                                                     Gone are the dark clouds that had me blind -NT - (jake123) - (7)
                                                         It's gonna be a bright (bright) bright (bright) sunshiny day -NT - (jake123) - (6)
                                                             A source of annoying catchphrases now. -NT - (Another Scott) - (5)
                                                                 Sorry, saw Arkadiy's subject line and it just popped into my - (jake123) - (4)
                                                                     (Twas just the LRPDism. :-) -NT - (Another Scott)
                                                                     Except the song has no "ok" or "more" - (broomberg) - (2)
                                                                         Ditto. It's got staying power. -NT - (Another Scott) - (1)
                                                                             But not in that way, pervs. -NT - (jake123)
                                                 Grrrrrrr. -NT - (Arkadiy)
                                             Re: OK, I see more clearly now - (JimWeirich) - (1)
                                                 It should be possible - (Arkadiy)
         Re: Ruby threw me a curve - (MikeH727) - (1)
             Hello, fellow sufferer. - (Arkadiy)

I've spent an unreasonable amount of thought on the line Janet sings in Rocky Horror: "His lust is so sincere". Now, on the surface, that's a big "DUH!" because that's the nature of lust. But wait: Brad has earlier sung about how hot he is for her, and it's pretty clear he's just being conventional. Brad's lust is not sincere.

Now, I could swill green mead and gnaw raw meat with sincere lust. As for kimchee and lutefisk, well, those would be just for effect. And if I'm just going for effect, I might as well wear a tie. And pants.


-- mhuber
73 ms