Method: Bundler::PubGrub::VersionRange#invert

Defined in:
lib/bundler/vendor/pub_grub/lib/pub_grub/version_range.rb

#invertObject


375
376
377
378
379
380
381
382
383
384
385
386
387
388
# File 'lib/bundler/vendor/pub_grub/lib/pub_grub/version_range.rb', line 375

def invert
  return self.class.empty if any?

  low = VersionRange.new(max: min, include_max: !include_min)
  high = VersionRange.new(min: max, include_min: !include_max)

  if !min
    high
  elsif !max
    low
  else
    low.union(high)
  end
end