diff options
author | thedarkone <nobody> | 2009-02-12 19:35:14 +0100 |
---|---|---|
committer | Joshua Peek <josh@joshpeek.com> | 2009-02-12 13:04:12 -0600 |
commit | 3942cb406e1d5db0ac00e03153809cc8dc4cc4db (patch) | |
tree | 3fda08b1509e81f209d5353180feec2086139a3f /actionpack/lib/action_view/renderable.rb | |
parent | b1d41bdfb06cb5f606f515965316a348d9bc9b47 (diff) | |
download | rails-3942cb406e1d5db0ac00e03153809cc8dc4cc4db.tar.gz rails-3942cb406e1d5db0ac00e03153809cc8dc4cc4db.tar.bz2 rails-3942cb406e1d5db0ac00e03153809cc8dc4cc4db.zip |
Port fast reloadable templates from rails-dev-boost.
Diffstat (limited to 'actionpack/lib/action_view/renderable.rb')
-rw-r--r-- | actionpack/lib/action_view/renderable.rb | 30 |
1 files changed, 3 insertions, 27 deletions
diff --git a/actionpack/lib/action_view/renderable.rb b/actionpack/lib/action_view/renderable.rb index 16cdd0162e..41080ed629 100644 --- a/actionpack/lib/action_view/renderable.rb +++ b/actionpack/lib/action_view/renderable.rb @@ -16,18 +16,8 @@ module ActionView memoize :handler def compiled_source - @compiled_at = Time.now handler.call(self) end - memoize :compiled_source - - def compiled_at - @compiled_at - end - - def defined_at - @defined_at ||= {} - end def method_name_without_locals ['_run', extension, method_segment].compact.join('_') @@ -71,12 +61,8 @@ module ActionView def compile(local_assigns) render_symbol = method_name(local_assigns) - if self.is_a?(InlineTemplate) + if !Base::CompiledTemplates.method_defined?(render_symbol) || recompile? compile!(render_symbol, local_assigns) - else - if !Base::CompiledTemplates.method_defined?(render_symbol) || recompile?(render_symbol) - recompile!(render_symbol, local_assigns) - end end end @@ -93,7 +79,6 @@ module ActionView begin ActionView::Base::CompiledTemplates.module_eval(source, filename, 0) - defined_at[render_symbol] = Time.now if respond_to?(:reloadable?) && reloadable? rescue Errno::ENOENT => e raise e # Missing template file, re-raise for Base to rescue rescue Exception => e # errors from template code @@ -107,17 +92,8 @@ module ActionView end end - def recompile?(render_symbol) - !cached? || redefine?(render_symbol) || stale? - end - - def recompile!(render_symbol, local_assigns) - compiled_source(:reload) if compiled_at.nil? || compiled_at < mtime - compile!(render_symbol, local_assigns) - end - - def redefine?(render_symbol) - compiled_at && defined_at[render_symbol] && compiled_at > defined_at[render_symbol] + def recompile? + false end end end |