Sha256: 8c821c4aaffb7591f7c12a14c697f89c9c709060d930c3f97ba647a852814c89

Contents?: true

Size: 985 Bytes

Versions: 4

Compression:

Stored size: 985 Bytes

Contents

module Generators
  module PandaCms
    class InstallGenerator < ::Rails::Generators::Base
      source_root File.expand_path("templates", __dir__)

      namespace "panda_cms:install"
      desc "Adds the basic configuration for Panda CMS to your Rails app."

      def create_initializer_file
        # Add the initializer
        initializer_path = "config/initializers/panda_cms.rb"
        unless File.exist?("#{::Rails.root}/#{initializer_path}")
          FileUtils.cp "#{::PandaCms::Engine.root}/#{initializer_path}", "#{::Rails.root}/#{initializer_path}"
        end

        # Add the seed loader to the seeds.rb file
        unless File.read("#{::Rails.root}/db/seeds.rb")&.include?("PandaCms::Engine.load_seed")
          existing_seeds = File.read("#{::Rails.root}/db/seeds.rb")
          IO.write("#{::Rails.root}/db/seeds.rb", "PandaCms::Engine.load_seed\n\n#{existing_seeds}")
        end

        `rails db:migrate`
        `rails db:seed`
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
panda_cms-0.6.3 lib/generators/panda_cms/install_generator.rb
panda_cms-0.6.2 lib/generators/panda_cms/install_generator.rb
panda_cms-0.6.1 lib/generators/panda_cms/install_generator.rb
panda_cms-0.6.0 lib/generators/panda_cms/install_generator.rb