Sha256: 78140e6ef4e2aaf4b2b68ca780df16b884c87d0f19e67a6a6566766f047fd22e

Contents?: true

Size: 861 Bytes

Versions: 1

Compression:

Stored size: 861 Bytes

Contents

# frozen_string_literal: true

require 'optparse'
require 'cybertron/options'
require 'cybertron/version'
require 'cybertron/generate_command'
require 'thor'
require 'fileutils'

module Cybertron
  # CLI class
  class CLI < Thor
    include Thor::Actions

    def self.source_root
      File.expand_path('../templates', __dir__)
    end

    desc 'new <project-name>', 'Create a new Codemod project'
    def new(name)
      puts "Creating new project: #{name}"
      FileUtils.mkdir_p "#{name}/transforms"
      FileUtils.mkdir_p "#{name}/spec"
      template 'rspec.tt', "#{name}/.rspec"
      template 'spec_helper.tt', "#{name}/spec/spec_helper.rb"
      template 'Rakefile.tt', "#{name}/Rakefile"
      template 'README.tt', "#{name}/README.md"
    end

    desc 'generate', 'Generate fixtures and transforms'
    subcommand 'generate', Generate

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
cybertron-0.1.3 lib/cybertron/cli.rb