Module: ATD::Compilation
- Defined in:
- lib/atd/routes.rb
Overview
This module holds everything related to the compilation of routes.
Defined Under Namespace
Modules: Compiler, Precompiler
Class Method Summary collapse
-
.compile(name, contents) ⇒ Object
This method is responsible for live compilation.
-
.pre_parse(route) ⇒ Object
This method is responsible for precompilation.
Class Method Details
.compile(name, contents) ⇒ Object
This method is responsible for live compilation.
26 27 28 29 30 31 32 33 34 35 |
# File 'lib/atd/routes.rb', line 26 def self.compile(name, contents) return contents if name.nil? && !contents.is_a?(File) name = File.basename(contents) if contents.is_a?(File) name = name.split(".") extensions = name - [name.first] extensions.each do |extension| contents = Compiler.send(extension, contents) if Compiler.filetypes.include? extension.to_sym end contents end |
.pre_parse(route) ⇒ Object
This method is responsible for precompilation
38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/atd/routes.rb', line 38 def self.pre_parse(route) output = route.output name = output return nil if output.nil? if output.include?(".") || output.is_a?(File) name = (output.is_a?(File) ? File.basename(output) : output) file = read_file(output) return name if file.nil? file = precompile(name, file) route.output = file end name end |