Sha256: b9d59b56c4b4bd953fece768365528040c9bfa2e166bae94a1ccb1bd0364b70e

Contents?: true

Size: 1.15 KB

Versions: 19

Compression:

Stored size: 1.15 KB

Contents

# frozen_string_literal: true

module Decidim
  module Budgets
    class DataPortabilityBudgetsOrderSerializer < Decidim::Exporters::Serializer
      # Public: Initializes the serializer with a conversation.
      def initialize(order)
        @order = order
      end

      # Serializes a Debate for data portability
      def serialize
        {
          id: order.id,
          budget: order.budget.title,
          component: order.budget.component.name,
          checked_out_at: order.checked_out_at,
          projects: all_projects,
          created_at: order.created_at,
          updated_at: order.updated_at
        }
      end

      private

      attr_reader :order
      alias resource order

      def all_projects
        order.projects.map do |project|
          {
            id: project.id,
            title: project.title,
            description: project.description,
            budget_amount: project.budget_amount,
            scope: project.try(:scope).try(:name),
            reference: project.reference,
            created_at: project.created_at,
            updated_at: project.updated_at
          }
        end
      end
    end
  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
decidim-budgets-0.26.10 app/serializers/decidim/budgets/data_portability_budgets_order_serializer.rb
decidim-budgets-0.26.9 app/serializers/decidim/budgets/data_portability_budgets_order_serializer.rb
decidim-budgets-0.26.8 app/serializers/decidim/budgets/data_portability_budgets_order_serializer.rb
decidim-budgets-0.26.7 app/serializers/decidim/budgets/data_portability_budgets_order_serializer.rb
decidim-budgets-0.26.5 app/serializers/decidim/budgets/data_portability_budgets_order_serializer.rb
decidim-budgets-0.26.4 app/serializers/decidim/budgets/data_portability_budgets_order_serializer.rb
decidim-budgets-0.26.3 app/serializers/decidim/budgets/data_portability_budgets_order_serializer.rb
decidim-budgets-0.26.2 app/serializers/decidim/budgets/data_portability_budgets_order_serializer.rb
decidim-budgets-0.26.1 app/serializers/decidim/budgets/data_portability_budgets_order_serializer.rb
decidim-budgets-0.26.0 app/serializers/decidim/budgets/data_portability_budgets_order_serializer.rb
decidim-budgets-0.26.0.rc2 app/serializers/decidim/budgets/data_portability_budgets_order_serializer.rb
decidim-budgets-0.26.0.rc1 app/serializers/decidim/budgets/data_portability_budgets_order_serializer.rb
decidim-budgets-0.25.2 app/serializers/decidim/budgets/data_portability_budgets_order_serializer.rb
decidim-budgets-0.25.1 app/serializers/decidim/budgets/data_portability_budgets_order_serializer.rb
decidim-budgets-0.25.0 app/serializers/decidim/budgets/data_portability_budgets_order_serializer.rb
decidim-budgets-0.25.0.rc4 app/serializers/decidim/budgets/data_portability_budgets_order_serializer.rb
decidim-budgets-0.25.0.rc3 app/serializers/decidim/budgets/data_portability_budgets_order_serializer.rb
decidim-budgets-0.25.0.rc2 app/serializers/decidim/budgets/data_portability_budgets_order_serializer.rb
decidim-budgets-0.25.0.rc1 app/serializers/decidim/budgets/data_portability_budgets_order_serializer.rb