Sha256: 6de40c220a6897aaa2557b5504356d828763f60e09eef78eefee1d3ec2a510b4

Contents?: true

Size: 664 Bytes

Versions: 12

Compression:

Stored size: 664 Bytes

Contents

if Enjoy.mongoid?
  module Enjoy::HtmlField
    extend ActiveSupport::Concern

    module ClassMethods
      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
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
enjoy_cms-0.3.7 app/models/concerns/enjoy/html_field.rb
enjoy_cms-0.3.6.2 app/models/concerns/enjoy/html_field.rb
enjoy_cms-0.3.6.1 app/models/concerns/enjoy/html_field.rb
enjoy_cms-0.3.6 app/models/concerns/enjoy/html_field.rb
enjoy_cms-0.3.5 app/models/concerns/enjoy/html_field.rb
enjoy_cms-0.3.4 app/models/concerns/enjoy/html_field.rb
enjoy_cms-0.3.3 app/models/concerns/enjoy/html_field.rb
enjoy_cms-0.3.2.1 app/models/concerns/enjoy/html_field.rb
enjoy_cms-0.3.2 app/models/concerns/enjoy/html_field.rb
enjoy_cms-0.3.1.2 app/models/concerns/enjoy/html_field.rb
enjoy_cms-0.3.1.1 app/models/concerns/enjoy/html_field.rb
enjoy_cms-0.3.1 app/models/concerns/enjoy/html_field.rb