locomotivecms/steam

View on GitHub
lib/locomotive/steam/middlewares/default_env.rb

Summary

Maintainability
A
0 mins
Test Coverage
module Locomotive::Steam
  module Middlewares

    class DefaultEnv

      attr_accessor_initialize :app

      def call(env)
        request = Rack::Request.new(env)

        env['steam.request']          = request
        env['steam.services']         = build_services(request)
        env['steam.liquid_registers'] = {}
        env['steam.liquid_assigns']   = {}
        env['steam.cookies'] = {}

        app.call(env)
      end

      private

      def build_services(request)
        Locomotive::Steam::Services.build_instance(request)
      end

    end

  end
end