class Gem::Requirement

def exact?

Backport of performance enhancement added to RubyGems 2.2
def exact?
  return false unless @requirements.size == 1
  @requirements[0][0] == "="
end unless allocate.respond_to?(:exact?)

def none?

Backport of performance enhancement added to RubyGems 1.4
def none?
  # note that it might be tempting to replace with with RubyGems 2.0's
  # improved implementation. Don't. It requires `DefaultRequirement` to be
  # defined, and more importantantly, these overrides are not used when the
  # running RubyGems defines these methods
  to_s == ">= 0"
end unless allocate.respond_to?(:none?)