From c90c9858eb19fc659c02787fcc464b0f0d6c88f6 Mon Sep 17 00:00:00 2001 From: Vladimir Krylov Date: Thu, 30 Jun 2016 11:57:16 +0300 Subject: [PATCH] Story#119627029 - extract checksum calculator --- app/models/legal_document.rb | 6 ++++++ lib/tasks/legal_doc.rake | 6 ++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/app/models/legal_document.rb b/app/models/legal_document.rb index 041c21158..49cd124b5 100644 --- a/app/models/legal_document.rb +++ b/app/models/legal_document.rb @@ -55,6 +55,12 @@ class LegalDocument < ActiveRecord::Base end end + def calc_checksum + digest = Digest::SHA1.new + digest.update File.binread(path) + digest.to_s + end + def add_creator self.creator_str = ::PaperTrail.whodunnit true diff --git a/lib/tasks/legal_doc.rake b/lib/tasks/legal_doc.rake index e2a00dfaa..de8bfa784 100644 --- a/lib/tasks/legal_doc.rake +++ b/lib/tasks/legal_doc.rake @@ -14,9 +14,7 @@ namespace :legal_doc do LegalDocument.where(checksum: [nil, ""]).find_each do |x| if File.exist?(x.path) - digest = Digest::SHA1.new - digest.update File.binread(x.path) - x.checksum = digest.to_s + x.checksum = x.calc_checksum x.save count += 1 end @@ -33,7 +31,7 @@ namespace :legal_doc do count = 0 modified = Array.new - LegalDocument.find_each do |x| + LegalDocument.where.not(checksum: [nil, ""]).find_each do |x| if File.exist?(x.path) LegalDocument.where(checksum: x.checksum) do |y|