Class: Serializable::Version
- Inherits:
-
Object
- Object
- Serializable::Version
- Defined in:
- lib/serializable/version.rb
Instance Method Summary collapse
- #<(rhs) ⇒ Object
- #<=>(rhs) ⇒ Object
- #==(rhs) ⇒ Object
- #>(rhs) ⇒ Object
- #build ⇒ Object
-
#initialize(version_string) ⇒ Version
constructor
A new instance of Version.
- #major ⇒ Object
- #minor ⇒ Object
- #revision ⇒ Object
- #to_s(seperator = '.') ⇒ Object
- #to_s_underscored ⇒ Object
Constructor Details
#initialize(version_string) ⇒ Version
Returns a new instance of Version.
4 5 6 7 8 9 10 11 |
# File 'lib/serializable/version.rb', line 4 def initialize(version_string) version_string = version_string.gsub('_','.') @levels = version_string.split('.') @levels.each_with_index do |number, index| @levels[index] = number.to_i end end |
Instance Method Details
#<(rhs) ⇒ Object
29 30 31 |
# File 'lib/serializable/version.rb', line 29 def <(rhs) (self <=> rhs) < 0 end |
#<=>(rhs) ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/serializable/version.rb', line 41 def <=>(rhs) max_levels = @levels.size - 1 max_levels = rhs.levels.size - 1 if rhs.levels.size > max_levels (0..max_levels).each do |level| lhs_level = @levels[level] || 0 rhs_level = rhs.levels[level] || 0 if lhs_level == rhs_level next else return lhs_level <=> rhs_level end end 0 # Ended on an equality end |
#==(rhs) ⇒ Object
37 38 39 |
# File 'lib/serializable/version.rb', line 37 def ==(rhs) (self <=> rhs) == 0 end |
#>(rhs) ⇒ Object
33 34 35 |
# File 'lib/serializable/version.rb', line 33 def >(rhs) (self <=> rhs) > 0 end |
#build ⇒ Object
21 22 23 |
# File 'lib/serializable/version.rb', line 21 def build get_level(2) end |
#major ⇒ Object
13 14 15 |
# File 'lib/serializable/version.rb', line 13 def major get_level(0) end |
#minor ⇒ Object
17 18 19 |
# File 'lib/serializable/version.rb', line 17 def minor get_level(1) end |
#revision ⇒ Object
25 26 27 |
# File 'lib/serializable/version.rb', line 25 def revision get_level(3) end |
#to_s(seperator = '.') ⇒ Object
58 59 60 |
# File 'lib/serializable/version.rb', line 58 def to_s(seperator = '.') @levels.join(seperator) end |
#to_s_underscored ⇒ Object
62 63 64 |
# File 'lib/serializable/version.rb', line 62 def to_s_underscored to_s('_') end |