class Bosh::Common::Version::SemiSemanticVersion
Constants
- DEFAULT_POST_RELEASE_SEGMENT
Attributes
version[R]
Public Class Methods
new(version)
click to toggle source
# File lib/common/version/semi_semantic_version.rb, line 25 def initialize(version) raise ArgumentError, "Invalid Version Type: #{version.class}" unless version.is_a?(SemiSemantic::Version) @version = version @version.freeze end
parse(version)
click to toggle source
# File lib/common/version/semi_semantic_version.rb, line 14 def self.parse(version) raise ArgumentError, 'Invalid Version: nil' if version.nil? version = version.to_s self.new(SemiSemantic::Version.parse(version)) end
parse_and_compare(a, b)
click to toggle source
# File lib/common/version/semi_semantic_version.rb, line 21 def self.parse_and_compare(a, b) self.parse(a) <=> self.parse(b) end
Public Instance Methods
<=>(other)
click to toggle source
# File lib/common/version/semi_semantic_version.rb, line 48 def <=>(other) @version <=> other.version end
default_post_release()
click to toggle source
# File lib/common/version/semi_semantic_version.rb, line 31 def default_post_release self.class.new(SemiSemantic::Version.new(@version.release, @version.pre_release, default_post_release_segment)) end
increment_post_release()
click to toggle source
# File lib/common/version/semi_semantic_version.rb, line 35 def increment_post_release raise UnavailableMethodError, 'Failed to increment: post-release is nil' if @version.post_release.nil? self.class.new(SemiSemantic::Version.new(@version.release, @version.pre_release, @version.post_release.increment)) end
increment_release()
click to toggle source
# File lib/common/version/semi_semantic_version.rb, line 40 def increment_release self.class.new(SemiSemantic::Version.new(@version.release.increment)) end
timestamp_release()
click to toggle source
# File lib/common/version/semi_semantic_version.rb, line 44 def timestamp_release self.class.new(SemiSemantic::Version.new(@version.release, @version.pre_release, SemiSemantic::VersionSegment.parse("dev." + Time.now.to_i.to_s))) end
to_s()
click to toggle source
# File lib/common/version/semi_semantic_version.rb, line 52 def to_s @version.to_s end
Private Instance Methods
default_post_release_segment()
click to toggle source
# File lib/common/version/semi_semantic_version.rb, line 58 def default_post_release_segment DEFAULT_POST_RELEASE_SEGMENT end