Skip to content
Fewer is a Rack endpoint to bundle and cache assets and help you make fewer HTTP requests.
Ruby
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
lib
test
.gitignore
Gemfile
LICENSE
README.md
Rakefile
fewer.gemspec

README.md

Fewer

Fewer is a Rack endpoint to bundle and cache assets and help you make fewer HTTP requests. Fewer extracts and combines a list of assets encoded in the URL and serves the response with far-future HTTP caching headers.

How to use in Rails 3

Using Fewer in your Rails app is easy, just initialize your Fewer apps and add them to your routes then include the helper methods in your ApplicationHelper with a one-liner.

# Gemfile
gem 'fewer'
gem 'closure-compiler', :group => :production

# config/initializers/fewer.rb
Fewer::App.new(:javascripts,
  :engine => Fewer::Engines::Js,
  :engine_options => { :min => Rails.env.production? }
  :root => Rails.root.join('app', 'javascripts')
)
Fewer::App.new(:stylesheets,
  :engine => Fewer::Engines::Css,
  :root => Rails.root.join('app', 'stylesheets')
)

# config/routes.rb
match '/javascripts/*data.js', :to => Fewer::App[:javascripts]
match '/stylesheets/*data.css', :to => Fewer::App[:stylesheets]

# app/helpers/application_helper.rb
module ApplicationHelper
  include Fewer::RailsHelpers
end

# app/views/layouts/application.html.erb
<%= fewer_javascripts_tag 'long', 'list', 'of/nested', 'js/files' %>
<%= fewer_stylesheets_tag 'some', 'css', 'files' %>

How to use as a Rack app (config.ru example)

app = Rack::Builder.new do
  map '/stylesheets' do
    run Fewer::App,
      :root => File.dirname(__FILE__)+'/less_css',
      :engine => Fewer::Engines::Less
  end

  map '/' do
    run MyApp
  end
end

run app

Copyright

Copyright (c) 2010 Ben Pickles. See LICENSE for details.

Something went wrong with that request. Please try again.