summaryrefslogtreecommitdiff
path: root/tooling
diff options
context:
space:
mode:
Diffstat (limited to 'tooling')
-rw-r--r--tooling/deprecations/docs.rb37
-rw-r--r--tooling/deprecations/docs/renderer.rb20
2 files changed, 37 insertions, 20 deletions
diff --git a/tooling/deprecations/docs.rb b/tooling/deprecations/docs.rb
new file mode 100644
index 00000000000..adc3e0edb10
--- /dev/null
+++ b/tooling/deprecations/docs.rb
@@ -0,0 +1,37 @@
+# frozen_string_literal: true
+require 'erb'
+
+module Deprecations
+ module Docs
+ module_function
+
+ def path
+ Rails.root.join("doc/update/deprecations.md")
+ end
+
+ def render
+ deprecations_yaml_glob = Rails.root.join("data/deprecations/**/*.yml")
+
+ source_files = Rake::FileList.new(deprecations_yaml_glob) do |fl|
+ fl.exclude(/example\.yml$/)
+ end
+
+ deprecations = source_files.flat_map do |file|
+ YAML.load_file(file)
+ end
+
+ deprecations = VersionSorter.rsort(deprecations) { |d| d["removal_milestone"] }
+
+ milestones = deprecations.map { |d| d["removal_milestone"] }.uniq
+
+ template = Rails.root.join("data/deprecations/templates/_deprecation_template.md.erb")
+
+ load_template(template)
+ .result_with_hash(deprecations: deprecations, milestones: milestones)
+ end
+
+ def load_template(filename)
+ ERB.new(File.read(filename), trim_mode: '-')
+ end
+ end
+end
diff --git a/tooling/deprecations/docs/renderer.rb b/tooling/deprecations/docs/renderer.rb
deleted file mode 100644
index 832c4ce99d1..00000000000
--- a/tooling/deprecations/docs/renderer.rb
+++ /dev/null
@@ -1,20 +0,0 @@
-# frozen_string_literal: true
-require 'erb'
-
-module Deprecations
- module Docs
- module Renderer
- module_function
-
- def render(**variables)
- template = File.expand_path("data/deprecations/templates/_deprecation_template.md.erb", "#{__dir__}/../../..")
-
- load_template(template).result_with_hash(variables)
- end
-
- def load_template(filename)
- ERB.new(File.read(filename), trim_mode: '-')
- end
- end
- end
-end