class Paperclip::AdapterRegistry

Attributes

registered_handlers[R]

Public Class Methods

new() click to toggle source
# File lib/paperclip/io_adapters/registry.rb, line 7
def initialize
  @registered_handlers = []
end

Public Instance Methods

for(target) click to toggle source
# File lib/paperclip/io_adapters/registry.rb, line 28
def for(target)
  handler_for(target).new(target)
end
handler_for(target) click to toggle source
# File lib/paperclip/io_adapters/registry.rb, line 15
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
register(handler_class, &block) click to toggle source
# File lib/paperclip/io_adapters/registry.rb, line 11
def register(handler_class, &block)
  @registered_handlers << [block, handler_class]
end
registered?(target) click to toggle source
# File lib/paperclip/io_adapters/registry.rb, line 22
def registered?(target)
  @registered_handlers.any? do |tester, handler|
    handler === target
  end
end