Module: Igniter::Contracts::Assembly::HookResultPolicies
- Defined in:
- lib/igniter/contracts/assembly/hook_result_policies.rb
Class Method Summary collapse
- .execution_result(result) ⇒ Object
- .operations_array(result) ⇒ Object
- .validate_operation(operation) ⇒ Object
- .validation_findings(result) ⇒ Object
Class Method Details
.execution_result(result) ⇒ Object
20 21 22 23 24 |
# File 'lib/igniter/contracts/assembly/hook_result_policies.rb', line 20 def execution_result(result) return "must return an ExecutionResult" unless result.is_a?(Execution::ExecutionResult) nil end |
.operations_array(result) ⇒ Object
9 10 11 12 13 14 15 16 17 18 |
# File 'lib/igniter/contracts/assembly/hook_result_policies.rb', line 9 def operations_array(result) return "must return an Array of operations" unless result.is_a?(Array) result.each_with_index do |operation, index| = validate_operation(operation) return "must return an Array of operations; element #{index} #{}" if end nil end |
.validate_operation(operation) ⇒ Object
36 37 38 39 40 41 42 43 |
# File 'lib/igniter/contracts/assembly/hook_result_policies.rb', line 36 def validate_operation(operation) return "must be an Execution::Operation" unless operation.is_a?(Execution::Operation) return "must use Symbol kind" unless operation.kind.is_a?(Symbol) return "must use Symbol name" unless operation.name.is_a?(Symbol) return "must use Hash attributes" unless operation.attributes.is_a?(Hash) nil end |
.validation_findings(result) ⇒ Object
26 27 28 29 30 31 32 33 34 |
# File 'lib/igniter/contracts/assembly/hook_result_policies.rb', line 26 def validation_findings(result) return nil if result.nil? return "must return an Array of ValidationFinding entries" unless result.is_a?(Array) invalid_index = result.find_index { |entry| !entry.is_a?(Execution::ValidationFinding) } return nil if invalid_index.nil? "must return an Array of ValidationFinding entries; element #{invalid_index} is invalid" end |