Class: PandaPal::LtiController

Inherits:
ApplicationController show all
Defined in:
app/controllers/panda_pal/lti_controller.rb

Instance Method Summary collapse

Instance Method Details

#tool_configObject



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'app/controllers/panda_pal/lti_controller.rb', line 5

def tool_config
  if PandaPal.lti_environments.empty?
    render plain: 'Domains must be set in lti_environments'
    return
  end
  platform = PandaPal.lti_options.delete(:platform) || 'canvas.instructure.com'
  request_url = "#{request.scheme}://#{request.host_with_port}"
  case platform
  when 'canvas.instructure.com'
    xml_config = LtiXml::CanvasPlatform.new(platform, request_url, main_app)
  when 'bridgeapp.com'
    xml_config = LtiXml::BridgePlatform.new(platform, request_url, main_app)
  else
    render plain: 'platform must be set under lti_options'
    return
  end
  render xml: xml_config.xml
end