lib/config_base.rb in machinery-tool-1.9.0 vs lib/config_base.rb in machinery-tool-1.9.1
- old
+ new
@@ -58,55 +58,59 @@
key = normalize_key(key)
ensure_config_exists(key)
# Check if data type is correct. true and false are not of the same type which makes the check complex
if value.class != @entries[key][:value].class &&
- ! ( ( value == true || value == false ) && ( @entries[key][:value].class == TrueClass || @entries[key][:value].class == FalseClass ) )
- raise Machinery::Errors::MachineryError.new("The value \"#{value}\" for configuration key \"#{key}\" is of an invalid data type.")
+ !(boolean?(value) && boolean?(@entries[key][:value]))
+ raise Machinery::Errors::MachineryError,
+ "The value '#{value}' for configuration key '#{key}' is of an invalid data type."
end
@entries[key][:value] = value
save if options[:auto_save]
end
-
private
+ def boolean?(value)
+ value.is_a?(TrueClass) || value.is_a?(FalseClass)
+ end
+
def save
config_table_stripped = {}
@entries.each do |key,value|
config_table_stripped[key] = value[:value]
end
FileUtils.mkdir_p(Machinery::DEFAULT_CONFIG_DIR)
begin
File.write(@file, config_table_stripped.to_yaml)
- Machinery.logger.info("Wrote configuration file \"#{@file}\".")
+ Machinery.logger.info("Wrote configuration file '#{@file}'.")
rescue => e
- raise Machinery::Errors::MachineryError.new("Could not write configuration file \"#{@file}\": #{e}.")
+ raise Machinery::Errors::MachineryError.new("Could not write configuration file '#{@file}': #{e}.")
end
end
def apply_custom_config(file)
content = read_config_file(file) || []
content.each do |key, value|
begin
set(key, value, :auto_save => false )
rescue => e
- Machinery::Ui.warn "Warning: The machinery config file \"#{file}\" contains an invalid entry \"#{key}\":\n#{e}"
+ Machinery::Ui.warn "Warning: The machinery config file '#{file}' contains an invalid entry '#{key}':\n#{e}"
end
end
end
def read_config_file(file)
begin
content = YAML.load_file(file)
- Machinery.logger.info("Read configuration file \"#{file}\".")
+ Machinery.logger.info("Read configuration file '#{file}'.")
rescue => e
- Machinery::Ui.warn "Warning: Cannot parse machinery config file \"#{@file}\":\n#{e}"
+ Machinery::Ui.warn "Warning: Cannot parse machinery config file '#{@file}':\n#{e}"
end
content
end
def ensure_config_exists(key)