class Propshaft::Compilers
Attributes
assembly[R]
registrations[R]
Public Class Methods
new(assembly)
click to toggle source
# File lib/propshaft/compilers.rb, line 4 def initialize(assembly) @assembly = assembly @registrations = Hash.new end
Public Instance Methods
any?()
click to toggle source
# File lib/propshaft/compilers.rb, line 14 def any? registrations.any? end
compilable?(asset)
click to toggle source
# File lib/propshaft/compilers.rb, line 18 def compilable?(asset) registrations[asset.content_type.to_s].present? end
compile(asset)
click to toggle source
# File lib/propshaft/compilers.rb, line 22 def compile(asset) if relevant_registrations = registrations[asset.content_type.to_s] asset.content.dup.tap do |input| relevant_registrations.each do |compiler| input.replace compiler.new(assembly).compile(asset.logical_path, input) end end else asset.content end end
register(mime_type, klass)
click to toggle source
# File lib/propshaft/compilers.rb, line 9 def register(mime_type, klass) registrations[mime_type] ||= [] registrations[mime_type] << klass end