Module: Approvable::ActsAsApprovable::LocalInstanceMethods
- Defined in:
- lib/approvable/acts_as_approvable.rb
Instance Method Summary collapse
- #apply_changes ⇒ Object
- #approve_changes ⇒ Object
- #assign_attributes_with_change_request(new_attributes) ⇒ Object
-
#change_status ⇒ Object
use current_change_request here so that we dont get pending from a newly built change_request.
- #change_status_notes ⇒ Object
- #reject_changes(options = {}) ⇒ Object
- #requested_changes ⇒ Object
- #submit_changes ⇒ Object
- #unsubmit_changes ⇒ Object
Instance Method Details
#apply_changes ⇒ Object
54 55 56 57 |
# File 'lib/approvable/acts_as_approvable.rb', line 54 def apply_changes self.assign_attributes_without_change_request requested_changes self end |
#approve_changes ⇒ Object
73 74 75 76 77 78 79 |
# File 'lib/approvable/acts_as_approvable.rb', line 73 def approve_changes transaction do current_change_request.approve! if current_change_request apply_changes.save reload end end |
#assign_attributes_with_change_request(new_attributes) ⇒ Object
86 87 88 89 90 91 92 93 94 95 96 |
# File 'lib/approvable/acts_as_approvable.rb', line 86 def assign_attributes_with_change_request new_attributes ignored_params = ignored_attributes(new_attributes) approvable_params = approvable_attributes(new_attributes) if approvable_params.any? current_change_request || build_current_change_request(requested_changes: {}) current_change_request.requested_changes = requested_changes.merge approvable_params end assign_attributes_without_change_request ignored_params end |
#change_status ⇒ Object
use current_change_request here so that we dont get pending from a newly built change_request
46 47 48 |
# File 'lib/approvable/acts_as_approvable.rb', line 46 def change_status current_change_request ? current_change_request.state : 'approved' end |
#change_status_notes ⇒ Object
50 51 52 |
# File 'lib/approvable/acts_as_approvable.rb', line 50 def change_status_notes current_change_request ? current_change_request.notes : {} end |
#reject_changes(options = {}) ⇒ Object
81 82 83 84 |
# File 'lib/approvable/acts_as_approvable.rb', line 81 def reject_changes = {} current_change_request.reject! :rejected, if current_change_request reload end |
#requested_changes ⇒ Object
41 42 43 |
# File 'lib/approvable/acts_as_approvable.rb', line 41 def requested_changes current_change_request ? current_change_request.requested_changes.with_indifferent_access : {} end |
#submit_changes ⇒ Object
59 60 61 62 63 64 |
# File 'lib/approvable/acts_as_approvable.rb', line 59 def submit_changes transaction do current_change_request.submit! if current_change_request reload end end |
#unsubmit_changes ⇒ Object
66 67 68 69 70 71 |
# File 'lib/approvable/acts_as_approvable.rb', line 66 def unsubmit_changes transaction do current_change_request.unsubmit! if current_change_request reload end end |