1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
# frozen_string_literal: true
module UserStatusTooltip
extend ActiveSupport::Concern
include ActionView::Helpers::TagHelper
include ActionView::Context
include EmojiHelper
include ::UsersHelper
included do
expose :status_tooltip_html, if: ->(*) { status_loaded? } do |user|
user_status(user)
end
expose :show_status do |user|
status_loaded? && !!user.status&.customized?
end
expose :availability, if: ->(*) { status_loaded? } do |user|
user.status&.availability
end
private
def status_loaded?
object.association(:status).loaded?
end
end
end
|