Sha256: 337cf95493897d30802ba695a5491b9e66707ae3a963fe0812c584d4d5197e0a

Contents?: true

Size: 846 Bytes

Versions: 10

Compression:

Stored size: 846 Bytes

Contents

require 'r10k'
require 'r10k/keyed_factory'
require 'r10k/util/core_ext/hash_ext'

module R10K
  module Source
    def self.factory
      @factory ||= R10K::KeyedFactory.new
    end

    def self.register(key, klass)
      factory.register(key, klass)
    end

    def self.retrieve(key)
      factory.retrieve(key)
    end

    def self.generate(type, basedir, name, options = {})
      factory.generate(type, basedir, name, options)
    end

    def self.from_hash(name, hash)
      hash.extend R10K::Util::CoreExt::HashExt::SymbolizeKeys
      hash.symbolize_keys!

      basedir = hash.delete(:basedir)

      type = hash.delete(:type)
      type = type.is_a?(String) ? type.to_sym : type

      generate(type, name, basedir, hash)
    end

    require 'r10k/source/base'
    require 'r10k/source/git'
    require 'r10k/source/svn'
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
r10k-1.4.2 lib/r10k/source.rb
r10k-1.4.1 lib/r10k/source.rb
r10k-1.4.0 lib/r10k/source.rb
r10k-1.3.5 lib/r10k/source.rb
r10k-1.3.4 lib/r10k/source.rb
r10k-1.3.3 lib/r10k/source.rb
r10k-1.3.2 lib/r10k/source.rb
r10k-1.3.1 lib/r10k/source.rb
r10k-1.3.0 lib/r10k/source.rb
r10k-1.3.0rc1 lib/r10k/source.rb