Documentation

Embedding Plum

Connect Plum to an existing application's identity, tenancy, and data.

Mount the engine at the path that fits the host application, then configure resolvers for the current site and user.

Plum.configure do |config|
  config.current_site_resolver = ->(_) { Current.account.plum_site }
  config.current_user_resolver = ->(_) { Current.user }
  config.authorize_with = :host
  config.host_authorization_resolver = ->(_) { Current.user.admin? }
end

The host owns authorization. Plum keeps every content query site-scoped and uses registered content sources to expose application data to Liquid without copying it.