Module: PandaPal::Helpers::RouteHelper

Defined in:
lib/panda_pal/helpers/route_helper.rb

Instance Method Summary collapse

Instance Method Details

#lti_nav(nav, *rest, &block) ⇒ Object

Raises:



2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/panda_pal/helpers/route_helper.rb', line 2

def lti_nav(nav, *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?
  options = nav
  nav, to = options.first
  options[:to] = to
  options.delete nav
  lti_options = options.delete(:lti_options) || {}
  path = "#{base_path}/#{nav.to_s}"
  lti_options[:url] = path.split('/').reject(&:empty?).join('_')
  post path, options, &block
  get path, options, &block
  PandaPal::register_navigation(nav)
  PandaPal::lti_navigation(nav, lti_options)
end