Class: Mumukit::Templates::MultiFileHook

Inherits:
FileHook show all
Includes:
WithMultipleFiles
Defined in:
lib/mumukit/templates/multi_file_hook.rb

Instance Attribute Summary

Attributes inherited from FileHook

#request

Attributes inherited from Hook

#config

Instance Method Summary collapse

Methods included from WithMultipleFiles

#files_of, #has_files?

Methods inherited from FileHook

#cleanup_raw_result, isolated, line_number_offset, mashup, #masked_tempfile_path, metatested, #post_process_file, structured, with_error_patterns

Methods included from WithTempfile

#create_tempfile, #mask_tempfile_references, #tempfile_extension, #with_tempfile, #write_tempdir!, #write_tempfile!

Methods inherited from Hook

#env, #initialize, #logger, #method_missing, #should_forward_to_config?, stateful_through, #t

Methods included from WithContentType

#content_type

Constructor Details

This class inherits a constructor from Mumukit::Hook

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Mumukit::Hook

Instance Method Details

#compile(request) ⇒ Object



7
8
9
10
11
12
# File 'lib/mumukit/templates/multi_file_hook.rb', line 7

def compile(request)
  return super unless has_files?(request)

  self.request = request
  write_tempdir! compile_file_content(request)
end

#run!(tempdir) ⇒ Object



14
15
16
17
18
19
20
21
22
23
# File 'lib/mumukit/templates/multi_file_hook.rb', line 14

def run!(tempdir)
  return super unless has_files?(request)

  begin
    result, status = run_files!(*tempdir.files)
    post_process_file(tempdir.files, cleanup_raw_result(result), status)
  ensure
    FileUtils.rm_rf tempdir.dir
  end
end