Module: RakeCommander::Options::Name
- Included in:
- RakeCommander::Option, Arguments, ErrorRely
- Defined in:
- lib/rake-commander/options/name.rb
Constant Summary collapse
- HYPHEN_START_REGEX =
Substitions
/^-+/.freeze
- HYPEN_REGEX =
/-+/.freeze
- UNDERSCORE_REGEX =
/_+/.freeze
- SPACE_REGEX =
/\s+/.freeze
- OPTIONAL_REGEX =
Checkers
/\[\w+\]$/.freeze
- SINGLE_HYPHEN_REGEX =
/^-(?<options>[^- ][^ ]*)/.freeze
- DOUBLE_HYPHEN_REGEX =
/^--(?<option>[^- ][^ ]*)/.freeze
Instance Method Summary collapse
-
#argument_optional?(value) ⇒ Boolean
trueifvalueends with[String]. -
#argument_required?(value) ⇒ Boolean
trueifvaluedoes NOT end with[String]. - #double_hyphen?(value) ⇒ Boolean
-
#name_argument(value) ⇒ String, NilClass
The argument of
value, if present. -
#name_argument?(value) ⇒ String, NilClass
Whether
valueis a name with argument. -
#name_hyphen(value) ⇒ String, NilClass
Gets the actual name of the option.
-
#name_hyphen?(value, strict: false) ⇒ Boolean
Whether
valueis an hyphened optionname. -
#name_sym(value) ⇒ Symbol, NilClass
Converter.
-
#name_word_sym(value) ⇒ Symbol, NilClass
It's like
#name_symbut it only gets the option name. -
#short_hyphen(value) ⇒ String, NilClass
It returns the hyphened (
-) version of a shortvalue. -
#short_hyphen?(value, strict: false) ⇒ Boolean
Whether
valueis an hyphened optionshort. -
#short_sym(value) ⇒ Symbol, NilClass
Converter.
- #single_hyphen?(value) ⇒ Boolean
- #valid_name?(value, strict: false) ⇒ Boolean
- #valid_short?(value, strict: false) ⇒ Boolean
Instance Method Details
#argument_optional?(value) ⇒ Boolean
when there is NO argument it evaluates true
Returns true if value ends with [String].
143 144 145 146 |
# File 'lib/rake-commander/options/name.rb', line 143 def argument_optional?(value) return true unless value !!value.match(OPTIONAL_REGEX) end |
#argument_required?(value) ⇒ Boolean
Returns true if value does NOT end with [String].
132 133 134 135 |
# File 'lib/rake-commander/options/name.rb', line 132 def argument_required?(value) return false unless value !argument_optional?(value) end |
#double_hyphen?(value) ⇒ Boolean
21 22 23 24 |
# File 'lib/rake-commander/options/name.rb', line 21 def double_hyphen?(value) return false unless value.respond_to?(:to_s) !!value.to_s.match(DOUBLE_HYPHEN_REGEX) end |
#name_argument(value) ⇒ String, NilClass
Returns the argument of value, if present.
115 116 117 |
# File 'lib/rake-commander/options/name.rb', line 115 def name_argument(value) name_words(value)[1] end |
#name_argument?(value) ⇒ String, NilClass
Returns whether value is a name with argument.
123 124 125 |
# File 'lib/rake-commander/options/name.rb', line 123 def name_argument?(value) !!name_argument(value) end |
#name_hyphen(value) ⇒ String, NilClass
Gets the actual name of the option. First word.
105 106 107 108 109 110 |
# File 'lib/rake-commander/options/name.rb', line 105 def name_hyphen(value) return nil unless value = name_sym(value) value = value.to_s.gsub(UNDERSCORE_REGEX, '-') return nil if value.empty? "--#{value}" end |
#name_hyphen?(value, strict: false) ⇒ Boolean
Returns whether value is an hyphened option name.
50 51 52 |
# File 'lib/rake-commander/options/name.rb', line 50 def name_hyphen?(value, strict: false) name?(value, strict: strict) && double_hyphen?(value) end |
#name_sym(value) ⇒ Symbol, NilClass
- It removes the double hyphen start (
--) - Replaces any intermediate hyphen by underscore
_ - Replaces any multi-spacing by single space
Converter.
73 74 75 76 77 78 79 80 |
# File 'lib/rake-commander/options/name.rb', line 73 def name_sym(value) return nil unless value value = value.to_s.gsub(HYPHEN_START_REGEX, '') value = value.gsub(HYPEN_REGEX, '_') value = value.gsub(SPACE_REGEX, ' ') return nil if value.empty? value.to_sym end |
#name_word_sym(value) ⇒ Symbol, NilClass
It's like #name_sym but it only gets the option name.
87 88 89 90 91 |
# File 'lib/rake-commander/options/name.rb', line 87 def name_word_sym(value) return nil unless value = name_sym(value) return nil unless value = name_words(value).first value.to_sym end |
#short_hyphen(value) ⇒ String, NilClass
Returns it returns the hyphened (-) version of a short value.
94 95 96 97 |
# File 'lib/rake-commander/options/name.rb', line 94 def short_hyphen(value) return nil unless value = short_sym(value) "-#{value}" end |
#short_hyphen?(value, strict: false) ⇒ Boolean
Returns whether value is an hyphened option short.
44 45 46 |
# File 'lib/rake-commander/options/name.rb', line 44 def short_hyphen?(value, strict: false) short?(value, strict: strict) && single_hypen(value) end |
#short_sym(value) ⇒ Symbol, NilClass
Converter
58 59 60 61 62 63 |
# File 'lib/rake-commander/options/name.rb', line 58 def short_sym(value) return nil unless value value = value.to_s.gsub(HYPHEN_START_REGEX, '') return nil unless value = value.chars.first value.to_sym end |
#single_hyphen?(value) ⇒ Boolean
15 16 17 18 |
# File 'lib/rake-commander/options/name.rb', line 15 def single_hyphen?(value) return false unless value.respond_to?(:to_s) !!value.to_s.match(SINGLE_HYPHEN_REGEX) end |
#valid_name?(value, strict: false) ⇒ Boolean
36 37 38 39 40 |
# File 'lib/rake-commander/options/name.rb', line 36 def valid_name?(value, strict: false) return false unless value.respond_to?(:to_s) && !value.to_s.empty? return false unless !strict || double_hyphen?(value) name_sym(value).to_s.length > 1 end |
#valid_short?(value, strict: false) ⇒ Boolean
28 29 30 31 32 |
# File 'lib/rake-commander/options/name.rb', line 28 def valid_short?(value, strict: false) return false unless value.respond_to?(:to_s) && !value.to_s.empty? return false unless !strict || single_hypen(value) short_sym(value).to_s.length == 1 end |