Sha256: 24e61988150d1e1e6c1beb35b496552ea6e157f3623665c207d049bc925197c7

Contents?: true

Size: 1.04 KB

Versions: 32

Compression:

Stored size: 1.04 KB

Contents

require 'rails/generators/base'

module Clearance
  module Generators
    class RoutesGenerator < Rails::Generators::Base
      source_root File.expand_path('../templates', __FILE__)

      def inject_clearance_routes_into_application_routes
        route(clearance_routes)
      end

      def disable_clearance_internal_routes
        inject_into_file(
          "config/initializers/clearance.rb",
          "  config.routes = false\n",
          after: "Clearance.configure do |config|\n",
        )
      end

      private

      def clearance_routes
        File.read(routes_file_path)
      end

      def routes_file_path
        File.expand_path(find_in_source_paths('routes.rb'))
      end

      def route(routing_code)
        log :route, "all clearance routes"
        sentinel = /\.routes\.draw do\s*\n/m

        in_root do
          inject_into_file(
            "config/routes.rb",
            routing_code,
            after: sentinel,
            verbose: false,
            force: true,
          )
        end
      end
    end
  end
end

Version data entries

32 entries across 32 versions & 1 rubygems

Version Path
clearance-2.9.3 lib/generators/clearance/routes/routes_generator.rb
clearance-2.9.2 lib/generators/clearance/routes/routes_generator.rb
clearance-2.9.1 lib/generators/clearance/routes/routes_generator.rb
clearance-2.9.0 lib/generators/clearance/routes/routes_generator.rb
clearance-2.8.0 lib/generators/clearance/routes/routes_generator.rb
clearance-2.7.2 lib/generators/clearance/routes/routes_generator.rb
clearance-2.7.0 lib/generators/clearance/routes/routes_generator.rb
clearance-2.6.2 lib/generators/clearance/routes/routes_generator.rb
clearance-2.6.1 lib/generators/clearance/routes/routes_generator.rb
clearance-2.6.0 lib/generators/clearance/routes/routes_generator.rb
clearance-2.5.0 lib/generators/clearance/routes/routes_generator.rb
clearance-2.4.0 lib/generators/clearance/routes/routes_generator.rb
clearance-2.3.1 lib/generators/clearance/routes/routes_generator.rb
clearance-2.3.0 lib/generators/clearance/routes/routes_generator.rb
clearance-2.2.1 lib/generators/clearance/routes/routes_generator.rb
clearance-2.2.0 lib/generators/clearance/routes/routes_generator.rb
clearance-2.1.0 lib/generators/clearance/routes/routes_generator.rb
clearance-2.0.0 lib/generators/clearance/routes/routes_generator.rb
clearance-2.0.0.beta2 lib/generators/clearance/routes/routes_generator.rb
clearance-2.0.0.beta1 lib/generators/clearance/routes/routes_generator.rb