diff options
Diffstat (limited to 'tooling')
-rw-r--r-- | tooling/deprecations/docs.rb | 37 | ||||
-rw-r--r-- | tooling/deprecations/docs/renderer.rb | 20 |
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 |