class SealineInsurance::Operations::Calculate
Public Class Methods
new(config:, product_type:, products:, ticket_price:, options: [])
click to toggle source
Calls superclass method
SealineInsurance::Operations::Base::new
# File lib/sealine_insurance/operations/calculate.rb, line 6 def initialize(config:, product_type:, products:, ticket_price:, options: []) super(config: config) @product_type = product_type @products = products @ticket_price = ticket_price @options = options end
Public Instance Methods
call()
click to toggle source
# File lib/sealine_insurance/operations/calculate.rb, line 14 def call raw_response = request.post('/calculate-product', product_type: @product_type, products: @products, options: @options, data: { ticket_price: @ticket_price.to_i, }, ) @response = Responses::Calculate.new(raw_response) @request_id = @response.request_id end
fetch_status!()
click to toggle source
# File lib/sealine_insurance/operations/calculate.rb, line 27 def fetch_status! return unless @request_id raw_response = request.get("/calculate-product/#{@request_id}") @response = Responses::Calculate.new(raw_response) end
Private Instance Methods
finished_status_list()
click to toggle source
# File lib/sealine_insurance/operations/calculate.rb, line 36 def finished_status_list @finished_status_list ||= [ 'DONE', # Выполнено 'DONE_WITH_ERRORS', # Выполнено с ошибками 'ERROR', # Ошибка ] end
success_status_list()
click to toggle source
# File lib/sealine_insurance/operations/calculate.rb, line 44 def success_status_list @success_status_list ||= ['DONE'] end