code: function(path, val, className, falsyClassName) {
          if(isArray(val)) {
            val = get(val, 'length') !== 0;
          }
  
          // When using the colon syntax, evaluate the truthiness or falsiness
          // of the value to determine which className to return
          if (className || falsyClassName) {
            if (className && !!val) {
              return className;
  
            } else if (falsyClassName && !val) {
              return falsyClassName;
  
            } else {
              return null;
            }
  
          // If value is a Boolean and true, return the dasherized property
          // name.
          } else if (val === true) {
            // Normalize property path to be suitable for use
            // as a class name. For exaple, content.foo.barBaz
            // becomes bar-baz.
            var parts = path.split('.');
            return dasherize(parts[parts.length-1]);
  
          // If the value is not false, undefined, or null, return the current
          // value of the property.
          } else if (val !== false && val != null) {
            return val;
  
          // Nothing to display. Return null so that the old class is removed
          // but no new class is added.
          } else {
            return null;
          }
        }
docs: Get the class name for a given value, based on the path, optional
  `className` and optional `falsyClassName`.
  
  - if a `className` or `falsyClassName` has been specified:
  - if the value is truthy and `className` has been specified,
  `className` is returned
  - if the value is falsy and `falsyClassName` has been specified,
  `falsyClassName` is returned
  - otherwise `null` is returned
  - if the value is `true`, the dasherized last part of the supplied path
  is returned
  - if the value is not `false`, `undefined` or `null`, the `value`
  is returned
  - if none of the above rules apply, `null` is returned
  
  @method _classStringForValue
  @param path
  @param val
  @param className
  @param falsyClassName
  @static
  @private