Module: PandaPal

Defined in:
lib/panda_pal.rb,
lib/panda_pal/engine.rb,
lib/panda_pal/version.rb,
app/models/panda_pal/session.rb,
app/lib/panda_pal/misc_helper.rb,
app/models/panda_pal/platform.rb,
app/models/panda_pal/organization.rb,
app/lib/panda_pal/lti_jwt_validator.rb,
app/lib/panda_pal/launch_url_helpers.rb,
lib/panda_pal/helpers/secure_headers.rb,
app/controllers/panda_pal/lti_controller.rb,
app/helpers/panda_pal/application_helper.rb,
app/controllers/panda_pal/lti_v1_p0_controller.rb,
app/controllers/panda_pal/lti_v1_p3_controller.rb,
app/controllers/panda_pal/application_controller.rb,
app/models/panda_pal/organization_concerns/task_scheduling.rb,
app/models/panda_pal/organization_concerns/settings_validation.rb

Defined Under Namespace

Modules: ApplicationHelper, Helpers, LaunchUrlHelpers, MiscHelper, OrganizationConcerns, Plugins, SecureHeaders Classes: ApplicationController, Engine, LtiController, LtiJwtValidator, LtiNavigationInUse, LtiV1P0Controller, LtiV1P3Controller, NotMounted, Organization, Platform, Session

Constant Summary collapse

VERSION =
"5.3.4"
@@lti_navigation =
{}
@@lti_options =
{}
@@lti_properties =
{}
@@lti_environments =
{}
@@lti_custom_params =
{}
@@lti_private_key =
nil

Class Method Summary collapse

Class Method Details

.lti_custom_paramsObject



44
45
46
# File 'lib/panda_pal.rb', line 44

def self.lti_custom_params
  @@lti_custom_params.deep_dup
end

.lti_custom_params=(custom_params) ⇒ Object



40
41
42
# File 'lib/panda_pal.rb', line 40

def self.lti_custom_params=(custom_params)
  @@lti_custom_params = custom_params
end

.lti_environmentsObject



36
37
38
# File 'lib/panda_pal.rb', line 36

def self.lti_environments
  @@lti_environments.deep_dup
end

.lti_environments=(lti_environments) ⇒ Object



32
33
34
# File 'lib/panda_pal.rb', line 32

def self.lti_environments=(lti_environments)
  @@lti_environments = lti_environments
end

.lti_optionsObject



20
21
22
# File 'lib/panda_pal.rb', line 20

def self.lti_options
  @@lti_options.deep_dup
end

.lti_options=(lti_options) ⇒ Object



16
17
18
# File 'lib/panda_pal.rb', line 16

def self.lti_options= lti_options
  @@lti_options = lti_options
end

.lti_pathsObject



53
54
55
# File 'lib/panda_pal.rb', line 53

def self.lti_paths
  @@lti_navigation.deep_dup
end

.lti_private_keyObject



57
58
59
60
61
62
63
64
65
# File 'lib/panda_pal.rb', line 57

def self.lti_private_key
  key = @@lti_private_key.presence
  key ||= ENV['LTI_PRIVATE_KEY'].presence
  key ||= File.read(File.join( File.dirname(__FILE__), "../config/dev_lti_key.key")) if Rails.env.development?
  return nil unless key.present?

  key = OpenSSL::PKey::RSA.new(key) if key.is_a?(String)
  key
end

.lti_private_key=(v) ⇒ Object



67
68
69
# File 'lib/panda_pal.rb', line 67

def self.lti_private_key=(v)
  @@lti_private_key = k
end

.lti_propertiesObject



28
29
30
# File 'lib/panda_pal.rb', line 28

def self.lti_properties
  @@lti_properties.deep_dup
end

.lti_properties=(lti_properties) ⇒ Object



24
25
26
# File 'lib/panda_pal.rb', line 24

def self.lti_properties= lti_properties
  @@lti_properties = lti_properties
end

.stage_navigation(navigation, options) ⇒ Object



48
49
50
51
# File 'lib/panda_pal.rb', line 48

def self.stage_navigation(navigation, options)
  @@lti_navigation[navigation] ||= {}
  @@lti_navigation[navigation].merge!(options)
end