Spec-Zone.ru › Homebrew

Класс: Cask::DSL::Version Частный

Наследует:
String
  • Object
  • String
  • Cask::DSL::Version
показать все
Определено в:
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

#blank?, #exclude?, #present?

Подробное описание конструкторов

#initialize(raw_version) ⇒ void

Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности третьим сторонам не следует использовать этот метод, поскольку он может быть удалён или изменён без предупреждения.

Параметры:

  • raw_version (String, Symbol, nil)

Вызывает исключения:

  • (TypeError)


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. По возможности третьим сторонам не следует использовать этот метод, поскольку он может быть удалён или изменён без предупреждения.

Возвращает:

  • (String, Symbol, nil)


70
71
72
# File 'cask/dsl/version.rb', line 70

def raw_version
  @raw_version
end

Подробное описание методов экземпляра

#after_comma ⇒ T.self_type

Часть версии после первой запятой.

Возвращает:

  • (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

Часть версии перед первой запятой.

Возвращает:

  • (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

Версия с удалённым в конце указанным разделителем записей.

Параметры:

  • separator (String) (по умолчанию: T.unsafe(nil))

Возвращает:

  • (T.self_type)

См. также:

  • String#chomp


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>

Значения версии, разделённые запятыми, в виде массива.

Возвращает:

  • (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. По возможности третьим сторонам не следует использовать этот метод, поскольку он может быть удалён или изменён без предупреждения.

Возвращает:

  • (Array<Array<String>, String>)


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. По возможности третьим сторонам не следует использовать этот метод, поскольку он может быть удалён или изменён без предупреждения.

Возвращает:

  • (Boolean)


101
102
103
# File 'cask/dsl/version.rb', line 101

def latest?
  to_s == "latest"
end

#major ⇒ T.self_type

Основная версия.

Возвращает:

  • (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

Основная и дополнительная версии.

Возвращает:

  • (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

Основная, дополнительная версии и версия исправления.

Возвращает:

  • (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

Дополнительная версия.

Возвращает:

  • (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

Дополнительная версия и версия исправления.

Возвращает:

  • (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

Версия без разделителей.

Возвращает:

  • (T.self_type)

См. также:

  • DIVIDER_REGEX


182
183
184
# File 'cask/dsl/version.rb', line 182

def no_dividers
  version { gsub(DIVIDER_REGEX, "") }
end

#patch ⇒ T.self_type

Версия исправления.

Возвращает:

  • (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. По возможности третьим сторонам не следует использовать этот метод, поскольку он может быть удалён или изменён без предупреждения.

Возвращает:

  • (Boolean)


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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API