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

  def self.with(present)
    provided = Gem::Version.new(present.dup)
    self.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.to_s}\""
  end
end