module Roda::RodaPlugins::LBProject::InstanceMethods

Plugin instance methods

Public Instance Methods

flush_flash() click to toggle source
# File lib/lb/project/roda.rb, line 22
def flush_flash
  flash.keep
  flash.sweep
end
page(name, overrides = {}) click to toggle source
# File lib/lb/project/roda.rb, line 10
def page(name, overrides = {})
  view_for(LB::Project::Page.page_registry, name, overrides)
end
view(name, overrides = {}) click to toggle source
# File lib/lb/project/roda.rb, line 14
def view(name, overrides = {})
  view_for(LB::Project::View.view_registry, name, overrides)
end
view_for(registry, name, overrides) click to toggle source
# File lib/lb/project/roda.rb, line 18
def view_for(registry, name, overrides)
  registry[name].new.with(overrides.merge(site: current_site)).render
end

Private Instance Methods

csrf_config() click to toggle source
# File lib/lb/project/roda.rb, line 37
def csrf_config
  {
    csrf_token: -> { Rack::Csrf.token(request.env) },
    csrf_metatag: -> { Rack::Csrf.metatag(request.env) },
    csrf_tag: -> { Rack::Csrf.tag(request.env) }
  }
end
current_site() click to toggle source
# File lib/lb/project/roda.rb, line 29
def current_site
  site.with_flash(flash)
end
session_config() click to toggle source
# File lib/lb/project/roda.rb, line 45
def session_config
  {
    session: -> { request.session }
  }
end
site() click to toggle source
# File lib/lb/project/roda.rb, line 33
def site
  LB::Project.settings.site.new.with(csrf_config.merge(session_config))
end