Class: Version::Token Abstract Private
- Extended by:
- T::Helpers
- Includes:
- Comparable
- Defined in:
- version.rb
Overview
This class is part of a private API. This class may only be used in the Homebrew/brew repository. Third parties should avoid using this class if possible, as it may be removed or changed without warning.
It cannot be directly instantiated. Subclasses must implement the abstract
methods below.
A part of a Version.
Direct Known Subclasses
Instance Attribute Summary collapse
- #value ⇒ String, ... readonly private
Class Method Summary collapse
- .create(val) ⇒ Token private
- .from(val) ⇒ Token? private
Instance Method Summary collapse
- #blank? ⇒ Boolean private
- #initialize(value) ⇒ void constructor private
- #null? ⇒ Boolean private
- #numeric? ⇒ Boolean private
- #to_f ⇒ Float private
- #to_i ⇒ Integer private
- #to_str ⇒ String private
Constructor Details
#initialize(value) ⇒ void
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
53 54 55 |
# File 'version.rb', line 53 def initialize(value) @value = T.let(value, T.untyped) end |
Instance Attribute Details
#value ⇒ String, ... (readonly)
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
50 51 52 |
# File 'version.rb', line 50 def value @value end |
Class Method Details
.create(val) ⇒ Token
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'version.rb', line 24 def self.create(val) case val when /\A#{AlphaToken::PATTERN}\z/o then AlphaToken when /\A#{BetaToken::PATTERN}\z/o then BetaToken when /\A#{RCToken::PATTERN}\z/o then RCToken when /\A#{PreToken::PATTERN}\z/o then PreToken when /\A#{PatchToken::PATTERN}\z/o then PatchToken when /\A#{PostToken::PATTERN}\z/o then PostToken when /\A#{NumericToken::PATTERN}\z/o then NumericToken when /\A#{StringToken::PATTERN}\z/o then StringToken else raise "Cannot find a matching token pattern" end.new(val) end |
.from(val) ⇒ Token?
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
39 40 41 42 43 44 45 46 47 |
# File 'version.rb', line 39 def self.from(val) return NULL_TOKEN if val.nil? || (val.respond_to?(:null?) && val.null?) case val when Token then val when String then Token.create(val) when Integer then Token.create(val.to_s) end end |
Instance Method Details
#blank? ⇒ Boolean
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
99 |
# File 'version.rb', line 99 def blank? = null? |
#null? ⇒ Boolean
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
94 95 96 |
# File 'version.rb', line 94 def null? false end |
#numeric? ⇒ Boolean
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
89 90 91 |
# File 'version.rb', line 89 def numeric? false end |
#to_f ⇒ Float
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
71 72 73 |
# File 'version.rb', line 71 def to_f value.to_f end |
#to_i ⇒ Integer
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
76 77 78 |
# File 'version.rb', line 76 def to_i value.to_i end |
#to_str ⇒ String
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
81 82 83 |
# File 'version.rb', line 81 def to_str value.to_s end |