class Condenser

Basic Condenser error classes

Constants

VERSION

Attributes

base[RW]
digestor[RW]
logger[RW]

Public Class Methods

configure(&block) click to toggle source
# File lib/condenser.rb, line 36
def self.configure(&block)
  instance_eval(&block)
end
new(*path, logger: nil, digestor: nil, cache: nil, pipeline: nil, npm_path: nil, base: nil, &block) click to toggle source

base: If base is passed assets cache_keys will be realitve to this.

This allows deploy systems like Capistrano to take advantage of the
cache even though it precompiles assets in a different folder
# File lib/condenser.rb, line 45
def initialize(*path, logger: nil, digestor: nil, cache: nil, pipeline: nil, npm_path: nil, base: nil, &block)
  @logger = logger || Logger.new($stdout, level: :info)
  @path = []
  append_path(path)
  self.npm_path = npm_path
  @base = base
  @cache = cache || Cache::MemoryStore.new
  @build_cc = 0
  self.digestor = digestor || Digest::SHA256

  if block
    configure(&block)
  elsif pipeline != false
    self.configure do
      # register_preprocessor 'application/javascript', Condenser::JSAnalyzer
      register_preprocessor 'application/javascript', Condenser::BabelProcessor
      register_exporter     'application/javascript', Condenser::RollupProcessor
      register_minifier     'application/javascript', Condenser::UglifyMinifier
      
      register_minifier  'text/css', Condenser::SassMinifier
    
      register_writer Condenser::FileWriter.new
      register_writer Condenser::ZlibWriter.new
      if Gem::Specification::find_all_by_name('brotli').any?
        register_writer Condenser::BrotliWriter.new
      end
    end
  end
end

Public Instance Methods

configure(&block) click to toggle source
# File lib/condenser.rb, line 75
def configure(&block)
  instance_eval(&block)
end