diff options
Diffstat (limited to 'app/models/compliance_check_task.rb')
| -rw-r--r-- | app/models/compliance_check_task.rb | 25 |
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 |
