class TicketAssignment
Attributes
assigned_ids[R]
unassigned_ids[R]
Public Class Methods
new(ticket, user_ids)
click to toggle source
# File lib/ticket_assignment.rb, line 4 def initialize ticket, user_ids @ticket = ticket @user_ids = user_ids.split(",") end
Public Instance Methods
assign!()
click to toggle source
# File lib/ticket_assignment.rb, line 9 def assign! ids = @user_ids existing_ids = @ticket.assignments.map(&:user_id) @unassigned_ids = existing_ids - ids if @unassigned_ids.any? @ticket.assignments.where(user_id: @unassigned_ids).destroy_all end @assigned_ids = ids - existing_ids @assigned_ids.each do |id| @ticket.assignments.create(user_id: id) end @assigned_ids.any? || @unassigned_ids.any? end