# Make extension objects reload between requests

**URL:** <https://www.ruby-forum.com/t/make-extension-objects-reload-between-requests/198014>\
**Category:** Radiant CMS\
**Created:** [October 24, 2010, 11:24pm UTC](https://www.ruby-forum.com/t/make-extension-objects-reload-between-requests/198014 "2010-10-24T23:24:43Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![okkezSS](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/o/85f322/32.png) [@okkezSS](https://www.ruby-forum.com/u/okkezSS)\
**Post date:** [October 24, 2010, 11:24pm UTC](https://www.ruby-forum.com/t/make-extension-objects-reload-between-requests/198014/1 "2010-10-24T23:24:43Z")

</div>

Are Radiant custom extension controllers, models, etc. supposed to  
reload between each request like regular Rails objects in development  
mode or not?

I thought they did, but I’m not seeing mine reload.

Thanks,  
Wes

---

<div class="post-metadata">

**Author:** ![weyus](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/w/7ab992/32.png) [@weyus](https://www.ruby-forum.com/u/weyus)\
**Post date:** [October 25, 2010, 4:04pm UTC](https://www.ruby-forum.com/t/make-extension-objects-reload-between-requests/198014/2 "2010-10-25T16:04:21Z")

</div>

On Oct 24, 2010, at 5:24 PM, Wes G. wrote:

> Are Radiant custom extension controllers, models, etc. supposed to reload  
> between each request like regular Rails objects in development mode or not?

Rails sees Radiant extensions as plugins, not engines or native  
application entities. They won’t get reloaded unless you take steps to  
make it happen. If you take a look at the PageFactory extension, I’m  
doing something along those lines:

Dir[“#{path}/\*\_page\_factory.rb”].each do |page\_factory|  
if page\_factory =~ %r{/([^/]+).rb}  
require\_dependency page\_factory  
ActiveSupport::Dependencies.explicitly\_unloadable\_constants \<\<  
$1.camelize  
end  
end

I’m 1) registering my own classes with ActiveSupport’s dependency  
mechanism, and 2) telling ActiveSupport that these need to get reloaded  
between requests.

Hope that helps,  
j

---

<div class="post-metadata">

**Author:** ![weyus](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/w/7ab992/32.png) [@weyus](https://www.ruby-forum.com/u/weyus)\
**Post date:** [October 25, 2010, 4:07pm UTC](https://www.ruby-forum.com/t/make-extension-objects-reload-between-requests/198014/3 "2010-10-25T16:07:31Z")

</div>

I’m a novice at extension authoring, but in my experience the code  
gets reloaded every second refresh. No explanation why that’d be  
(Chrome + 0.9.1 + Mongrel), but it works for me.

- Jeff
