def lti_nav(options, *rest, &block)
base_path = Rails.application.routes.named_routes[:panda_pal].path.spec
raise LtiNavigationInUse.new('PandaPal must be mounted before defining lti_nav routes') if base_path.blank?
nav, to = options.first
options[:to] = to
options.delete nav
path = "#{base_path}/#{nav.to_s}"
lti_options = options.delete(:lti_options) || {}
lti_options[:auto_launch] = options.delete(:auto_launch)
lti_options[:auto_launch] = true if lti_options[:auto_launch].nil? && (@scope[:path] || '').include?(':organization_id')
lti_options[:route_helper_key] = path.split('/').reject(&:empty?).join('_')
post(path, options.dup, &block)
get(path, options.dup, &block)
PandaPal::stage_navigation(nav, lti_options)
end