lib/semantic/version.rb in semantic-1.6.0 vs lib/semantic/version.rb in semantic-1.6.1
- old
+ new
@@ -4,11 +4,12 @@
include Comparable
SemVerRegexp = /\A(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][a-zA-Z0-9-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][a-zA-Z0-9-]*))*))?(?:\+([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?\Z/
- attr_accessor :major, :minor, :patch, :pre, :build
+ attr_accessor :major, :minor, :patch, :pre
+ attr_reader :build
def initialize version_str
v = version_str.match(SemVerRegexp)
raise ArgumentError.new("#{version_str} is not a valid SemVer Version (http://semver.org)") if v.nil?
@@ -24,10 +25,10 @@
def build=(b)
@build = (!b.nil? && b.empty?) ? nil : b
end
def identifiers(pre)
- array = pre.split(".")
+ array = pre.split(/[\.\-]/)
array.each_with_index {|e,i| array[i] = Integer(e) if /\A\d+\z/.match(e)}
return array
end
def compare_pre(prea, preb)