Sha256: 383f34ab141a151d58dc134428093ae6756d91c66923f2f3e9dff34a108eda9c

Contents?: true

Size: 1.05 KB

Versions: 32

Compression:

Stored size: 1.05 KB

Contents

module ClassMethods
  def update_all_storage_locations
    Card.search(type_id: ["in", FileID, ImageID])
        .each(&:update_storage_location!)
  end

  def delete_tmp_files_of_cached_uploads
    cards_with_disposable_attachments do |card, action|
      card.delete_files_for_action action
      action.delete
    end
  end

  def cards_with_disposable_attachments
    draft_actions_with_attachment.each do |action|
      # we don't want to delete uploads in progress
      next unless old_enough?(action.created_at) && (card = action.card)
      # we can't delete attachments we don't have write access to
      next if card.read_only?

      yield card, action
    end
  end

  def old_enough? time, expiration_time=5.day.to_i
    Time.now - time > expiration_time
  end

  def draft_actions_with_attachment
    Card::Action.find_by_sql(
      "SELECT * FROM card_actions "\
        "INNER JOIN cards ON card_actions.card_id = cards.id "\
        "WHERE cards.type_id IN (#{Card::FileID}, #{Card::ImageID}) "\
        "AND card_actions.draft = true"
    )
  end
end

Version data entries

32 entries across 32 versions & 1 rubygems

Version Path
card-1.99.1 mod/carrierwave/set/all/file_utils.rb
card-1.99.0 mod/carrierwave/set/all/file_utils.rb
card-1.98.3 mod/carrierwave/set/all/file_utils.rb
card-1.98.2 mod/carrierwave/set/all/file_utils.rb
card-1.98.1 mod/carrierwave/set/all/file_utils.rb
card-1.98.0 mod/carrierwave/set/all/file_utils.rb
card-1.97.0.1 mod/carrierwave/set/all/file_utils.rb
card-1.97.0 mod/carrierwave/set/all/file_utils.rb
card-1.96.8 mod/carrierwave/set/all/file_utils.rb
card-1.96.7 mod/carrierwave/set/all/file_utils.rb
card-1.96.6 mod/carrierwave/set/all/file_utils.rb
card-1.96.5 mod/carrierwave/set/all/file_utils.rb
card-1.96.4 mod/carrierwave/set/all/file_utils.rb
card-1.96.3 mod/carrierwave/set/all/file_utils.rb
card-1.96.2 mod/carrierwave/set/all/file_utils.rb
card-1.96.1 mod/carrierwave/set/all/file_utils.rb
card-1.96.0 mod/carrierwave/set/all/file_utils.rb
card-1.95.3 mod/carrierwave/set/all/file_utils.rb
card-1.95.2 mod/carrierwave/set/all/file_utils.rb
card-1.95.1 mod/carrierwave/set/all/file_utils.rb