Class: Xcvm::SemanticVersion
- Inherits:
-
Object
- Object
- Xcvm::SemanticVersion
- Defined in:
- lib/xcvm/semantic_version.rb
Instance Attribute Summary collapse
-
#major ⇒ Object
Returns the value of attribute major.
-
#minor ⇒ Object
Returns the value of attribute minor.
-
#revision ⇒ Object
Returns the value of attribute revision.
Instance Method Summary collapse
- #decrement!(segment) ⇒ Object
- #increment!(segment) ⇒ Object
-
#initialize(version) ⇒ SemanticVersion
constructor
A new instance of SemanticVersion.
- #inspect ⇒ Object
- #to_s ⇒ Object
Constructor Details
#initialize(version) ⇒ SemanticVersion
Returns a new instance of SemanticVersion.
7 8 9 10 11 12 13 14 |
# File 'lib/xcvm/semantic_version.rb', line 7 def initialize(version) ver = version.split('.') @major = ver[0].to_i @minor = ver[1].to_i if ver[2] != nil then @revision = ver[2].to_i end end |
Instance Attribute Details
#major ⇒ Object
Returns the value of attribute major.
3 4 5 |
# File 'lib/xcvm/semantic_version.rb', line 3 def major @major end |
#minor ⇒ Object
Returns the value of attribute minor.
4 5 6 |
# File 'lib/xcvm/semantic_version.rb', line 4 def minor @minor end |
#revision ⇒ Object
Returns the value of attribute revision.
5 6 7 |
# File 'lib/xcvm/semantic_version.rb', line 5 def revision @revision end |
Instance Method Details
#decrement!(segment) ⇒ Object
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/xcvm/semantic_version.rb', line 35 def decrement!(segment) if segment == :major then self.major -= 1 if self.major < 0 then self.major = 0 end return true elsif segment == :minor then self.minor -= 1 if self.minor < 0 then self.minor = 0 end return true elsif segment == :revision then if self.revision != nil then self.revision -= 1 if self.revision < 0 then self.revision = 0 end else self.revision = 0 end return true else return false end end |
#increment!(segment) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/xcvm/semantic_version.rb', line 16 def increment!(segment) if segment == :major then self.major += 1 return true elsif segment == :minor then self.minor += 1 return true elsif segment == :revision then if self.revision != nil then self.revision += 1 else self.revision = 1 end return true else return false end end |
#inspect ⇒ Object
71 72 73 |
# File 'lib/xcvm/semantic_version.rb', line 71 def inspect self.to_s end |
#to_s ⇒ Object
63 64 65 66 67 68 69 |
# File 'lib/xcvm/semantic_version.rb', line 63 def to_s if @revision != nil then return "#{self.major}.#{self.minor}.#{self.revision}" else return "#{self.major}.#{self.minor}" end end |