lib/pieces/server.rb in pieces-0.5.1 vs lib/pieces/server.rb in pieces-0.6.0
- old
+ new
@@ -1,9 +1,7 @@
require 'rack'
-require 'listen'
require 'sprockets'
-require 'pieces/listener'
module Pieces
class Server < Rack::Server
def self.start(config = {})
new(Config.new(config)).start
@@ -14,32 +12,41 @@
def initialize(config)
@config = config
super({})
end
- def start
- Pieces::Listener.new(config).listen
- super
- end
-
def sprockets_env
Sprockets::Environment.new(config.path).tap do |env|
env.append_path 'app/assets/javascripts'
env.append_path 'app/assets/stylesheets'
+ env.append_path 'vendor/assets/stylesheets'
+ env.append_path 'vendor/assets/javascripts'
+ env.append_path 'app/assets'
env.append_path 'app/views'
+ env.append_path 'app/views'
+
+ if defined? ::Sass
+ ::Sass.load_paths.each { |path| env.append_path(path) }
+ env.css_compressor = :scss
+ end
+
+ if defined? ::Uglifier
+ env.js_compressor = :uglify
+ end
end
end
def app
urls = files_to_serve(config.path)
build_path = "#{config.path}/build"
assets_app = sprockets_env
+ config.env = sprockets_env
+ app = App.new(config)
Rack::Builder.app do
use Rack::Reloader
- map('/assets') { run assets_app } unless defined? ::Rails
- use Rack::Static, urls: [''], root: build_path, index: 'index.html'
- run Proc.new { |env| [404, {}, ['Not found']] }
+ map('/assets') { run assets_app }
+ run app
end
end
private