Sha256: 19e211eeeee57f3868881bb848347db0c7614e43e131e65573505df18192acce

Contents?: true

Size: 1.04 KB

Versions: 34

Compression:

Stored size: 1.04 KB

Contents

# frozen_string_literal: true

module Decidim
  module DummyResources
    class CreateDummyResource < Rectify::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

34 entries across 34 versions & 1 rubygems

Version Path
decidim-dev-0.26.10 app/commands/decidim/dummy_resources/create_dummy_resource.rb
decidim-dev-0.26.9 app/commands/decidim/dummy_resources/create_dummy_resource.rb
decidim-dev-0.26.8 app/commands/decidim/dummy_resources/create_dummy_resource.rb
decidim-dev-0.26.7 app/commands/decidim/dummy_resources/create_dummy_resource.rb
decidim-dev-0.26.5 app/commands/decidim/dummy_resources/create_dummy_resource.rb
decidim-dev-0.26.4 app/commands/decidim/dummy_resources/create_dummy_resource.rb
decidim-dev-0.26.3 app/commands/decidim/dummy_resources/create_dummy_resource.rb
decidim-dev-0.26.2 app/commands/decidim/dummy_resources/create_dummy_resource.rb
decidim-dev-0.26.1 app/commands/decidim/dummy_resources/create_dummy_resource.rb
decidim-dev-0.26.0 app/commands/decidim/dummy_resources/create_dummy_resource.rb
decidim-dev-0.26.0.rc2 app/commands/decidim/dummy_resources/create_dummy_resource.rb
decidim-dev-0.26.0.rc1 app/commands/decidim/dummy_resources/create_dummy_resource.rb
decidim-dev-0.25.2 app/commands/decidim/dummy_resources/create_dummy_resource.rb
decidim-dev-0.25.1 app/commands/decidim/dummy_resources/create_dummy_resource.rb
decidim-dev-0.25.0 app/commands/decidim/dummy_resources/create_dummy_resource.rb
decidim-dev-0.25.0.rc4 app/commands/decidim/dummy_resources/create_dummy_resource.rb
decidim-dev-0.25.0.rc3 app/commands/decidim/dummy_resources/create_dummy_resource.rb
decidim-dev-0.25.0.rc2 app/commands/decidim/dummy_resources/create_dummy_resource.rb
decidim-dev-0.25.0.rc1 app/commands/decidim/dummy_resources/create_dummy_resource.rb
decidim-dev-0.24.3 app/commands/decidim/dummy_resources/create_dummy_resource.rb