Класс: Cask::DSL::Version Частный
- Наследует:
- String показать все
- Определено в:
- cask/dsl/version.rb
Обзор
Этот класс является частью закрытого API. Этот класс можно использовать только в репозитории Homebrew/brew. По возможности третьим сторонам не следует использовать этот класс, поскольку он может быть удалён или изменён без предупреждения.
Класс, соответствующий директиве version.
Краткое описание констант свернуть
- DIVIDERS =
Эта константа является частью закрытого API. Эту константу можно использовать только в репозитории Homebrew/brew. По возможности третьим сторонам не следует использовать эту константу, поскольку она может быть удалена или изменена без предупреждения.
T.let({ "." => :dots, "-" => :hyphens, "_" => :underscores, }.freeze, T::Hash[String, Symbol])
- DIVIDER_REGEX =
Эта константа является частью закрытого API. Эту константу можно использовать только в репозитории Homebrew/brew. По возможности третьим сторонам не следует использовать эту константу, поскольку она может быть удалена или изменена без предупреждения.
/(#{DIVIDERS.keys.map { |v| Regexp.quote(v) }.join("|")})/- MAJOR_MINOR_PATCH_REGEX =
Эта константа является частью закрытого API. Эту константу можно использовать только в репозитории Homebrew/brew. По возможности третьим сторонам не следует использовать эту константу, поскольку она может быть удалена или изменена без предупреждения.
/^([^.,:]+)(?:.([^.,:]+)(?:.([^.,:]+))?)?/- INVALID_CHARACTERS =
Эта константа является частью закрытого API. Эту константу можно использовать только в репозитории Homebrew/brew. По возможности третьим сторонам не следует использовать эту константу, поскольку она может быть удалена или изменена без предупреждения.
/[^0-9a-zA-Z.,:\-_+ ]/
Константы, унаследованные от String
String::BLANK_RE, String::ENCODED_BLANKS_
Краткое описание атрибутов экземпляра свернуть
- #raw_version ⇒ String, ... только для чтения частный
Краткое описание методов экземпляра свернуть
- #after_comma ⇒ T.self_type
Часть версии после первой запятой.
- #before_comma ⇒ T.self_type
Часть версии перед первой запятой.
- #chomp(separator = T.unsafe(nil)) ⇒ T.self_type
Версия с удалённым в конце указанным разделителем записей.
- #csv ⇒ Array<Version>
Значения версии, разделённые запятыми, в виде массива.
- #initialize(raw_version) ⇒ void конструктор частный
- #invalid_characters ⇒ Array<Array<String>, String> частный
- #latest? ⇒ Boolean частный
- #major ⇒ T.self_type
Основная версия.
- #major_minor ⇒ T.self_type
Основная и дополнительная версии.
- #major_minor_patch ⇒ T.self_type
Основная, дополнительная версии и версия исправления.
- #minor ⇒ T.self_type
Дополнительная версия.
- #minor_patch ⇒ T.self_type
Дополнительная версия и версия исправления.
- #no_dividers ⇒ T.self_type
Версия без разделителей.
- #patch ⇒ T.self_type
Версия исправления.
- #unstable? ⇒ Boolean частный
Методы, унаследованные от String
Подробное описание конструкторов
#initialize(raw_version) ⇒ void
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности третьим сторонам не следует использовать этот метод, поскольку он может быть удалён или изменён без предупреждения.
73 74 75 76 77 78 79 | # File 'cask/dsl/version.rb', line 73 def initialize(raw_version) @raw_version = raw_version super(raw_version.to_s) invalid = invalid_characters raise TypeError, "#{raw_version} contains invalid characters: #{invalid.uniq.join}!" if invalid.present? end |
Подробное описание атрибутов экземпляра
#raw_version ⇒ String, ... (только для чтения)
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности третьим сторонам не следует использовать этот метод, поскольку он может быть удалён или изменён без предупреждения.
70 71 72 | # File 'cask/dsl/version.rb', line 70 def raw_version @raw_version end |
Подробное описание методов экземпляра
#after_comma ⇒ T.self_type
Часть версии после первой запятой.
173 174 175 | # File 'cask/dsl/version.rb', line 173 def after_comma version { split(",", 2).second } end |
#before_comma ⇒ T.self_type
Часть версии перед первой запятой.
165 166 167 | # File 'cask/dsl/version.rb', line 165 def before_comma version { split(",", 2).first } end |
#chomp(separator = T.unsafe(nil)) ⇒ T.self_type
Версия с удалённым в конце указанным разделителем записей.
191 192 193 | # File 'cask/dsl/version.rb', line 191 def chomp(separator = T.unsafe(nil)) version { to_s.chomp(separator) } end |
#csv ⇒ Array<Version>
Значения версии, разделённые запятыми, в виде массива.
157 158 159 | # File 'cask/dsl/version.rb', line 157 def csv split(",").map { self.class.new(it) } end |
#invalid_characters ⇒ Array<Array<String>, String>
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности третьим сторонам не следует использовать этот метод, поскольку он может быть удалён или изменён без предупреждения.
82 83 84 85 86 | # File 'cask/dsl/version.rb', line 82 def invalid_characters return [] if raw_version.blank? || latest? raw_version.to_s.scan(INVALID_CHARACTERS) end |
#latest? ⇒ Boolean
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности третьим сторонам не следует использовать этот метод, поскольку он может быть удалён или изменён без предупреждения.
101 102 103 | # File 'cask/dsl/version.rb', line 101 def latest? to_s == "latest" end |
#major ⇒ T.self_type
Основная версия.
109 110 111 | # File 'cask/dsl/version.rb', line 109 def major version { slice(MAJOR_MINOR_PATCH_REGEX, 1) } end |
#major_minor ⇒ T.self_type
Основная и дополнительная версии.
133 134 135 | # File 'cask/dsl/version.rb', line 133 def major_minor version { [major, minor].reject(&:empty?).join(".") } end |
#major_minor_patch ⇒ T.self_type
Основная, дополнительная версии и версия исправления.
141 142 143 | # File 'cask/dsl/version.rb', line 141 def major_minor_patch version { [major, minor, patch].reject(&:empty?).join(".") } end |
#minor ⇒ T.self_type
Дополнительная версия.
117 118 119 | # File 'cask/dsl/version.rb', line 117 def minor version { slice(MAJOR_MINOR_PATCH_REGEX, 2) } end |
#minor_patch ⇒ T.self_type
Дополнительная версия и версия исправления.
149 150 151 | # File 'cask/dsl/version.rb', line 149 def minor_patch version { [minor, patch].reject(&:empty?).join(".") } end |
#no_dividers ⇒ T.self_type
Версия без разделителей.
182 183 184 | # File 'cask/dsl/version.rb', line 182 def no_dividers version { gsub(DIVIDER_REGEX, "") } end |
#patch ⇒ T.self_type
Версия исправления.
125 126 127 | # File 'cask/dsl/version.rb', line 125 def patch version { slice(MAJOR_MINOR_PATCH_REGEX, 3) } end |
#unstable? ⇒ Boolean
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности третьим сторонам не следует использовать этот метод, поскольку он может быть удалён или изменён без предупреждения.
89 90 91 92 93 94 95 96 97 98 | # File 'cask/dsl/version.rb', line 89 def unstable? return false if latest? s = downcase.delete(".").gsub(/[^a-z\d]+/, "-") return true if s.match?(/(\d+|\b)(alpha|beta|preview|rc|dev|canary|snapshot)(\d+|\b)/i) return true if s.match?(/\A[a-z\d]+(-\d+)*-?(a|b|pre)(\d+|\b)/i) false end |
© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/rubydoc/Cask/DSL/Version.html