Class: Locomotive::Steam::Middlewares::Page

Inherits:
ThreadSafe
  • Object
show all
Includes:
Concerns::Helpers
Defined in:
lib/locomotive/steam/middlewares/page.rb

Overview

Retrieve a page from the path and the locale previously fetched from the request.

Constant Summary

Constants included from Concerns::Helpers

Concerns::Helpers::CACHE_HEADERS, Concerns::Helpers::HTML_CONTENT_TYPE, Concerns::Helpers::HTML_MIME_TYPES

Instance Attribute Summary

Attributes inherited from ThreadSafe

#env

Instance Method Summary collapse

Methods included from Concerns::Helpers

#html?, #inject_cookies, #json?, #log, #make_local_path, #modify_path, #mounted_on, #redirect_to, #render_response

Methods inherited from ThreadSafe

#call, #decorate_entry, #default_liquid_context, #default_locale, #liquid_assigns, #live_editing?, #locale, #locales, #merge_with_params, #next, #page, #params, #path, #repositories, #request, #services, #session, #site

Instance Method Details

#_callObject



11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/locomotive/steam/middlewares/page.rb', line 11

def _call
  return env['steam.page'] if env['steam.page']

  if page = fetch_page
    if !page.not_found?
      log "Found page \"#{page.title}\" [#{page.fullpath}]"
    else
      ActiveSupport::Notifications.instrument('steam.render.page_not_found', path: path, locale: locale, default_locale: default_locale)
      log "Page not found (#{path.inspect}), rendering the 404 page.".magenta
    end
  end

  env['steam.page'] = page
end