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.
17 18 19 20 |
# File 'lib/canon/diff/diff_block_builder.rb', line 17 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
13 14 15 |
# File 'lib/canon/diff/diff_block_builder.rb', line 13 def self.build_blocks(diff_lines, show_diffs: :all) new(diff_lines, show_diffs).build end |
Instance Method Details
#build ⇒ Object
22 23 24 25 26 27 28 |
# File 'lib/canon/diff/diff_block_builder.rb', line 22 def build # Group contiguous changed lines into blocks blocks = group_into_blocks # Filter blocks based on show_diffs setting filter_blocks(blocks) end |