Sha256: c72e60d220a36306bd78555982da55b6c2ebfcd4b5d8113c0cbfeccbca5299a9

Contents?: true

Size: 1.32 KB

Versions: 21

Compression:

Stored size: 1.32 KB

Contents

# frozen_string_literal: true

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

module Pu
  module Eject
    class LayoutGenerator < Rails::Generators::Base
      include PlutoniumGenerators::Generator

      source_root File.expand_path("templates", __dir__)

      desc "Eject layout views into your own project"

      class_option :dest, type: :string
      class_option :rodauth, type: :boolean

      def start
        destination_dir = (destination_app == "main_app") ? "app/views/" : "packages/#{destination_app}/app/views/"
        [
          "layouts/resource.html.erb"
        ].each do |file|
          copy_file Plutonium.root.join("app", "views", file), Rails.root.join(destination_dir, file)
        end
      rescue => e
        exception "#{self.class} failed:", e
      end

      private

      def destination_app
        @destination_app || select_app(options[:dest], msg: "Select destination app")
      end

      def copy_file(source_path, destination_path)
        if File.exist?(source_path)
          FileUtils.mkdir_p(File.dirname(destination_path))
          FileUtils.cp(source_path, destination_path)
          say_status("info", "Copied #{source_path} to #{destination_path}", :green)
        else
          say_status("error", "Source file #{source_path} does not exist", :red)
        end
      end
    end
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
plutonium-0.15.6 lib/generators/pu/eject/layout/layout_generator.rb
plutonium-0.15.5 lib/generators/pu/eject/layout/layout_generator.rb
plutonium-0.15.4 lib/generators/pu/eject/layout/layout_generator.rb
plutonium-0.15.3 lib/generators/pu/eject/layout/layout_generator.rb
plutonium-0.15.2 lib/generators/pu/eject/layout/layout_generator.rb
plutonium-0.15.1 lib/generators/pu/eject/layout/layout_generator.rb
plutonium-0.15.0 lib/generators/pu/eject/layout/layout_generator.rb
plutonium-0.15.0.pre.rc3 lib/generators/pu/eject/layout/layout_generator.rb
plutonium-0.15.0.pre.rc2 lib/generators/pu/eject/layout/layout_generator.rb
plutonium-0.15.0.pre.rc1 lib/generators/pu/eject/layout/layout_generator.rb
plutonium-0.14.1 lib/generators/pu/eject/layout/layout_generator.rb
plutonium-0.14.0 lib/generators/pu/eject/layout/layout_generator.rb
plutonium-0.13.3 lib/generators/pu/eject/layout/layout_generator.rb
plutonium-0.13.2 lib/generators/pu/eject/layout/layout_generator.rb
plutonium-0.13.1 lib/generators/pu/eject/layout/layout_generator.rb
plutonium-0.13.0 lib/generators/pu/eject/layout/layout_generator.rb
plutonium-0.12.14 lib/generators/pu/eject/layout/layout_generator.rb
plutonium-0.12.13 lib/generators/pu/eject/layout/layout_generator.rb
plutonium-0.12.12 lib/generators/pu/eject/layout/layout_generator.rb
plutonium-0.12.11 lib/generators/pu/eject/layout/layout_generator.rb