class Vseries::SemanticVersion::PreRelease
Constants
- BlankPreReleaseError
- REGEXP
Attributes
name[RW]
number[RW]
Public Class Methods
empty()
click to toggle source
# File lib/vseries/semantic_version.rb, line 23 def self.empty new('') end
new(pre_release, initial_number: DEFAULT_PRE_RELEASE_INITIAL_NUMBER)
click to toggle source
# File lib/vseries/semantic_version.rb, line 27 def initialize(pre_release, initial_number: DEFAULT_PRE_RELEASE_INITIAL_NUMBER) name, number = pre_release.match(REGEXP)&.captures @initial_number = initial_number return if name.nil? && number.nil? @name = name @number = number ? number.to_i : initial_number end
with(name:, number: DEFAULT_PRE_RELEASE_INITIAL_NUMBER)
click to toggle source
# File lib/vseries/semantic_version.rb, line 16 def self.with(name:, number: DEFAULT_PRE_RELEASE_INITIAL_NUMBER) instance = allocate instance.name = name instance.number = number instance end
Public Instance Methods
<=>(other)
click to toggle source
# File lib/vseries/semantic_version.rb, line 45 def <=>(other) return 0 if blank? && other.blank? return -1 if present? && other.blank? return 1 if blank? && other.present? return 1 if @name > other.name @number <=> other.number end
blank?()
click to toggle source
# File lib/vseries/semantic_version.rb, line 54 def blank? name.nil? && number.nil? end
present?()
click to toggle source
# File lib/vseries/semantic_version.rb, line 58 def present? !blank? end
to_s()
click to toggle source
# File lib/vseries/semantic_version.rb, line 62 def to_s return '' if blank? "-#{@name}.#{@number}" end
up()
click to toggle source
# File lib/vseries/semantic_version.rb, line 37 def up raise BlankPreReleaseError if blank? new_pre_release = self.dup new_pre_release.number = number ? number + 1 : @initial_number new_pre_release end