class Samovar::BooleanFlag
Represents a boolean flag with ‘–flag` and `–no-flag` variants.
def initialize(text, prefix, value = nil)
@parameter prefix [String] The primary flag prefix (e.g., `--flag`).
@parameter text [String] The full flag specification text.
Initialize a new boolean flag.
def initialize(text, prefix, value = nil) super(text, prefix) @value = value @negated = @prefix.sub(/^--/, "--no-") @alternatives = [@negated] end
def parse(input)
@parameter input [Array(String)] The command-line arguments.
Parse this flag from the input.
def parse(input) if input.first == @prefix input.shift return true elsif input.first == @negated input.shift return false end end
def prefix?(token)
@parameter token [String] The token to check.
Check if the token matches this flag.
def prefix?(token) @prefix == token or @negated == token end