Top Level Namespace

Defined Under Namespace

Modules: Jars

Instance Method Summary collapse

Instance Method Details

#require_jar(*args, &block) ⇒ Object



372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
# File 'lib/jar_dependencies.rb', line 372

def require_jar(*args, &block)
  return unless Jars.require?

  result = Jars.require_jar(*args, &block)
  if result.is_a? String
    args << (yield || Jars::UNKNOWN) if args.size == 2 && block
    Jars.warn do
      "jar conflict: #{args[0..-2].join(':')} already loaded with version #{result}; " \
        "skipping requested version #{args[-1]}"
    end
    Jars.debug("\n\t#{caller.join("\n\t")}") if Jars.debug?
    return false
  end
  Jars.debug { "jar registration: #{args.inspect}; loaded=#{result == true}" }
  result
end