Sha256: 0c89f7a635d50c5c42da723463182c934e475449e9ec2f59ec90ea0b223a2915

Contents?: true

Size: 1.71 KB

Versions: 3

Compression:

Stored size: 1.71 KB

Contents

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

module ActiveScaffold
  module Generators
    class InstallGenerator < Rails::Generators::Base
      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

3 entries across 3 versions & 1 rubygems

Version Path
active_scaffold-3.6.0.rc2 lib/generators/active_scaffold/install_generator.rb
active_scaffold-3.6.0.rc1 lib/generators/active_scaffold/install_generator.rb
active_scaffold-3.6.0.pre lib/generators/active_scaffold/install_generator.rb