Class: Dr::PkgVersion
- Inherits:
-
Object
- Object
- Dr::PkgVersion
- Defined in:
- lib/dr/pkgversion.rb
Instance Attribute Summary collapse
-
#build ⇒ Object
Returns the value of attribute build.
-
#date ⇒ Object
Returns the value of attribute date.
-
#debian ⇒ Object
Returns the value of attribute debian.
-
#upstream ⇒ Object
Returns the value of attribute upstream.
Instance Method Summary collapse
- #==(o) ⇒ Object
- #increment! ⇒ Object
-
#initialize(version_string) ⇒ PkgVersion
constructor
A new instance of PkgVersion.
- #to_s ⇒ Object
Constructor Details
#initialize(version_string) ⇒ PkgVersion
Returns a new instance of PkgVersion.
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/dr/pkgversion.rb', line 5 def initialize(version_string) @upstream = nil @debian = nil @date = nil @build = 0 v = version_string.split "-" @upstream = v[0] if v.length > 0 if v.length > 1 dv = v[1].split "." @debian = dv[0] if dv.length > 0 if dv.length > 1 if dv[1] =~ /^[0-9]{8}/ @date = dv[1][0..7] end match = dv[1].match /build([0-9]+)$/ if match @build = match.captures[0] end end end end |
Instance Attribute Details
#build ⇒ Object
Returns the value of attribute build.
3 4 5 |
# File 'lib/dr/pkgversion.rb', line 3 def build @build end |
#date ⇒ Object
Returns the value of attribute date.
3 4 5 |
# File 'lib/dr/pkgversion.rb', line 3 def date @date end |
#debian ⇒ Object
Returns the value of attribute debian.
3 4 5 |
# File 'lib/dr/pkgversion.rb', line 3 def debian @debian end |
#upstream ⇒ Object
Returns the value of attribute upstream.
3 4 5 |
# File 'lib/dr/pkgversion.rb', line 3 def upstream @upstream end |
Instance Method Details
#==(o) ⇒ Object
40 41 42 43 |
# File 'lib/dr/pkgversion.rb', line 40 def ==(o) @upstream == o.upstream && @debian == o.debian && @date == o.date && @build == o.build end |
#increment! ⇒ Object
30 31 32 33 34 35 36 37 38 |
# File 'lib/dr/pkgversion.rb', line 30 def increment! if @date == today @build += 1 else @date = today end self end |
#to_s ⇒ Object
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/dr/pkgversion.rb', line 45 def to_s v = @upstream.clone if @debian v << "-#{@debian}" else v << "-0" end if @date v << ".#{@date}" else v << ".#{today}" end v << "build#{@build}" if @build > 0 v end |