Sha256: d859fbb3da8a03804e6b9d031a21eeceefac3bfa9edd14379d694970733b80b6

Contents?: true

Size: 599 Bytes

Versions: 1

Compression:

Stored size: 599 Bytes

Contents

module Mobility
  module Backends
    @backends = {}

    class << self
      # @param [Symbol, Object] backend Name of backend to load.
      def load_backend(name)
        return name if Module === name

        unless (backend = @backends[name])
          require "mobility/backends/#{name}"
          raise LoadError, "backend #{name} did not register itself correctly in Mobility::Backends" unless (backend = @backends[name])
        end
        backend
      end
    end

    def self.register_backend(name, mod)
      @backends[name] = mod
    end

    class LoadError < Error; end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mobility-1.0.0.alpha lib/mobility/backends.rb