Module: Enjoy::HtmlField::ClassMethods

Defined in:
app/models/concerns/enjoy/html_field.rb

Instance Method Summary collapse

Instance Method Details

#enjoy_cms_html_field(name, opts = {}) ⇒ Object



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"