Skip to content

Commit

Permalink
Add rake task for converting whn to markdown
Browse files Browse the repository at this point in the history
  • Loading branch information
DavidBiddle committed Dec 1, 2023
1 parent e3dc66a commit 64d4a9b
Showing 1 changed file with 50 additions and 0 deletions.
50 changes: 50 additions & 0 deletions lib/tasks/populate_what_happens_next.rake
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
namespace :what_happens_next_markdown do
include ActionView::Helpers::TextHelper

def generate_markdown(text)
formatted_html = simple_format(
text,
{},
sanitize: true,
sanitize_options: {
tags: %w[a ol ul li p],
attributes: %w[href class rel target title],
},
)
ReverseMarkdown.convert(formatted_html).strip
end

desc "Populate what_happens_next_markdown"
task populate: :environment do |_, _args|
Form.find_each do |form|
markdown = generate_markdown(form.what_happens_next_text)
form.what_happens_next_markdown = form.what_happens_next_text.blank? ? "" : markdown

form.made_live_forms.each do |made_live_form|
form_blob = JSON.parse(made_live_form.json_form_blob, symbolize_names: true)
markdown = generate_markdown(form_blob[:what_happens_next_text])
form_blob[:what_happens_next_markdown] = form_blob[:what_happens_next_text].blank? ? "" : markdown

made_live_form.update!(json_form_blob: form_blob.to_json)
end

form.save!
end
end

desc "depopulate what_happens_next_markdown"
task depopulate: :environment do |_, _args|
Form.find_each do |form|
form.what_happens_next_markdown = nil

form.made_live_forms.each do |made_live_form|
form_blob = JSON.parse(made_live_form.json_form_blob, symbolize_names: true)
form_blob[:what_happens_next_markdown] = nil

made_live_form.update!(json_form_blob: form_blob.to_json)
end

form.save!
end
end
end

0 comments on commit 64d4a9b

Please sign in to comment.