Module: Roda::RodaPlugins::SharedVars
- Defined in:
- lib/roda/plugins/shared_vars.rb
Overview
The shared_vars plugin adds a shared method for storing shared variables across nested Roda apps.
class API < Roda
plugin :shared_vars
route do |r|
user = shared[:user]
# ...
end
end
class App < Roda
plugin :shared_vars
route do |r|
r.on :user_id do |user_id|
shared[:user] = User[user_id]
r.run API
end
end
end
If you pass a hash to shared, it will update the shared vars with the content of the hash:
route do |r|
r.on :user_id do |user_id|
shared(:user => User[user_id])
r.run API
end
end
You can also pass a block to shared, which will set the shared variables only for the given block, restoring the previous shared variables afterward:
route do |r|
r.on :user_id do |user_id|
shared(:user => User[user_id]) do
r.run API
end
end
end
Defined Under Namespace
Modules: InstanceMethods
Constant Summary collapse
- KEY =
'roda.shared'.freeze