Sha256: b8db175f6eff7e24d3915dd753a42396500660017f6a15f8e848ad53cc7ddfa1
Contents?: true
Size: 702 Bytes
Versions: 1
Compression:
Stored size: 702 Bytes
Contents
module MetaManager module Model extend ::ActiveSupport::Concern included do validates_presence_of :name, :taggable_type validates_uniqueness_of :name, scope: %i[taggable_type taggable_id is_dynamic] validates :content, length: { maximum: 4000 } end def get_content(controller = nil) is_dynamic ? dynamic_content(controller) : content end def dynamic_content(controller) 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 end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
meta_manager-0.3.0 | lib/meta_manager/model.rb |