aboutsummaryrefslogtreecommitdiffstats
path: root/app/models/compliance_check_task.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/compliance_check_task.rb')
-rw-r--r--app/models/compliance_check_task.rb25
1 files changed, 23 insertions, 2 deletions
diff --git a/app/models/compliance_check_task.rb b/app/models/compliance_check_task.rb
index 80fbad38f..9240639a5 100644
--- a/app/models/compliance_check_task.rb
+++ b/app/models/compliance_check_task.rb
@@ -1,5 +1,9 @@
+require 'tempfile'
+
class ComplianceCheckTask < ActiveRecord::Base
- attr_accessor :rule_parameter_set_id
+ include ERB::Util
+
+ attr_accessor :rule_parameter_set_id, :template
belongs_to :referential
belongs_to :import_task
@@ -101,5 +105,22 @@ class ComplianceCheckTask < ActiveRecord::Base
end
end
-
+ after_destroy :destroy_file
+ def destroy_file
+ file.close if File.exists? file
+ file.unlink if File.exists? file
+ FileUtils.rm file if File.exists? file
+ end
+
+ def file
+ @template = File.open('app/views/compliance_check_results/index.csv.erb' ){ |f| f.read }
+ file = Tempfile.new('compliance_check_results.csv')
+ file.write(render)
+ file.flush
+ return file
+ end
+
+ def render()
+ ERB.new(@template).result(binding)
+ end
end