Class: Resource::Patch Private

Inherits:
Resource
  • Object
show all
Defined in:
resource.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.

A resource containing a patch.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(&block) ⇒ 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.

Parameters:



487
488
489
490
491
492
# File 'resource.rb', line 487

def initialize(&block)
  @patch_files = T.let([], T::Array[T.any(String, Pathname)])
  @directory = T.let(nil, T.nilable(T.any(String, Pathname)))
  @file = T.let(nil, T.nilable(T.any(String, Pathname)))
  super "patch", &block
end

Instance Attribute Details

#patch_filesArray<String, Pathname> (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.

Returns:



484
485
486
# File 'resource.rb', line 484

def patch_files
  @patch_files
end

Instance Method Details

#apply(*paths) ⇒ 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.

Parameters:



495
496
497
498
# File 'resource.rb', line 495

def apply(*paths)
  @patch_files.concat(paths.flatten)
  @patch_files.uniq!
end

#directory(val = nil) ⇒ 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.

Parameters:

Returns:



501
502
503
504
505
# File 'resource.rb', line 501

def directory(val = nil)
  return @directory if val.nil?

  @directory = val
end

#download_queue_nameString

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.

Returns:



523
524
525
526
527
528
529
# File 'resource.rb', line 523

def download_queue_name
  if (last_url_component = url.to_s.split("/").last)
    return last_url_component
  end

  super
end

#download_queue_typeString

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.

Returns:



520
# File 'resource.rb', line 520

def download_queue_type = "Patch"

#file(val = nil) ⇒ 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.

Parameters:

Returns:



508
509
510
511
512
513
514
515
516
517
# File 'resource.rb', line 508

def file(val = nil)
  return @file if val.nil?

  path_string = val.to_s
  unless LocalPatch.valid_path?(path_string)
    raise ArgumentError, "Patch file must be a relative path within the repository."
  end

  @file = val
end