Sha256: 100cea44c6935b26612c8c0d828068c357475aaeb28c5ee4ba75a6f616c84a1e

Contents?: true

Size: 865 Bytes

Versions: 18

Compression:

Stored size: 865 Bytes

Contents

# frozen_string_literal: true

module Tramway::Core::ApplicationForms::SubmitHelper
  def submit(params)
    if params
      params.each { |key, value| send("#{key}=", value) }
      result = save
      result.tap do
        collecting_associations_errors unless result
      end
    else
      Tramway::Error.raise_error(:tramway, :core, :application_form, :submit, :params_should_not_be_nil)
    end
  end

  def save
    model.save
  rescue ArgumentError => e
    Tramway::Error.raise_error :tramway, :core, :application_form, :save, :argument_error, message: e.message
  rescue StandardError => e
    if e.try :name
      Tramway::Error.raise_error :tramway, :core, :application_form, :save, :looks_like_you_have_method,
        method_name: e.name.to_s.gsub('=', ''), model_class: @@model_class, class_name: self.class
    else
      raise e
    end
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
tramway-core-3.0.0.1 app/forms/tramway/core/application_forms/submit_helper.rb
tramway-core-3.0 app/forms/tramway/core/application_forms/submit_helper.rb
tramway-core-2.0.2.2 app/forms/tramway/core/application_forms/submit_helper.rb
tramway-core-2.0.2.1 app/forms/tramway/core/application_forms/submit_helper.rb
tramway-core-2.0.2 app/forms/tramway/core/application_forms/submit_helper.rb
tramway-core-2.0.1.2 app/forms/tramway/core/application_forms/submit_helper.rb
tramway-core-2.0.1.1 app/forms/tramway/core/application_forms/submit_helper.rb
tramway-core-2.0.1 app/forms/tramway/core/application_forms/submit_helper.rb
tramway-core-2.0.0.8 app/forms/tramway/core/application_forms/submit_helper.rb
tramway-core-2.0.0.7 app/forms/tramway/core/application_forms/submit_helper.rb
tramway-core-2.0.0.6 app/forms/tramway/core/application_forms/submit_helper.rb
tramway-core-2.0.0.5 app/forms/tramway/core/application_forms/submit_helper.rb
tramway-core-2.0.0.4 app/forms/tramway/core/application_forms/submit_helper.rb
tramway-core-2.0.0.3 app/forms/tramway/core/application_forms/submit_helper.rb
tramway-core-2.0.0.2 app/forms/tramway/core/application_forms/submit_helper.rb
tramway-core-2.0.0.1 app/forms/tramway/core/application_forms/submit_helper.rb
tramway-core-2.0 app/forms/tramway/core/application_forms/submit_helper.rb
tramway-core-1.18.6.1 app/forms/tramway/core/application_forms/submit_helper.rb