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



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

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

.available_attributesObject



9
10
11
12
13
14
15
16
17
18
19
20
21
# 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,
    :old_human_price_val_exl
  ].freeze
end

.currency(rebate) ⇒ Object



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

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

.human_price(rebate) ⇒ Object

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



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

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



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

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



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

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

.old_amount(rebate) ⇒ Object

VAT incl



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

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

.old_currency(rebate) ⇒ Object



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

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

.old_human_price(rebate) ⇒ Object

VAT incl



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

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

.old_human_price_val_exl(rebate) ⇒ Object



72
73
74
75
76
77
78
79
# File 'app/serializers/lease/rebate_serializer.rb', line 72

def old_human_price_val_exl(rebate)
  val = nil
  if rebate.old_amount.present? && rebate.old_currency.present?
    val = rebate.old_amount * 100.0 / (100 + rebate.bid.vat)
    val = num_to_cur(val.to_i, rebate.old_currency, @opts[:locale])
  end
  { old_human_price_val_exl: val }
end