No commit activity in last 3 years
No release in over 3 years
There's a lot of open issues
An internal component of the NCS Navigator suite, this gem provides a common view onto shared configuration elements.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 0.3.2
~> 0.9.2
~> 2.6
~> 0.7.2

Runtime

~> 1.5
~> 0.4.1
~> 0.4
 Project Readme

NCS Navigator Common Configuration

This gem provides common configuration services to the various applications that make up NCS Navigator. It's not generally useful outside of that suite.

Use

{NcsNavigator::Configuration} defines the common configuration attributes for applications in the NCS Navigator suite. It also provides helpers (e.g., {NcsNavigator::Configuration#action_mailer_smtp_settings} for applying the configuration to some utility libraries.

{NcsNavigator.configuration} provides a global access point for an instance of NcsNavigator::Configuration. It can be explicitly set, but more commonly it is initialized from a configuration file named /etc/nubic/ncs/navigator.ini (see next section) on first access. If the INI file is changed, you'll need to set NcsNavigator.configuration to nil to have the changes reflected in the global instance.

Configuration

An instance of {NcsNavigator::Configuration} may be initialized from an INI file or by passing a Hash to its constructor. The INI file should match {file:sample_configuration.ini} available alongside this file. The Hash should have two levels, the top level matching the INI file's sections and the second level the keys.

In addition to the typed configuration properties available on NcsNavigator::Configuration, there are also three application-specific accessors: {NcsNavigator::Configuration#staff_portal #staff_portal}, {NcsNavigator::Configuration#core #core}, and {NcsNavigator::Configuration#psc #psc}. These provide untyped direct access to the configuration properties in the respective sections of the INI file, allowing applications to define their own additional configuration properties without modifying this library.