module ActivityFeed::Item

Public Instance Methods

add_item(user_id, item_id, timestamp, aggregate = ActivityFeed.aggregate)
Alias for: update_item
aggregate_item(user_id, item_id, timestamp) click to toggle source

Specifically aggregate an item in the activity feed for a given user_id. This is useful if you are going to background the process of populating a user’s activity feed from friend’s activities.

@param user_id [String] User ID. @param item_id [String] Item ID. @param timestamp [int] Timestamp for the item being added or updated.

# File lib/activity_feed/item.rb, line 28
def aggregate_item(user_id, item_id, timestamp)
  feederboard = ActivityFeed.feederboard_for(user_id, true)
  feederboard.rank_member(item_id, timestamp)
end
check_item?(user_id, item_id, aggregate = ActivityFeed.aggregate) click to toggle source

Check to see if an item is in the activity feed for a given user_id.

@param user_id [String] User ID. @param item_id [String] Item ID. @param aggregate [boolean, false] Whether or not to check the aggregate activity feed.

# File lib/activity_feed/item.rb, line 51
def check_item?(user_id, item_id, aggregate = ActivityFeed.aggregate)
  feederboard_individual = ActivityFeed.feederboard_for(user_id, false)
  feederboard_aggregate = ActivityFeed.feederboard_for(user_id, true)

  aggregate ? feederboard_aggregate.check_member?(item_id) : feederboard_individual.check_member?(item_id)
end
remove_item(user_id, item_id) click to toggle source

Remove an item from the activity feed for a given user_id. This will also remove the item from the aggregate activity feed for the user.

@param user_id [String] User ID. @param item_id [String] Item ID.

# File lib/activity_feed/item.rb, line 39
def remove_item(user_id, item_id)
  feederboard = ActivityFeed.feederboard_for(user_id, false)
  feederboard.remove_member(item_id)
  feederboard = ActivityFeed.feederboard_for(user_id, true)
  feederboard.remove_member(item_id)
end
update_item(user_id, item_id, timestamp, aggregate = ActivityFeed.aggregate) click to toggle source

Add or update an item in the activity feed for a given user_id.

@param user_id [String] User ID. @param item_id [String] Item ID. @param timestamp [int] Timestamp for the item being added or updated. @param aggregate [boolean, false] Whether to add or update the item in the aggregate feed for user_id.

# File lib/activity_feed/item.rb, line 9
def update_item(user_id, item_id, timestamp, aggregate = ActivityFeed.aggregate)
  feederboard = ActivityFeed.feederboard_for(user_id, false)
  feederboard.rank_member(item_id, timestamp)

  if aggregate
    feederboard = ActivityFeed.feederboard_for(user_id, true)
    feederboard.rank_member(item_id, timestamp)
  end
end
Also aliased as: add_item