aboutsummaryrefslogtreecommitdiffstats
path: root/spec/bundler/support/less_than_proc.rb
blob: 27966aa6eda2dbb7ee3834b2b7e1887bce54fb45 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# frozen_string_literal: true
class LessThanProc < Proc
  attr_accessor :present

  def self.with(present)
    provided = Gem::Version.new(present.dup)
    new do |required|
      if required =~ /[=><~]/
        !Gem::Requirement.new(required).satisfied_by?(provided)
      else
        provided < Gem::Version.new(required)
      end
    end.tap {|l| l.present = present }
  end

  def inspect
    "\"=< #{present}\""
  end
end