Class: Approval::RequestForm::Base

Inherits:
Object
  • Object
show all
Includes:
ActiveModel::Model
Defined in:
app/models/approval/request_form/base.rb

Direct Known Subclasses

Create, Destroy, Perform, Update

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(user:, reason:, records:) ⇒ Base

Returns a new instance of Base.



8
9
10
11
12
# File 'app/models/approval/request_form/base.rb', line 8

def initialize(user:, reason:, records:)
  @user    = user
  @reason  = reason
  @records = records
end

Instance Attribute Details

#reasonObject

Returns the value of attribute reason.



6
7
8
# File 'app/models/approval/request_form/base.rb', line 6

def reason
  @reason
end

#recordsObject

Returns the value of attribute records.



6
7
8
# File 'app/models/approval/request_form/base.rb', line 6

def records
  @records
end

#userObject

Returns the value of attribute user.



6
7
8
# File 'app/models/approval/request_form/base.rb', line 6

def user
  @user
end

Instance Method Details

#error_full_messagesObject



34
35
36
# File 'app/models/approval/request_form/base.rb', line 34

def error_full_messages
  [errors, request.errors].flat_map(&:full_messages)
end

#requestObject



30
31
32
# File 'app/models/approval/request_form/base.rb', line 30

def request
  @request ||= user.approval_requests.new
end

#saveObject



18
19
20
21
22
# File 'app/models/approval/request_form/base.rb', line 18

def save
  return false unless valid?

  prepare(&:save)
end

#save!Object

Raises:

  • (::ActiveRecord::RecordInvalid)


24
25
26
27
28
# File 'app/models/approval/request_form/base.rb', line 24

def save!
  raise ::ActiveRecord::RecordInvalid unless valid?

  prepare(&:save!)
end