Sha256: 087b0e31f0d26487a40ce90a0cccc52fc1515328f7d73c28b86ce3c840aad500

Contents?: true

Size: 753 Bytes

Versions: 5

Compression:

Stored size: 753 Bytes

Contents

module Knitkit
  module Extensions
    module ActiveRecord
      module ActsAsCommentable
        def self.included(base)
          base.extend(ClassMethods)
        end

        module ClassMethods

          def acts_as_commentable
            has_many :comments, :as => :commented_record, :dependent => :destroy

            extend ActsAsCommentable::SingletonMethods
            include ActsAsCommentable::InstanceMethods
          end

        end

        module SingletonMethods
        end

        module InstanceMethods

          def add_comment(options={})
            self.comments.create(options)
          end

        end
      end #ActsAsCommentable
    end #ActiveRecord
  end #Extensions
end #Knitkit

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
knitkit-2.0.11 lib/knitkit/extensions/active_record/acts_as_commentable.rb
knitkit-2.0.10 lib/knitkit/extensions/active_record/acts_as_commentable.rb
knitkit-2.0.9 lib/knitkit/extensions/active_record/acts_as_commentable.rb
knitkit-2.0.7 lib/knitkit/extensions/active_record/acts_as_commentable.rb
knitkit-2.0.6 lib/knitkit/extensions/active_record/acts_as_commentable.rb