Module: LtiProvider::LtiConfig

Defined in:
lib/lti_provider/lti_config.rb

Class Method Summary collapse

Class Method Details

.config_fileObject



10
11
12
# File 'lib/lti_provider/lti_config.rb', line 10

def self.config_file
  LtiProvider.app_root.join('config/lti.yml')
end

.load_configObject



6
7
8
# File 'lib/lti_provider/lti_config.rb', line 6

def self.load_config
  YAML::load(File.open(config_file))[Rails.env]
end

.setup!Object



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/lti_provider/lti_config.rb', line 14

def self.setup!
  config = LtiProvider::Config
  if File.exists?(config_file)
    Rails.logger.info "Initializing LTI key and secret using configuration in #{config_file}".green
    load_config.each do |k,v|
      config.send("#{k}=", v)
    end
  elsif ENV['LTI_KEY'].present? && ENV['LTI_SECRET'].present?
    Rails.logger.info "Initializing LTI key and secret using environment vars LTI_KEY and LTI_SECRET".green
    config.key = ENV['LTI_KEY']
    config.secret = ENV['LTI_SECRET']
    config.require_canvas = !!ENV['LTI_REQUIRE_CANVAS']
  else
    raise "Warning: LTI key and secret not configured for #{Rails.env})."
  end
end