Class: SealineInsurance::Operations::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/sealine_insurance/operations/base.rb

Direct Known Subclasses

Calculate, CancelOrder, CreateOrder, CreatePayment

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(config:) ⇒ Base

Returns a new instance of Base.



13
14
15
# File 'lib/sealine_insurance/operations/base.rb', line 13

def initialize(config:)
  @config = config
end

Instance Attribute Details

#responseObject (readonly)

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



11
12
13
# File 'lib/sealine_insurance/operations/base.rb', line 11

def response
  @response
end

Instance Method Details

#callObject

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

Raises:

  • (NotImplementedError)


18
19
20
# File 'lib/sealine_insurance/operations/base.rb', line 18

def call
  raise NotImplementedError
end

#fetch_status!Object

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

Raises:

  • (NotImplementedError)


23
24
25
# File 'lib/sealine_insurance/operations/base.rb', line 23

def fetch_status!
  raise NotImplementedError
end

#finished?Boolean

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

Returns:

  • (Boolean)


28
29
30
# File 'lib/sealine_insurance/operations/base.rb', line 28

def finished?
  response.error? || finished_status_list.include?(response.status)
end

#resultObject

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



38
39
40
# File 'lib/sealine_insurance/operations/base.rb', line 38

def result
  response if finished?
end

#success?Boolean

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

Returns:

  • (Boolean)


33
34
35
# File 'lib/sealine_insurance/operations/base.rb', line 33

def success?
  response.success? && success_status_list.include?(response.status)
end