module Shrine::Plugins::DynamicStorage::ClassMethods

Public Instance Methods

find_storage(name) click to toggle source
Calls superclass method
# File lib/shrine/plugins/dynamic_storage.rb, line 16
def find_storage(name)
  resolve_dynamic_storage(name) or super
end
storage(regex, &block) click to toggle source
# File lib/shrine/plugins/dynamic_storage.rb, line 12
def storage(regex, &block)
  opts[:dynamic_storage][:resolvers][regex] = block
end

Private Instance Methods

resolve_dynamic_storage(name) click to toggle source
# File lib/shrine/plugins/dynamic_storage.rb, line 22
def resolve_dynamic_storage(name)
  opts[:dynamic_storage][:resolvers].each do |regex, block|
    if match = name.to_s.match(regex)
      return block.call(match)
    end
  end
  nil
end