Class: Toys::Flag::Resolution

Inherits:
Object
  • Object
show all
Defined in:
lib/toys/flag.rb

Overview

The result of looking up a flag by name.

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#stringString (readonly)

The flag string that was looked up

Returns:

  • (String)


184
185
186
# File 'lib/toys/flag.rb', line 184

def string
  @string
end

Instance Method Details

#countInteger

The number of matches that were found.

Returns:

  • (Integer)


198
199
200
# File 'lib/toys/flag.rb', line 198

def count
  @flags.size
end

#found_exact?Boolean

Whether an exact match of the string was found

Returns:

  • (Boolean)


190
191
192
# File 'lib/toys/flag.rb', line 190

def found_exact?
  @found_exact
end

#found_multiple?Boolean

Whether multiple matches were found (i.e. ambiguous input).

Returns:

  • (Boolean)


222
223
224
# File 'lib/toys/flag.rb', line 222

def found_multiple?
  @flags.size > 1
end

#found_unique?Boolean

Whether a single unique match was found.

Returns:

  • (Boolean)


206
207
208
# File 'lib/toys/flag.rb', line 206

def found_unique?
  @flags.size == 1
end

#matching_flag_stringsArray<String>

Returns an array of the matching full flag strings.

Returns:

  • (Array<String>)


257
258
259
260
261
# File 'lib/toys/flag.rb', line 257

def matching_flag_strings
  @flags.map do |_flag, flag_syntax, negative|
    negative ? flag_syntax.negative_flag : flag_syntax.positive_flag
  end
end

#not_found?Boolean

Whether no matches were found.

Returns:

  • (Boolean)


214
215
216
# File 'lib/toys/flag.rb', line 214

def not_found?
  @flags.empty?
end

#unique_flagToys::Flag?

Return the unique Toys::Flag, or nil if not found or not unique.

Returns:



231
232
233
# File 'lib/toys/flag.rb', line 231

def unique_flag
  found_unique? ? @flags.first[0] : nil
end

#unique_flag_negative?Boolean?

Return whether the unique match was a hit on the negative (--no-*) case, or nil if not found or not unique.

Returns:

  • (Boolean, nil)


249
250
251
# File 'lib/toys/flag.rb', line 249

def unique_flag_negative?
  found_unique? ? @flags.first[2] : nil
end

#unique_flag_syntaxToys::Flag::Syntax?

Return the unique Syntax, or nil if not found or not unique.

Returns:



240
241
242
# File 'lib/toys/flag.rb', line 240

def unique_flag_syntax
  found_unique? ? @flags.first[1] : nil
end