Class: Lease::RebateSerializer

Inherits:
AbstractSerializer show all
Extended by:
ActionView::Helpers::NumberHelper, Custom::CurrencyHelper
Defined in:
app/serializers/lease/rebate_serializer.rb

Class Method Summary collapse

Methods included from Custom::CurrencyHelper

currency_attribute_name, currency_for_label, currency_symbol, num_to_cur

Methods included from Custom::SelectHelper

#collection_for_select, #collection_name_by_id

Methods inherited from AbstractSerializer

opts, serialize

Class Method Details

.amount(rebate) ⇒ Object



26
27
28
# File 'app/serializers/lease/rebate_serializer.rb', line 26

def amount(rebate)
  { amount: rebate.amount }
end

.available_attributesObject



9
10
11
12
13
14
15
16
17
18
19
20
# File 'app/serializers/lease/rebate_serializer.rb', line 9

def available_attributes
  [
    :id,
    :amount,
    :currency,
    :human_price,
    :human_price_vat_incl,
    :old_amount,
    :old_currency,
    :old_human_price
  ].freeze
end

.currency(rebate) ⇒ Object



30
31
32
# File 'app/serializers/lease/rebate_serializer.rb', line 30

def currency(rebate)
  { currency: rebate.currency }
end

.human_price(rebate) ⇒ Object

то, что юзер ввёл в диалоговое окно - “total renting price, VAT excl.”



35
36
37
38
39
40
41
# File 'app/serializers/lease/rebate_serializer.rb', line 35

def human_price(rebate)
  val = nil
  if rebate.amount.present? && rebate.currency.present?
    val = num_to_cur(rebate.amount, rebate.currency, @opts[:locale])
  end
  { human_price: val }
end

.human_price_vat_incl(rebate) ⇒ Object



43
44
45
46
47
48
49
50
51
# File 'app/serializers/lease/rebate_serializer.rb', line 43

def human_price_vat_incl(rebate)
  val = nil
  if rebate.amount.present? && rebate.currency.present?
    val = rebate.amount / 100.0 * (100 + rebate.bid.vat)
    val = num_to_cur(val.to_i, rebate.currency, @opts[:locale])
  end

  { human_price_vat_incl: val }
end

.id(rebate) ⇒ Object



22
23
24
# File 'app/serializers/lease/rebate_serializer.rb', line 22

def id(rebate)
  { id: rebate.id }
end

.old_amount(rebate) ⇒ Object

VAT incl



54
55
56
# File 'app/serializers/lease/rebate_serializer.rb', line 54

def old_amount(rebate)
  { old_amount: rebate.old_amount }
end

.old_currency(rebate) ⇒ Object



58
59
60
# File 'app/serializers/lease/rebate_serializer.rb', line 58

def old_currency(rebate)
  { old_currency: rebate.old_currency }
end

.old_human_price(rebate) ⇒ Object

VAT incl



63
64
65
66
67
68
69
# File 'app/serializers/lease/rebate_serializer.rb', line 63

def old_human_price(rebate)
  val = nil
  if rebate.old_amount.present? && rebate.old_currency.present?
    val = num_to_cur(rebate.old_amount, rebate.old_currency, @opts[:locale])
  end
  { old_human_price: val }
end