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
text
String
The full flag specification text.
-
parameter
prefix
String
The primary flag prefix (e.g.,
--flag
).-
parameter
value
Object | 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
token
String
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
input
Array(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