Class: Users::UnfollowService
- Inherits:
-
Object
- Object
- Users::UnfollowService
- Defined in:
- app/services/users/unfollow_service.rb
Instance Method Summary collapse
- #execute ⇒ Object
-
#initialize(params) ⇒ UnfollowService
constructor
A new instance of UnfollowService.
Constructor Details
#initialize(params) ⇒ UnfollowService
Returns a new instance of UnfollowService.
5 6 7 8 |
# File 'app/services/users/unfollow_service.rb', line 5 def initialize(params) @follower = params[:follower] @followee = params[:followee] end |
Instance Method Details
#execute ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'app/services/users/unfollow_service.rb', line 10 def execute # rubocop: disable CodeReuse/ActiveRecord -- This is special service for unfollowing users deleted_rows = Users::UserFollowUser.where( follower_id: @follower.id, followee_id: @followee.id ).delete_all # rubocop: enable CodeReuse/ActiveRecord if deleted_rows > 0 @follower.followees.reset ServiceResponse.success else ServiceResponse.error(message: _('Failed to unfollow user')) end end |