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