6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
# File 'app/models/concerns/enjoy/html_field.rb', line 6
def enjoy_cms_html_field(name, opts = {})
clear_by_default = opts.delete(:clear_by_default)
clear_by_default = false unless clear_by_default == true
_html_field_name = "#{name}_html"
field _html_field_name, opts
field "#{name}_clear", type: Boolean, default: clear_by_default, localize: opts[:localize]
class_eval " def \#{name}\n self.\#{_html_field_name} ||= \"\"\n return self.\#{_html_field_name} unless self.\#{name}_clear\n clean_\#{name}\n end\n def \#{name}=(val)\n self.\#{_html_field_name} = val\n end\n\n def clean_\#{name}\n self.\#{_html_field_name} ||= \"\"\n Rails::Html::FullSanitizer.new.sanitize(self.\#{_html_field_name}.strip)\n end\n EVAL\nend\n"
|