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, options={})

def initialize(key, default, description, options={})
  @value_set = false
  self.key = key
  self.default = default
  self.description = description
  self.options = options
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?

Whether or not there has been a value set beyond the default
def value_set?
  @value_set == true
end