Sha256: 845d388e9d26c1306bf59d0479310d4fb5440b1d8dfe6bf54e6f0eb0da23d518
Contents?: true
Size: 934 Bytes
Versions: 8
Compression:
Stored size: 934 Bytes
Contents
module Dandelion module Adapter class InvalidAdapterError < StandardError; end class MissingDependencyError < StandardError attr_reader :gems def initialize(gems) @gems = gems end end class Base class << self @@adapters = {} def adapter(name) @@adapters[name] = self end def create_adapter(name, options = {}) klass = @@adapters[name] raise InvalidAdapterError if klass.nil? klass.new(options) rescue LoadError raise MissingDependencyError.new(klass.required_gems) end attr_reader :required_gems def requires_gems(*gems) @required_gems = gems end end def initialize(options) end end end end require 'dandelion/adapter/noop' require 'dandelion/adapter/ftp' require 'dandelion/adapter/sftp' require 'dandelion/adapter/s3'
Version data entries
8 entries across 8 versions & 1 rubygems