Class: Toys::Flag::Syntax

Inherits:
Object
  • Object
show all
Defined in:
core-docs/toys/flag.rb

Overview

Defined in the toys-core gem

Representation of a single flag.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(str) ⇒ Syntax

Parse flag syntax

Parameters:

  • str (String)

    syntax.



21
22
23
# File 'core-docs/toys/flag.rb', line 21

def initialize(str)
  # Source available in the toys-core gem
end

Instance Attribute Details

#canonical_strString (readonly)

A canonical string representing this flag's syntax, normalized to match the type, delimiters, etc. settings of other flag syntaxes. This is generally used in help strings to represent this flag.

Returns:

  • (String)


113
114
115
# File 'core-docs/toys/flag.rb', line 113

def canonical_str
  @canonical_str
end

#flag_style:long, :short (readonly)

The style of flag (:long or :short).

Returns:

  • (:long)

    if this is a long flag (i.e. double hyphen)

  • (:short)

    if this is a short flag (i.e. single hyphen with one character).



74
75
76
# File 'core-docs/toys/flag.rb', line 74

def flag_style
  @flag_style
end

#flag_type:boolean, :value (readonly)

The type of flag (:boolean or :value)

Returns:

  • (:boolean)

    if this is a boolean flag (i.e. no value)

  • (:value)

    if this flag takes a value (even if optional)



81
82
83
# File 'core-docs/toys/flag.rb', line 81

def flag_type
  @flag_type
end

#flagsArray<String> (readonly)

The flags (without values) corresponding to this syntax.

Returns:

  • (Array<String>)


37
38
39
# File 'core-docs/toys/flag.rb', line 37

def flags
  @flags
end

#negative_flagString? (readonly)

The flag (without values) corresponding to the "negative" form of this flag, if any. i.e. if the original string was "--[no-]abc", the negative flag is "--no-abc".

Returns:

  • (String)

    The negative form.

  • (nil)

    if the flag has no negative form.



53
54
55
# File 'core-docs/toys/flag.rb', line 53

def negative_flag
  @negative_flag
end

#original_strString (readonly)

The original string that was parsed to produce this syntax.

Returns:

  • (String)


31
32
33
# File 'core-docs/toys/flag.rb', line 31

def original_str
  @original_str
end

#positive_flagString (readonly)

The flag (without values) corresponding to the normal "positive" form of this flag.

Returns:

  • (String)


44
45
46
# File 'core-docs/toys/flag.rb', line 44

def positive_flag
  @positive_flag
end

#sort_strString (readonly)

A string used to sort this flag compared with others.

Returns:

  • (String)


66
67
68
# File 'core-docs/toys/flag.rb', line 66

def sort_str
  @sort_str
end

#str_without_valueString (readonly)

The original string with the value (if any) stripped, but retaining the [no-] prefix if present.

Returns:

  • (String)


60
61
62
# File 'core-docs/toys/flag.rb', line 60

def str_without_value
  @str_without_value
end

#value_delimString? (readonly)

The default delimiter used for the value of this flag. This could be "" or " " for a short flag, or " " or "=" for a long flag.

Returns:

  • (String)

    delimiter

  • (nil)

    if this flag is a boolean flag



97
98
99
# File 'core-docs/toys/flag.rb', line 97

def value_delim
  @value_delim
end

#value_labelString? (readonly)

The default "label" for the value. e.g. in --abc=VAL the label is "VAL".

Returns:

  • (String)

    the label

  • (nil)

    if this flag is a boolean flag



105
106
107
# File 'core-docs/toys/flag.rb', line 105

def value_label
  @value_label
end

#value_type:required, ... (readonly)

The type of value (:required or :optional)

Returns:

  • (:required)

    if this flag takes a required value

  • (:optional)

    if this flag takes an optional value

  • (nil)

    if this flag is a boolean flag



89
90
91
# File 'core-docs/toys/flag.rb', line 89

def value_type
  @value_type
end