Class: Bottle::Filename

Inherits:
Object show all
Defined in:
software_spec.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, version, tag, rebuild) ⇒ 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:

Raises:

  • (ArgumentError)


311
312
313
314
315
316
317
318
319
320
# File 'software_spec.rb', line 311

def initialize(name, version, tag, rebuild)
  @name = File.basename name

  raise ArgumentError, "Invalid bottle name" unless Utils.safe_filename?(@name)
  raise ArgumentError, "Invalid bottle version" unless Utils.safe_filename?(version.to_s)

  @version = version
  @tag = tag.to_s
  @rebuild = rebuild
end

Instance Attribute Details

#nameObject (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 the value of attribute name.



303
304
305
# File 'software_spec.rb', line 303

def name
  @name
end

#rebuildObject (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 the value of attribute rebuild.



303
304
305
# File 'software_spec.rb', line 303

def rebuild
  @rebuild
end

#tagObject (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 the value of attribute tag.



303
304
305
# File 'software_spec.rb', line 303

def tag
  @tag
end

#versionObject (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 the value of attribute version.



303
304
305
# File 'software_spec.rb', line 303

def version
  @version
end

Class Method Details

.create(formula, tag, rebuild) ⇒ T.attached_class

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:

  • (T.attached_class)


306
307
308
# File 'software_spec.rb', line 306

def self.create(formula, tag, rebuild)
  new(formula.name, formula.pkg_version, tag, rebuild)
end

Instance Method Details

#extnameString

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:



344
345
346
347
# File 'software_spec.rb', line 344

def extname
  s = rebuild.positive? ? ".#{rebuild}" : ""
  ".#{tag}.bottle#{s}.tar.gz"
end

#github_packagesObject



339
340
341
# File 'software_spec.rb', line 339

def github_packages
  "#{name}--#{version}#{extname}"
end

#jsonString

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:



331
332
333
# File 'software_spec.rb', line 331

def json
  "#{name}--#{version}.#{tag}.bottle.json"
end

#to_strString

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:



323
324
325
# File 'software_spec.rb', line 323

def to_str
  "#{name}--#{version}#{extname}"
end

#url_encodeObject



335
336
337
# File 'software_spec.rb', line 335

def url_encode
  ERB::Util.url_encode("#{name}-#{version}#{extname}")
end