Sha256: 0ba0c4d9d07ec08e436845343840bee028e390065b10dc253f9174926d3d53a3

Contents?: true

Size: 963 Bytes

Versions: 3

Compression:

Stored size: 963 Bytes

Contents

require "rails/generators/base"

module DuodealerApp
  module Generators
    class AddMarketingActivityExtensionGenerator < Rails::Generators::Base
      source_root File.expand_path("../templates", __FILE__)

      def generate_app_extension
        template "marketing_activities_controller.rb", "app/controllers/marketing_activities_controller.rb"
        generate_routes
      end

      private
        def generate_routes
          inject_into_file(
            "config/routes.rb",
            optimize_indentation(routes, 2),
            after: "root :to => 'home#index'\n"
          )
        end

        def routes
          <<~EOS

          resource :marketing_activities, only: [:create, :update] do
            patch :resume
            patch :pause
            patch :delete
            post :republish
            post :preload_form_data
            post :preview
            post :errors
          end
          EOS
        end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
duodealer_app-1.0.4 lib/generators/duodealer_app/add_marketing_activity_extension/add_marketing_activity_extension_generator.rb
duodealer_app-1.0.3 lib/generators/duodealer_app/add_marketing_activity_extension/add_marketing_activity_extension_generator.rb
duodealer_app-1.0.2 lib/generators/duodealer_app/add_marketing_activity_extension/add_marketing_activity_extension_generator.rb