Module: Agent::Homedir

Defined in:
lib/agent/homedir.rb,
lib/agent/homedir.rb,
lib/agent/homedir/entry.rb,
lib/agent/homedir/error.rb,
lib/agent/homedir/version.rb,
lib/agent/homedir/registry.rb,
lib/agent/homedir/resolver.rb,
lib/agent/homedir/unknown_agent.rb,
lib/agent/homedir/home_not_resolvable.rb

Defined Under Namespace

Classes: Entry, Error, HomeNotResolvable, Resolver, UnknownAgent

Constant Summary collapse

VERSION =
"0.3.0"

Class Method Summary collapse

Class Method Details

.[](name) ⇒ Agent::Homedir::Entry

Returns the named agent from the default registry.

Parameters:

  • name (String, Symbol)

Returns:

Raises:



59
60
61
# File 'lib/agent/homedir.rb', line 59

def [](name)
  default_resolver[name]
end

.agentsArray<Agent::Homedir::Entry>

Returns all known agents in registry order.

Returns:



66
67
68
# File 'lib/agent/homedir.rb', line 66

def agents
  default_resolver.agents
end

.default_resolverAgent::Homedir::Resolver

Returns the memoized default resolver built from the current environment. ENV and HOME are snapshotted on first access and reused for process lifetime.

Returns:

Raises:

  • (ArgumentError)

    if the current host OS is unsupported



26
27
28
29
30
31
32
# File 'lib/agent/homedir.rb', line 26

def default_resolver
  return @default_resolver if @default_resolver

  DEFAULT_RESOLVER_MONITOR.synchronize do
    @default_resolver ||= Resolver.new
  end
end

.home(name) ⇒ Pathname

Returns the configured home directory for the named agent.

Parameters:

  • name (String, Symbol)

Returns:

  • (Pathname)

Raises:



40
41
42
# File 'lib/agent/homedir.rb', line 40

def home(name)
  default_resolver.home(name)
end

.installedArray<Agent::Homedir::Entry>

Returns currently installed agents in registry order.

Returns:

Raises:



74
75
76
# File 'lib/agent/homedir.rb', line 74

def installed
  default_resolver.installed
end

.installed?(name) ⇒ Boolean

Returns whether the named agent is currently installed.

Parameters:

  • name (String, Symbol)

Returns:

  • (Boolean)

Raises:



50
51
52
# File 'lib/agent/homedir.rb', line 50

def installed?(name)
  default_resolver.installed?(name)
end

.namesArray<Symbol>

Returns all known agent names in registry order.

Returns:

  • (Array<Symbol>)


81
82
83
# File 'lib/agent/homedir.rb', line 81

def names
  default_resolver.names
end