Class: VersionParser
- Inherits:
-
Object
- Object
- VersionParser
- Defined in:
- lib/wonko_the_sane/version_parser.rb
Class Method Summary collapse
- .compare(string1, string2) ⇒ Object
- .equal?(string1, string2) ⇒ Boolean
- .greater?(string1, string2) ⇒ Boolean
- .greater_or_equal?(string1, string2) ⇒ Boolean
- .less?(string1, string2) ⇒ Boolean
- .less_or_equal?(string1, string2) ⇒ Boolean
- .not_equal?(string1, string2) ⇒ Boolean
Class Method Details
.compare(string1, string2) ⇒ Object
59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 |
# File 'lib/wonko_the_sane/version_parser.rb', line 59 def self.compare(string1, string2) par1 = VersionParser.parse string1 par2 = VersionParser.parse string2 size = [par1[:sections].length, par2[:sections].length].max ret = 0 size.times do |index| val1 = par1[:sections].length > index ? par1[:sections][index] : 0 val2 = par2[:sections].length > index ? par2[:sections][index] : 0 if val1.is_a? Integer and val2.is_a? Integer ret = VersionParser.compare_values val1, val2 elsif val1.is_a? Integer ret = VersionParser.compare_values val1.to_s, val2 elsif val2.is_a? Integer ret = VersionParser.compare_values val1, val2.to_s else ret = VersionParser.compare_values val1.to_s, val2.to_s end break unless ret == 0 end if ret == 0 if par1[:appendix] and par2[:appendix] appendix1 = VersionParser.appendix_values par1[:appendix] appendix2 = VersionParser.appendix_values par2[:appendix] ret = VersionParser.compare_values appendix1[0], appendix2[0] if ret == 0 ret = VersionParser.compare_values appendix1[1], appendix2[1] end elsif par1[:appendix] ret = -1 elsif par2[:appendix] ret = 1 end end return ret end |
.equal?(string1, string2) ⇒ Boolean
101 102 103 |
# File 'lib/wonko_the_sane/version_parser.rb', line 101 def self.equal?(string1, string2) VersionParser.compare(string1, string2) == 0 end |
.greater?(string1, string2) ⇒ Boolean
98 99 100 |
# File 'lib/wonko_the_sane/version_parser.rb', line 98 def self.greater?(string1, string2) VersionParser.compare(string1, string2) == 1 end |
.greater_or_equal?(string1, string2) ⇒ Boolean
108 109 110 111 |
# File 'lib/wonko_the_sane/version_parser.rb', line 108 def self.greater_or_equal?(string1, string2) ret = VersionParser.compare string1, string2 ret == 0 or ret == 1 end |
.less?(string1, string2) ⇒ Boolean
95 96 97 |
# File 'lib/wonko_the_sane/version_parser.rb', line 95 def self.less?(string1, string2) VersionParser.compare(string1, string2) == -1 end |
.less_or_equal?(string1, string2) ⇒ Boolean
104 105 106 107 |
# File 'lib/wonko_the_sane/version_parser.rb', line 104 def self.less_or_equal?(string1, string2) ret = VersionParser.compare string1, string2 ret == 0 or ret == -1 end |
.not_equal?(string1, string2) ⇒ Boolean
112 113 114 |
# File 'lib/wonko_the_sane/version_parser.rb', line 112 def self.not_equal?(string1, string2) VersionParser.compare(string1, string2) != 0 end |