Class: Agent::Homedir::Entry
- Inherits:
-
Object
- Object
- Agent::Homedir::Entry
- Defined in:
- lib/agent/homedir/entry.rb
Instance Method Summary collapse
- #candidates ⇒ Object
- #home ⇒ Object
-
#initialize(name:, label:, env_override:, verified_on:, resolver:) ⇒ Entry
constructor
Equality and hash intentionally cover only public facts.
- #installed? ⇒ Boolean
- #with(**changes) ⇒ Object
Constructor Details
#initialize(name:, label:, env_override:, verified_on:, resolver:) ⇒ Entry
Equality and hash intentionally cover only public facts. Resolver-specific caches should key by resolver and agent name.
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/agent/homedir/entry.rb', line 10 def initialize(name:, label:, env_override:, verified_on:, resolver:) validate_name!(name) validate_label!(label) validate_env_override!(env_override) validate_verified_on!(verified_on) @resolver = resolver super( name: name, label: snapshot_string(label), env_override: snapshot_string(env_override), verified_on: ) end |
Instance Method Details
#candidates ⇒ Object
30 |
# File 'lib/agent/homedir/entry.rb', line 30 def candidates = @resolver.candidates(name) |
#home ⇒ Object
26 |
# File 'lib/agent/homedir/entry.rb', line 26 def home = @resolver.home(name) |
#installed? ⇒ Boolean
28 |
# File 'lib/agent/homedir/entry.rb', line 28 def installed? = @resolver.installed?(name) |
#with(**changes) ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/agent/homedir/entry.rb', line 32 def with(**changes) return self if changes.empty? unknown_members = changes.keys - self.class.members fail ArgumentError, "Unknown member(s) for #{self.class}: #{unknown_members.map(&:inspect).join(', ')}" if unknown_members.any? reject_resolver_bound_changes!(changes) updated = to_h.merge(changes) return self if updated == to_h self.class.new(**updated, resolver: @resolver) end |