From e26ebf423946cd39241614852d8d60f3f8f040a3 Mon Sep 17 00:00:00 2001 From: Maikel Linke Date: Thu, 9 Apr 2015 17:15:57 +1000 Subject: [PATCH] Serialize only activated hubs and producers of an enterprise --- app/serializers/api/enterprise_serializer.rb | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/app/serializers/api/enterprise_serializer.rb b/app/serializers/api/enterprise_serializer.rb index 95ef4cec60..532887ae01 100644 --- a/app/serializers/api/enterprise_serializer.rb +++ b/app/serializers/api/enterprise_serializer.rb @@ -36,12 +36,10 @@ class Api::CachedEnterpriseSerializer < ActiveModel::Serializer :long_description, :website, :instagram, :linkedin, :twitter, :facebook, :is_primary_producer, :is_distributor, :phone, :visible, :email, :hash, :logo, :promo_image, :path, :pickup, :delivery, - :icon, :icon_font, :producer_icon_font, :category + :icon, :icon_font, :producer_icon_font, :category, :producers, :hubs has_many :distributed_taxons, key: :taxons, serializer: Api::IdSerializer has_many :supplied_taxons, serializer: Api::IdSerializer - has_many :distributors, key: :hubs, serializer: Api::IdSerializer - has_many :suppliers, key: :producers, serializer: Api::IdSerializer has_one :address, serializer: Api::AddressSerializer @@ -73,6 +71,14 @@ class Api::CachedEnterpriseSerializer < ActiveModel::Serializer enterprise_shop_path(object) end + def producers + ActiveModel::ArraySerializer.new(object.suppliers.activated, {each_serializer: Api::IdSerializer}) + end + + def hubs + ActiveModel::ArraySerializer.new(object.distributors.activated, {each_serializer: Api::IdSerializer}) + end + # Map svg icons. def icon icons = {