Sha256: 082fe652c8034993a3c416e109e68dc769bdb4a1f76c827428da1656797cb69b

Contents?: true

Size: 1.17 KB

Versions: 1

Compression:

Stored size: 1.17 KB

Contents

require 'thor'

module Engineyard
  module Hudson
    class CLI < Thor

      def self.common_options
        method_option :environment, :type => :string, :aliases => %w(-e), 
          :desc => "Environment in which to deploy this application", :required => true
        method_option :account, :type => :string, :aliases => %w(-c), 
          :desc => "Name of the account you want to deploy in"
      end
      
      desc "install PROJECT_PATH", "Install Hudson node/slave recipes into your project."
      def install(project_path)
        require 'engineyard-hudson/cli/install'
        Engineyard::Hudson::Install.start(ARGV[1..-1])
      end
      
      desc "server", "Setup a Hudson CI server on AppCloud."
      def server
        shell.say "Coming soon!", :green
      end
      
      desc "version", "show version information"
      def version
        shell.say Engineyard::Hudson::VERSION
      end

      map "-v" => :version, "--version" => :version, "-h" => :help, "--help" => :help

      private
      def display(text)
        shell.say text
        exit
      end

      def error(text)
        shell.say "ERROR: #{text}", :red
        exit
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
engineyard-hudson-0.1.0 lib/engineyard-hudson/cli.rb