Sha256: 2e80904d8bd8ec63c7b86a9b821f2650169295a6a0c4d983fb2068c56f89fb48

Contents?: true

Size: 1.61 KB

Versions: 5

Compression:

Stored size: 1.61 KB

Contents

require "rails/generators"
require "rails/generators/rails/app/app_generator"

require "jobshop/version"

module Jobshop
  class AppBuilder < Rails::AppBuilder
    def readme
      template "README.md.tt"
    end

    def gemfile
      super
      append_to_file "Gemfile", <<~GEMFILE
        \ngem "jobshop", "~> #{Jobshop.gem_version}"
      GEMFILE
    end

    def mount_engine
      route %Q(mount Jobshop::Engine => "/")
    end
  end

  module Generators
    class AppGenerator < Rails::Generators::AppGenerator
      def self.source_root
        File.expand_path("templates", __dir__)
      end

      def self.source_paths
        [ Rails::Generators::AppGenerator.source_root,
          Jobshop::Generators::AppGenerator.source_root ]
      end

      hide!

      class_option :help, type: :boolean, aliases: "-h", group: :other,
        desc: "Show this help message and quit"

      class_options[:database].instance_variable_set(:@default, "postgresql")

      class_option :version, type: :boolean, aliases: "-v", group: :other,
              desc: "Show Jobshop version number and quit"

      def self.banner
        "jobshop new #{arguments.map(&:usage).join(' ')} [options]"
      end

      def remove_session_store_initializer_until_rails_5_1
        remove_file "config/initializers/session_store.rb"
      end

      def finish_template
        generate "jobshop:config"
        build :mount_engine
        super
      end

      def run_bundle
        super
        bundle_command("binstub jobshop") if bundle_install?
      end

    protected
      def get_builder_class
        Jobshop::AppBuilder
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
jobshop-0.0.131 lib/generators/jobshop/app/app_generator.rb
jobshop-0.0.127 lib/generators/jobshop/app/app_generator.rb
jobshop-0.0.113 lib/generators/jobshop/app/app_generator.rb
jobshop-0.0.109 lib/generators/jobshop/app/app_generator.rb
jobshop-0.0.107 lib/generators/jobshop/app/app_generator.rb