Class: AssetsServer
- Inherits:
-
Object
- Object
- AssetsServer
- Defined in:
- lib/assets_server.rb,
lib/assets_server/version.rb
Overview
AssetsServer
Usage
AssetsServer.new(
root: './assets',
directories: %w{javascripts stylesheets images templates fonts}
paths: ['javascripts','stylesheets','vendor/javascripts','vendor/stylesheets'],
compass: true,
)
Constant Summary collapse
- OptionError =
Class.new(ArgumentError)
- VERSION =
"0.0.1"
Instance Method Summary collapse
- #call(env) ⇒ Object
- #compass? ⇒ Boolean
-
#initialize(options = {}) ⇒ AssetsServer
constructor
A new instance of AssetsServer.
- #paths ⇒ Object
- #root ⇒ Object
- #sprockets_environment ⇒ Object
- #use_compass! ⇒ Object
Constructor Details
#initialize(options = {}) ⇒ AssetsServer
Returns a new instance of AssetsServer.
19 20 21 22 23 24 25 26 27 |
# File 'lib/assets_server.rb', line 19 def initialize(={}) @root = .fetch(:root){ Bundler.root if defined? Bundler } @directories = .fetch(:directories){ %w{javascripts stylesheets images} } @paths = .fetch(:paths){ @directories + @directories.map{|d| "vendor/#{d}" } } @compass = .fetch(:compass){ false } use_compass! if compass? end |
Instance Method Details
#call(env) ⇒ Object
29 30 31 |
# File 'lib/assets_server.rb', line 29 def call(env) sprockets_environment.call(env) end |
#compass? ⇒ Boolean
41 42 43 |
# File 'lib/assets_server.rb', line 41 def compass? !!@compass end |
#paths ⇒ Object
37 38 39 |
# File 'lib/assets_server.rb', line 37 def paths @paths or raise OptionError, "paths option not set for #{self.class}" end |
#root ⇒ Object
33 34 35 |
# File 'lib/assets_server.rb', line 33 def root @root or raise OptionError, "root option not set for #{self.class}" end |
#sprockets_environment ⇒ Object
45 46 47 48 49 50 51 52 |
# File 'lib/assets_server.rb', line 45 def sprockets_environment return @sprockets_environment if defined? @sprockets_environment @sprockets_environment = Sprockets::Environment.new(root) paths.each do |path| @sprockets_environment.append_path path end @sprockets_environment end |
#use_compass! ⇒ Object
54 55 56 57 |
# File 'lib/assets_server.rb', line 54 def use_compass! require "compass" sprockets_environment.append_path Compass::Frameworks['compass'].path+'/stylesheets' end |