module Aerogel::Assets

Public Class Methods

registered( app ) click to toggle source

Registers and configures assets pipeline

# File lib/aerogel/core/assets.rb, line 9
def self.registered( app )
  setup_reloader(app) if Aerogel.config.aerogel.reloader?
  setup_assets_pipeline app
end
reset!(app) click to toggle source

Resets assets pipeline

# File lib/aerogel/core/assets.rb, line 25
def self.reset!(app)
  # TODO how to remove middleware? anyone?
end
setup_assets_pipeline( app ) click to toggle source

Configures assets pipeline.

# File lib/aerogel/core/assets.rb, line 31
def self.setup_assets_pipeline( app )
  # Include these files when precompiling assets
  app.set :assets_precompile,
    %w(application.js controllers/*.js application.css controllers/*.css) +
    %w(*.png *.jpg *.gif *.svg *.eot *.ttf *.woff)

  # Logical paths to your assets (in reverse order)
  app.set :assets_prefix, [
    Aerogel.get_resource_paths( :assets )
  ].flatten.reverse

  # Use another host for serving assets
  # set :assets_host, '<id>.cloudfront.net'

  # Serve assets using this protocol
  # set :assets_protocol, :http

  # CSS minification
  app.set :assets_css_compressor, :yui

  # JavaScript minification
  app.set :assets_js_compressor, :uglifier

  app.register Sinatra::AssetPipeline
end
setup_reloader(app) click to toggle source

Configures reloader for assets.

# File lib/aerogel/core/assets.rb, line 16
def self.setup_reloader(app)
  app.use Aerogel::Reloader, :routes, after: true do
    reset!(app)
    setup_assets_pipeline( app )
  end
end