summaryrefslogtreecommitdiff
path: root/lib/gitlab/relative_positioning/starting_from.rb
blob: 6ddd35a39adc9f52f235da50e5d86ecf952fabd7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# frozen_string_literal: true

module Gitlab
  module RelativePositioning
    class StartingFrom < RelativePositioning::Range
      include Gitlab::Utils::StrongMemoize

      def initialize(lhs)
        @lhs = lhs
        raise IllegalRange, 'lhs is required' unless lhs
      end

      def rhs
        strong_memoize(:rhs) { lhs.rhs_neighbour }
      end
    end
  end
end