Sha256: 165d48df7c9a915abf1ba2d94436284d207d4925b607fa93f11a691ade1b5c8e

Contents?: true

Size: 1.06 KB

Versions: 23

Compression:

Stored size: 1.06 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,
          component: order.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

      def all_projects
        order.projects.map do |project|
          {
            id: project.id,
            title: project.title,
            description: project.description,
            budget: project.budget,
            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

23 entries across 23 versions & 1 rubygems

Version Path
decidim-budgets-0.22.0 app/serializers/decidim/budgets/data_portability_budgets_order_serializer.rb
decidim-budgets-0.21.0 app/serializers/decidim/budgets/data_portability_budgets_order_serializer.rb
decidim-budgets-0.20.1 app/serializers/decidim/budgets/data_portability_budgets_order_serializer.rb
decidim-budgets-0.20.0 app/serializers/decidim/budgets/data_portability_budgets_order_serializer.rb
decidim-budgets-0.19.1 app/serializers/decidim/budgets/data_portability_budgets_order_serializer.rb
decidim-budgets-0.18.1 app/serializers/decidim/budgets/data_portability_budgets_order_serializer.rb
decidim-budgets-0.19.0 app/serializers/decidim/budgets/data_portability_budgets_order_serializer.rb
decidim-budgets-0.17.2 app/serializers/decidim/budgets/data_portability_budgets_order_serializer.rb
decidim-budgets-0.18.0 app/serializers/decidim/budgets/data_portability_budgets_order_serializer.rb
decidim-budgets-0.17.1 app/serializers/decidim/budgets/data_portability_budgets_order_serializer.rb
decidim-budgets-0.16.1 app/serializers/decidim/budgets/data_portability_budgets_order_serializer.rb
decidim-budgets-0.17.0 app/serializers/decidim/budgets/data_portability_budgets_order_serializer.rb
decidim-budgets-0.16.0 app/serializers/decidim/budgets/data_portability_budgets_order_serializer.rb
decidim-budgets-0.15.2 app/serializers/decidim/budgets/data_portability_budgets_order_serializer.rb
decidim-budgets-0.15.1 app/serializers/decidim/budgets/data_portability_budgets_order_serializer.rb
decidim-budgets-0.15.0 app/serializers/decidim/budgets/data_portability_budgets_order_serializer.rb
decidim-budgets-0.14.4 app/serializers/decidim/budgets/data_portability_budgets_order_serializer.rb
decidim-budgets-0.14.3 app/serializers/decidim/budgets/data_portability_budgets_order_serializer.rb
decidim-budgets-0.14.2 app/serializers/decidim/budgets/data_portability_budgets_order_serializer.rb
decidim-budgets-0.14.1 app/serializers/decidim/budgets/data_portability_budgets_order_serializer.rb