Class: Gem::Portage::DependencyAtom
Constant Summary collapse
- PREFIX_EXT_RE =
/[!~]/- PREFIX_RE =
/(>=|<=|<|>|=)/- CATEGORY_RE =
/\w+-\w+/- POSTFIX_RE =
/\*/- VERSION_RE =
/(\d+(\.\d+)*)+/- VERSION_EXT_RE =
/[a-z]?(_(alpha|beta|pre|rc|p)\d+)?/- PACKAGE_NAME_RE =
/[a-zA-Z0-9_-]+/
Instance Attribute Summary collapse
-
#category ⇒ Object
Returns the value of attribute category.
-
#origin ⇒ Object
readonly
Returns the value of attribute origin.
-
#package_name ⇒ Object
(also: #name)
readonly
Returns the value of attribute package_name.
-
#postfix ⇒ Object
readonly
Returns the value of attribute postfix.
-
#prefix ⇒ Object
readonly
Returns the value of attribute prefix.
-
#prefix_ext ⇒ Object
readonly
Returns the value of attribute prefix_ext.
-
#version ⇒ Object
readonly
Returns the value of attribute version.
-
#version_ext ⇒ Object
readonly
Returns the value of attribute version_ext.
Class Method Summary collapse
- .from_gem_dependency(dep, category) ⇒ Object
- .from_s(str) ⇒ Object (also: parse)
- .parse_list(list) ⇒ Object
Instance Method Summary collapse
- #gem_dependency ⇒ Object
-
#gem_requirement ⇒ Object
FIXME: support other gentoo atom prefixes.
- #to_s ⇒ Object
Instance Attribute Details
#category ⇒ Object
Returns the value of attribute category.
239 240 241 |
# File 'lib/g-gem/ebuild.rb', line 239 def category @category end |
#origin ⇒ Object (readonly)
Returns the value of attribute origin.
223 224 225 |
# File 'lib/g-gem/ebuild.rb', line 223 def origin @origin end |
#package_name ⇒ Object (readonly) Also known as: name
Returns the value of attribute package_name.
223 224 225 |
# File 'lib/g-gem/ebuild.rb', line 223 def package_name @package_name end |
#postfix ⇒ Object (readonly)
Returns the value of attribute postfix.
223 224 225 |
# File 'lib/g-gem/ebuild.rb', line 223 def postfix @postfix end |
#prefix ⇒ Object (readonly)
Returns the value of attribute prefix.
223 224 225 |
# File 'lib/g-gem/ebuild.rb', line 223 def prefix @prefix end |
#prefix_ext ⇒ Object (readonly)
Returns the value of attribute prefix_ext.
223 224 225 |
# File 'lib/g-gem/ebuild.rb', line 223 def prefix_ext @prefix_ext end |
#version ⇒ Object (readonly)
Returns the value of attribute version.
223 224 225 |
# File 'lib/g-gem/ebuild.rb', line 223 def version @version end |
#version_ext ⇒ Object (readonly)
Returns the value of attribute version_ext.
223 224 225 |
# File 'lib/g-gem/ebuild.rb', line 223 def version_ext @version_ext end |
Class Method Details
.from_gem_dependency(dep, category) ⇒ Object
285 286 287 288 289 |
# File 'lib/g-gem/ebuild.rb', line 285 def from_gem_dependency(dep, category) # fixme: prefix, version = *dep.version_requirements.instance_eval { @requirements.first } new("#{prefix}#{category}/#{dep.name}-#{version}") end |
.from_s(str) ⇒ Object Also known as: parse
269 270 271 272 273 274 275 276 277 |
# File 'lib/g-gem/ebuild.rb', line 269 def from_s(str) if str =~ /(.*\/)?(\S+)\.gem$/ # From gem file atom = from_s($2) atom.instance_eval { @origin = str } atom else new(str) end end |
.parse_list(list) ⇒ Object
281 282 283 |
# File 'lib/g-gem/ebuild.rb', line 281 def parse_list(list) list.map { |str| parse(str) } end |
Instance Method Details
#gem_dependency ⇒ Object
259 260 261 |
# File 'lib/g-gem/ebuild.rb', line 259 def gem_dependency Gem::Dependency.new(package_name, [gem_requirement.to_s]) end |
#gem_requirement ⇒ Object
FIXME: support other gentoo atom prefixes
248 249 250 251 252 253 254 255 256 257 |
# File 'lib/g-gem/ebuild.rb', line 248 def gem_requirement return Gem::Version::Requirement.default unless version full_prefix = "#{prefix_ext}#{prefix}" gem_prefix = if /^(~>|>|>=|=|!=|<=|<)$/ === full_prefix full_prefix elsif not prefix "=" end Gem::Version::Requirement.create(["#{gem_prefix} #{version}"]) end |
#to_s ⇒ Object
263 264 265 266 |
# File 'lib/g-gem/ebuild.rb', line 263 def to_s "#{prefix_ext}#{(prefix or "=") if version}#{category+"/" if category}#{package_name}"+ "#{"-"+version+version_ext if version}#{postfix}" end |