class BooleanFlag
Represents a boolean flag with --flag and --no-flag variants.
Definitions
def initialize(text, prefix, value = nil)
Initialize a new boolean flag.
Signature
-
parameter
textString The full flag specification text.
-
parameter
prefixString The primary flag prefix (e.g.,
--flag).-
parameter
valueObject | Nil Reserved for future use.
Implementation
def initialize(text, prefix, value = nil)
super(text, prefix)
@value = value
@negated = @prefix.sub(/^--/, "--no-")
@alternatives = [@negated]
end
def prefix?(token)
Check if the token matches this flag.
Signature
-
parameter
tokenString The token to check.
-
returns
Boolean True if the token matches.
Implementation
def prefix?(token)
@prefix == token or @negated == token
end
def parse(input)
Parse this flag from the input.
Signature
-
parameter
inputArray(String) The command-line arguments.
-
returns
Boolean | Nil True, false, or nil.
Implementation
def parse(input)
if input.first == @prefix
input.shift
return true
elsif input.first == @negated
input.shift
return false
end
end