Configurable tag name with 'span' by default
Remove module name and underscore class name
Group conditionals properly
If no error message given, use the model's value
Allow passing in of additional data attributes
Handle non-strings a little better?
Output value as a data attribute
Ignore project files
Renamed variables
Format value as output value such as booleans converted to 1 and 0
Create a default "source" Hash if possible and display default values based on the source
combine class names
Use block for default value to avoid unnecessary evaluation
Add hash of class names to apply to element based on "source" value

The following "success" callback (CoffeeScript) will swap out classes
based on the new value selected:

    $('.editable').editable(
      success: (response, value) ->
        element = $(this)
        css = element.data('classes') || {}
        element.removeClass(class_name) for key, class_name of css
        element.addClass(css[value])
        element.css('background-color', '')
    )

For instance, if you have "Active" and "Inactive" states, this could be
used to change the Bootstrap `label` class from `label-success` to
`label-default`.
Documentation for new options
Added ability to specify options in YAML
options[:data] was redundant, put all data attributes in options directly

All options that are processed in some way are removed from the options
Hash. The remaining options are merged into the data-* attributes.
Fixed variable reference
Fixed variable reference
Use "select" as default type for booleans