Sha256: e3b4e7c5ab6ff58123488f465d0604d821a3f65e702242a7c3b49880ff978882

Contents?: true

Size: 1.23 KB

Versions: 1

Compression:

Stored size: 1.23 KB

Contents

require 'thor/group'
require 'thor/shell/color'
require 'thor/shell/basic'

trap("SIGINT") { print "\n"; exit! }

module Playmo
  class Cli < Thor::Group
    include Thor::Actions
    
    class_option 'dry-run', :aliases => "-d", :default => false, :desc => "Run without making any modifications on files"
    class_option 'require', :aliases => "-r", :default => false, :desc => "Require gem that contains custom recipes"
    
    # TODO: Use internal shell variable
    def new_app
      require_gem

      color = Thor::Shell::Color.new
      shell = Thor::Shell::Basic.new
      shell.padding = 1

      shell.say("\n")

      if application_name = shell.ask(color.set_color('Please enter the name of app you want to create:', :yellow, true))
        Playmo::Cookbook.instance.cook_recipes!(application_name, options)
      end

      shell.say("\n")

      system "cd #{application_name} && bundle install"

      Event.events.fire :after_install
      Event.events.fire :before_exit
    end

  private

    def require_gem
      return unless options[:require]
      gem options[:require]
      #load '/home/tanraya/sandbox/tanraya-playmo/lib/tanraya-playmo.rb'
      #require 'rubygems'
      #gem 'tanraya-playmo', :path => '../../../'
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
playmo-0.1.0 lib/playmo/cli.rb