Sha256: a277e5c650a9d5d98f90a9f857bf2038b3b5661848e29676fc5ee7a81662a708

Contents?: true

Size: 1.03 KB

Versions: 24

Compression:

Stored size: 1.03 KB

Contents

# frozen_string_literal: true

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

module Pu
  module Pkg
    class FeatureGenerator < Rails::Generators::Base
      include PlutoniumGenerators::Generator

      source_root File.expand_path("templates", __dir__)

      desc "Create a plutonium feature package"

      argument :name

      def start
        validate_package_name package_name

        template "lib/engine.rb", "packages/#{package_namespace}/lib/engine.rb"

        %w[controllers interactions models policies presenters query_objects].each do |dir|
          directory "app/#{dir}", "packages/#{package_namespace}/app/#{dir}/#{package_namespace}"
        end
        create_file "packages/#{package_namespace}/app/views/#{package_namespace}/.keep"
      rescue => e
        exception "#{self.class} failed:", e
      end

      private

      def package_name
        name.camelize
      end

      def package_namespace
        package_name.underscore
      end

      def package_type
        "Pkg::Feature"
      end
    end
  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
plutonium-0.14.1 lib/generators/pu/pkg/feature/feature_generator.rb
plutonium-0.14.0 lib/generators/pu/pkg/feature/feature_generator.rb
plutonium-0.13.3 lib/generators/pu/pkg/feature/feature_generator.rb
plutonium-0.13.2 lib/generators/pu/pkg/feature/feature_generator.rb
plutonium-0.13.1 lib/generators/pu/pkg/feature/feature_generator.rb
plutonium-0.13.0 lib/generators/pu/pkg/feature/feature_generator.rb
plutonium-0.12.14 lib/generators/pu/pkg/feature/feature_generator.rb
plutonium-0.12.13 lib/generators/pu/pkg/feature/feature_generator.rb
plutonium-0.12.12 lib/generators/pu/pkg/feature/feature_generator.rb
plutonium-0.12.11 lib/generators/pu/pkg/feature/feature_generator.rb
plutonium-0.12.10 lib/generators/pu/pkg/feature/feature_generator.rb
plutonium-0.12.9 lib/generators/pu/pkg/feature/feature_generator.rb
plutonium-0.12.8 lib/generators/pu/pkg/feature/feature_generator.rb
plutonium-0.12.7 lib/generators/pu/pkg/feature/feature_generator.rb
plutonium-0.12.5 lib/generators/pu/pkg/feature/feature_generator.rb
plutonium-0.12.4 lib/generators/pu/pkg/feature/feature_generator.rb
plutonium-0.12.3 lib/generators/pu/pkg/feature/feature_generator.rb
plutonium-0.12.2 lib/generators/pu/pkg/feature/feature_generator.rb
plutonium-0.12.1 lib/generators/pu/pkg/feature/feature_generator.rb
plutonium-0.12.0 lib/generators/pu/pkg/feature/feature_generator.rb