Sha256: 6359c6f9fceaad07ab58cc934a78b622b38af4e9e847e18736aef0db84883a99

Contents?: true

Size: 1.54 KB

Versions: 2

Compression:

Stored size: 1.54 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 chatroom application"
    def new(name)
      copy_file "templates/config.yml", "#{name}/config.yml"
      copy_file "templates/extensions.rb", "#{name}/extensions.rb"
      # empty_directory "#{name}/extensions"
      copy_file "templates/web/index.html", "#{name}/web/index.html"
      copy_file "templates/web/javascript.js", "#{name}/web/javascript.js"
      copy_file "templates/web/styles.css", "#{name}/web/styles.css"
    end
    
    desc 'preview', 'Starts both a web server and the Mad Chatter chat server'
    def preview
      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'
      MadChatter.start
    end
    
    desc 'stop', 'Stops the chat server'
    def stop
      # stop the currently running daemon
      # not sure how to best implement this part yet
    end
    
    desc 'restart', 'Restarts the chat server'
    def restart
      # restarts the currently running daemon
      # not sure how to best implement this part yet
    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

2 entries across 2 versions & 1 rubygems

Version Path
mad_chatter-0.2.1 bin/mad_chatter
mad_chatter-0.2.0 bin/mad_chatter