class SemanticVersionSegment
Attributes
is_post_release[RW]
is_pre_release[RW]
normalized_group_string[RW]
original_group_string[RW]
Public Class Methods
new(group_string)
click to toggle source
# File lib/semver_dialects/semantic_version/semantic_version.rb, line 229 def initialize(group_string) @is_post_release = false @is_pre_release = false @version_string = group_string @original_group_string = group_string # use x as unique placeholder group_string_ucase = group_string.to_s.gsub(/\*/, "x").upcase if @@group_suffixes.key?(group_string_ucase) value = @@group_suffixes[group_string_ucase] @is_post_release = value > 0 @is_pre_release = value < 0 @normalized_group_string = @@group_suffixes[group_string_ucase].to_s else @normalized_group_string = group_string_ucase end end
Public Instance Methods
!=(other_semver)
click to toggle source
# File lib/semver_dialects/semantic_version/semantic_version.rb, line 292 def !=(other_semver) return !(self == other_semver) end
<(other_semver)
click to toggle source
# File lib/semver_dialects/semantic_version/semantic_version.rb, line 272 def <(other_semver) compare(self.normalized_group_string, other_semver.normalized_group_string, true, false, :<) end
<=(other_semver)
click to toggle source
# File lib/semver_dialects/semantic_version/semantic_version.rb, line 284 def <=(other_semver) self == other_semver || compare(self.normalized_group_string, other_semver.normalized_group_string, true, false, :<) end
==(other_semver)
click to toggle source
# File lib/semver_dialects/semantic_version/semantic_version.rb, line 288 def ==(other_semver) self.normalized_group_string == other_semver.normalized_group_string end
>(other_semver)
click to toggle source
# File lib/semver_dialects/semantic_version/semantic_version.rb, line 276 def >(other_semver) compare(self.normalized_group_string, other_semver.normalized_group_string, false, true, :>) end
>=(other_semver)
click to toggle source
# File lib/semver_dialects/semantic_version/semantic_version.rb, line 280 def >=(other_semver) self == other_semver || compare(self.normalized_group_string, other_semver.normalized_group_string, false, true, :>) end
compare(semver_a, semver_b, ret_anr_bnonr, ret_anonr_bnr, comparator)
click to toggle source
# File lib/semver_dialects/semantic_version/semantic_version.rb, line 248 def compare(semver_a, semver_b, ret_anr_bnonr, ret_anonr_bnr, comparator) if semver_a.number? && semver_b.number? semver_a.to_i.send(comparator, semver_b.to_i) elsif semver_a.number? && !semver_b.number? if semver_b == "X" true else ret_anr_bnonr end elsif !semver_a.number? && semver_b.number? if semver_a == "X" true else ret_anonr_bnr end else # !semantic_version_b.group_string.is_number? && !semantic_version_agrous_string.is_number? if semver_a == "X" || semver_b == "X" true else semver_a.send(comparator, semver_b) end end end
diff(other_semver, abs = true)
click to toggle source
# File lib/semver_dialects/semantic_version/semantic_version.rb, line 312 def diff(other_semver, abs = true) if other_semver.normalized_group_string == "X" || self.normalized_group_string == "X" "0" elsif self.normalized_group_string.number? && other_semver.normalized_group_string.number? ret = self.normalized_group_string.to_i - other_semver.normalized_group_string.to_i (abs && ret < 0) ? -ret : ret else nil end end
is_number?()
click to toggle source
# File lib/semver_dialects/semantic_version/semantic_version.rb, line 304 def is_number? self.normalized_group_string.number? end
is_zero?()
click to toggle source
# File lib/semver_dialects/semantic_version/semantic_version.rb, line 308 def is_zero? is_number? ? self.normalized_group_string.to_i == 0 : false end
to_normalized_s()
click to toggle source
# File lib/semver_dialects/semantic_version/semantic_version.rb, line 296 def to_normalized_s @normalized_group_string end
to_s()
click to toggle source
# File lib/semver_dialects/semantic_version/semantic_version.rb, line 300 def to_s @version_string end