Module: Arborist
- Extended by:
- MethodUtilities, Configurability, Loggability
- Defined in:
- lib/arborist.rb,
lib/arborist/mixins.rb,
lib/arborist/exceptions.rb
Overview
Arborist namespace
Defined Under Namespace
Modules: CLI, EventAPI, HashUtilities, MethodUtilities, NetworkUtilities, TimeFunctions, TimeRefinements, TreeAPI Classes: Client, ClientError, ConfigError, Dependency, Event, Loader, Manager, MessageError, Monitor, MonitorRunner, Node, NodeError, NodeSubscription, Observer, ObserverRunner, ServerError, Subscription
Constant Summary collapse
- VERSION =
Package version
'0.6.0'
- REVISION =
Version control revision
%q$Revision$
- CONFIG_ENV =
The name of the environment variable which can be used to set the config path
'ARBORIST_CONFIG'
- LOCAL_CONFIG_FILE =
The name of the config file for local overrides.
Pathname( '~/.arborist.yml' ).
- DEFAULT_CONFIG_FILE =
The name of the config file that’s loaded if none is specified.
Pathname( 'arborist.yml' ).
Class Method Summary collapse
-
.add_dsl_constructor(subclass, &method_body) ⇒ Object
Add a constructor function to the Arborist namespace called
name
with the specifiedmethod_body
. -
.client ⇒ Object
Return a new Arborist::Client.
-
.config ⇒ Object
Get the loaded config (a Configurability::Config object).
-
.config_loaded? ⇒ Boolean
Returns
true
if the configuration has been loaded at least once. -
.load_all ⇒ Object
Load all node and event types.
-
.load_config(config_file = nil, defaults = nil) ⇒ Object
Load the specified
config_file
, install the config in all objects with Configurability, and call any callbacks registered via #after_configure. -
.manager_for(loader) ⇒ Object
Return a new Arborist::Manager for the nodes loaded by the specified
loader
. -
.monitor_runner_for(loader) ⇒ Object
Return a new Arborist::MonitorRunner for the monitors described in files under the specified
loader
. -
.observer_runner_for(loader) ⇒ Object
Return a new Arborist::ObserverRunner for the observers described in files under the specified
loader
.
Instance Method Summary collapse
-
#arborist ⇒ Object
Set up a logger for the Arborist namespace.
Methods included from MethodUtilities
attr_predicate, attr_predicate_accessor, dsl_accessor, singleton_attr_accessor, singleton_attr_reader, singleton_attr_writer, singleton_method_alias, singleton_predicate_accessor, singleton_predicate_reader
Class Method Details
.add_dsl_constructor(subclass, &method_body) ⇒ Object
Add a constructor function to the Arborist namespace called name
with the specified method_body
.
90 91 92 93 94 95 96 97 98 99 100 101 102 |
# File 'lib/arborist.rb', line 90 def self::add_dsl_constructor( subclass, &method_body ) name = subclass.name.dup if name name.sub!( /.*::/, '' ) self.log.debug "Adding factory method for %p: %p" % [ name, method_body ] singleton_class.instance_exec( name, method_body ) do |name, body| define_method( name, &body ) end else self.log.info "Skipping DSL constructor for anonymous class." end end |
.client ⇒ Object
Return a new Arborist::Client.
141 142 143 |
# File 'lib/arborist.rb', line 141 def self::client return Arborist::Client.new end |
.config ⇒ Object
Get the loaded config (a Configurability::Config object)
60 61 62 |
# File 'lib/arborist.rb', line 60 def self::config Configurability.loaded_config end |
.config_loaded? ⇒ Boolean
Returns true
if the configuration has been loaded at least once.
66 67 68 |
# File 'lib/arborist.rb', line 66 def self::config_loaded? return self.config ? true : false end |
.load_all ⇒ Object
Load all node and event types
147 148 149 |
# File 'lib/arborist.rb', line 147 def self::load_all Arborist::Node.load_all end |
.load_config(config_file = nil, defaults = nil) ⇒ Object
Load the specified config_file
, install the config in all objects with Configurability, and call any callbacks registered via #after_configure.
73 74 75 76 77 78 79 80 81 82 83 84 85 |
# File 'lib/arborist.rb', line 73 def self::load_config( config_file=nil, defaults=nil ) config_file ||= ENV[ CONFIG_ENV ] config_file ||= LOCAL_CONFIG_FILE if LOCAL_CONFIG_FILE.exist? config_file ||= DEFAULT_CONFIG_FILE defaults ||= Configurability.gather_defaults self.log.info "Loading config from %p with defaults for sections: %p." % [ config_file, defaults.keys ] config = Configurability::Config.load( config_file, defaults ) config.install end |
.manager_for(loader) ⇒ Object
Return a new Arborist::Manager for the nodes loaded by the specified loader
.
106 107 108 109 110 111 112 113 |
# File 'lib/arborist.rb', line 106 def self::manager_for( loader ) self.load_all nodes = Arborist::Node.each_in( loader ) manager = Arborist::Manager.new manager.load_tree( nodes ) return manager end |
.monitor_runner_for(loader) ⇒ Object
Return a new Arborist::MonitorRunner for the monitors described in files under the specified loader
.
118 119 120 121 122 123 124 125 |
# File 'lib/arborist.rb', line 118 def self::monitor_runner_for( loader ) self.load_all monitors = Arborist::Monitor.each_in( loader ) runner = Arborist::MonitorRunner.new runner.load_monitors( monitors ) return runner end |
.observer_runner_for(loader) ⇒ Object
Return a new Arborist::ObserverRunner for the observers described in files under the specified loader
.
130 131 132 133 134 135 136 137 |
# File 'lib/arborist.rb', line 130 def self::observer_runner_for( loader ) self.load_all observers = Arborist::Observer.each_in( loader ) runner = Arborist::ObserverRunner.new runner.load_observers( observers ) return runner end |
Instance Method Details
#arborist ⇒ Object
Set up a logger for the Arborist namespace
35 |
# File 'lib/arborist.rb', line 35 log_as :arborist |