Sha256: 0777c4b0bcdf4e956f494251267e17eaba5c857e6563ac73191f044fa4018f9f

Contents?: true

Size: 938 Bytes

Versions: 2

Compression:

Stored size: 938 Bytes

Contents

require 'yaml'

module LtiProvider
  module LtiConfig
    def self.load_config
      YAML::safe_load(File.open(config_file), aliases: true)[Rails.env]
    end

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

    def self.setup!
      config = LtiProvider::Config
      if File.exist?(config_file)
        Rails.logger.info "Initializing LTI key and secret using configuration in #{config_file}"
        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"
        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
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
lti_provider_engine-1.2.3 lib/lti_provider/lti_config.rb
lti_provider_engine-1.2.2 lib/lti_provider/lti_config.rb