Method: QuiversTaskrunner::SettingsHelper.deserialize_string_key_value_pair

Defined in:
lib/quiverstaskrunner/helpers/settingshelper.rb

.deserialize_string_key_value_pair(string_key_value_pair) ⇒ Object



75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
# File 'lib/quiverstaskrunner/helpers/settingshelper.rb', line 75

def deserialize_string_key_value_pair(string_key_value_pair)
	if (defined? string_key_value_pair) && (string_key_value_pair.is_a?(Array)) && (!string_key_value_pair.empty?) && (string_key_value_pair.length > 1)
		key = string_key_value_pair[0]
			.gsub("__", "-")
			.gsub("___", ".")
		value = string_key_value_pair[1].gsub(@@escape_hash_connector, "=>")
		if (defined? value) && (!value.nil?) && (!value.empty?)
			deserialize_value =
				if (value.index("[") == 0) || (value.index("{") == 0) # this is an array or a hash
					eval(value)
				else
					value
				end
			return [key, deserialize_value]
		else
			return string_key_value_pair
		end
	else
		return string_key_value_pair
	end
end