Sha256: 9ac659c30835c08bc01c652b84eb6f7de89414c0ed6cbc74b42893df8cb44750
Contents?: true
Size: 1.43 KB
Versions: 2
Compression:
Stored size: 1.43 KB
Contents
module Capistrano module Releases # Command line interface class for Manager class. class CLI def run options = {} parser = OptionParser.new do |opts| opts.banner = 'Usage: manager [options]' opts.on('-bBUCKET', '--bucket=BUCKET', 'S3 bucket to pull/push releases (required).') do |v| options[:bucket] = v end opts.on('-dDEPLOY_TO', '--deploy-to=DEPLOY_TO', 'App directory to deploy to (required).') do |v| options[:deploy_to] = v end opts.on('-mMODE', '--mode=MODE', "Mode to run: 'push' or 'pull' (required).") do |v| options[:mode] = v end end parser.parse! unless options[:bucket] puts("-b or --bucket is a required option.\n\n#{parser.help}") exit(1) end unless options[:deploy_to] puts("-d or --deploy-to is a required option.\n\n#{parser.help}") exit(1) end unless options[:mode] puts("-m or --mode is a required option.\n\n#{parser.help}") exit(1) end manager = ::Capistrano::Releases::Manager.new(options) case options[:mode] when 'push' manager.push when 'pull' manager.pull else puts 'Invalid mode.' exit(1) end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
capistrano-releases-0.2.0 | lib/capistrano/releases/cli.rb |
capistrano-releases-0.1.1 | lib/capistrano/releases/cli.rb |