class ExtForm::Generators::InstallGenerator

Public Instance Methods

copy_assets() click to toggle source
# File lib/generators/ext_form/install_generator.rb, line 33
      def copy_assets

        #bootstrap install
        if options[:bootstrap]

          # I prefer if (file = 'app/assets/stylesheets/application.css') && File.exists?(file)
          # but it outputs a warning....
          file = 'app/assets/stylesheets/application.css'
          if File.exists?(file)
            inject_into_file file, before: " *= require_tree .\n" do
              " *= require ext_form/application_bootstrap\n"
            end
          end

          file = 'app/assets/stylesheets/application.css.scss'
          if File.exists?(file)
            inject_into_file file, before: " *= require_tree .\n" do
              " *= require ext_form/application_bootstrap\n"
            end
          end

          file = 'app/assets/javascripts/application.js'
          if File.exists?(file)
            locale = options[:locale]

            inject_into_file file, before: "//= require_tree .\n" do
              <<JS
//= require jquery_nested_form
//= require bootstrap-datetimepicker
//= require typeahead
//= require select2
//= require ext_form/application
JS
            end

            inject_into_file file, after: "//= require select2\n" do
              <<JS
//= require locales/bootstrap-datetimepicker.#{locale}
//= require select2_locale_#{locale}
JS
            end if locale
          end
        # non bootstrap install, no more css and js.
        else
          file = 'app/assets/stylesheets/application.css'
          if File.exists?(file)
            inject_into_file file, before: " *= require_tree .\n" do
              " *= require ext_form/application\n"
            end

          end

          file = 'app/assets/stylesheets/application.css.scss'
          if File.exists?(file)
            inject_into_file file, before: " *= require_tree .\n" do
              " *= require ext_form/application\n"
            end
          end

          file = 'app/assets/javascripts/application.js'
          if File.exists?(file)
            inject_into_file file, before: "//= require_tree .\n" do
              <<JS
//= require jquery_nested_form
//= require ext_form/application
JS
            end
          end
        end


      end
copy_config() click to toggle source
# File lib/generators/ext_form/install_generator.rb, line 18
def copy_config
  template 'config/initializers/z_ext_form.rb'

  if options[:bootstrap]
    template 'config/initializers/z_ext_form_bootstrap.rb'
  end

  directory 'config/locales'
end
copy_scaffold_template() click to toggle source
# File lib/generators/ext_form/install_generator.rb, line 28
def copy_scaffold_template
  engine = options[:template_engine]
  copy_file "_form.html.#{engine}", "lib/templates/#{engine}/scaffold/_form.html.#{engine}"
end
info_bootstrap() click to toggle source
# File lib/generators/ext_form/install_generator.rb, line 11
      def info_bootstrap
        return if options.bootstrap?
        puts %q(ExtForm supports Twitter Bootstrap.
If you want a configuration that is compatible it,
then please re-run this generator with --bootstrap as an option.)
      end
show_readme() click to toggle source
# File lib/generators/ext_form/install_generator.rb, line 106
def show_readme
  if behavior == :invoke && options.bootstrap?
    readme 'README'
  end
end