Class: ConfigFile
Defined Under Namespace
Classes: FormatError
Instance Attribute Summary collapse
-
#default_config ⇒ Object
readonly
Returns the value of attribute default_config.
Instance Method Summary collapse
- #__load__(&block) ⇒ Object
-
#initialize(filename, default_config = nil) ⇒ ConfigFile
constructor
A new instance of ConfigFile.
Constructor Details
#initialize(filename, default_config = nil) ⇒ ConfigFile
Returns a new instance of ConfigFile.
22 23 24 25 26 |
# File 'lib/config_file.rb', line 22 def initialize(filename, default_config=nil) @filename = Pathname.new(filename) @default_config = default_config.freeze __load__ end |
Instance Attribute Details
#default_config ⇒ Object (readonly)
Returns the value of attribute default_config.
20 21 22 |
# File 'lib/config_file.rb', line 20 def default_config @default_config end |
Instance Method Details
#__load__(&block) ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/config_file.rb', line 28 def __load__(&block) config = nil if @filename.exist? @filename.open do |f| f.flock(File::LOCK_EX) config = real_load(f) f.flock(File::LOCK_UN) end block ? block[config] : check_config(config) config.freeze else if $VERBOSE Kernel.warn('warning: use default configuration because no ' + 'configuration file has been found') end config = @default_config end __setobj__(config) end |