class Paperclip::AdapterRegistry

def for(target)

def for(target)
  handler_for(target).new(target)
end

def handler_for(target)

def handler_for(target)
  @registered_handlers.each do |tester, handler|
    return handler if tester.call(target)
  end
  raise NoHandlerError.new("No handler found for #{target.inspect}")
end

def initialize

def initialize
  @registered_handlers = []
end

def register(handler_class, &block)

def register(handler_class, &block)
  @registered_handlers << [block, handler_class]
end

def registered?(target)

def registered?(target)
  @registered_handlers.any? do |tester, handler|
    handler === target
  end
end