# frozen_string_literal: true require "faraday" require "rails" require_relative "schoology_client/version" module SchoologyClient class << self attr_accessor :configuration end autoload :Client, "schoology_client/client" autoload :Configuration, "schoology_client/configuration" autoload :Object, "schoology_client/object" autoload :Resource, "schoology_client/resource" autoload :Error, "schoology_client/error" # High-level categories of Schoology API calls autoload :GroupResource, "schoology_client/resources/group" # Classes used to return a nicer object wrapping the response data autoload :Group, "schoology/objects/group" autoload :OAuth, 'schoology_client/oauth' Faraday::Request.register_middleware oauth: -> { OAuth } def self.configuration @configuration ||= SchoologyClient::Configuration.new end def self.configure yield(configuration) end def initialize @oauth_consumer_key = self.class.configuration.oauth_consumer_key @oauth_consumer_secret = self.class.configuration.oauth_consumer_secret @url = self.class.configuration.url end end