diff options
Diffstat (limited to 'lib/gitlab/relative_positioning.rb')
-rw-r--r-- | lib/gitlab/relative_positioning.rb | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/gitlab/relative_positioning.rb b/lib/gitlab/relative_positioning.rb index b5a923f0824..e2cbe4b2de0 100644 --- a/lib/gitlab/relative_positioning.rb +++ b/lib/gitlab/relative_positioning.rb @@ -13,5 +13,18 @@ module Gitlab MIN_GAP = 2 NoSpaceLeft = Class.new(StandardError) + IllegalRange = Class.new(ArgumentError) + + def self.range(lhs, rhs) + if lhs && rhs + ClosedRange.new(lhs, rhs) + elsif lhs + StartingFrom.new(lhs) + elsif rhs + EndingAt.new(rhs) + else + raise IllegalRange, 'One of rhs or lhs must be provided' unless lhs && rhs + end + end end end |