33 lines
No EOL
672 B
Ruby
33 lines
No EOL
672 B
Ruby
class UserPresenter
|
|
attr_accessor :user
|
|
|
|
def initialize(user)
|
|
self.user = user
|
|
end
|
|
|
|
def to_json(options = {})
|
|
self.user.person.as_api_response(:backbone).update(
|
|
{ :notifications_count => notifications_count,
|
|
:unread_messages_count => unread_messages_count,
|
|
:admin => admin,
|
|
:aspects => aspects
|
|
}
|
|
).to_json(options)
|
|
end
|
|
|
|
def aspects
|
|
AspectPresenter.as_collection(user.aspects)
|
|
end
|
|
|
|
def notifications_count
|
|
@notification_count ||= user.unread_notifications.count
|
|
end
|
|
|
|
def unread_messages_count
|
|
@unread_message_count ||= user.unread_message_count
|
|
end
|
|
|
|
def admin
|
|
user.admin?
|
|
end
|
|
end |