Module: Endow::Endpoint

Extended by:
ActiveSupport::Concern
Defined in:
lib/endow/endpoint.rb

Instance Method Summary collapse

Instance Method Details

#callObject



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/endow/endpoint.rb', line 17

def call
  with_graceful_error_handling do
    attempt = 0
    retryable on: retryable_errors,
              times: retryable_times,
              sleep: retryable_sleep do
      attempt += 1
      log_connection( self, attempt )

      if success?
        handle_successful_response
      else
        _handle_unsuccessful_response
      end
    end
  end
end

#failure?Boolean

Returns:

  • (Boolean)


39
40
41
# File 'lib/endow/endpoint.rb', line 39

def failure?
  !success?
end

#initializeObject



13
14
15
# File 'lib/endow/endpoint.rb', line 13

def initialize
  set_content nil
end

#request_bodyObject



51
52
53
# File 'lib/endow/endpoint.rb', line 51

def request_body
  request.body
end

#request_headersObject



55
56
57
# File 'lib/endow/endpoint.rb', line 55

def request_headers
  request.headers
end

#request_queryObject



47
48
49
# File 'lib/endow/endpoint.rb', line 47

def request_query
  request.query
end

#request_urlObject



43
44
45
# File 'lib/endow/endpoint.rb', line 43

def request_url
  request.url
end

#success?Boolean

Returns:

  • (Boolean)


35
36
37
# File 'lib/endow/endpoint.rb', line 35

def success?
  success_error_codes.include?( response.code )
end

#to_sObject



59
60
61
62
63
64
65
66
# File 'lib/endow/endpoint.rb', line 59

def to_s
  "#<#{self.class.name}:#{object_id} " +
    "@verb=#{http_verb.inspect} " +
    "@url=#{request_url.to_s.inspect} " +
    "@query=#{request_query.inspect} " +
    "@body=#{request_body.inspect } " +
    "@headers=#{request_headers.inspect}>"
end