Sha256: 6230372d3e0a10fa03f44bd09b2d95809a827031c52d7a862588ef96dae461e3
Contents?: true
Size: 934 Bytes
Versions: 37
Compression:
Stored size: 934 Bytes
Contents
module Scrivito class CmsEnv OBJ_ENV_KEY = "SCRIVITO_OBJ" def initialize(env) @env = env end def load return if env[OBJ_ENV_KEY] load_object end protected attr_reader :env def load_object env[OBJ_ENV_KEY] = begin find_obj rescue StandardError => e e end end def find_obj found_obj = if id = params[:id] if EditingContextMiddleware.from_env(env).include_deleted_objs? Obj.find_including_deleted(id) else Obj.find(id) end elsif params[:permalink].present? permalink = Array(params[:permalink]).join("/") Obj.find_by_permalink!(permalink) else Scrivito::RequestHomepage.call(env) end found_obj end def params env["action_dispatch.request.path_parameters"] end end end
Version data entries
37 entries across 37 versions & 1 rubygems