49 lines
727 B
Ruby
49 lines
727 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
|
|
2022
|
|
end
|
|
|
|
def month
|
|
7
|
|
end
|
|
|
|
def day
|
|
19
|
|
end
|
|
|
|
def patch
|
|
0
|
|
end
|
|
|
|
def suffix
|
|
""
|
|
end
|
|
|
|
def minor
|
|
[month.to_s.rjust(2, "0"), day.to_s.rjust(2, "0")].join
|
|
end
|
|
|
|
def to_a
|
|
[year.to_s, minor, patch.to_s]
|
|
end
|
|
|
|
def to_s
|
|
[to_a.join("."), suffix].join
|
|
end
|
|
end
|
|
end
|