class ActiveAdmin::Dependency::Matcher

def <=>(other)

def <=>(other)
  spec!.version <=> Gem::Version.create(other)
end

def initialize(name)

def initialize(name)
  @name = name
end

def inspect

def inspect
  info = spec ? "#{spec.name} #{spec.version}" : "(missing)"
  "<ActiveAdmin::Dependency::Matcher for #{info}>"
end

def match!(*reqs)

def match!(*reqs)
  unless match? reqs
    raise DependencyError, "You provided #{spec!.name} #{spec!.version} but we need: #{reqs.join ', '}."
  end
end

def match?(*reqs)

def match?(*reqs)
  !!spec && Gem::Requirement.create(reqs).satisfied_by?(spec.version)
end

def spec

def spec
  @spec ||= Gem.loaded_specs[name]
end

def spec!

def spec!
  spec || raise(DependencyError, "To use #{name} you need to specify it in your Gemfile.")
end