def call
      return broadcast(:invalid) if form.invalid?

      transaction do
        find_or_create_moderation!
        create_report!
        update_report_count!
      end

      send_report_notification_to_moderators

      if hideable?
        hide!
        send_hide_notification_to_moderators
      end

      broadcast(:ok, report)
    end
def call
      return broadcast(:invalid) if form.invalid?

      transaction do
        find_or_create_moderation!
        create_report!
        update_report_count!
      end

      send_report_notification_to_moderators

      if hideable?
        hide!
        send_hide_notification_to_moderators
      end

      broadcast(:ok, report)
    end
Public: Initializes the command.

 form         - A form object with the params.
 reportable   - The resource being reported
 current_user - The current user.
 Executes the command. Broadcasts these events:

 - :ok when everything is valid, together with the report.
 - :invalid if the form wasn't valid and we couldn't proceed.

 Returns nothing.