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
# 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

  field "#{name}_html", opts
  field "#{name}_clear", type: Boolean, default: clear_by_default

  class_eval <<-EVAL
    def #{name}
      self.#{name}_html ||= ""
      return self.#{name}_html unless self.#{name}_clear
      Rails::Html::FullSanitizer.new.sanitize(self.#{name}_html.strip)
    end
  EVAL
end