mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-26 20:56:48 +00:00
30 lines
708 B
Ruby
30 lines
708 B
Ruby
class Api::Admin::PaymentMethodSerializer < ActiveModel::Serializer
|
|
delegate :serializable_hash, to: :method_serializer
|
|
|
|
def method_serializer
|
|
if object.type == 'Spree::Gateway::StripeConnect'
|
|
Api::Admin::PaymentMethod::StripeSerializer.new(object)
|
|
else
|
|
Api::Admin::PaymentMethod::BaseSerializer.new(object)
|
|
end
|
|
end
|
|
end
|
|
|
|
module Api::Admin::PaymentMethod
|
|
class BaseSerializer < ActiveModel::Serializer
|
|
attributes :id, :name, :type, :tag_list, :tags
|
|
|
|
def tag_list
|
|
object.tag_list.join(",")
|
|
end
|
|
|
|
def tags
|
|
object.tag_list.map{ |t| { text: t } }
|
|
end
|
|
end
|
|
|
|
class StripeSerializer < BaseSerializer
|
|
attributes :preferred_enterprise_id
|
|
end
|
|
end
|