class Mumukit::Templates::MultiFilePrecompileHook

Public Instance Methods

compile(request) click to toggle source
# File lib/mumukit/templates/multi_file_precompile_hook.rb, line 5
def compile(request)
  request
    .to_h
    .merge(content: files_content(request))
    .to_struct
end
consolidate(main_content, files) click to toggle source
# File lib/mumukit/templates/multi_file_precompile_hook.rb, line 16
def consolidate(main_content, files)
  raise NotImplementedError
end
main_file() click to toggle source
# File lib/mumukit/templates/multi_file_precompile_hook.rb, line 12
def main_file
  raise NotImplementedError
end

Private Instance Methods

files_content(request) click to toggle source
# File lib/mumukit/templates/multi_file_precompile_hook.rb, line 22
def files_content(request)
  files = files_of request
  if files.empty?
    no_files_content request
  elsif files.count == 1
    single_file_content files
  else
    multi_file_content files
  end
end
main_file_content(files) click to toggle source
# File lib/mumukit/templates/multi_file_precompile_hook.rb, line 45
def main_file_content(files)
  files[main_file] || ''
end
multi_file_content(files) click to toggle source
# File lib/mumukit/templates/multi_file_precompile_hook.rb, line 41
def multi_file_content(files)
  consolidate main_file_content(files), files
end
no_files_content(request) click to toggle source
# File lib/mumukit/templates/multi_file_precompile_hook.rb, line 33
def no_files_content(request)
  request.content
end
single_file_content(files) click to toggle source
# File lib/mumukit/templates/multi_file_precompile_hook.rb, line 37
def single_file_content(files)
  files.values.first
end