Class: KnapsackPro::Client::Connection

Inherits:
Object
  • Object
show all
Defined in:
lib/knapsack_pro/client/connection.rb

Defined Under Namespace

Classes: ServerError

Constant Summary collapse

TIMEOUT =
15
REQUEST_RETRY_TIMEBOX =
8

Instance Method Summary collapse

Constructor Details

#initialize(action) ⇒ Connection

Returns a new instance of Connection.



11
12
13
# File 'lib/knapsack_pro/client/connection.rb', line 11

def initialize(action)
  @action = action
end

Instance Method Details

#api_codeObject



30
31
32
33
# File 'lib/knapsack_pro/client/connection.rb', line 30

def api_code
  return unless response_body
  response_body['code']
end

#callObject



15
16
17
# File 'lib/knapsack_pro/client/connection.rb', line 15

def call
  send(action.http_method)
end

#errors?Boolean

Returns:

  • (Boolean)


26
27
28
# File 'lib/knapsack_pro/client/connection.rb', line 26

def errors?
  !!(response_body && (response_body['errors'] || response_body['error']))
end

#server_error?Boolean

Returns:

  • (Boolean)


35
36
37
38
# File 'lib/knapsack_pro/client/connection.rb', line 35

def server_error?
  status = http_response.code.to_i
  status >= 500 && status < 600
end

#success?Boolean

Returns:

  • (Boolean)


19
20
21
22
23
24
# File 'lib/knapsack_pro/client/connection.rb', line 19

def success?
  return false if !response_body

  status = http_response.code.to_i
  status >= 200 && status < 500
end