Class: Admin::VoucherSerializer

Inherits:
ApplicationSerializer show all
Defined in:
app/serializers/admin/voucher_serializer.rb

Overview

typed: ignore frozen_string_literal: true

Instance Method Summary collapse

Methods inherited from ApplicationSerializer

decorate_attributes, decorator, #object_cache_key

Instance Method Details

#expiry_dateObject



22
23
24
25
26
27
28
# File 'app/serializers/admin/voucher_serializer.rb', line 22

def expiry_date
  if object.expiry_type == 'single'
    object.expiry_date
  else
    object.end_date
  end
end

#redeemed_amountObject



18
19
20
# File 'app/serializers/admin/voucher_serializer.rb', line 18

def redeemed_amount
  HhMoney.new(object.amount_cents, object.amount.currency.to_s).default_format
end

#redeemed_dateObject



30
31
32
# File 'app/serializers/admin/voucher_serializer.rb', line 30

def redeemed_date
  "#{object.created_at.strftime('%Y-%m-%d')}" if object.created_at.present?
end

#statusObject



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'app/serializers/admin/voucher_serializer.rb', line 34

def status
  is_expired = Date.parse(object.end_date.to_s) <= Time.zone.now.to_date

  if object.status == 1
    'used'
  elsif object.status == 0
    if is_expired
      'expired'
    else
      'unused'
    end
  elsif is_expired
    !object.status.nil? ? 'expired' : '-'
  end
end