Class: Dandelion::Backend::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/dandelion/backend.rb

Direct Known Subclasses

FTP, S3, SFTP

Constant Summary collapse

@@backends =
{}

Class Method Summary collapse

Class Method Details

.create(config) ⇒ Object



20
21
22
23
24
25
26
27
28
# File 'lib/dandelion/backend.rb', line 20

def create(config)
  Dir.glob(File.join(File.dirname(__FILE__), 'backend', '*.rb')) { |file| require file }
  raise UnsupportedSchemeError unless @@backends.include?(config['scheme'])
  begin
    @@backends[config['scheme']].new(config)
  rescue LoadError
    raise MissingDependencyError.new(@@backends[config['scheme']].gem_list)
  end
end

.gem_listObject



38
39
40
# File 'lib/dandelion/backend.rb', line 38

def gem_list
  @gems
end

.gems(*gems) ⇒ Object



34
35
36
# File 'lib/dandelion/backend.rb', line 34

def gems(*gems)
  @gems = gems
end

.scheme(scheme) ⇒ Object



30
31
32
# File 'lib/dandelion/backend.rb', line 30

def scheme(scheme)
  @@backends[scheme] = self
end