Module: ActivityFeed::Item

Included in:
ActivityFeed
Defined in:
lib/activity_feed/item.rb

Instance Method Summary collapse

Instance Method Details

#aggregate_item(user_id, item_id, timestamp) ⇒ Object

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.

Parameters:

  • user_id (String)

    User ID.

  • item_id (String)

    Item ID.

  • timestamp (int)

    Timestamp for the item being added or updated.



28
29
30
31
# 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) ⇒ Boolean

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

Parameters:

  • user_id (String)

    User ID.

  • item_id (String)

    Item ID.

  • aggregate (boolean, false) (defaults to: ActivityFeed.aggregate)

    Whether or not to check the aggregate activity feed.

Returns:

  • (Boolean)


51
52
53
54
55
56
# 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) ⇒ Object

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.

Parameters:

  • user_id (String)

    User ID.

  • item_id (String)

    Item ID.



39
40
41
42
43
44
# 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) ⇒ Object Also known as: add_item

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

Parameters:

  • user_id (String)

    User ID.

  • item_id (String)

    Item ID.

  • timestamp (int)

    Timestamp for the item being added or updated.

  • aggregate (boolean, false) (defaults to: ActivityFeed.aggregate)

    Whether to add or update the item in the aggregate feed for user_id.



9
10
11
12
13
14
15
16
17
# 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