class Condenser::Railtie
Public Class Methods
build_manifest(app)
click to toggle source
# File lib/condenser/railtie.rb, line 164 def self.build_manifest(app) config = app.config path = File.join(config.paths['public'].first, config.assets.prefix) Condenser::Manifest.new(app.assets, path, config.assets.manifest) end
Public Instance Methods
build_environment(app, initialized = nil)
click to toggle source
# File lib/condenser/railtie.rb, line 121 def build_environment(app, initialized = nil) initialized = app.initialized? if initialized.nil? unless initialized ::Rails.logger.warn "Application uninitialized: Try calling YourApp::Application.initialize!" end env = Condenser.new(pipeline: false, logger: ::Rails.logger, base: app.root.to_s) config = app.config if config.assets._pipeline else env.register_transformer 'text/scss', 'text/css', Condenser::ScssTransformer.new({ functions: Condenser::Railtie::SassFunctions }) if ::Rails.env == 'development' env.register_preprocessor 'application/javascript', Condenser::JSAnalyzer else env.register_preprocessor 'application/javascript', Condenser::BabelProcessor end env.register_exporter 'application/javascript', Condenser::RollupProcessor if ::Rails.env != 'development' env.register_minifier 'application/javascript', resolve_minifier(config.assets.js_minifier) if config.assets.js_minifier env.register_minifier 'text/css', resolve_minifier(config.assets.css_minifier) if config.assets.css_minifier end env.register_writer Condenser::FileWriter.new config.assets.compressors&.each do |writer| env.register_writer resolve_writer(writer) end end # Run app.assets.configure blocks config.assets._blocks.each do |block| block.call(app, env) end env end
resolve_minifier(value)
click to toggle source
# File lib/condenser/railtie.rb, line 105 def resolve_minifier(value) if value.is_a?(Symbol) || value.is_a?(String) "Condenser::#{value.to_s.camelize}Minifier".constantize else value end end
resolve_writer(value)
click to toggle source
# File lib/condenser/railtie.rb, line 113 def resolve_writer(value) if value.is_a?(Symbol) || value.is_a?(String) "Condenser::#{value.to_s.camelize}Writer".constantize.new else value end end