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
- #<=(o) ⇒ Object
- #==(o) ⇒ Object
- #increment! ⇒ Object
-
#initialize(version_string) ⇒ PkgVersion
constructor
A new instance of PkgVersion.
- #source ⇒ Object
- #to_s ⇒ Object
Constructor Details
#initialize(version_string) ⇒ PkgVersion
Returns a new instance of PkgVersion.
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/dr/pkgversion.rb', line 8 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.
6 7 8 |
# File 'lib/dr/pkgversion.rb', line 6 def build @build end |
#date ⇒ Object
Returns the value of attribute date.
6 7 8 |
# File 'lib/dr/pkgversion.rb', line 6 def date @date end |
#debian ⇒ Object
Returns the value of attribute debian.
6 7 8 |
# File 'lib/dr/pkgversion.rb', line 6 def debian @debian end |
#upstream ⇒ Object
Returns the value of attribute upstream.
6 7 8 |
# File 'lib/dr/pkgversion.rb', line 6 def upstream @upstream end |
Instance Method Details
#<(o) ⇒ Object
43 44 45 |
# File 'lib/dr/pkgversion.rb', line 43 def <(o) self.to_s < o.to_s end |
#<=(o) ⇒ Object
47 48 49 |
# File 'lib/dr/pkgversion.rb', line 47 def <=(o) self.to_s <= o.to_s end |
#==(o) ⇒ Object
51 52 53 |
# File 'lib/dr/pkgversion.rb', line 51 def ==(o) self.to_s == o.to_s end |
#increment! ⇒ Object
33 34 35 36 37 38 39 40 41 |
# File 'lib/dr/pkgversion.rb', line 33 def increment! if @date == today @build += 1 else @date = today end self end |
#source ⇒ Object
80 81 82 83 84 |
# File 'lib/dr/pkgversion.rb', line 80 def source v = "#{upstream}" v << "-#{debian}" if @debian v end |
#to_s ⇒ Object
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'lib/dr/pkgversion.rb', line 55 def to_s v = @upstream.clone if @debian v << "-#{@debian}" else v << "-0" end if @date v << ".#{@date}" else v << ".#{today}" end if @build > 0 if @build < 10 v << "build0#{@build}" else v << "build#{@build}" end end v end |