Sha256: c8cef6817afe4d7abb40f0b88c9f77b38c495513fddd56044597f1a88174b70c

Contents?: true

Size: 1.02 KB

Versions: 1

Compression:

Stored size: 1.02 KB

Contents

# frozen_string_literal: true
require 'faraday'
require 'faraday_middleware'
require 'simple_oauth'

module SchoologyClient
  class Client
    attr_reader :adapter, :oauth_consumer_key, :oauth_consumer_secret, :url, :stubs

    def initialize(adapter: Faraday.default_adapter, stubs: nil)
      @adapter = adapter
      @oauth_consumer_key = SchoologyClient.configuration.oauth_consumer_key
      @oauth_consumer_secret = SchoologyClient.configuration.oauth_consumer_secret
      @url = SchoologyClient.configuration.url

      #used for specs
      @stubs = stubs
    end

    def group
      GroupResource.new(self)
    end

    def connection
      # setup faraday connection using 2-legged oauth 1.0
      connection = Faraday.new(url: @url) do |faraday|
        faraday.request :json
        faraday.request :oauth, {
          consumer_key: @oauth_consumer_key,
          consumer_secret: @oauth_consumer_secret
        }

        faraday.response :json
        faraday.adapter @adapter, @stubs
      end
      connection
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
strongmind-schoology-client-0.1.3 lib/schoology_client/client.rb