lib/centaman/service.rb in centaman-5.0.3 vs lib/centaman/service.rb in centaman-5.0.4

- old
+ new

@@ -1,34 +1,16 @@ -require 'timeout' - module Centaman #:nodoc: class Service < Wrapper - DEFAULT_TIMEOUT_TIME = 15 - def after_init(args) # overwritten by subclasses end - def wrap_request_in_case_of_timeout(proc, options = {}) - time = options.fetch(:timeout_time, DEFAULT_TIMEOUT_TIME) - resp = nil - begin - resp = Timeout.timeout(time) do - proc.call - end - rescue Timeout::Error - p "*** CENTAMAN GEM TIMEOUT ***" - raise Exceptions::CentamanTimeout - end - resp - end - def fetch_all @get_request ||= begin req = Proc.new do - self.class.get(endpoint, payload(:get)) + self.class.get("#{api_url}#{endpoint}", payload(:get)) end resp = wrap_request_in_case_of_timeout(req, timeout_time: 20) raise resp['Message'] if resp && resp.is_a?(Hash) raise Exceptions::CentamanTimeout unless resp && resp.success? @@ -37,36 +19,27 @@ end def post @post_request ||= begin req = Proc.new do - self.class.post(endpoint, payload(:post)) + self.class.post("#{api_url}#{endpoint}", payload(:post)) end resp = wrap_request_in_case_of_timeout(req) self.respond_to?(:build_object) ? after_post(resp) : resp end end def put @put_request ||= begin req = Proc.new do - self.class.put(endpoint, payload(:put)) + self.class.put("#{api_url}#{endpoint}", payload(:put)) end resp = wrap_request_in_case_of_timeout(req) self.respond_to?(:build_object) ? after_post(resp) : resp end end def after_post(response) build_object(response) - end - - def payload(request_type = :get) - hash = { payload_key(request_type) => options_hash } - hash.merge(headers: headers) - end - - def payload_key(request_type) - request_type == :get ? :query : :body end end end