diff --git a/lib/tasks/2018_03_06_clean_html_textareas.rake b/lib/tasks/2018_03_06_clean_html_textareas.rake new file mode 100644 index 000000000..37ff84579 --- /dev/null +++ b/lib/tasks/2018_03_06_clean_html_textareas.rake @@ -0,0 +1,16 @@ +require Rails.root.join("app", "helpers", "html_to_string_helper") + +namespace :'2018_03_06_clean_html_textareas' do + task clean: :environment do + include ActionView::Helpers::TextHelper + include HtmlToStringHelper + + types_de_champ = TypeDeChamp.joins(:champ) + .where(type_champ: "textarea") + .where("champs.value LIKE '%<%'") + + types_de_champ.find_each do |tdc| + tdc.champ.each { |c| c.update_column(:value, html_to_string(c.value)) } + end + end +end diff --git a/spec/lib/rake/2018_03_06_clean_html_textareas_spec.rb b/spec/lib/rake/2018_03_06_clean_html_textareas_spec.rb new file mode 100644 index 000000000..86bcd3a91 --- /dev/null +++ b/spec/lib/rake/2018_03_06_clean_html_textareas_spec.rb @@ -0,0 +1,27 @@ +require 'spec_helper' + +describe '2018_03_06_clean_html_textareas#clean' do + let(:procedure) { create(:procedure) } + let(:type_champ) { create(:type_de_champ, procedure: procedure, type_champ: :textarea) } + let(:champ) { type_champ.champ.create(value: "
Gnahar
greu bouahaha