Class: RailsCriticalCss::Actions::BeforeRender
- Inherits:
-
Object
- Object
- RailsCriticalCss::Actions::BeforeRender
- Includes:
- Helpers
- Defined in:
- lib/rails_critical_css/actions/before_render.rb
Instance Method Summary collapse
- #around(controller) ⇒ Object
-
#initialize(filter_options) ⇒ BeforeRender
constructor
A new instance of BeforeRender.
Methods included from Helpers
#absolute_asset_file_path, #eval_option, #eval_options, #gen_critical_css_cache_path, #group_assets_by_type
Constructor Details
#initialize(filter_options) ⇒ BeforeRender
Returns a new instance of BeforeRender.
7 8 9 |
# File 'lib/rails_critical_css/actions/before_render.rb', line 7 def initialize() @packed_options = .slice(:css, :cache_key, :cache_prefix) end |
Instance Method Details
#around(controller) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/rails_critical_css/actions/before_render.rb', line 11 def around(controller) @controller = controller = (controller, @packed_options) cache_path = gen_critical_css_cache_path(, [:cache_key]) # load already compiled css from cache critical_css_cache = cache_path.presence && Rails.cache.read(cache_path) controller.critical_css_cache = critical_css_cache controller.critical_css_enabled = true yield return unless css_extracting_allowed? if critical_css_cache.present? && critical_css_cache[:lazy_css_blocks].present? controller.response.body = (critical_css_cache[:lazy_css_blocks]) end end |