Class: AbilityQueue

Inherits:
ApplicationRecord show all
Defined in:
/var/apps/qpixel/app/models/ability_queue.rb

Class Method Summary collapse

Methods inherited from ApplicationRecord

#attributes_print, fuzzy_search, match_search, #match_search, sanitize_for_search, sanitize_name, sanitize_sql_in, useful_err_msg, with_lax_group_rules

Class Method Details

.add(user, comment) ⇒ Boolean

Adds a new ability queue entry for a user if one does not already exist.

Parameters:

  • user (User)

    user to add queue entry for

  • comment (String)

    comment to add to queue entry

Returns:

  • (Boolean)

    whether the scheduling succeeded



18
19
20
21
22
# File '/var/apps/qpixel/app/models/ability_queue.rb', line 18

def self.add(user, comment)
  return true if AbilityQueue.pending_for?(user)

  AbilityQueue.create(community_user: user.community_user, comment: comment, completed: false)
end

.add!(user, comment) ⇒ Object

Adds a new ability queue entry for a user if one does not already exist. Executes create as an ActiveRecord bang method.

Parameters:

  • user (User)

    user to add queue entry for

  • comment (String)

    comment to add to queue entry



29
30
31
32
33
# File '/var/apps/qpixel/app/models/ability_queue.rb', line 29

def self.add!(user, comment)
  return if AbilityQueue.pending_for?(user)

  AbilityQueue.create!(community_user: user.community_user, comment: comment, completed: false)
end

.pending_for?(user) ⇒ Boolean

Are there pending ability queue entries for a given user?

Parameters:

  • user (User)

    user to check the queue for

Returns:

  • (Boolean)

    check result



9
10
11
# File '/var/apps/qpixel/app/models/ability_queue.rb', line 9

def self.pending_for?(user)
  AbilityQueue.pending.where(community_user: user.community_user).any?
end