tree f07bba36c791ac9e6abbf7f419cde106e953444a
parent ce08532bfdded310e8ac7dfd0c490f29a7c27c98
author akutz <sakutz@gmail.com> 1448838981 -0600
committer Steve Francia <steve.francia@gmail.com> 1449868677 -0500

Refactored IsSet to examine keys

This patch refactors the IsSet function to examine the keys in order
to see if a key is set instead of simply checking if a value is nil.
This change is necessary due to the fact that default values via
flag bindings will result in the old logic always being true for
the IsSet function due to a type's default value such as 0 for an
integer or an empty string for a string. While a type's default
value may be preferable when getting the value for a key, it
results in a false positive when determining if a key is actually
set. This change enables users to detect whether a key is set by
only returning a flag's value if it has changed.
