Module: Levels

Defined in:
lib/levels.rb,
lib/levels/key.rb,
lib/levels/audit.rb,
lib/levels/group.rb,
lib/levels/level.rb,
lib/levels/setup.rb,
lib/levels/runtime.rb,
lib/levels/version.rb,
lib/levels/input/json.rb,
lib/levels/input/ruby.rb,
lib/levels/input/yaml.rb,
lib/levels/key_values.rb,
lib/levels/audit/value.rb,
lib/levels/output/json.rb,
lib/levels/output/yaml.rb,
lib/levels/audit/values.rb,
lib/levels/input/system.rb,
lib/levels/configuration.rb,
lib/levels/event_handler.rb,
lib/levels/output/system.rb,
lib/levels/lazy_evaluator.rb,
lib/levels/method_missing.rb,
lib/levels/configured_group.rb,
lib/levels/system/constants.rb,
lib/levels/system/key_parser.rb,
lib/levels/audit/root_observer.rb,
lib/levels/audit/group_observer.rb,
lib/levels/audit/value_observer.rb,
lib/levels/system/key_formatter.rb,
lib/levels/system/key_generator.rb,
lib/levels/audit/nested_group_observer.rb

Defined Under Namespace

Modules: Audit, Colorizer, EventHandler, Input, MethodMissing, Output, Runtime, System Classes: CliEventHandler, ConfigCoreEventHandler, Configuration, ConfiguredGroup, Group, Key, KeyValues, LazyEvaluator, Level, NullEventHandler, Setup

Constant Summary collapse

DuplicateGroup =

Error thrown if a group is defined more than once.

Class.new(StandardError)
UnknownGroup =

Error thrown when attempting to access a group that has not been defined.

Class.new(StandardError)
UnknownKey =

Error thrown when attempting to read a key that has not been defined.

Class.new(StandardError)
VERSION =
"0.1.0"

Class Method Summary collapse

Class Method Details

.merge {|setup| ... } ⇒ Object

Public: Get a merged configuration by using the setup.

Examples

my_config = Levels.merge do |setup|
  setup.add "Base", "file.rb"
  setup.add_system
end

Returns a Levels::Configuration.

Yields:



71
72
73
74
75
# File 'lib/levels.rb', line 71

def self.merge
  setup = self.setup
  yield setup if block_given?
  setup.merge
end

.setupObject

Public: Begin a new setup. The setup is used to add one or more levels, then merged into a configuration.

Examples

setup = Levels.setup
setup.add "Base", "file.rb"
setup.add_system
my_config = setup.merge

Returns a Levels::Setup.



57
58
59
# File 'lib/levels.rb', line 57

def self.setup
  Levels::Setup.new
end