class Invoker::Version
Attributes
major[R]
minor[R]
patch[R]
Public Class Methods
new(number)
click to toggle source
# File lib/invoker/version.rb, line 6 def initialize(number) t_major, t_minor, t_patch = number.split('.') @major = t_major.to_i @minor = t_minor.to_i @patch = t_patch.to_i end
Public Instance Methods
<=>(version)
click to toggle source
# File lib/invoker/version.rb, line 17 def <=>(version) (major.to_i <=> version.major.to_i).nonzero? || (minor.to_i <=> version.minor.to_i).nonzero? || patch.to_i <=> version.patch.to_i end
matches?(operator, number)
click to toggle source
# File lib/invoker/version.rb, line 23 def matches?(operator, number) version = Version.new(number) self == version return self == version if operator == '=' return self > version if operator == '>' return self < version if operator == '<' return version <= self && version.next > self if operator == '~>' end
next()
click to toggle source
# File lib/invoker/version.rb, line 33 def next next_splits = to_a if next_splits.length == 1 next_splits[0] += 1 else next_splits[-2] += 1 next_splits[-1] = 0 end Version.new(next_splits.join('.')) end
to_a()
click to toggle source
# File lib/invoker/version.rb, line 13 def to_a [major, minor, patch].compact end