lib/syncano/clients/base.rb in syncano-3.1.1.beta vs lib/syncano/clients/base.rb in syncano-3.1.1.beta2
- old
+ new
@@ -1,22 +1,30 @@
class Syncano
# Module used as a scope for classes representing clients
module Clients
# Base class for representing clients
class Base
- attr_reader :instance_name, :api_key
+ attr_reader :instance_name, :api_key, :auth_key
# Constructor for Syncano::Clients::Base object
# @param [String] instance_name
# @param [String] api_key
- def initialize(instance_name, api_key)
+ def initialize(instance_name, api_key, auth_key)
super()
self.instance_name = instance_name
self.api_key = api_key
+ self.auth_key = auth_key if auth_key.present?
end
+ # Deletes saved auth_key
+ # @return [TrueClass, FalseClass]
+ def logout
+ self.auth_key = nil
+ self.auth_key.nil?
+ end
+
# Returns query builder for Syncano::Resources::Admin objects
# @return [Syncano::QueryBuilder]
def admins
::Syncano::QueryBuilder.new(self, ::Syncano::Resources::Admin)
end
@@ -64,12 +72,12 @@
# Returns query builder for Syncano::Resources::User objects
# @param [Integer, String] project_id
# @param [Integer, String] collection_id
# @return [Syncano::QueryBuilder]
- def users(project_id, collection_id)
- ::Syncano::QueryBuilder.new(self, ::Syncano::Resources::User, project_id: project_id, collection_id: collection_id)
+ def users
+ ::Syncano::QueryBuilder.new(self, ::Syncano::Resources::User)
end
# Performs request to Syncano api
# This should be overwritten in inherited classes
# @param [String] resource_name
@@ -89,21 +97,21 @@
def make_batch_request(batch_client, resource_name, method_name, params = {})
end
private
- attr_writer :instance_name, :api_key
+ attr_writer :instance_name, :api_key, :auth_key
# Parses Syncano api response and returns Syncano::Response object
# @param [String] response_key
# @param [Hash] raw_response
# @return [Syncano::Response]
def self.parse_response(response_key, raw_response)
status = raw_response.nil? || raw_response['result'] != 'NOK'
if raw_response.nil?
data = nil
- elsif raw_response[response_key].present?
- data = raw_response[response_key]
+ elsif raw_response[response_key.to_s].present?
+ data = raw_response[response_key.to_s]
else
data = raw_response['count']
end
errors = status ? [] : raw_response['error']
\ No newline at end of file