brianokeefe/starch

View on GitHub
lib/starch/generator.rb

Summary

Maintainability
A
0 mins
Test Coverage
require 'thor'

module Starch
  class Generator < Thor
    include Thor::Actions

    attr_accessor :name

    map ['-v', '--version'] => :version

    # gem root relative to here
    source_root File.expand_path File.join(__FILE__, '..', '..', '..')

    desc 'new [NAME]', 'Scaffold a new site named [NAME]'
    def new(name)
      # make sure name can be used in ERB
      @name = name

      say 'Generating skeleton', :yellow
      directory 'skel', name

      say 'Running `npm install`', :yellow
      system "cd #{name}; npm install"

      say "#{name} created", :green
    end

    desc 'version', 'Show version'
    def version
      say Starch::VERSION
    end
  end
end