Giter VIP home page Giter VIP logo

Comments (7)

guyisra avatar guyisra commented on September 13, 2024

I guess I need to use recipients somehow..
Can I have a list of recipients?

from public_activity.

guyisra avatar guyisra commented on September 13, 2024

It seems the best way to do this is to use 'activist' in the user model and then for each user @alice tracks to list their activities ordered by created_at.

is that a correct implementation?

from public_activity.

pokonski avatar pokonski commented on September 13, 2024

By

@alice wants to track everything that @bob does (on all models)

you mean that Alice would like to see the activities Bob did? This is outside of the scope of my gem. If you want to display activities of Bob you'd do something like:

PublicActivity::Activity.where(:owner => User.where(:name => "Bob").first)

It's in your application responsibility to determine whether current_user(@alice) can see activities performed by Bob.

About 'recipient': You can use this to "send" private activities. For example if userA comments one of userB's posts, the it is natural that only UserB should be the recipient of this notification. So you set recipient to userB.

from public_activity.

guyisra avatar guyisra commented on September 13, 2024

Is the usage of 'activist' and doing @bob.activities (if @alice needs it) also acceptable? its not really documented...

from public_activity.

pokonski avatar pokonski commented on September 13, 2024

Activist is bound to "owner'. So if you do @bob.activities it's actually executing query to get all activities performed by this user:

PublicActivity::Activity.where(:owner => @bob)

acitivities is merely a has_many :activities relation. Like I said, I don't implement more complex logic, because that would interfere with custom implementations.

Let's assume you are writing a Facebook clone, where people have friends. It's obvious that I, as user, am only interested in activities performed by my friends. So you can do something like:

PublicActivity::Activity.where(:owner_id => current_user.friends.collect {|friend| friend.id}, :owner_type => "User").order("created_at DESC")

This will return the newest activities performed by current_user's friends.

from public_activity.

guyisra avatar guyisra commented on September 13, 2024

ok that's exactly what I need.

note that in the code comments it says the for activist only activist needs to be added.
That didn't work for me as I needed to also add include PublicActivity::Model to the user model

from public_activity.

pokonski avatar pokonski commented on September 13, 2024

That didn't work for me as I needed to also add include PublicActivity::Model to the user model

Thanks for pointing it out, and mentioning your concerns. I will definitely improve the documenation based on your input 👍 We are refactoring p_a, expanding docs and adding new features so at this level not everything is documented as it should be.

from public_activity.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.