Sha256: c45cfaa09b86d11c0173b3888448c7f35781553751c7c8d4a9ee8d82b2c4dd2e
Contents?: true
Size: 555 Bytes
Versions: 9
Compression:
Stored size: 555 Bytes
Contents
require 'saorin/error' module Saorin module Registerable class << self def included(base) base.extend ClassMethods end end module ClassMethods attr_accessor :load_path def adapters @adapters ||= {} end def register(key, adapter) adapters[key.to_s] = adapter end def guess(key) key = key.to_s require "#{load_path}/#{key}" adapter = adapters[key] raise AdapterNotFound, key unless adapter adapter end end end end
Version data entries
9 entries across 9 versions & 1 rubygems