Class: RightConf::OverridesLanguage
- Inherits:
-
Object
- Object
- RightConf::OverridesLanguage
- Defined in:
- lib/rconf/overrides_language.rb
Overview
Defines ~/.rconf_overrides file DSL
Constant Summary collapse
- OVERRIDES_FILE =
Path to overrides file
File.join(ENV['HOME'], '.rconf_overrides')
- NIL_LITERAL =
Lexical token used to indicate that the value of an overridden configurator attribute should literally be nil, not the string “nil” or “none”.
/^(nil|none)$/
Class Method Summary collapse
-
.load ⇒ Object
Load overrides from file.
-
.overrides_for(key) ⇒ Object
Return override for given configurator setting if any.
-
.parse_error ⇒ Object
Return parse errors from last call to ‘parse’ if any.
-
.save ⇒ Object
Persist overrides to overrides file.
Class Method Details
.load ⇒ Object
Load overrides from file
Return
- overrides(Hash)
-
Loaded overrides
41 42 43 44 45 |
# File 'lib/rconf/overrides_language.rb', line 41 def self.load return @overrides if @overrides return {} unless File.readable?(OVERRIDES_FILE) @overrides = self.parse(IO.read(OVERRIDES_FILE)) || {} end |
.overrides_for(key) ⇒ Object
Return override for given configurator setting if any
Parameters
- key(String)
-
Configurator key
Return
- value(String||Nil)
-
Override values if any, nil otherwise
32 33 34 35 |
# File 'lib/rconf/overrides_language.rb', line 32 def self.overrides_for(key) self.load unless @overrides @overrides && @overrides[key] || {} end |
.parse_error ⇒ Object
Return parse errors from last call to ‘parse’ if any
63 64 65 |
# File 'lib/rconf/overrides_language.rb', line 63 def self.parse_error @parse_error end |
.save ⇒ Object
Persist overrides to overrides file
Return
- true
-
Always return true
51 52 53 54 55 56 57 58 59 60 |
# File 'lib/rconf/overrides_language.rb', line 51 def self.save File.open(OVERRIDES_FILE, 'w') do |f| @overrides.each do |key, settings| settings.each do |name, value| f.puts "#{key}.#{name}=#{value}" end end end true end |