Files
discourse-subscriptions/app/serializers/discourse_subscriptions/payment_serializer.rb
T

56 lines
972 B
Ruby
Raw Normal View History

2019-09-14 12:56:28 +10:00
# frozen_string_literal: true
module DiscourseSubscriptions
class PaymentSerializer < ApplicationSerializer
attributes :payment_intent_id,
:receipt_email,
:url,
:created_at_age,
:amount,
:amount_currency,
:username,
:user_id
2019-09-14 14:20:16 +10:00
def created_at_age
Time.now - object.created_at
end
2019-09-14 16:34:51 +10:00
def amount_currency
ActiveSupport::NumberHelper.number_to_currency(
object.amount / 100,
precision: 2,
unit: currency_unit
)
end
def username
user&.username
end
private
def user
begin
User.find(object.user_id)
rescue
nil
end
end
def currency_unit
case object.currency
when "eur"
"€"
when "gbp"
"£"
when "inr"
"₹"
when "brl"
"R$"
else
"$"
end
2019-09-14 15:55:25 +10:00
end
end
2019-09-14 12:56:28 +10:00
end