class Bogo::Cli::Parser::Flag
Attributes
callable[R]
@return [Proc] block to execute on flag called
default[R]
@return [String] default value
description[R]
@return [String] flag description
long_name[R]
@return [String] long flag
short_name[R]
@return [String] short flag
Public Class Methods
new(long_name:, short_name: nil, description: nil, default: nil, callable: nil )
click to toggle source
Create a new flag
@param short_name
[String, Symbol] Single character flag @param long_name
[String, Symbol] Full flag name @param description [String] Description of flag @param default [Object] Default value for flag @return Flag
# File lib/bogo-cli/parser.rb, line 267 def initialize(long_name:, short_name: nil, description: nil, default: nil, callable: nil ) if short_name short_name = short_name.to_s short_name = short_name[1, short_name.size] if short_name.start_with?('-') raise ArgumentError, "Flag short name must be single character (flag: #{short_name})" if short_name.size > 1 end @short_name = short_name @long_name = long_name.to_s.sub(/^-+/, '').gsub('_', '-') @description = description @default = default @callable = callable end
Public Instance Methods
boolean?()
click to toggle source
@return [Boolean] flag is boolean value
# File lib/bogo-cli/parser.rb, line 294 def boolean? !long_name.include?('=') end
option_name()
click to toggle source
@return [Symbol] option compatible name
# File lib/bogo-cli/parser.rb, line 289 def option_name long_name.split('=').first.gsub('-', '_').to_sym end