Class: Pose::Assignment

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
lib/pose/assignment.rb

Class Method Summary collapse

Class Method Details

.cleanup_orphaned_pose_assignments(progress_bar = nil) ⇒ Object

Removes all Assignments that aren’t used anymore.



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/pose/assignment.rb', line 18

def self.cleanup_orphaned_pose_assignments progress_bar = nil
  Assignment.includes([:posable, :word]).find_each(batch_size: 5000) do |assignment|
    progress_bar.increment if progress_bar

    # Delete the assignment if the posable object no longer exists.
    if assignment.posable.nil?
      puts "deleting assignment '#{assignment.id}' because the posable object no longer exists."
      assignment.delete
      next
    end

    # Delete the assignment if the Pose::Word for it no longer exists.
    if assignment.word.nil?
      puts "deleting assignment '#{assignment.id}' because its word no longer exists."
      assignment.delete
    end
  end
end

.delete_class_index(clazz) ⇒ Integer

Removes all Assignments for the given class. Returns a number for removed records.

Parameters:

  • clazz (Class)

Returns:

  • (Integer)


13
14
15
# File 'lib/pose/assignment.rb', line 13

def self.delete_class_index clazz
  Assignment.delete_all(posable_type: clazz.name)
end