discourse/lib/version.rb

38 lines
923 B
Ruby
Raw Normal View History

# frozen_string_literal: true
2013-02-06 03:16:51 +08:00
module Discourse
VERSION_REGEXP = /\A\d+\.\d+\.\d+(\.beta\d+)?\z/ unless defined? ::Discourse::VERSION_REGEXP
2013-08-08 06:47:04 +08:00
# work around reloader
unless defined? ::Discourse::VERSION
module VERSION #:nodoc:
2018-01-04 05:54:55 +08:00
MAJOR = 2
2019-02-01 06:49:43 +08:00
MINOR = 3
2019-10-02 05:43:25 +08:00
TINY = 4
2019-06-18 08:47:22 +08:00
PRE = nil
2013-02-06 03:16:51 +08:00
STRING = [MAJOR, MINOR, TINY, PRE].compact.join('.')
end
2013-02-06 03:16:51 +08:00
end
def self.has_needed_version?(current, needed)
current_split = current.split('.')
needed_split = needed.split('.')
(0..[current_split.size, needed_split.size].max).each do |idx|
current_str = current_split[idx] || ''
c0 = (needed_split[idx] || '').sub('beta', '').to_i
c1 = (current_str || '').sub('beta', '').to_i
# beta is less than stable
return false if current_str.include?('beta') && (c0 == 0) && (c1 > 0)
return true if c1 > c0
return false if c0 > c1
end
true
end
end