Sha256: b2a75702cd287cce77e8339f6b0ebe6440c08cabee2993f2c8f2120c6d7294e0

Contents?: true

Size: 1.46 KB

Versions: 5

Compression:

Stored size: 1.46 KB

Contents

# frozen_string_literal: true

require "decidim/core"

module Decidim
  module Budgets
    # This is the engine that runs on the public interface of `decidim-budgets`.
    # It mostly handles rendering the created projects associated to a participatory
    # process.
    class Engine < ::Rails::Engine
      isolate_namespace Decidim::Budgets

      routes do
        resources :budgets, only: [:index, :show] do
          resources :projects, only: [:index, :show]
          resource :order, only: [:destroy] do
            member do
              post :checkout
            end
            resource :line_item, only: [:create, :destroy]
          end
        end

        root to: "budgets#index"
      end

      initializer "decidim_budgets.add_cells_view_paths" do
        Cell::ViewModel.view_paths << File.expand_path("#{Decidim::Budgets::Engine.root}/app/cells")
        Cell::ViewModel.view_paths << File.expand_path("#{Decidim::Budgets::Engine.root}/app/views") # for partials
      end

      initializer "decidim_budgets.register_metrics" do
        Decidim.metrics_operation.register(:participants, :budgets) do |metric_operation|
          metric_operation.manager_class = "Decidim::Budgets::Metrics::BudgetParticipantsMetricMeasure"
        end

        Decidim.metrics_operation.register(:followers, :budgets) do |metric_operation|
          metric_operation.manager_class = "Decidim::Budgets::Metrics::BudgetFollowersMetricMeasure"
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
decidim-budgets-0.25.0 lib/decidim/budgets/engine.rb
decidim-budgets-0.25.0.rc4 lib/decidim/budgets/engine.rb
decidim-budgets-0.25.0.rc3 lib/decidim/budgets/engine.rb
decidim-budgets-0.25.0.rc2 lib/decidim/budgets/engine.rb
decidim-budgets-0.25.0.rc1 lib/decidim/budgets/engine.rb