in lib/gdk/command/config.rb [49:79]
def config_set(slug, value)
value_stored_in_gdk_yml = config.user_defined?(*slug)
old_value = config.dig(*slug)
new_value = config.bury!(slug, value)
Command.validate_config!
if old_value == new_value && value_stored_in_gdk_yml
GDK::Output.warn("'#{slug}' is already set to '#{old_value}'")
return true
elsif old_value == new_value && !value_stored_in_gdk_yml
GDK::Output.success("'#{slug}' is now set to '#{new_value}' (explicitly setting '#{old_value}').")
elsif old_value != new_value && value_stored_in_gdk_yml
GDK::Output.success("'#{slug}' is now set to '#{new_value}' (previously '#{old_value}').")
else
GDK::Output.success("'#{slug}' is now set to '#{new_value}' (previously using default '#{old_value}').")
end
config.save_yaml!
GDK::Output.info("Don't forget to run 'gdk reconfigure'.")
true
rescue GDK::ConfigSettings::SettingUndefined => e
GDK::Output.abort("Cannot get config for '#{slug}'.", e, report_error: false)
rescue TypeError => e
GDK::Output.abort(e.message, e, report_error: false)
rescue StandardError => e
GDK::Output.error(e.message, e)
abort
end