class Golden::ActiveRecordForm

Public Class Methods

new(params, accessors = {}) click to toggle source
# File lib/golden/objects/form/active_record_form.rb, line 5
def initialize(params, accessors = {})
  assign_attributes(strip_attributes(params))
  assign_attributes(strip_attributes(accessors || {}))
end

Public Instance Methods

save() click to toggle source
# File lib/golden/objects/form/active_record_form.rb, line 10
def save
  return false if invalid?

  ::ActiveRecord::Base.transaction do
    run_callbacks(:save) { persist! }
  end
  errors.empty?
end

Private Instance Methods

persist!() click to toggle source
# File lib/golden/objects/form/active_record_form.rb, line 21
    def persist!
      raise NotImplementedError, <<~ERROR
        Please define #{__method__} like
        ```
          def #{__method__}
            return true if @order.save

            errors.merge! @order.errors
            false
          end
        ```
      ERROR
    end