class Dendreo::API
Attributes
api_key[RW]
errors[RW]
result[RW]
url[RW]
Public Class Methods
new(url, api_key)
click to toggle source
# File lib/dendreo.rb, line 15 def initialize(url, api_key) @url = url # https://pro.dendreo.com/my_company/api @api_key = api_key @request = Request.new(base_url: @url, api_key: @api_key) @errors = @request.errors @result = nil handle_errors end
Public Instance Methods
method_missing(method_name, *args)
click to toggle source
# File lib/dendreo.rb, line 24 def method_missing(method_name, *args) @errors = [] @result = @request.call( http_method: args.first&.dig(:method), endpoint: method_name, args: args.first, ) handle_errors @result end
Private Instance Methods
handle_errors()
click to toggle source
# File lib/dendreo.rb, line 37 def handle_errors handle_init_errors @errors += @request.errors return if @errors.empty? raise Requests::Error.new(@errors.map(&:message).uniq.join(', ')) end
handle_init_errors()
click to toggle source
# File lib/dendreo.rb, line 45 def handle_init_errors errors << Requests::Error.new( 'Veuillez renseigner une url ex: https://pro.dendreo.com/my_company/api' ) if @url.nil? or @url == '' errors << Requests::Error.new( 'Veuillez renseigner une clé API' ) if @api_key.nil? or @api_key == '' end