lib/slim-rails.rb in slim-rails-2.0.4 vs lib/slim-rails.rb in slim-rails-2.1.0
- old
+ new
@@ -7,8 +7,33 @@
if ::Rails.version.to_s >= '3.1'
config.app_generators.template_engine :slim
else
config.generators.template_engine :slim
end
+
+ initializer 'slim_rails.configure_template_digestor' do
+ ActiveSupport.on_load(:action_view) do
+ ActiveSupport.on_load(:after_initialize) do
+ begin
+ if defined?(CacheDigests::DependencyTracker)
+ # 'cache_digests' gem being used (overrides Rails 4 implementation)
+ CacheDigests::DependencyTracker.register_tracker :slim, CacheDigests::DependencyTracker::ERBTracker
+
+ if ::Rails.env.development?
+ # recalculate cache digest keys for each request
+ CacheDigests::TemplateDigestor.cache = ActiveSupport::Cache::NullStore.new
+ end
+ elsif ::Rails.version.to_s >= '4.0'
+ # will only apply if Rails 4, which includes 'action_view/dependency_tracker'
+ require 'action_view/dependency_tracker'
+ ActionView::DependencyTracker.register_tracker :slim, ActionView::DependencyTracker::ERBTracker
+ ActionView::Base.cache_template_loading = false if ::Rails.env.development?
+ end
+ rescue
+ # likely this version of Rails doesn't support dependency tracking
+ end
+ end
+ end
+ end
end
end
end