lib/rbatch/common_config.rb in rbatch-2.1.0 vs lib/rbatch/common_config.rb in rbatch-2.1.1

- old
+ new

@@ -1,71 +1 @@ -require 'yaml' -require 'pathname' - -module RBatch - - module_function - # Common-config Reader - # - # Read common config file and return hash opject. If the key does not exist in config file, raise RBatch::CommonConfig::Exception. - # - # Default common config file path is "${RB_HOME}/conf/common.yaml" - # ==== Sample - # config : ${RB_HOME}/conf/common.yaml - # key: value - # array: - # - item1 - # - item2 - # - item3 - # script : ${RB_HOME}/bin/sample.rb - # require 'rbatch' - # p RBatch::common_config - # => {"key" => "value", "array" => ["item1", "item2", "item3"]} - class CommonConfig - @path - @hash - def initialize - file = RBatch.run_conf[:common_conf_name] - @path = File.join(RBatch.conf_dir,file) - begin - @hash = YAML::load_file(@path) - rescue Errno::ENOENT => e - @hash = nil - end - end - def[](key) - if @hash.nil? - raise RBatch::CommonConfig::Exception, "Common Config file \"#{@path}\" does not exist" - end - if @hash[key].nil? - if key.class == Symbol - raise RBatch::CommonConfig::Exception, "Value of key(:#{key} (Symbol)) is nil. By any chance, dou you mistake key class Symbol for String?" - elsif key.class == String - raise RBatch::CommonConfig::Exception, "Value of key(\"#{key}\" (String)) is nil" - else - raise RBatch::CommonConfig::Exception, "Value of key(#{key}) is nil" - end - else - @hash[key] - end - end - def path ; @path ; end - def exist? ; ! @hash.nil? ; end - def to_h - if @hash.nil? - raise RBatch::CommonConfig::Exception, "Common Config file \"#{@path}\" does not exist" - else - @hash - end - end - def to_s - if @hash.nil? - raise RBatch::CommonConfig::Exception, "Common Config file \"#{@path}\" does not exist" - else - @hash.to_s - end - end - end - - class RBatch::CommonConfig::Exception < Exception; end -end - \ No newline at end of file