Sha256: 5caa2ed6558a5aa5f155cbd8957de463c36b32f31f62263ff09831faec9e509b
Contents?: true
Size: 1.2 KB
Versions: 2
Compression:
Stored size: 1.2 KB
Contents
module Locomotive::Builder class Server class Middleware attr_accessor :app, :request, :path, :liquid_assigns attr_accessor :mounting_point, :page, :content_entry def initialize(app = nil) @app = app end def call(env) app.call(env) end protected def set_accessors(env) self.path = env['builder.path'] self.request = Rack::Request.new(env) self.mounting_point = env['builder.mounting_point'] self.page = env['builder.page'] self.content_entry = env['builder.content_entry'] env['builder.liquid_assigns'] ||= {} self.liquid_assigns = env['builder.liquid_assigns'] end def site self.mounting_point.site end def params self.request.params.deep_symbolize_keys end def html? self.request.media_type == 'text/html' || !self.request.xhr? end def json? self.request.content_type == 'application/json' || File.extname(self.request.path) == '.json' end def redirect_to(location) [301, { 'Content-Type' => 'text/html', 'Location' => location }, []] 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/middleware.rb |
locomotivecms_builder-1.0.0.alpha1 | lib/locomotive/builder/server/middleware.rb |