Sha256: 7882566cf520ae9b7ca4306db5192a9f31bfb1da736dd0998e3f1811eb41c48a

Contents?: true

Size: 1.04 KB

Versions: 12

Compression:

Stored size: 1.04 KB

Contents

# frozen_string_literal: true

module Decidim
  module DummyResources
    class CreateDummyResource < Decidim::Command
      include Decidim::AttachmentMethods
      include Decidim::GalleryMethods

      def initialize(form)
        @form = form
      end

      # Creates the dummy_resource if valid.
      #
      # Broadcasts :ok if successful, :invalid otherwise.
      def call
        return broadcast(:invalid) if @form.invalid?

        if process_gallery?
          build_gallery
          return broadcast(:invalid) if gallery_invalid?
        end

        transaction do
          create_dummy_resource
          create_gallery if process_gallery?
        end

        broadcast(:ok)
      end

      private

      attr_reader :form, :dummy_resource, :gallery

      def create_dummy_resource
        @dummy_resource = DummyResource.create!(
          title: form.title,
          body: form.body,
          component: form.current_component,
          author: form.current_user
        )

        @attached_to = @dummy_resource
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
decidim-dev-0.27.9 app/commands/decidim/dummy_resources/create_dummy_resource.rb
decidim-dev-0.27.8 app/commands/decidim/dummy_resources/create_dummy_resource.rb
decidim-dev-0.27.7 app/commands/decidim/dummy_resources/create_dummy_resource.rb
decidim-dev-0.27.6 app/commands/decidim/dummy_resources/create_dummy_resource.rb
decidim-dev-0.27.5 app/commands/decidim/dummy_resources/create_dummy_resource.rb
decidim-dev-0.27.4 app/commands/decidim/dummy_resources/create_dummy_resource.rb
decidim-dev-0.27.3 app/commands/decidim/dummy_resources/create_dummy_resource.rb
decidim-dev-0.27.2 app/commands/decidim/dummy_resources/create_dummy_resource.rb
decidim-dev-0.27.1 app/commands/decidim/dummy_resources/create_dummy_resource.rb
decidim-dev-0.27.0 app/commands/decidim/dummy_resources/create_dummy_resource.rb
decidim-dev-0.27.0.rc2 app/commands/decidim/dummy_resources/create_dummy_resource.rb
decidim-dev-0.27.0.rc1 app/commands/decidim/dummy_resources/create_dummy_resource.rb