class Boring::FontAwesome::Yarn::InstallGenerator

Public Instance Methods

add_font_awesome_package() click to toggle source
# File lib/generators/boring/font_awesome/yarn/install/install_generator.rb, line 10
def add_font_awesome_package
  say "Adding fontawesome packages", :green
  run "yarn add @fortawesome/fontawesome-free"
end
import_font_awesome_javascript() click to toggle source
# File lib/generators/boring/font_awesome/yarn/install/install_generator.rb, line 30
        def import_font_awesome_javascript
          if File.exist?("app/javascript/packs/application.js")
            javascript_font_awesome_imports = <<~RUBY
              \n
              import "@fortawesome/fontawesome-free/js/all"
            RUBY

            append_to_file "app/javascript/packs/application.js", javascript_font_awesome_imports
          else
            say <<~WARNING, :red
              ERROR: Looks like the webpacker installation is incomplete. Could not find application.js in app/javascript/packs.
            WARNING
          end
        end
import_font_awesome_stylesheet() click to toggle source
# File lib/generators/boring/font_awesome/yarn/install/install_generator.rb, line 15
        def import_font_awesome_stylesheet
          say "Adding font awesome stylesheets", :green
          if File.exist?("app/javascript/stylesheets/application.scss")
            stylesheet_font_awesome_imports = <<~RUBY
              \n
              @import '@fortawesome/fontawesome-free';
            RUBY

            append_to_file "app/javascript/stylesheets/application.scss", stylesheet_font_awesome_imports
          else
            say "Copying application.scss with FontAwesome imports", :green
            template("application.scss", "app/javascript/stylesheets/application.scss")
          end
        end
insert_stylesheet_packs_tag() click to toggle source
# File lib/generators/boring/font_awesome/yarn/install/install_generator.rb, line 45
        def insert_stylesheet_packs_tag
          insert_into_file "app/views/layouts/application.html.erb", <<~RUBY, after: /stylesheet_link_tag.*\n/
            \t\t<%= stylesheet_pack_tag 'application', 'data-turbolinks-track': 'reload' %>
          RUBY
        end