Class: Resource::BottleManifest Private
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.
A resource for a bottle manifest.
Defined Under Namespace
Classes: Error
Instance Attribute Summary collapse
- #bottle ⇒ Bottle readonly private
Instance Method Summary collapse
- #bottle_size ⇒ Integer? private
- #clear_cache ⇒ void private
- #download_queue_name ⇒ String private
- #download_queue_type ⇒ String private
- #downloaded_and_valid? ⇒ Boolean private
- #initialize(bottle) ⇒ void constructor private
- #installed_size ⇒ Integer? private
- #path_exec_files ⇒ Array<String>? private
- #tab ⇒ Hash{String => T.untyped} private
- #verify_download_integrity(_filename) ⇒ void private
Constructor Details
#initialize(bottle) ⇒ 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.
361 362 363 364 365 |
# File 'resource.rb', line 361 def initialize(bottle) super("#{bottle.name}_bottle_manifest") @bottle = bottle @manifest_annotations = T.let(nil, T.nilable(T::Hash[String, T.untyped])) end |
Instance Attribute Details
#bottle ⇒ Bottle (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.
358 359 360 |
# File 'resource.rb', line 358 def bottle @bottle end |
Instance Method Details
#bottle_size ⇒ 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.
403 404 405 |
# File 'resource.rb', line 403 def bottle_size manifest_annotations["sh.brew.bottle.size"]&.to_i end |
#clear_cache ⇒ 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.
This method returns an undefined value.
368 369 370 371 |
# File 'resource.rb', line 368 def clear_cache super @manifest_annotations = nil end |
#download_queue_name ⇒ 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.
421 |
# File 'resource.rb', line 421 def download_queue_name = "#{bottle.name} (#{bottle.resource.version})" |
#download_queue_type ⇒ 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.
418 |
# File 'resource.rb', line 418 def download_queue_type = "Bottle Manifest" |
#downloaded_and_valid? ⇒ 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.
380 381 382 383 384 385 386 387 388 |
# File 'resource.rb', line 380 def downloaded_and_valid? return false unless downloaded? with_context(quiet: true) { verify_download_integrity(cached_download) } true rescue Error clear_cache false end |
#installed_size ⇒ 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.
408 409 410 |
# File 'resource.rb', line 408 def installed_size manifest_annotations["sh.brew.bottle.installed_size"]&.to_i end |
#path_exec_files ⇒ Array<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.
413 414 415 |
# File 'resource.rb', line 413 def path_exec_files manifest_annotations["sh.brew.path_exec_files"]&.split(",") end |
#tab ⇒ Hash{String => T.untyped}
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.
391 392 393 394 395 396 397 398 399 400 |
# File 'resource.rb', line 391 def tab tab = manifest_annotations["sh.brew.tab"] raise Error, "Couldn't find tab from manifest." if tab.blank? begin JSON.parse(tab) rescue JSON::ParserError raise Error, "Couldn't parse tab JSON." end end |
#verify_download_integrity(_filename) ⇒ 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.
This method returns an undefined value.
374 375 376 377 |
# File 'resource.rb', line 374 def verify_download_integrity(_filename) # We don't have a checksum, but we can at least try parsing it. tab end |