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)


293
294
295
296
297
298
299
300
301
302
# File 'software_spec.rb', line 293

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.



285
286
287
# File 'software_spec.rb', line 285

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.



285
286
287
# File 'software_spec.rb', line 285

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.



285
286
287
# File 'software_spec.rb', line 285

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.



285
286
287
# File 'software_spec.rb', line 285

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)


288
289
290
# File 'software_spec.rb', line 288

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:



326
327
328
329
# File 'software_spec.rb', line 326

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

#github_packagesObject



321
322
323
# File 'software_spec.rb', line 321

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:



313
314
315
# File 'software_spec.rb', line 313

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:



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

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

#url_encodeObject



317
318
319
# File 'software_spec.rb', line 317

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