Sha256: 51ea84c1c9f5c30f3abc7c7268e91eaf702f81e0f8c5813dcd9531324e251022

Contents?: true

Size: 798 Bytes

Versions: 6

Compression:

Stored size: 798 Bytes

Contents

module ActiveRecord
  module Acts #:nodoc:
    module MuckRecommendations # :nodoc:

      def self.included(base)
        base.extend(ClassMethods)
      end
  
      module ClassMethods

        # +has_muck_recommendations+ gives the class it is called on personalized recommendations
        def has_muck_recommendations
          has_many :personal_recommendations, :as => :personal_recommendable
          has_many :recommended_entries, :through => :personal_recommendations, :source => :entry,
                              :conditions => "personal_recommendations.destination_type = 'Entry'"
        end

        def acts_as_muck_recommendation
          has_many :recommended_to, :as => :destination, :class_name => 'PersonalRecommendation'
        end
        
      end

    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
muck-services-0.1.45 lib/active_record/acts/muck_recommendations.rb
muck-services-0.1.44 lib/active_record/acts/muck_recommendations.rb
muck-services-0.1.43 lib/active_record/acts/muck_recommendations.rb
muck-services-0.1.41 lib/active_record/acts/muck_recommendations.rb
muck-services-0.1.40 lib/active_record/acts/muck_recommendations.rb
muck-services-0.1.24 lib/active_record/acts/muck_recommendations.rb