class Locomotive::Steam::Middlewares::ThreadSafe
Attributes
env[RW]
Public Instance Methods
call(env)
click to toggle source
# File lib/locomotive/steam/middlewares/thread_safe.rb, line 8 def call(env) threadsafed = dup threadsafed.env = env threadsafed._call # thread-safe purpose threadsafed.next end
decorate_entry(entry)
click to toggle source
# File lib/locomotive/steam/middlewares/thread_safe.rb, line 86 def decorate_entry(entry) return nil if entry.nil? Locomotive::Steam::Decorators::I18nDecorator.new(entry, locale, default_locale) end
default_liquid_context()
click to toggle source
# File lib/locomotive/steam/middlewares/thread_safe.rb, line 91 def default_liquid_context ::Liquid::Context.new({ 'site' => site.to_liquid }, {}, { request: request, locale: locale, site: site, services: services, repositories: services.repositories }, true) end
default_locale()
click to toggle source
# File lib/locomotive/steam/middlewares/thread_safe.rb, line 56 def default_locale site.default_locale end
liquid_assigns()
click to toggle source
# File lib/locomotive/steam/middlewares/thread_safe.rb, line 78 def liquid_assigns @liquid_assigns ||= env.fetch('steam.liquid_assigns') end
live_editing?()
click to toggle source
# File lib/locomotive/steam/middlewares/thread_safe.rb, line 82 def live_editing? !!env['steam.live_editing'] end
locale()
click to toggle source
# File lib/locomotive/steam/middlewares/thread_safe.rb, line 48 def locale @locale ||= env.fetch('steam.locale') end
locales()
click to toggle source
# File lib/locomotive/steam/middlewares/thread_safe.rb, line 52 def locales site.locales end
merge_with_params(values)
click to toggle source
# File lib/locomotive/steam/middlewares/thread_safe.rb, line 69 def merge_with_params(values) values.each { |name, value| self.request.params[name] = value } @params = nil end
next()
click to toggle source
# File lib/locomotive/steam/middlewares/thread_safe.rb, line 17 def next # avoid to be called twice @next_response || (@next_response = app.call(env)) end
page()
click to toggle source
# File lib/locomotive/steam/middlewares/thread_safe.rb, line 40 def page @page ||= env.fetch('steam.page') end
params()
click to toggle source
# File lib/locomotive/steam/middlewares/thread_safe.rb, line 60 def params @params ||= if request.content_type&.start_with?('application/json') && (request.post? || request.put?) request.body.rewind JSON.parse(request.body.read).with_indifferent_access else request.params.with_indifferent_access end end
path()
click to toggle source
# File lib/locomotive/steam/middlewares/thread_safe.rb, line 44 def path @path ||= env.fetch('steam.path') end
repositories()
click to toggle source
# File lib/locomotive/steam/middlewares/thread_safe.rb, line 28 def repositories @repositories ||= services.repositories end
request()
click to toggle source
# File lib/locomotive/steam/middlewares/thread_safe.rb, line 32 def request @request ||= env.fetch('steam.request') end
services()
click to toggle source
session()
click to toggle source
# File lib/locomotive/steam/middlewares/thread_safe.rb, line 74 def session env['rack.session'] end
site()
click to toggle source
# File lib/locomotive/steam/middlewares/thread_safe.rb, line 36 def site @site ||= env.fetch('steam.site') end