Class: Sale::InquiryAskedPricesSaveService

Inherits:
AbstractPricesService show all
Defined in:
app/services/sale/inquiry_asked_prices_save_service.rb

Overview

Когда юзер предлагает свою цену продажи лодки (создаётся заявка), создается набор цен в разных валютах, подвязанных к созданной заявке.

Instance Attribute Summary

Attributes inherited from AbstractPricesService

#built_prices

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from AbstractPricesService

#initialize

Constructor Details

This class inherits a constructor from AbstractPricesService

Class Method Details

.perform(sale_inquiry_id, asked_price) ⇒ Object



7
8
9
# File 'app/services/sale/inquiry_asked_prices_save_service.rb', line 7

def self.perform(sale_inquiry_id, asked_price)
  new.perform sale_inquiry_id, asked_price
end

Instance Method Details

#perform(sale_inquiry_id, asked_price = nil) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'app/services/sale/inquiry_asked_prices_save_service.rb', line 11

def perform(sale_inquiry_id, asked_price = nil)
  _reset_ivars
  return false if asked_price.nil?

  ap              = asked_price.dup
  ap[:inquiry_id] = sale_inquiry_id
  ap[:is_orig]    = true
  ap[:value]      = ap[:value].is_a?(String) ? ap[:value].split(/[, ]/).join : ap[:value].to_i                      # с формы может прийти строка, сгруппированная по разрадям, вида "100,100,222" + тут же превращаем nil в 0
  ap[:created_at] = '\'%s\'' % Time.now.to_s(:db)
  _build_other ap

  filtered2 = @built_prices + [ap]
  _save filtered2
  true
end