[MacRuby] #1180: REQUEST: set rubygems to allow gem activation on *.rbo files
#1180: REQUEST: set rubygems to allow gem activation on *.rbo files ------------------------------------+--------------------------------------- Reporter: mrada@… | Owner: lsansonetti@… Type: enhancement | Status: new Priority: blocker | Milestone: Component: MacRuby | Keywords: ------------------------------------+--------------------------------------- Rubygems will only be able to activate a gem if the require string is the exact file name, or if the string plus a set of predefined file suffixes exactly matches a file. In the case of a compiled gem where the original *.rb files have been removed, rubygems will think that the file does not exist. This can be worked around by using #gem first to avoid the code path that rubygems would normally take when trying to find a file in a gem and simply activate the gems paths. A better solution would be to add '.rbo' to the list of known file suffixes. However, with rubygems 1.4.2, the list of suffixes is static, so the list would have to be directly edited. Around rubygems 1.6.0, the list of suffixes became an instance variable which can modified from the MacRuby specific defaults file. I've made the changes in my fork of MacRuby on github: https://github.com/ferrous26/MacRuby/commit/09cc3e656072f2c2d75de95b00b5eb5d... -- Ticket URL: <http://www.macruby.org/trac/ticket/1180> MacRuby <http://macruby.org/>
#1180: REQUEST: set rubygems to allow gem activation on *.rbo files ------------------------------------+--------------------------------------- Reporter: mrada@… | Owner: lsansonetti@… Type: enhancement | Status: new Priority: blocker | Milestone: Component: MacRuby | Keywords: ------------------------------------+--------------------------------------- Comment(by scott@…): The [http://polyglot.rubyforge.org/ polyglot gem] introduces a clever way to solve this problem. Replying to [ticket:1180 mrada@…]:
Rubygems will only be able to activate a gem if the require string is the exact file name, or if the string plus a set of predefined file suffixes exactly matches a file.
In the case of a compiled gem where the original *.rb files have been removed, rubygems will think that the file does not exist. This can be worked around by using #gem first to avoid the code path that rubygems would normally take when trying to find a file in a gem and simply activate the gems paths.
A better solution would be to add '.rbo' to the list of known file suffixes. However, with rubygems 1.4.2, the list of suffixes is static, so the list would have to be directly edited.
Around rubygems 1.6.0, the list of suffixes became an instance variable which can modified from the MacRuby specific defaults file.
I've made the changes in my fork of MacRuby on github:
https://github.com/ferrous26/MacRuby/commit/09cc3e656072f2c2d75de95b00b5eb5d... -- Ticket URL: <http://www.macruby.org/trac/ticket/1180#comment:1> MacRuby <http://macruby.org/>
participants (1)
-
MacRuby