Class: Canon::Diff::DiffBlockBuilder
- Inherits:
-
Object
- Object
- Canon::Diff::DiffBlockBuilder
- Defined in:
- lib/canon/diff/diff_block_builder.rb
Overview
Builds DiffBlocks from DiffLines Handles grouping of contiguous changed lines and filtering by normative/informative
Class Method Summary collapse
-
.build_blocks(diff_lines, show_diffs: :all) ⇒ Array<DiffBlock>
Build diff blocks from diff lines.
Instance Method Summary collapse
- #build ⇒ Object
-
#initialize(diff_lines, show_diffs) ⇒ DiffBlockBuilder
constructor
A new instance of DiffBlockBuilder.
Constructor Details
#initialize(diff_lines, show_diffs) ⇒ DiffBlockBuilder
Returns a new instance of DiffBlockBuilder.
19 20 21 22 |
# File 'lib/canon/diff/diff_block_builder.rb', line 19 def initialize(diff_lines, show_diffs) @diff_lines = diff_lines @show_diffs = show_diffs end |
Class Method Details
.build_blocks(diff_lines, show_diffs: :all) ⇒ Array<DiffBlock>
Build diff blocks from diff lines
15 16 17 |
# File 'lib/canon/diff/diff_block_builder.rb', line 15 def self.build_blocks(diff_lines, show_diffs: :all) new(diff_lines, show_diffs).build end |
Instance Method Details
#build ⇒ Object
24 25 26 27 28 29 30 |
# File 'lib/canon/diff/diff_block_builder.rb', line 24 def build # Group contiguous changed lines into blocks blocks = group_into_blocks # Filter blocks based on show_diffs setting filter_blocks(blocks) end |