Sha256: 5791bc311a9b4bdc2290989f66aaebe8d4872facf514a326bf0af775aa8cd44d

Contents?: true

Size: 591 Bytes

Versions: 2

Compression:

Stored size: 591 Bytes

Contents

require 'redcloth'
 
module AreeyaTextile::ModelExtensions
  module ActsMethods
    def self.included(base)
      base.extend ClassMethods
    end
    
    module ClassMethods
      def acts_as_textile(*columns)
        columns.each do |col|
          class_eval <<-EOV
            def #{col.to_s}
              if @#{col.to_s}
                unless self.#{col.to_s}_changed?
                  return @#{col.to_s}
                end
              end
              @#{col.to_s} = RedCloth.new(self['#{col.to_s}'].to_s)
            end
          EOV
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
pdzioba-areeya_textile-1.0.0 lib/model_extensions.rb
pdzioba-areeya_textile-1.1.0 lib/model_extensions.rb