module Locomotive::Steam::Middlewares::Concerns::LiquidContext

Private Instance Methods

_default_liquid_assigns() click to toggle source
# File lib/locomotive/steam/middlewares/concerns/liquid_context.rb, line 40
def _default_liquid_assigns
  {
    'current_page'      => params[:page],
    'params'            => Locomotive::Steam::Liquid::Drops::Params.new(params),
    'now'               => Time.zone.now,
    'today'             => Date.today,
    'mode'              => Locomotive::Steam.configuration.mode,
    'wagon'             => Locomotive::Steam.configuration.mode == :test,
    'live_editing'      => live_editing?
  }
end
_http_actions_liquid_assigns() click to toggle source
# File lib/locomotive/steam/middlewares/concerns/liquid_context.rb, line 85
def _http_actions_liquid_assigns
  {
    'head?'   => request.head?,
    'get?'    => request.get?,
    'post?'   => request.post?,
    'put?'    => request.put?,
    'delete?' => request.delete?
  }
end
_locale_liquid_assigns() click to toggle source
# File lib/locomotive/steam/middlewares/concerns/liquid_context.rb, line 62
def _locale_liquid_assigns
  {
    'locale'         => locale.to_s,
    'default_locale' => site.default_locale.to_s,
    'locales'        => site.locales.map(&:to_s)
  }
end
_request_liquid_assigns() click to toggle source
# File lib/locomotive/steam/middlewares/concerns/liquid_context.rb, line 70
def _request_liquid_assigns
  {
    'base_url'    => request.base_url,
    'fullpath'    => request.fullpath,
    'http_method' => request.request_method,
    'ip_address'  => request.ip,
    'mounted_on'  => mounted_on,
    'path'        => request.path,
    'referer'     => request.referer,
    'url'         => request.url,
    'user_agent'  => request.user_agent,
    'host'        => request.host_with_port
  }
end
_steam_liquid_assigns() click to toggle source
# File lib/locomotive/steam/middlewares/concerns/liquid_context.rb, line 52
def _steam_liquid_assigns
  {
    'site'          => site.to_liquid,
    'page'          => page.to_liquid,
    'models'        => Locomotive::Steam::Liquid::Drops::ContentTypes.new,
    'contents'      => Locomotive::Steam::Liquid::Drops::ContentTypes.new,
    'session'       => Locomotive::Steam::Liquid::Drops::SessionProxy.new,
  }.merge(env['steam.liquid_assigns'])
end
liquid_assigns() click to toggle source
# File lib/locomotive/steam/middlewares/concerns/liquid_context.rb, line 32
def liquid_assigns
  _default_liquid_assigns.merge(
    _locale_liquid_assigns.merge(
      _request_liquid_assigns.merge(
        _http_actions_liquid_assigns.merge(
          _steam_liquid_assigns))))
end
liquid_context() click to toggle source
# File lib/locomotive/steam/middlewares/concerns/liquid_context.rb, line 8
def liquid_context
  ::Liquid::Context.new(liquid_assigns, {}, liquid_registers, true)
end
liquid_registers() click to toggle source
# File lib/locomotive/steam/middlewares/concerns/liquid_context.rb, line 12
def liquid_registers
  {
    request:        request,
    locale:         locale,
    site:           site,
    page:           page,
    services:       services,
    repositories:   services.repositories,
    logger:         Locomotive::Common::Logger,
    live_editing:   live_editing?,
    params:         params,
    session:        request.session,
    cookies:        request.cookies,
    file_system:    Locomotive::Steam::Liquid::FileSystem.new(
      section_finder: services.section_finder,
      snippet_finder: services.snippet_finder
    )
  }.merge(env['steam.liquid_registers'])
end