File tree 1 file changed +13
-2
lines changed 1 file changed +13
-2
lines changed Original file line number Diff line number Diff line change @@ -198,7 +198,9 @@ def clear_provider
198
198
clear_provider_params = params . permit ( :id , :provider )
199
199
200
200
@user = User . find ( clear_provider_params [ :id ] )
201
- @user . send ( "clear_#{ clear_provider_params [ :provider ] } !" )
201
+
202
+ clear_provider_for_user ( clear_provider_params [ :provider ] , @user )
203
+
202
204
redirect_to ( badge_url ( username : @user . username ) )
203
205
end
204
206
@@ -228,12 +230,21 @@ def unlink_provider
228
230
unlink_provider_params = params . permit ( :provider )
229
231
230
232
provider = unlink_provider_params [ :provider ]
231
- current_user . send ( "clear_ #{ provider } !" ) if current_user . can_unlink_provider? ( provider )
233
+ clear_provider_for_user ( provider , user ) if current_user . can_unlink_provider? ( provider )
232
234
redirect_to ( edit_user_url ( current_user ) )
233
235
end
234
236
235
237
protected
236
238
239
+ def clear_provider_for_user ( provider , user )
240
+ case provider
241
+ when 'twitter' then user . clear_twitter!
242
+ when 'github' then user . clear_github!
243
+ when 'linkedin' then user . clear_linkedin!
244
+ else raise ( "Unknown Provider: '#{ provider } '" )
245
+ end
246
+ end
247
+
237
248
def admin_of_premium_team?
238
249
current_user != @user && @user . team . try ( :admin? , current_user )
239
250
end
You can’t perform that action at this time.
0 commit comments