Sha256: fefae02f2186682b2e20c36a9bd21ecc1ad45c7245c2265517e59b90d509ff1c

Contents?: true

Size: 1.37 KB

Versions: 1

Compression:

Stored size: 1.37 KB

Contents

#!/usr/bin/env ruby

require 'optparse'
require 'methadone'
require 'clearsight.rb'

class App
  include Methadone::Main
  include Methadone::CLILogging
  include Methadone::SH

  # Create command line options here. Don't forget to document
  # them below in the show_help method.
  main do |command, *args|
    case command.to_s.to_sym
    when :deploy then CS::Deploy.deploy(args)
    when :update then update
    when :help then show_help
    when :killrails then killrails(args.first || 3000)
    else
      puts "Invalid command."
      show_help
    end
  end

  def self.show_help
    puts "USAGE:"
    puts "  deploy <setup>"
    puts "    Deploys or sets up deployment to a remote server. Replaces gitdeploysetup."
    puts "  killrails <port>"
    puts "    Kills a rails server running on the given port. Only works on Linux (so far)."
    puts "  update"
    puts "    Updates the gem. Same as `gem update clearsight`."
  end

  def self.update
    print "Updating."
    start_progress do
      sh "gem update clearsight"
    end
    puts "done."
  end
  
  def self.killrails(port)
    print "Killing Rails."
    start_progress do
      sh "fuser -n tcp -k #{port}"
    end
    puts "dead."
  end

  def self.start_progress
    @t = CS::Timer.new 0.5 do print "." end
    yield
    @t.stop
  end

  arg :args, :optional
  
  version Clearsight::VERSION

  use_log_level_option

  go!
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
clearsight-0.0.7 bin/cs