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, options = {}) click to toggle source
# File lib/paperclip/io_adapters/registry.rb, line 32
def for(target, options = {})
  handler_for(target).new(target, options)
end
handler_for(target) click to toggle source
# File lib/paperclip/io_adapters/registry.rb, line 19
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 26
def registered?(target)
  @registered_handlers.any? do |tester, handler|
    handler === target
  end
end
unregister(handler_class) click to toggle source
# File lib/paperclip/io_adapters/registry.rb, line 15
def unregister(handler_class)
  @registered_handlers.reject! { |_, klass| klass == handler_class }
end