From 7d7bef81caa56015bc87331bef8f62bbab2da66d Mon Sep 17 00:00:00 2001 From: Andreas Nedbal Date: Sat, 16 Apr 2022 03:47:48 +0200 Subject: [PATCH] Add version class and load it in Rails --- config/application.rb | 2 ++ lib/version.rb | 48 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 lib/version.rb diff --git a/config/application.rb b/config/application.rb index 5572ef64..d62c8176 100644 --- a/config/application.rb +++ b/config/application.rb @@ -8,6 +8,8 @@ start = Time.now Bundler.require(*Rails.groups) puts 'processing time of bundler require: ' + "#{(Time.now - start).round(3).to_s.ljust(5, '0')}s".light_green +require_relative "../lib/version" + module Justask class Application < Rails::Application # Settings in config/environments/* take precedence over those specified here. diff --git a/lib/version.rb b/lib/version.rb new file mode 100644 index 00000000..de6e2759 --- /dev/null +++ b/lib/version.rb @@ -0,0 +1,48 @@ +# 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 + 4 + end + + def day + 15 + 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 \ No newline at end of file