module Deface::ActionViewExtensions::DefacedTemplate
Public Instance Methods
encode!()
click to toggle source
Calls superclass method
# File lib/deface/action_view_extensions.rb, line 17 def encode! return super unless Rails.application.config.deface.enabled # Before Rails 6 encode! returns nil source = Deface.before_rails_6? ? (super; @source) : super syntax = Deface::ActionViewExtensions.determine_syntax(@handler) overrides = Deface::Override.find( locals: @locals, format: @format, variant: @variant, virtual_path: @virtual_path, ) if syntax && overrides.any? # Prevents any caching by rails in development mode. @updated_at = Time.now if Deface.before_rails_6? @handler = ActionView::Template::Handlers::ERB # Modify the existing string instead of returning a copy new_source = Deface::Override.apply_overrides( Deface::Override.convert_source(source, syntax: syntax), overrides: overrides ) if Deface.before_rails_6? @source.replace new_source else source.replace new_source end end source end
Private Instance Methods
compile!(view)
click to toggle source
Calls superclass method
# File lib/deface/action_view_extensions.rb, line 53 def compile!(view) return super unless Rails.application.config.deface.enabled @compile_mutex.synchronize do current_deface_hash = Deface::Override.digest(virtual_path: @virtual_path) @deface_hash = current_deface_hash if @deface_hash.nil? if @deface_hash != current_deface_hash @compiled = nil @deface_hash = current_deface_hash end end super end