When you are assigning to current_user it's treating it as a local variable. To solve that simply assign to self.current_user
instead. The getter doesn't need that because there is no local variable named that so ruby looks for a method and uses that. If you reference the getter as self.current_user
that would also work.
For example change:
current_user = response["User"]
to:
self.current_user = response["User"]