summaryrefslogtreecommitdiff
path: root/lib/gitlab/word_diff/positions_counter.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gitlab/word_diff/positions_counter.rb')
-rw-r--r--lib/gitlab/word_diff/positions_counter.rb30
1 files changed, 30 insertions, 0 deletions
diff --git a/lib/gitlab/word_diff/positions_counter.rb b/lib/gitlab/word_diff/positions_counter.rb
new file mode 100644
index 00000000000..ca66b43755f
--- /dev/null
+++ b/lib/gitlab/word_diff/positions_counter.rb
@@ -0,0 +1,30 @@
+# frozen_string_literal: true
+
+# Responsible for keeping track of line numbers and created Gitlab::Diff::Line objects
+module Gitlab
+ module WordDiff
+ class PositionsCounter
+ def initialize
+ @pos_old = 1
+ @pos_new = 1
+ @line_obj_index = 0
+ end
+
+ attr_reader :pos_old, :pos_new, :line_obj_index
+
+ def increase_pos_num
+ @pos_old += 1
+ @pos_new += 1
+ end
+
+ def increase_obj_index
+ @line_obj_index += 1
+ end
+
+ def set_pos_num(old:, new:)
+ @pos_old = old
+ @pos_new = new
+ end
+ end
+ end
+end