def description(options = {})
      label = options[:human_name] ? human_name : name
      description = label ? label.to_s : label.inspect
      description << " (#{@value.is_a?(Proc) ? '*' : @value.inspect})" unless name.to_s == @value.to_s
      description
    end
def description(options = {})
      label = options[:human_name] ? human_name : name
      description = label ? label.to_s : label.inspect
      description << " (#{@value.is_a?(Proc) ? '*' : @value.inspect})" unless name.to_s == @value.to_s
      description
    end
Generates a human-readable description of this state's name / value:

 For example,

   State.new(machine, :parked).description                               # => "parked"
   State.new(machine, :parked, :value => :parked).description            # => "parked"
   State.new(machine, :parked, :value => nil).description                # => "parked (nil)"
   State.new(machine, :parked, :value => 1).description                  # => "parked (1)"
   State.new(machine, :parked, :value => lambda {Time.now}).description  # => "parked (*)

 Configuration options:
 * <tt>:human_name</tt> - Whether to use this state's human name in the
   description or just the internal name