module SirTrevorRails::HasSirTrevorContent::ClassMethods
Public Instance Methods
sir_trevor_content(*attributes)
click to toggle source
# File lib/sir_trevor_rails/has_sir_trevor_content.rb, line 9 def sir_trevor_content(*attributes) attributes.each do |attribute| #next unless name.constantize.column_names.include? attribute.to_s define_attribute_reader(attribute) end end
Private Instance Methods
define_attribute_reader(attribute)
click to toggle source
# File lib/sir_trevor_rails/has_sir_trevor_content.rb, line 17 def define_attribute_reader(attribute) define_method attribute do content = read_attribute(attribute) return SirTrevorRails::BlockArray.new if content.blank? instance_variable_get("@#{attribute}") || instance_variable_set("@#{attribute}", SirTrevorRails::BlockArray.from_json(content, self)) end end