Sha256: 1fcc140936fcecc24a61fcc3bcf7fa841b53d8fee25415307ab0a3d690fe2baf

Contents?: true

Size: 1.72 KB

Versions: 6

Compression:

Stored size: 1.72 KB

Contents

require 'rails/generators/base'
# require 'generators/active_scaffold_controller/active_scaffold_controller_generator'

module ActiveScaffold
  module Generators
    class InstallGenerator < Rails::Generators::Base # metagenerator
      desc 'Add concerns to routes and require lines to assets manifest files'

      def add_concern_routes
        route 'concern :active_scaffold, ActiveScaffold::Routing::Basic.new(association: true)'
        route 'concern :active_scaffold_association, ActiveScaffold::Routing::Association.new'
      end

      def add_to_javascript_manifest
        file = 'app/assets/javascripts/application.js'
        unless File.exist?(file)
          say_status :missing, file, :red
          return if options[:pretend]
          raise Thor::Error, "JS file #{file} is required for ActiveScaffold"
        end
        original_js = File.binread(file)
        if original_js.include?('require active_scaffold')
          say_status('skipped', 'insert into app/assets/javascripts/application.js', :yellow)
        else
          insert_into_file 'app/assets/javascripts/application.js', :after => %r{//= require +.*ujs['"]?\n} do
            "//= require active_scaffold\n"
          end
        end
      end

      def add_to_stylesheet_manifest
        file = 'app/assets/stylesheets/application.css'
        return unless File.exist?(file)
        original_css = File.binread(file)
        if original_css =~ /require active_scaffold$/
          say_status('skipped', 'insert into app/assets/stylesheets/application.css', :yellow)
        else
          insert_into_file 'app/assets/stylesheets/application.css', :before => %r{[ ]*\*/} do
            " *= require active_scaffold\n"
          end
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
active_scaffold-3.5.5 lib/generators/active_scaffold/install_generator.rb
active_scaffold-3.5.4 lib/generators/active_scaffold/install_generator.rb
active_scaffold-3.5.3 lib/generators/active_scaffold/install_generator.rb
active_scaffold-3.5.2 lib/generators/active_scaffold/install_generator.rb
active_scaffold-3.5.1 lib/generators/active_scaffold/install_generator.rb
active_scaffold-3.5.0 lib/generators/active_scaffold/install_generator.rb