This isn''t exactly an issue, but a usage question for which I didn''t want to open a new topic: With the new dependency code, what is the best way to reload plugin code on each request so we don''t have to restart the server while we''re developing/contributing to a plugin? Thanks, -Mislav On 8/22/06, nseckar@gmail.com <nseckar@gmail.com> wrote:> > > Hey guys, > > I''d like to get down to either i) fixing all the dependencies issues > with the new code or ii) giving up and reverting to the old.--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To post to this group, send email to rubyonrails-core@googlegroups.com To unsubscribe from this group, send email to rubyonrails-core-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-core -~----------~----~----~----~------~----~------~--~---
Hello Mislav,> With the new dependency code, what is the best way to reload plugin code on > each request so we don''t have to restart the server while we''re > developing/contributing to a plugin?At the moment plugins reload by default. However, this turns out to cause a lot of problems with some plugins. For example, if a plugin includes a module into a core class (say, AC::B) then when it is reloaded the included module will not be GC''d. It will however, be removed from the module tree. If the included module is not overwritten by another inclusion, then we will have code that is still live, but has been removed from the module tree. This causes a fair number of issues (Such as const missing on Technoweenie from Technoweenie::Blah::SomeIncludedModule). Because of these issues, and because they are likely to effect a large number of plugins, I''m planning to change the default so that files loaded from plugins will not be unloaded. I''ll be sure to add an option to enable reloading on a plugin-by-plugin basis. Regards, Nicholas Seckar --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To post to this group, send email to rubyonrails-core@googlegroups.com To unsubscribe from this group, send email to rubyonrails-core-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-core -~----------~----~----~----~------~----~------~--~---
On 8/22/06, nseckar@gmail.com <nseckar@gmail.com> wrote:> > > Hello Mislav, > > > With the new dependency code, what is the best way to reload plugin code on > > each request so we don''t have to restart the server while we''re > > developing/contributing to a plugin? > > At the moment plugins reload by default. However, this turns out to > cause a lot of problems with some plugins. For example, if a plugin > includes a module into a core class (say, AC::B) then when it is > reloaded the included module will not be GC''d. It will however, be > removed from the module tree. > > If the included module is not overwritten by another inclusion, then we > will have code that is still live, but has been removed from the module > tree. This causes a fair number of issues (Such as const missing on > Technoweenie from Technoweenie::Blah::SomeIncludedModule). > > Because of these issues, and because they are likely to effect a large > number of plugins, I''m planning to change the default so that files > loaded from plugins will not be unloaded. I''ll be sure to add an option > to enable reloading on a plugin-by-plugin basis. > > Regards, > Nicholas Seckar > > > > >> Because of these issues, and because they are likely to effect a large > number of plugins, I''m planning to change the default so that files > loaded from plugins will not be unloaded.This would be a welcome change. No more: rake rails:freeze:edge REVISION=4727 -- Zack Chandler http://depixelate.com --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To post to this group, send email to rubyonrails-core@googlegroups.com To unsubscribe from this group, send email to rubyonrails-core-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-core -~----------~----~----~----~------~----~------~--~---