Sha256: ebbdd3dc86ecc4d7eed5cfdf2e1fc31eeb32d747ae6d3c5353ad91e6ee6451f3
Contents?: true
Size: 731 Bytes
Versions: 7
Compression:
Stored size: 731 Bytes
Contents
class CmsTemplate < ActiveRecord::Base acts_as_versioned attr_accessor :options has_many :pages, :class_name => 'CmsPage' after_find :deserialize_yaml before_save :serialize_yaml def content=(value) if value && value.is_a?(String) # filter suspicious content... go overboard for now, fine-tune later perhaps value.gsub!(/<(%.*?(exec|system)\s?\(.*?\s*%)>/, '<\1>') value.gsub!(/<(%.*?\%x\s?\[.*?\s*%)>/, '<\1>') value.gsub!(/<(%.*?`.*?\s*%)>/, '<\1>') end super(value) end def deserialize_yaml @options = YAML.load(self.options_yaml) if self.options_yaml end def serialize_yaml self.options_yaml = YAML.dump(@options) end end
Version data entries
7 entries across 7 versions & 1 rubygems