Class: LessonlyApi::Utils::Client

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/lessonly_api/utils/client.rb

Constant Summary collapse

ERRORS_MAPPING =
{
  400 => LessonlyApi::Errors::BadRequest,
  401 => LessonlyApi::Errors::Unauthorized,
  403 => LessonlyApi::Errors::Forbidden,
  404 => LessonlyApi::Errors::NotFound,
  405 => LessonlyApi::Errors::MethodNotAllowed,
  406 => LessonlyApi::Errors::NotAcceptable,
  500 => LessonlyApi::Errors::InternalServerError,
  503 => LessonlyApi::Errors::ServiceUnavailable
}.freeze

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(configuration) ⇒ Client

Returns a new instance of Client.



26
27
28
29
30
31
# File 'lib/lessonly_api/utils/client.rb', line 26

def initialize(configuration)
  @root_url = configuration.root_url
  @domain = configuration.domain
  @api_key = configuration.api_key
  @logger = configuration.logger
end

Instance Attribute Details

#api_keyObject (readonly)

Returns the value of attribute api_key.



24
25
26
# File 'lib/lessonly_api/utils/client.rb', line 24

def api_key
  @api_key
end

#domainObject (readonly)

Returns the value of attribute domain.



24
25
26
# File 'lib/lessonly_api/utils/client.rb', line 24

def domain
  @domain
end

#loggerObject (readonly)

Returns the value of attribute logger.



24
25
26
# File 'lib/lessonly_api/utils/client.rb', line 24

def logger
  @logger
end

#root_urlObject (readonly)

Returns the value of attribute root_url.



24
25
26
# File 'lib/lessonly_api/utils/client.rb', line 24

def root_url
  @root_url
end

Class Method Details

.instanceObject



33
34
35
# File 'lib/lessonly_api/utils/client.rb', line 33

def self.instance
  @instance ||= new(LessonlyApi.configuration)
end

Instance Method Details

#send_delete(endpoint, params = {}) ⇒ Object



49
50
51
# File 'lib/lessonly_api/utils/client.rb', line 49

def send_delete(endpoint, params = {})
  send_request(:delete, endpoint, params)
end

#send_get(endpoint, params = {}) ⇒ Object



37
38
39
# File 'lib/lessonly_api/utils/client.rb', line 37

def send_get(endpoint, params = {})
  send_request(:get, endpoint, params)
end

#send_post(endpoint, params = {}) ⇒ Object



41
42
43
# File 'lib/lessonly_api/utils/client.rb', line 41

def send_post(endpoint, params = {})
  send_request(:post, endpoint, params)
end

#send_put(endpoint, params = {}) ⇒ Object



45
46
47
# File 'lib/lessonly_api/utils/client.rb', line 45

def send_put(endpoint, params = {})
  send_request(:put, endpoint, params)
end