Comments (7)
I guess I need to use recipients somehow..
Can I have a list of recipients?
from public_activity.
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.
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.
Is the usage of 'activist' and doing @bob.activities (if @alice needs it) also acceptable? its not really documented...
from public_activity.
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.
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.
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)
- not creating activity HOT 2
- I got this Error only on Heorku even Dev and Prod env is perfect ton local HOT 9
- Gem requires db connection during assets precompile HOT 9
- After setting up public_activity missing render HOT 1
- How to handle activity where parameters is empty? HOT 1
- why public_activity dependency is not resolved by actionpack gem with version 6.0.4 HOT 2
- Random odd failure when PublicActivity.with_tracking used in Rails app with RSpec HOT 1
- Commits for new versions not in Github HOT 2
- Trying to return activity text such as "updated ..." in API HOT 1
- Release notes for 2.0.0 HOT 1
- Issue when tracking is triggered from within a thread HOT 3
- Custom After_Commit callback when activities are created HOT 2
- Callbacks not triggered when used in combination with activerecord-import HOT 2
- DRY Rendering activities using ViewComponent HOT 3
- Psych::DisallowedClass: Tried to load unspecified class: Symbol HOT 5
- Heroku demo site is down HOT 1
- TypeError: no implicit conversion of Symbol into Integer HOT 2
- Was :fallback accidentally left out? HOT 1
- missing keyword: :coder If no default coder is configured, a coder must be provided to `serialize`. rails 7 HOT 10
- ActiveRecord::Base.serialize signature changed when ActiveRecord >= 7.1 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from public_activity.