lib/muck_activities.rb in muck-activities-0.1.8 vs lib/muck_activities.rb in muck-activities-0.1.9
- old
+ new
@@ -1,75 +1,7 @@
require 'cgi'
require 'muck_activities/initialize_routes'
-
-module MuckActivity # :nodoc:
-
- def self.included(base) # :nodoc:
- base.extend ActMethods
- end
-
- module ActMethods
-
- # +has_activities+ gives the class it is called on an activity feed and a method called
- # +add_activity+ that can add activities into a feed. Retrieve activity feed items
- # via object.activities. ie @user.activities.
- def has_activities
- unless included_modules.include? InstanceMethods
- has_many :activity_feeds, :as => :ownable
- has_many :activities, :through => :activity_feeds, :order => 'created_at desc'
- include InstanceMethods
- end
- end
-
- # +acts_as_activity_source+ gives the class it is called on a method called
- # +add_activity+ that can add activities into a feed.
- def acts_as_activity_source
- unless included_modules.include? InstanceMethods
- include InstanceMethods
- end
- end
-
- end
-
- module InstanceMethods
-
- # +add_activity+ adds an activity to all activites feeds that belong to the objects found in feed_to.
- # * +feed_to+: an array of objects that have +has_activities+ declared on them. The generated activity
- # will be pushed into the feed of each of these objects.
- # * +source+: the object that peformed the activity ie a user or group
- # * +item+: an object that will be used to generated the entry in an activity feed
- # * +template+: name of an partial that will be used to generated the entry in the activity feed. Place
- # templates in /app/views/activity_templates
- # * +title+: optional title that can be used in the template
- # * +content+: option content that can be used in the template. Useful for activities that might not have
- # an item but instead might have a message or other text.
- # * +check_method+: method that will be called on each item in the feed_to array. If the method evaluates
- # to false the activity won't be added to the object's activity feed. An example usage would be
- # letting users configure which items they want to have in their activity feed.
- def add_activity(feed_to, source, item, template, title = '', content = '', check_method = nil)
- feed_to = [feed_to] unless feed_to.is_a?(Array)
- activity = Activity.create(:item => item, :source => source, :template => template, :title => title, :content => content)
- feed_to.each do |ft|
- if check_method
- ft.activities << activity if ft.send(check_method)
- else
- ft.activities << activity
- end
- end
- end
-
- # +status+ returns the first activity item from the user's activity feed that is a status update.
- # Used for displaying the last status update the user made
- def status
- self.activities.find(:first, :conditions => ['is_status_update = true'], :order => 'created_at DESC')
- end
-
- def can_view?(check_object)
- self == check_object
- end
- end
-
-end
+require 'muck_activities/muck_activity'
ActionController::Base.send :helper, MuckActivityHelper
ActiveRecord::Base.send(:include, MuckActivity)
ActionController::Base.send(:include, MuckActivity)
\ No newline at end of file