class UDAMUtils::BasePublishMapProcessor
Attributes
logger[RW]
Public Class Methods
new(params = {})
click to toggle source
# File lib/udam_utils/publish_map_processor.rb, line 43 def initialize(params = {}) @logger = params[:logger] || Logger.new(params[:log_to] || STDOUT) load_configuration_from_file(params) @publish_maps ||= @publish_map || params[:publish_maps] || params[:publish_map] raise RuntimeError, "Missing or Empty @publish_maps.\n Check your configuration in #{options[:config_file_path]}" unless (@publish_maps.is_a?(Array) and !@publish_maps.empty?) end
process(params = { })
click to toggle source
# File lib/udam_utils/publish_map_processor.rb, line 17 def process(params = { }) #new(params).process end
publish_map()
click to toggle source
# File lib/udam_utils/publish_map_processor.rb, line 15 def publish_map; @publish_map end
publish_map=(value)
click to toggle source
# File lib/udam_utils/publish_map_processor.rb, line 14 def publish_map=(value); @publish_map = value end
search_hash(hash, keys, options = { })
click to toggle source
@param [Hash] hash @param [Symbol|String|Array<Symbol, String>] keys @param [Hash] options @option options [Any] :default The default value to return if none of the keys are found @option options [Boolean] :search_keys_as_string
# File lib/udam_utils/publish_map_processor.rb, line 26 def search_hash(hash, keys, options = { }) value = options[:default] search_keys_as_string = options[:search_keys_as_string] [*keys].each do |key| value = hash[key] and break if hash.has_key?(key) if search_keys_as_string key = key.to_s value = hash[key] and break if hash.has_key?(key) end end value end
Public Instance Methods
load_configuration_from_file(params = { })
click to toggle source
@param [Hash] params @option params [String] :config_file_path
# File lib/udam_utils/publish_map_processor.rb, line 53 def load_configuration_from_file(params = { }) params = params.dup case params when String config_file_path = params params = { } when Hash config_file_path = params[:config_file_path] || params[:configuration_file_path] when Array case params.first when String config_file_path = params.shift params = params.first.is_a?(Hash) ? params.first : { } when Hash; params = params.shift else params = { } end end # case params return false unless config_file_path #raise ArgumentError, 'config_file_path is a required argument.' unless config_file_path raise "Configuration File Not Found. '#{config_file_path}'" unless File.exists?(config_file_path) logger.debug { "Loading Configuration From File. #{config_file_path}"} #require config_file_path eval(File.open(config_file_path, 'r').read) end
search_hash(hash, keys, options = { })
click to toggle source
@param [Hash] hash @param [Symbol|String|Array<Symbol, String>] keys @param [Hash] options @option options [Any] :default The default value to return if none of the keys are found @option options [Boolean] :search_keys_as_string
# File lib/udam_utils/publish_map_processor.rb, line 86 def search_hash(hash, keys, options = { }) value = options[:default] search_keys_as_string = options[:search_keys_as_string] [*keys].each do |key| value = hash[key] and break if hash.has_key?(key) if search_keys_as_string key = key.to_s value = hash[key] and break if hash.has_key?(key) end end value end