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