class Radical::Assets

Attributes

assets[RW]
assets_path[RW]
compiled[RW]

Public Class Methods

new() click to toggle source
# File lib/radical/assets.rb, line 7
def initialize
  @assets = {
    css: [],
    js: []
  }
  @compressor = :none
  @assets_path = File.join(__dir__, 'assets')
  @compiled = {}
end

Public Instance Methods

brotli() click to toggle source
# File lib/radical/assets.rb, line 29
def brotli
  @compressor = :brotli
end
compile() click to toggle source
# File lib/radical/assets.rb, line 37
def compile
  css = @assets[:css].map { |f| Asset.new(f, path: File.join(@assets_path, 'css')) }
  js = @assets[:js].map { |f| Asset.new(f, path: File.join(@assets_path, 'js')) }

  @compiled[:css] = AssetCompiler.compile(css, path: @assets_path, compressor: @compressor)
  @compiled[:js] = AssetCompiler.compile(js, path: @assets_path, compressor: @compressor)
end
css(filenames) click to toggle source
# File lib/radical/assets.rb, line 17
def css(filenames)
  @assets[:css] = filenames
end
gzip() click to toggle source
# File lib/radical/assets.rb, line 33
def gzip
  @compressor = :gzip
end
js(filenames) click to toggle source
# File lib/radical/assets.rb, line 21
def js(filenames)
  @assets[:js] = filenames
end
prepend_assets_path(path) click to toggle source
# File lib/radical/assets.rb, line 25
def prepend_assets_path(path)
  @assets_path = File.join(path, 'assets')
end