Spec-Zone.ru › Homebrew

Класс: Cask::URL Приватный

Наследует:
Object
  • Object
  • Cask::URL
показать всё
Расширен модулем:
Forwardable
Определён в:
cask/url.rb,
sorbet/rbi/dsl/cask/url.rbi

Обзор

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

Класс, соответствующий stanza url.

Краткое описание атрибутов экземпляра свернуть

  • #branch ⇒ String? только для чтения приватный
  • #cookies ⇒ Hash{String => String}? только для чтения приватный
  • #data ⇒ Hash{String => String}? только для чтения приватный
  • #header ⇒ Array<String>? только для чтения приватный
  • #only_path ⇒ String? только для чтения приватный
  • #referer ⇒ URI::Generic, ... только для чтения приватный
  • #revision ⇒ String? только для чтения приватный
  • #revisions ⇒ Hash{Symbol, String => String}? только для чтения приватный
  • #specs ⇒ Hash{Symbol => T.untyped} только для чтения приватный
  • #tag ⇒ String? только для чтения приватный
  • #trust_cert ⇒ Boolean? только для чтения приватный
  • #uri ⇒ URI::Generic только для чтения приватный
  • #user_agent ⇒ Symbol, ... только для чтения приватный
  • #using ⇒ T::Class[AbstractDownloadStrategy], ... только для чтения приватный
  • #verified ⇒ String? только для чтения приватный

Краткое описание методов экземпляра свернуть

  • #initialize(uri, verified: nil, using: nil, tag: nil, branch: nil, revisions: nil, revision: nil, trust_cert: nil, cookies: nil, referer: nil, header: nil, user_agent: nil, data: nil, only_path: nil, caller_location: caller_locations.fetch(0)) ⇒ void конструктор

    Создаёт stanza url.

  • #location ⇒ Homebrew::SourceLocation приватный
  • #path(*args, &block) ⇒ T.untyped приватный
  • #scheme(*args, &block) ⇒ T.untyped приватный
  • #unversioned?(ignore_major_version: false) ⇒ Boolean приватный

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

#initialize(uri, verified: nil, using: nil, tag: nil, branch: nil, revisions: nil, revision: nil, trust_cert: nil, cookies: nil, referer: nil, header: nil, user_agent: nil, data: nil, only_path: nil, caller_location: caller_locations.fetch(0)) ⇒ void

Создаёт stanza url.

Параметры:

  • uri (URI::Generic, String)
  • verified (String, nil) (по умолчанию: nil)
  • using (T::Class[AbstractDownloadStrategy], Symbol, nil) (по умолчанию: nil)
  • tag (String, nil) (по умолчанию: nil)
  • branch (String, nil) (по умолчанию: nil)
  • revisions (Hash{Symbol, String => String}, nil) (по умолчанию: nil)
  • revision (String, nil) (по умолчанию: nil)
  • trust_cert (Boolean, nil) (по умолчанию: nil)
  • cookies (Hash{String, Symbol => String}, nil) (по умолчанию: nil)
  • referer (URI::Generic, String, nil) (по умолчанию: nil)
  • header (String, Array<String>, nil) (по умолчанию: nil)
  • user_agent (Symbol, String, nil) (по умолчанию: nil)
  • data (Hash{String => String}, nil) (по умолчанию: nil)
  • only_path (String, nil) (по умолчанию: nil)
  • caller_location (Thread::Backtrace::Location) (по умолчанию: caller_locations.fetch(0))


66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
# File 'cask/url.rb', line 66

def initialize(
  uri, verified: nil, using: nil, tag: nil, branch: nil, revisions: nil, revision: nil, trust_cert: nil,
  cookies: nil, referer: nil, header: nil, user_agent: nil, data: nil, only_path: nil,
  caller_location: caller_locations.fetch(0)
)
  @uri = T.let(URI(uri), URI::Generic)

  header = Array(header) unless header.nil?

  specs = {}
  specs[:verified]   = @verified   = T.let(verified, T.nilable(String))
  specs[:using]      = @using      = T.let(using, T.nilable(T.any(T::Class[AbstractDownloadStrategy], Symbol)))
  specs[:tag]        = @tag        = T.let(tag, T.nilable(String))
  specs[:branch]     = @branch     = T.let(branch, T.nilable(String))
  specs[:revisions]  = @revisions  = T.let(revisions, T.nilable(T::Hash[T.any(Symbol, String), String]))
  specs[:revision]   = @revision   = T.let(revision, T.nilable(String))
  specs[:trust_cert] = @trust_cert = T.let(trust_cert, T.nilable(T::Boolean))
  specs[:cookies]    =
    @cookies = T.let(cookies&.transform_keys(&:to_s), T.nilable(T::Hash[String, String]))
  specs[:referer]    = @referer    = T.let(referer, T.nilable(T.any(URI::Generic, String)))
  specs[:headers]    = @header     = T.let(header, T.nilable(T::Array[String]))
  specs[:user_agent] = @user_agent = T.let(user_agent || :default, T.nilable(T.any(Symbol, String)))
  specs[:data]       = @data       = T.let(data, T.nilable(T::Hash[String, String]))
  specs[:only_path]  = @only_path  = T.let(only_path, T.nilable(String))

  @specs = T.let(specs.compact, T::Hash[Symbol, T.untyped])
  @caller_location = caller_location
end

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

#branch ⇒ String? (только для чтения)

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

Возвращает:

  • (String, nil)


38
39
40
# File 'cask/url.rb', line 38

def branch
  @branch
end

#cookies ⇒ Hash{String => String}? (только для чтения)

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

Возвращает:

  • (Hash{String => String}, nil)


20
21
22
# File 'cask/url.rb', line 20

def cookies
  @cookies
end

#data ⇒ Hash{String => String}? (только для чтения)

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

Возвращает:

  • (Hash{String => String}, nil)


20
21
22
# File 'cask/url.rb', line 20

def data
  @data
end

#header ⇒ Array<String>? (только для чтения)

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

Возвращает:

  • (Array<String>, nil)


23
24
25
# File 'cask/url.rb', line 23

def header
  @header
end

#only_path ⇒ String? (только для чтения)

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

Возвращает:

  • (String, nil)


38
39
40
# File 'cask/url.rb', line 38

def only_path
  @only_path
end

#referer ⇒ URI::Generic, ... (только для чтения)

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

Возвращает:

  • (URI::Generic, String, nil)


26
27
28
# File 'cask/url.rb', line 26

def referer
  @referer
end

#revision ⇒ String? (только для чтения)

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

Возвращает:

  • (String, nil)


38
39
40
# File 'cask/url.rb', line 38

def revision
  @revision
end

#revisions ⇒ Hash{Symbol, String => String}? (только для чтения)

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

Возвращает:

  • (Hash{Symbol, String => String}, nil)


14
15
16
# File 'cask/url.rb', line 14

def revisions
  @revisions
end

#specs ⇒ Hash{Symbol => T.untyped} (только для чтения)

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

Возвращает:

  • (Hash{Symbol => T.untyped})


29
30
31
# File 'cask/url.rb', line 29

def specs
  @specs
end

#tag ⇒ String? (только для чтения)

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

Возвращает:

  • (String, nil)


38
39
40
# File 'cask/url.rb', line 38

def tag
  @tag
end

#trust_cert ⇒ Boolean? (только для чтения)

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

Возвращает:

  • (Boolean, nil)


17
18
19
# File 'cask/url.rb', line 17

def trust_cert
  @trust_cert
end

#uri ⇒ URI::Generic (только для чтения)

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

Возвращает:

  • (URI::Generic)


11
12
13
# File 'cask/url.rb', line 11

def uri
  @uri
end

#user_agent ⇒ Symbol, ... (только для чтения)

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

Возвращает:

  • (Symbol, String, nil)


32
33
34
# File 'cask/url.rb', line 32

def user_agent
  @user_agent
end

#using ⇒ T::Class[AbstractDownloadStrategy], ... (только для чтения)

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

Возвращает:

  • (T::Class[AbstractDownloadStrategy], Symbol, nil)


35
36
37
# File 'cask/url.rb', line 35

def using
  @using
end

#verified ⇒ String? (только для чтения)

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

Возвращает:

  • (String, nil)


38
39
40
# File 'cask/url.rb', line 38

def verified
  @verified
end

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

#location ⇒ Homebrew::SourceLocation

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

Возвращает:

  • (Homebrew::SourceLocation)


96
97
98
# File 'cask/url.rb', line 96

def location
  Homebrew::SourceLocation.new(@caller_location.lineno, raw_url_line&.index("url"))
end

#path(*args, &block) ⇒ T.untyped

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

Параметры:

  • args (T.untyped)
  • block (T.untyped)

Возвращает:

  • (T.untyped)


10
# File 'sorbet/rbi/dsl/cask/url.rbi', line 10

def path(*args, &block); end

#scheme(*args, &block) ⇒ T.untyped

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

Параметры:

  • args (T.untyped)
  • block (T.untyped)

Возвращает:

  • (T.untyped)


13
# File 'sorbet/rbi/dsl/cask/url.rbi', line 13

def scheme(*args, &block); end

#unversioned?(ignore_major_version: false) ⇒ Boolean

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

Параметры:

  • ignore_major_version (Boolean) (по умолчанию: false)

Возвращает:

  • (Boolean)


101
102
103
104
105
106
107
108
109
110
# File 'cask/url.rb', line 101

def unversioned?(ignore_major_version: false)
  interpolated_url = raw_url_line&.then { |line| line[/url\s+"([^"]+)"/, 1] }

  return false unless interpolated_url

  interpolated_url = interpolated_url.gsub(/\#{\s*arch\s*}/, "")
  interpolated_url = interpolated_url.gsub(/\#{\s*version\s*\.major\s*}/, "") if ignore_major_version

  interpolated_url.exclude?('#{')
end

© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/rubydoc/Cask/URL.html

Spec-Zone.ru

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