Sha256: adfa14669180786b6af40fa79e9597e28e2acdbb0ad38f596fe4d6211e88e5a9

Contents?: true

Size: 1.09 KB

Versions: 2

Compression:

Stored size: 1.09 KB

Contents

# frozen_string_literal: true

require_relative "../../lib/plutonium_generators"

module Pu
  module Core
    class InstallGenerator < Rails::Generators::Base
      include PlutoniumGenerators::Generator

      source_root File.expand_path("templates", __dir__)

      desc "Set up the base requirements for Plutonium"

      def start
        setup_packaging_system
        install_required_gems
        setup_app
      rescue => e
        exception "#{self.class} failed:", e
      end

      private

      def setup_packaging_system
        copy_file "config/packages.rb"
        create_file "packages/.keep"
        insert_into_file "config/application.rb", "\nrequire_relative \"packages\"\n", after: /Bundler\.require.*\n/
        # insert_into_file "config/application.rb", indent("Plutonium.configure_rails config\n\n", 4), after: /.*< Rails::Application\n/
      end

      def setup_app
        directory "config"
        directory "app"
      end

      def install_required_gems
        # invoke "pu:gem:simple_form"
        # invoke "pu:gem:pagy"
        # invoke "pu:gem:rabl"
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
plutonium-0.11.0 lib/generators/pu/core/install/install_generator.rb
plutonium-0.8.0 lib/generators/pu/core/install/install_generator.rb