Sha256: 88d575c43caa9e2300ea6268af9aa322ff959cd681fee2733e28c16602bbb0fe

Contents?: true

Size: 1003 Bytes

Versions: 4

Compression:

Stored size: 1003 Bytes

Contents

require 'thor'
require_relative 'version'

class ReactRailsAPI::CLI < Thor
  TEMPLATE = File.join __dir__, 'template.rb'

  method_option :database, type: :boolean, desc: 'Integrate ActiveRecord (and Postgres).', default: true
  desc "new [\e[1mPATH\e[0m]", "\e[90mInitialise a React/Rails API application.\e[0m"
  def new(path)
    opts = default_options
    opts << '--database=postgresql' if options[:database]
    opts << '--skip-active-record' if !options[:database]
    opts << "--template=#{TEMPLATE}"
    exec "rails new #{path} #{opts.join ' '}"
  end

  map %w[--version -v] => :version
  desc '-v', "\e[90mDisplay installed React/Rails API gem version.\e[0m"
  def version
    puts ReactRailsAPI::VERSION
  end

  no_tasks do
    def default_options
      %w[
        --webpack=react
        --api
        --skip-coffee
        --skip-action-cable
        --skip-action-mailer
        --skip-turbolinks
        --skip-test
        --skip-bootsnap
        --no-bundle
      ]
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
react-rails-api-0.1.4 lib/react-rails-api/cli.rb
react-rails-api-0.1.3 lib/react-rails-api/cli.rb
react-rails-api-0.1.2 lib/react-rails-api/cli.rb
react-rails-api-0.1.1 lib/react-rails-api/cli.rb