Sha256: 66c792257c7b71d963f144902dad8c8d0c239986f08f7f8e84ed3762819b6398
Contents?: true
Size: 685 Bytes
Versions: 3
Compression:
Stored size: 685 Bytes
Contents
class MetaTag < ::ActiveRecord::Base belongs_to :taggable, :polymorphic => true validates_presence_of :name, :taggable_type, :content validates_uniqueness_of :name, :scope => [:taggable_type, :taggable_id, :is_dynamic] attr_accessible :name, :content, :is_dynamic def get_content(controller=nil) self.is_dynamic ? dynamic_content(controller) : self.content end def dynamic_content(controller) self.content.gsub /%{([\w\.]+)}/ do items = $1.split('.') instance_name = items.shift method_name = items.join('.') record = controller.instance_variable_get("@#{instance_name}") record.try(:"#{method_name}") end end end
Version data entries
3 entries across 3 versions & 2 rubygems
Version | Path |
---|---|
sunrise-cms-0.5.0.rc1 | vendor/bundle/ruby/1.9.1/gems/meta_manager-0.0.8/app/models/meta_tag.rb |
meta_manager-0.0.8 | app/models/meta_tag.rb |
meta_manager-0.0.7 | app/models/meta_tag.rb |