Sha256: 7040379069be3aa7530c2d51772fb31c89d44b45b1592ddc3de6d24b5ac07e28
Contents?: true
Size: 1.85 KB
Versions: 2
Compression:
Stored size: 1.85 KB
Contents
require 'rack/showexceptions' require 'coffee_script' require 'locomotive/builder/listen' require 'locomotive/builder/server/middleware' require 'locomotive/builder/server/favicon' require 'locomotive/builder/server/dynamic_assets' require 'locomotive/builder/server/entry_submission' require 'locomotive/builder/server/path' require 'locomotive/builder/server/locale' require 'locomotive/builder/server/page' require 'locomotive/builder/server/templatized_page' require 'locomotive/builder/server/not_found' require 'locomotive/builder/server/renderer' require 'locomotive/builder/liquid' require 'locomotive/builder/misc' module Locomotive::Builder class Server def initialize(reader, options = {}) Locomotive::Builder::Dragonfly.setup!(reader.mounting_point.path) @reader = reader @app = self.create_rack_app(@reader) unless options[:disable_listen] Locomotive::Builder::Listen.instance.start(@reader) end end def call(env) env['builder.mounting_point'] = @reader.mounting_point @app.call(env) end protected def create_rack_app(reader) Rack::Builder.new do use Rack::ShowExceptions use Rack::Lint use Rack::Session::Cookie, { key: 'rack.session', domain: '0.0.0.0', path: '/', expire_after: 2592000, secret: 'uselessinlocal' } use ::Dragonfly::Middleware, :images use Rack::Static, { urls: ['/images', '/fonts', '/samples'], root: File.join(reader.mounting_point.path, 'public') } use Favicon use DynamicAssets use EntrySubmission use Path use Locale use Page use TemplatizedPage use NotFound use Renderer run Renderer.new end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
locomotivecms_builder-1.0.0.alpha2 | lib/locomotive/builder/server.rb |
locomotivecms_builder-1.0.0.alpha1 | lib/locomotive/builder/server.rb |