Sha256: 37eb6cce8878c498f637bc242973535ae2a6bb4a689c5cbe36019f71aad35ab7

Contents?: true

Size: 1.48 KB

Versions: 1

Compression:

Stored size: 1.48 KB

Contents

#!/usr/bin/env ruby

require 'thor'

module MadChatter
  
  class Cli < Thor
    include Thor::Actions
    
    def self.source_root
      File.expand_path('../../', __FILE__)
    end
    
    desc "new [name]", "Generates a new Mad Chatter application"
    def new(name)
      copy_file "templates/config.yml", "#{name}/config.yml"
      directory "templates/extensions", "#{name}/extensions"
      directory "templates/web", "#{name}/web"
    end
    
    desc "update", "Updates an existing Mad Chatter application"
    def update
      copy_file "templates/config.yml", "config.yml"
      directory "templates/extensions", "extensions"
      directory "templates/web", "web"
    end
    
    desc 'preview', 'Starts both a web server and the Mad Chatter chat server'
    def preview
      puts 'Starting the web server at http://localhost:3000'
      t1 = Thread.new { require 'mad_chatter/web_server' }
      t2 = Thread.new { require 'mad_chatter'; MadChatter.start }
      t2.join()
    end
    
    desc 'start', 'Starts the chat server'
    def start
      require 'mad_chatter/daemon'
    end
    
    desc 'stop', 'Stops the chat server'
    def stop
      require 'mad_chatter/daemon'
    end
    
    desc 'restart', 'Restarts the chat server'
    def restart
      require 'mad_chatter/daemon'
    end
    
    desc 'version', 'Displays the current version number'
    def version
      require 'mad_chatter/version'
      puts MadChatter::VERSION
    end
    
  end
end

MadChatter::Cli.start(ARGV)

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mad_chatter-0.3.4 bin/mad_chatter