class Middleman::Configuration::ConfigSetting

Also models whether or not a value has been set.
An individual configuration setting, with an optional default and description.

def initialize(key, default, description)

def initialize(key, default, description)
  @value_set = false
  self.key = key
  self.default = default
  self.description = description
end

def value

user sets the value to nil it will override the default.
if the user has not set a value themselves. Note that even if the
The effective value of the setting, which may be the default
def value
  value_set? ? @value : default
end

def value=(value)

The user-supplied value for this setting, overriding the default
def value=(value)
  @value = value
  @value_set = true
end

def value_set?

rubocop:disable TrivialAccessors
Whether or not there has been a value set beyond the default
def value_set?
  @value_set
end