Module: Legion::Extensions::Rfp::Review::Runners::Approvals
- Extended by:
- Helpers::Client
- Includes:
- Helpers::Lex
- Included in:
- Client
- Defined in:
- lib/legion/extensions/rfp/review/runners/approvals.rb
Instance Method Summary collapse
- #approve_proposal(workflow_id:, approved_by:, notes: nil) ⇒ Object
- #approve_section(workflow_id:, section_name:, approved_by:, notes: nil) ⇒ Object
- #check_readiness(sections:) ⇒ Object
- #reject_section(workflow_id:, section_name:, rejected_by:, reason:) ⇒ Object
Methods included from Helpers::Client
Instance Method Details
#approve_proposal(workflow_id:, approved_by:, notes: nil) ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/legion/extensions/rfp/review/runners/approvals.rb', line 37 def approve_proposal(workflow_id:, approved_by:, notes: nil, **) { result: { workflow_id: workflow_id, status: :approved, approved_by: approved_by, notes: notes, approved_at: Time.now.iso8601 } } end |
#approve_section(workflow_id:, section_name:, approved_by:, notes: nil) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/legion/extensions/rfp/review/runners/approvals.rb', line 11 def approve_section(workflow_id:, section_name:, approved_by:, notes: nil, **) { result: { workflow_id: workflow_id, section: section_name, status: :approved, approved_by: approved_by, notes: notes, approved_at: Time.now.iso8601 } } end |
#check_readiness(sections:) ⇒ Object
49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/legion/extensions/rfp/review/runners/approvals.rb', line 49 def check_readiness(sections:, **) all_approved = sections.all? { |s| s[:status] == :approved } pending = sections.reject { |s| s[:status] == :approved } { result: { ready: all_approved, total_sections: sections.length, approved: sections.count { |s| s[:status] == :approved }, pending_sections: pending.map { |s| s[:name] } } } end |
#reject_section(workflow_id:, section_name:, rejected_by:, reason:) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/legion/extensions/rfp/review/runners/approvals.rb', line 24 def reject_section(workflow_id:, section_name:, rejected_by:, reason:, **) { result: { workflow_id: workflow_id, section: section_name, status: :rejected, rejected_by: rejected_by, reason: reason, rejected_at: Time.now.iso8601 } } end |