class BootstrapPlus::Generators::InstallGenerator
Public Instance Methods
add_assets()
click to toggle source
# File lib/generators/bootstrap_plus/install/install_generator.rb, line 12 def add_assets js_manifest = 'app/assets/javascripts/application.js' if File.exist?(js_manifest) insert_into_file js_manifest, "//= require jquery3\n", after: "rails-ujs\n" insert_into_file js_manifest, "//= require popper\n", after: "jquery3\n" insert_into_file js_manifest, "//= require bootstrap\n", after: "popper\n" else copy_file "application.js", js_manifest end css_manifest = 'app/assets/stylesheets/application.css' if File.exist?(css_manifest) # Add our own require: content = File.read(css_manifest) if content.match(/require_tree\s+\.\s*$/) # Good enough - that'll include our bootstrap_and_overrides.css.less else style_require_block = " *= require bootstrap_and_overrides\n" insert_into_file css_manifest, style_require_block, after: "require_self\n" end else copy_file "application.css", "app/assets/stylesheets/application.css" end end
add_bootstrap()
click to toggle source
# File lib/generators/bootstrap_plus/install/install_generator.rb, line 41 def add_bootstrap # copy_file "bootstrap.js", "app/assets/javascripts/bootstrap.js" copy_file "bootstrap_and_overrides.css", "app/assets/stylesheets/bootstrap_and_overrides.css" # if use_coffeescript? # copy_file "bootstrap.coffee", "app/assets/javascripts/bootstrap.js.coffee" # else # end # if use_less? # copy_file "bootstrap_and_overrides.less", "app/assets/stylesheets/bootstrap_and_overrides.css.less" # else # end end
add_locale()
click to toggle source
# File lib/generators/bootstrap_plus/install/install_generator.rb, line 54 def add_locale if File.exist?("config/locales/en.bootstrap.yml") localez = File.read("config/locales/en.bootstrap.yml") insert_into_file "config/locales/en.bootstrap.yml", localez, :after => "en\n" else copy_file "en.bootstrap.yml", "config/locales/en.bootstrap.yml" end end
cleanup_legacy()
click to toggle source
# File lib/generators/bootstrap_plus/install/install_generator.rb, line 63 def cleanup_legacy # Remove old requires (if any) that included twitter/bootstrap directly: gsub_file("app/assets/stylesheets/application.css", %r|\s*\*=\s*twitter/bootstrap\s*\n|, "") if File.exist?('app/assets/stylesheets/bootstrap_override.css.less') puts <<-EOM Warning: app/assets/stylesheets/bootstrap_override.css.less exists It should be removed, as it has been superceded by app/assets/stylesheets/bootstrap_and_overrides.css.less EOM end end
Private Instance Methods
use_coffeescript?()
click to toggle source
# File lib/generators/bootstrap_plus/install/install_generator.rb, line 80 def use_coffeescript? return false if options[:'no-coffeescript'] ::Rails.configuration.app_generators.rails[:javascript_engine] == :coffee end
use_less?()
click to toggle source
# File lib/generators/bootstrap_plus/install/install_generator.rb, line 76 def use_less? (defined?(Less) && (stylesheets_type!='static') ) || (stylesheets_type=='less') end