module Stevenson::Deployer

Public Class Methods

deploy(directory, options) click to toggle source
# File lib/stevenson/deployer.rb, line 30
def deploy(directory, options)
  deployers_for(options).each do |deployer|
    deployer.new(options).deploy!(directory)
  end
end

Private Class Methods

deployer_for(type) click to toggle source
# File lib/stevenson/deployer.rb, line 44
def deployer_for(type)
  Stevenson.deployers.fetch(type, nil) || const_get(type.to_s.capitalize)
rescue NameError
  raise InvalidDeployerException.new "Type '#{type}' is not a valid deployer."
end
deployers_for(options) click to toggle source
# File lib/stevenson/deployer.rb, line 38
def deployers_for(options)
  [].tap do |deployers|
    deployers << deployer_for(:s3) if options.keys.include?("s3")
  end
end