Class: Debendencies::PackageDependency
- Inherits:
-
Object
- Object
- Debendencies::PackageDependency
- Defined in:
- lib/debendencies/package_dependency.rb
Overview
Represents a single Debian package dependency, e.g., ‘libc`. Could potentially have version constraints, e.g., `libc (>= 2.28, <= 2.30)`.
‘version_constraints` is either nil or non-empty.
Instance Attribute Summary collapse
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#version_constraints ⇒ Object
readonly
Returns the value of attribute version_constraints.
Instance Method Summary collapse
- #as_json ⇒ Object
- #eql?(other) ⇒ Boolean (also: #==)
- #hash ⇒ Object
-
#initialize(name, version_constraints = nil) ⇒ PackageDependency
constructor
A new instance of PackageDependency.
- #to_s ⇒ Object
Constructor Details
#initialize(name, version_constraints = nil) ⇒ PackageDependency
Returns a new instance of PackageDependency.
11 12 13 14 |
# File 'lib/debendencies/package_dependency.rb', line 11 def initialize(name, version_constraints = nil) @name = name @version_constraints = version_constraints end |
Instance Attribute Details
#name ⇒ Object (readonly)
Returns the value of attribute name.
9 10 11 |
# File 'lib/debendencies/package_dependency.rb', line 9 def name @name end |
#version_constraints ⇒ Object (readonly)
Returns the value of attribute version_constraints.
9 10 11 |
# File 'lib/debendencies/package_dependency.rb', line 9 def version_constraints @version_constraints end |
Instance Method Details
#as_json ⇒ Object
26 27 28 29 30 |
# File 'lib/debendencies/package_dependency.rb', line 26 def as_json result = { name: name } result[:version_constraints] = version_constraints.map { |vc| vc.as_json } if version_constraints result end |
#eql?(other) ⇒ Boolean Also known as: ==
16 17 18 |
# File 'lib/debendencies/package_dependency.rb', line 16 def eql?(other) @name == other.name && @version_constraints == other.version_constraints end |
#hash ⇒ Object
22 23 24 |
# File 'lib/debendencies/package_dependency.rb', line 22 def hash @name.hash ^ @version_constraints.hash end |
#to_s ⇒ Object
32 33 34 35 36 37 38 |
# File 'lib/debendencies/package_dependency.rb', line 32 def to_s if version_constraints.nil? name else "#{name} (#{version_constraints.map { |vc| vc.to_s }.join(", ")})" end end |