class Composer::Package::Package

Core package definitions that are needed to resolve dependencies and install packages

Attributes

archive_excludes[RW]
autoload[RW]
binaries[RW]
conflicts[RW]
dev_autoload[RW]
dev_requires[RW]
dist_mirrors[RW]
dist_reference[RW]
dist_sha1_checksum[RW]
dist_type[RW]
dist_url[RW]
extra[RW]
include_paths[RW]
installation_source[RW]
notification_url[RW]
provides[RW]
release_date[RW]
replaces[RW]
requires[RW]
source_mirrors[RW]
source_reference[RW]
source_type[RW]
source_url[RW]
stability[R]
suggests[RW]

Public Class Methods

new(name, version, pretty_version) click to toggle source

Creates a new in memory package. Param: string name The package’s name Param: string version The package’s version Param: string prettyVersion The package’s non-normalized version

Calls superclass method Composer::Package::BasePackage::new
# File lib/composer/package/package.rb, line 36
def initialize(name, version, pretty_version)
  super(name)

  # default values
  @extra = {}
  @binaries = []
  @requires = {}
  @conflicts = {}
  @provides = {}
  @replaces = {}
  @dev_requires = {}
  @suggests = {}
  @autoload = {}
  @dev_autoload = {}
  @include_paths = []
  @archive_excludes = []

  # init package attributes
  replace_version(version, pretty_version)

end

Public Instance Methods

attributes() click to toggle source
# File lib/composer/package/package.rb, line 58
def attributes
  dumper = Composer::Package::Dumper::HashDumper.new
  dumper.dump(self)
end
is_dev() click to toggle source

Determine if development package Return: true if development package; Otherwise false.

# File lib/composer/package/package.rb, line 98
def is_dev
  @dev
end
pretty_string() click to toggle source
# File lib/composer/package/package.rb, line 92
def pretty_string
  "#{pretty_name} #{pretty_version}"
end
replace_version(version, pretty_version) click to toggle source

Replaces current version and pretty version with passed values. It also sets stability. Param: string version The package’s normalized version Param: string prettyVersion The package’s non-normalized version

# File lib/composer/package/package.rb, line 106
def replace_version(version, pretty_version)
  @version = version
  @pretty_version = pretty_version

  @stability = Composer::Package::Version::VersionParser::parse_stability(version)
  @dev = @stability === 'dev'
end
target_dir() click to toggle source
# File lib/composer/package/package.rb, line 79
def target_dir
  return unless @target_dir
  regex = '(?:^|[\\\\/]+)\.\.?(?:[\\\\/]+|$)(?:\.\.?(?:[\\\\/]+|$))*'
  @target_dir.gsub(/#{regex}/x, '/').gsub(/^\/+/, '')
end
target_dir=(target_dir) click to toggle source
# File lib/composer/package/package.rb, line 75
def target_dir=(target_dir)
  @target_dir = target_dir
end
type() click to toggle source

Get package type Return: string

# File lib/composer/package/package.rb, line 71
def type
  @type ? @type : 'library'
end
type=(type) click to toggle source

Set package type Param: string type

# File lib/composer/package/package.rb, line 65
def type=(type)
  @type = type
end
unique_name() click to toggle source

Returns package unique name, constructed from name, version and release type. Return: string

# File lib/composer/package/package.rb, line 88
def unique_name
  "#{name}-#{version}"
end