Module: Dscf::Core::ReviewableModel
- Extended by:
- ActiveSupport::Concern
- Included in:
- Business
- Defined in:
- app/models/concerns/dscf/core/reviewable_model.rb
Instance Method Summary collapse
- #approved?(context = :default) ⇒ Boolean
- #build_review_for(context = :default) ⇒ Object
- #current_review_for(context = :default) ⇒ Object
- #current_status_for(context = :default) ⇒ Object
-
#draft?(context = :default) ⇒ Boolean
Helper methods for common status checks.
-
#editable?(context = :default) ⇒ Boolean
Check if resource can be edited via regular update endpoint Only draft records can be edited freely For modify status, use resubmit action with update_model: true.
- #modification_requested?(context = :default) ⇒ Boolean
- #pending?(context = :default) ⇒ Boolean
- #rejected?(context = :default) ⇒ Boolean
- #review_for(context = :default) ⇒ Object
-
#submitted?(context = :default) ⇒ Boolean
Check if resource has been submitted.
Instance Method Details
#approved?(context = :default) ⇒ Boolean
39 40 41 |
# File 'app/models/concerns/dscf/core/reviewable_model.rb', line 39 def approved?(context = :default) current_status_for(context) == "approved" end |
#build_review_for(context = :default) ⇒ Object
26 27 28 |
# File 'app/models/concerns/dscf/core/reviewable_model.rb', line 26 def build_review_for(context = :default) reviews.build(context: context.to_s) end |
#current_review_for(context = :default) ⇒ Object
14 15 16 |
# File 'app/models/concerns/dscf/core/reviewable_model.rb', line 14 def current_review_for(context = :default) review_for(context).first end |
#current_status_for(context = :default) ⇒ Object
18 19 20 21 22 23 24 |
# File 'app/models/concerns/dscf/core/reviewable_model.rb', line 18 def current_status_for(context = :default) current_review = current_review_for(context) return current_review.status if current_review # Return default initial status for zero-config "draft" end |
#draft?(context = :default) ⇒ Boolean
Helper methods for common status checks
31 32 33 |
# File 'app/models/concerns/dscf/core/reviewable_model.rb', line 31 def draft?(context = :default) current_status_for(context) == "draft" end |
#editable?(context = :default) ⇒ Boolean
Check if resource can be edited via regular update endpoint Only draft records can be edited freely For modify status, use resubmit action with update_model: true
54 55 56 |
# File 'app/models/concerns/dscf/core/reviewable_model.rb', line 54 def editable?(context = :default) draft?(context) end |
#modification_requested?(context = :default) ⇒ Boolean
47 48 49 |
# File 'app/models/concerns/dscf/core/reviewable_model.rb', line 47 def modification_requested?(context = :default) current_status_for(context) == "modify" end |
#pending?(context = :default) ⇒ Boolean
35 36 37 |
# File 'app/models/concerns/dscf/core/reviewable_model.rb', line 35 def pending?(context = :default) current_status_for(context) == "pending" end |
#rejected?(context = :default) ⇒ Boolean
43 44 45 |
# File 'app/models/concerns/dscf/core/reviewable_model.rb', line 43 def rejected?(context = :default) current_status_for(context) == "rejected" end |
#review_for(context = :default) ⇒ Object
10 11 12 |
# File 'app/models/concerns/dscf/core/reviewable_model.rb', line 10 def review_for(context = :default) reviews.with_context(context).order(created_at: :desc) end |
#submitted?(context = :default) ⇒ Boolean
Check if resource has been submitted
59 60 61 |
# File 'app/models/concerns/dscf/core/reviewable_model.rb', line 59 def submitted?(context = :default) !draft?(context) end |