Sha256: e0dffa11eca4286fc438e4f96dc341c86f7435de2fc6fc18abde240b5eb50d11

Contents?: true

Size: 1.18 KB

Versions: 29

Compression:

Stored size: 1.18 KB

Contents

module Spree
  module Api
    module V2
      module Platform
        class MenuItemSerializer < BaseSerializer
          include ResourceSerializerConcern

          attributes :link

          attribute :is_container do |menu_item|
            menu_item.container?
          end

          attribute :is_root do |menu_item|
            menu_item.root?
          end

          attribute :is_child do |menu_item|
            menu_item.child?
          end

          attribute :is_leaf do |menu_item|
            menu_item.leaf?
          end

          has_one :icon,
                  object_method_name: :icon,
                  id_method_name: :icon_id,
                  record_type: :icon,
                  serializer: :icon

          belongs_to :menu, serializer: :menu
          belongs_to :parent, record_type: :menu_item, serializer: :menu_item
          belongs_to :linked_resource, polymorphic: {
            Spree::Cms::Pages::StandardPage => :cms_page,
            Spree::Cms::Pages::FeaturePage => :cms_page,
            Spree::Cms::Pages::Homepage => :cms_page
          }

          has_many :children, record_type: :menu_item, serializer: :menu_item
        end
      end
    end
  end
end

Version data entries

29 entries across 29 versions & 3 rubygems

Version Path
spree_api-4.10.1 app/serializers/spree/api/v2/platform/menu_item_serializer.rb
spree_api-4.10.0 app/serializers/spree/api/v2/platform/menu_item_serializer.rb
spree_api-4.9.0 app/serializers/spree/api/v2/platform/menu_item_serializer.rb
spree_api-4.8.3 app/serializers/spree/api/v2/platform/menu_item_serializer.rb
spree_api-4.8.2 app/serializers/spree/api/v2/platform/menu_item_serializer.rb
spree_api-4.7.3 app/serializers/spree/api/v2/platform/menu_item_serializer.rb
spree_api-4.6.6 app/serializers/spree/api/v2/platform/menu_item_serializer.rb
spree_api-4.5.5 app/serializers/spree/api/v2/platform/menu_item_serializer.rb
spree_api-4.4.1 app/serializers/spree/api/v2/platform/menu_item_serializer.rb
spree_api-4.5.4 app/serializers/spree/api/v2/platform/menu_item_serializer.rb
spree_api-4.6.5 app/serializers/spree/api/v2/platform/menu_item_serializer.rb
spree_api-4.7.2 app/serializers/spree/api/v2/platform/menu_item_serializer.rb
spree_api-4.7.1 app/serializers/spree/api/v2/platform/menu_item_serializer.rb
spree_api-4.6.4 app/serializers/spree/api/v2/platform/menu_item_serializer.rb
spree_api-4.7.0 app/serializers/spree/api/v2/platform/menu_item_serializer.rb
spree_api-4.6.3 app/serializers/spree/api/v2/platform/menu_item_serializer.rb
spree_api-4.6.2 app/serializers/spree/api/v2/platform/menu_item_serializer.rb
spree_api-4.6.1 app/serializers/spree/api/v2/platform/menu_item_serializer.rb
spree_api-4.6.0 app/serializers/spree/api/v2/platform/menu_item_serializer.rb
spree_api-4.5.3 app/serializers/spree/api/v2/platform/menu_item_serializer.rb