Sha256: e3ff8e03e83930d547612939412bcbc9fe1dfef4e723d8c51f002c3d92831b39

Contents?: true

Size: 702 Bytes

Versions: 18

Compression:

Stored size: 702 Bytes

Contents

require_dependency 'flexite/action_service'

module Flexite
  class Entry
    class CreateService < ActionService
      def call
        if @form.invalid?
          return failure
        end

        @record = @form.type.constantize.create do |record|
          record.value = @form.value
          record.parent_id = @form.parent_id
          record.parent_type = @form.parent_type
        end

        success
      end

      private

      def failure
        save_errors
        Result.new(success: false, endpoint: { action: :new, status: 400 })
      end

      def success
        Result.new(flash: { type: :success, message: 'Entry was created!' }, data: @record)
      end
    end
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
flexite-0.0.25 app/services/flexite/entry/create_service.rb
flexite-0.0.24 app/services/flexite/entry/create_service.rb
flexite-0.0.23 app/services/flexite/entry/create_service.rb
flexite-0.0.22 app/services/flexite/entry/create_service.rb
flexite-0.0.21 app/services/flexite/entry/create_service.rb
flexite-0.0.20 app/services/flexite/entry/create_service.rb
flexite-0.0.19 app/services/flexite/entry/create_service.rb
flexite-0.0.18 app/services/flexite/entry/create_service.rb
flexite-0.0.17 app/services/flexite/entry/create_service.rb
flexite-0.0.16 app/services/flexite/entry/create_service.rb
flexite-0.0.15 app/services/flexite/entry/create_service.rb
flexite-0.0.14 app/services/flexite/entry/create_service.rb
flexite-0.0.13 app/services/flexite/entry/create_service.rb
flexite-0.0.12 app/services/flexite/entry/create_service.rb
flexite-0.0.11 app/services/flexite/entry/create_service.rb
flexite-0.0.10 app/services/flexite/entry/create_service.rb
flexite-0.0.9 app/services/flexite/entry/create_service.rb
flexite-0.0.8 app/services/flexite/entry/create_service.rb