Class: Kward::Skills::TrustCoordinator
- Inherits:
-
Object
- Object
- Kward::Skills::TrustCoordinator
- Defined in:
- lib/kward/skills/trust_coordinator.rb
Overview
Resolves which discovered project skills need a user decision.
Instance Method Summary collapse
- #allowed_paths(candidates) ⇒ Object
- #decision(candidate) ⇒ Object
-
#initialize(workspace_root:, trust_store:) ⇒ TrustCoordinator
constructor
A new instance of TrustCoordinator.
- #pending(candidates) ⇒ Object
- #record!(candidates, decision) ⇒ Object
- #remove_workspace! ⇒ Object
Constructor Details
#initialize(workspace_root:, trust_store:) ⇒ TrustCoordinator
Returns a new instance of TrustCoordinator.
8 9 10 11 |
# File 'lib/kward/skills/trust_coordinator.rb', line 8 def initialize(workspace_root:, trust_store:) @workspace_root = workspace_root @trust_store = trust_store end |
Instance Method Details
#allowed_paths(candidates) ⇒ Object
25 26 27 |
# File 'lib/kward/skills/trust_coordinator.rb', line 25 def allowed_paths(candidates) candidates.filter_map { |candidate| candidate.path if decision(candidate) == "allow" } end |
#decision(candidate) ⇒ Object
13 14 15 16 17 18 19 |
# File 'lib/kward/skills/trust_coordinator.rb', line 13 def decision(candidate) @trust_store.decision( workspace_root: @workspace_root, skill_path: candidate.path, digest: candidate.digest ) end |
#pending(candidates) ⇒ Object
21 22 23 |
# File 'lib/kward/skills/trust_coordinator.rb', line 21 def pending(candidates) candidates.reject { |candidate| decision(candidate) } end |
#record!(candidates, decision) ⇒ Object
33 34 35 36 37 38 39 40 41 42 |
# File 'lib/kward/skills/trust_coordinator.rb', line 33 def record!(candidates, decision) candidates.each do |candidate| @trust_store.set_decision!( workspace_root: @workspace_root, skill_path: candidate.path, digest: candidate.digest, decision: decision ) end end |
#remove_workspace! ⇒ Object
29 30 31 |
# File 'lib/kward/skills/trust_coordinator.rb', line 29 def remove_workspace! @trust_store.remove_workspace!(workspace_root: @workspace_root) end |