class Template < ActiveRecord::Base def self.format_collection Mime::SET.symbols.map(&:to_s) end def self.locale_collection I18n.available_locales.map(&:to_s) end def self.handler_collection ActionView::Template::Handlers.extensions.map(&:to_s) end validates :body, :path, presence: true validates :format, inclusion: Template::format_collection validates :locale, inclusion: Template::locale_collection validates :handler, inclusion: Template::handler_collection after_initialize do self.format ||= 'html' self.locale ||= 'nl' self.handler ||= 'erb' end after_save do ApplicationController::template_resolver.clear_cache end end