33 lines
631 B
Ruby
33 lines
631 B
Ruby
# frozen_string_literal: true
|
|
|
|
# Retrospring's version scheme is based on CalVer
|
|
# because we don't really track/plan ahead feature releases
|
|
#
|
|
# The version is structured like this:
|
|
# YYYY.MMDD.PATCH
|
|
#
|
|
# PATCH being a zero-indexed number representing the
|
|
# amount of patch releases for the given day
|
|
|
|
module Retrospring
|
|
module Version
|
|
module_function
|
|
|
|
def year = 2023
|
|
|
|
def month = 1
|
|
|
|
def day = 31
|
|
|
|
def patch = 0
|
|
|
|
def suffix = ""
|
|
|
|
def minor = [month.to_s.rjust(2, "0"), day.to_s.rjust(2, "0")].join
|
|
|
|
def to_a = [year.to_s, minor, patch.to_s]
|
|
|
|
def to_s = [to_a.join("."), suffix].join
|
|
end
|
|
end
|