Sha256: e95321c44cd7597ba25cdc38efa9f3954d8b641932fb195e8c2ed44ec5e2d5bf

Contents?: true

Size: 701 Bytes

Versions: 3

Compression:

Stored size: 701 Bytes

Contents

module PandaPal::Helpers::RouteHelper
  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[:no_redirect] = options.delete(:no_redirect)
    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
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
panda_pal-5.3.7 lib/panda_pal/helpers/route_helper.rb
panda_pal-5.3.6 lib/panda_pal/helpers/route_helper.rb
panda_pal-5.3.6.beta3 lib/panda_pal/helpers/route_helper.rb