From 5915ac2b95fb0a243ca572541782d293720ff1bd Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Mon, 17 Dec 2018 22:54:34 -0500 Subject: [PATCH] ConfigureOp: refactor some logic into #store_common --- lib/rscons/configure_op.rb | 37 +++++++++++++++++++++---------------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/lib/rscons/configure_op.rb b/lib/rscons/configure_op.rb index 05de79d..30e5791 100644 --- a/lib/rscons/configure_op.rb +++ b/lib/rscons/configure_op.rb @@ -312,13 +312,10 @@ module Rscons # @param options [Hash] # Options. def store_merge(vars, options = {}) - usename = options[:use] || "_default_" - cache = Cache.instance - cache.configuration_data["vars"] ||= {} - cache.configuration_data["vars"][usename] ||= {} - cache.configuration_data["vars"][usename]["merge"] ||= {} + store_vars = store_common(options) + store_vars["merge"] ||= {} vars.each_pair do |key, value| - cache.configuration_data["vars"][usename]["merge"][key] = value + store_vars["merge"][key] = value end end @@ -329,16 +326,13 @@ module Rscons # @param options [Hash] # Options. def store_append(vars, options = {}) - usename = options[:use] || "_default_" - cache = Cache.instance - cache.configuration_data["vars"] ||= {} - cache.configuration_data["vars"][usename] ||= {} - cache.configuration_data["vars"][usename]["append"] ||= {} + store_vars = store_common(options) + store_vars["append"] ||= {} vars.each_pair do |key, value| - if cache.configuration_data["vars"][usename]["append"][key].is_a?(Array) and value.is_a?(Array) - cache.configuration_data["vars"][usename]["append"][key] += value + if store_vars["append"][key].is_a?(Array) and value.is_a?(Array) + store_vars["append"][key] += value else - cache.configuration_data["vars"][usename]["append"][key] = value + store_vars["append"][key] = value end end end @@ -350,12 +344,23 @@ module Rscons # @param options [Hash] # Options. def store_parse(flags, options = {}) + store_vars = store_common(options) + store_vars["parse"] ||= [] + store_vars["parse"] << flags + end + + # Common functionality for all store methods. + # + # @param options [Hash] + # Options. + # + # @return [Hash] + # Configuration Hash for storing vars. + def store_common(options) usename = options[:use] || "_default_" cache = Cache.instance cache.configuration_data["vars"] ||= {} cache.configuration_data["vars"][usename] ||= {} - cache.configuration_data["vars"][usename]["parse"] ||= [] - cache.configuration_data["vars"][usename]["parse"] << flags end # Perform processing common to several configure checks.