class SealineInsurance::Operations::Base

Attributes

response[R]

Промежуточный ответ сервера

Public Class Methods

new(config:) click to toggle source
# File lib/sealine_insurance/operations/base.rb, line 13
def initialize(config:)
  @config = config
end

Public Instance Methods

call() click to toggle source

Запуск операции

# File lib/sealine_insurance/operations/base.rb, line 18
def call
  raise NotImplementedError
end
fetch_status!() click to toggle source

Получение актуального статуса выполнения и результата

# File lib/sealine_insurance/operations/base.rb, line 23
def fetch_status!
  raise NotImplementedError
end
finished?() click to toggle source

Завершена ли операция (с успехом или ошибкой)

# File lib/sealine_insurance/operations/base.rb, line 28
def finished?
  response.error? || finished_status_list.include?(response.status)
end
result() click to toggle source

Окончательный результат операции (успешный или нет)

# File lib/sealine_insurance/operations/base.rb, line 38
def result
  response if finished?
end
success?() click to toggle source

Завершена ли операция с успехом

# File lib/sealine_insurance/operations/base.rb, line 33
def success?
  response.success? && success_status_list.include?(response.status)
end

Private Instance Methods

finished_status_list() click to toggle source

Массив статусов, соответствующий завершенной операции

# File lib/sealine_insurance/operations/base.rb, line 45
def finished_status_list
  raise NotImplementedError
end
request() click to toggle source
# File lib/sealine_insurance/operations/base.rb, line 54
def request
  @request ||= Request.new(config: @config)
end
success_status_list() click to toggle source

Массив статусов, соответствующий успешно завершенной операции

# File lib/sealine_insurance/operations/base.rb, line 50
def success_status_list
  raise NotImplementedError
end