Class: UserExport

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
app/models/user_export.rb

Constant Summary collapse

DESTROY_CREATED_BEFORE =
2.days.ago

Class Method Summary collapse

Class Method Details

.base_directoryObject



35
36
37
38
39
40
41
42
43
# File 'app/models/user_export.rb', line 35

def self.base_directory
  File.join(
    Rails.root,
    "public",
    "uploads",
    "csv_exports",
    RailsMultisite::ConnectionManagement.current_db,
  )
end

.remove_old_exportsObject



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'app/models/user_export.rb', line 18

def self.remove_old_exports
  UserExport
    .where("created_at < ?", DESTROY_CREATED_BEFORE)
    .find_each do |user_export|
      UserExport.transaction do
        begin
          Post.where(topic_id: user_export.topic_id).find_each { |p| p.destroy! }
          user_export.destroy!
        rescue => e
          Rails.logger.warn(
            "Failed to remove user_export record with id #{user_export.id}: #{e.message}\n#{e.backtrace.join("\n")}",
          )
        end
      end
    end
end