Class: Codnar::Splitter
- Inherits:
-
Object
- Object
- Codnar::Splitter
- Defined in:
- lib/codnar/splitter.rb
Overview
Split disk files into chunks.
Instance Method Summary collapse
-
#chunks(path) ⇒ Object
Split a disk file into HTML chunks.
-
#initialize(errors, configuration) ⇒ Splitter
constructor
Construct a splitter based on a configuration in the following structure:.
Constructor Details
#initialize(errors, configuration) ⇒ Splitter
Construct a splitter based on a configuration in the following structure:
syntax: <syntax>
formatters:
<kind>: <expression>
Where the syntax is passed as-is to (and expanded in-place by) a Scanner, and the formatters are passed as-is to a Formatter to convert the chunk’s classified lines into HTML.
15 16 17 18 19 20 |
# File 'lib/codnar/splitter.rb', line 15 def initialize(errors, configuration) @errors = errors @configuration = configuration @scanner = Scanner.new(errors, configuration.syntax) @formatter = Formatter.new(errors, configuration.formatters) end |
Instance Method Details
#chunks(path) ⇒ Object
Split a disk file into HTML chunks.
23 24 25 26 27 28 |
# File 'lib/codnar/splitter.rb', line 23 def chunks(path) lines = @scanner.lines(path) chunks = Merger.chunks(@errors, path, lines) chunks.each { |chunk| chunk.html = @formatter.lines_to_html(chunk.delete("lines")) } return chunks end |