Files
openfoodnetwork/app/serializers/api/admin/user_serializer.rb
David Cook 0225db6840 Refactor without setter methods
This class was originally built to flexibly accept paramters in any order. It also allowed you to specify multiple of the same type of parameter, with the later one overriding the earlier.

This is too flexible and likely to cause mistakes. And besides, we don't use that feature!
2025-05-05 12:59:27 +10:00

27 lines
647 B
Ruby

# frozen_string_literal: true
require 'open_food_network/address_finder'
module Api
module Admin
class UserSerializer < ActiveModel::Serializer
attributes :id, :email, :confirmed
has_one :ship_address, serializer: Api::AddressSerializer
has_one :bill_address, serializer: Api::AddressSerializer
def ship_address
OpenFoodNetwork::AddressFinder.new(email: object.email, user: object).ship_address
end
def bill_address
OpenFoodNetwork::AddressFinder.new(email: object.email, user: object).bill_address
end
def confirmed
object.confirmed?
end
end
end
end