lib/panoptes/client.rb in panoptes-client-0.2.6 vs lib/panoptes/client.rb in panoptes-client-0.2.7

- old
+ new

@@ -1,10 +1,6 @@ -require 'faraday' -require 'faraday_middleware' -require 'faraday/panoptes' - -require "panoptes/client/version" +require "panoptes/concerns/common_client" require "panoptes/client/me" require "panoptes/client/projects" require "panoptes/client/subjects" require "panoptes/client/subject_sets" require "panoptes/client/user_groups" @@ -15,38 +11,16 @@ class GenericError < StandardError; end class ConnectionFailed < GenericError; end class ResourceNotFound < GenericError; end class ServerError < GenericError; end + include Panoptes::CommonClient include Panoptes::Client::Me include Panoptes::Client::Projects include Panoptes::Client::Subjects include Panoptes::Client::SubjectSets include Panoptes::Client::UserGroups include Panoptes::Client::Workflows - - # A client is the main interface to the API. - # - # @param auth [Hash] Authentication details - # * either nothing, - # * a hash with +:token+ (an existing OAuth user token), - # * or a hash with +:client_id+ and +:client_secret+ (a keypair for an OAuth Application). - # @param url [String] Optional override for the API location to use. Defaults to the official production environment. - def initialize(auth: {}, url: "https://panoptes.zooniverse.org") - @conn = Faraday.new(url: url) do |faraday| - case - when auth[:token] - faraday.request :panoptes_access_token, url: url, access_token: auth[:token] - when auth[:client_id] && auth[:client_secret] - faraday.request :panoptes_client_credentials, url: url, client_id: auth[:client_id], client_secret: auth[:client_secret] - end - - faraday.request :panoptes_api_v1 - faraday.request :json - faraday.response :json - faraday.adapter Faraday.default_adapter - end - end def get(path, query = {}) response = conn.get("/api" + path, query) handle_response(response) end