module SnipSnap::SprocketsExtension

# SnipSnap::SprocketsExtension

Require Path: `snipsnap/extensions/sprockets`

Optional:

Required:

Public Class Methods

registered(app) click to toggle source
# File lib/snipsnap/extensions/sprockets.rb, line 16
def self.registered(app)
  app.helpers Helpers

  app.configure do
    app.set :static, true
    app.set :views, ->{ File.join(app.root, "app", "views") }
    app.set :assets, assets = Sprockets::Environment.new(app.root)
    app.set :asset_host, ENV.fetch("ASSET_HOST", "")

    assets.append_path('app/assets/javascripts')
    assets.append_path('app/assets/stylesheets')
    assets.append_path('app/assets/images')
    assets.append_path('app/assets/fonts')

    assets.append_path('vendor/assets/javascripts')
    assets.append_path('vendor/assets/stylesheets')
    assets.append_path('vendor/assets/images')
    assets.append_path('vendor/assets/fonts')

    assets.context_class.class_eval do
      cattr_accessor :settings

      include SnipSnap::SprocketsExtension::Helpers
    end
    assets.context_class.settings = app.settings
  end

  app.get '/assets/*' do
    env['PATH_INFO'].sub!(%r{^/assets}, '')
    settings.assets.call(env)
  end
end