Class: Blacklight::Assets
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- Blacklight::Assets
- Defined in:
- lib/generators/blacklight/assets_generator.rb
Instance Method Summary collapse
-
#add_javascript_dependencies ⇒ Object
This could be skipped if you want to use webpacker.
- #appease_rails7 ⇒ Object
-
#appease_sprockets4 ⇒ Object
Remove the empty generated app/assets/images directory.
- #assets ⇒ Object
-
#create_sprockets_javascript ⇒ Object
Add sprockets javascript if needed.
Instance Method Details
#add_javascript_dependencies ⇒ Object
This could be skipped if you want to use webpacker
9 10 11 12 |
# File 'lib/generators/blacklight/assets_generator.rb', line 9 def add_javascript_dependencies gem 'bootstrap', [:'bootstrap-version'] gem 'twitter-typeahead-rails', '0.11.1.pre.corejavascript' end |
#appease_rails7 ⇒ Object
14 15 16 17 18 |
# File 'lib/generators/blacklight/assets_generator.rb', line 14 def appease_rails7 return unless Rails.version > '7' gem "sassc-rails", "~> 2.1" end |
#appease_sprockets4 ⇒ Object
Remove the empty generated app/assets/images directory. Without doing this, the default Sprockets 4 manifest will raise an exception.
34 35 36 37 38 39 |
# File 'lib/generators/blacklight/assets_generator.rb', line 34 def appease_sprockets4 return if !defined?(Sprockets::VERSION) || Sprockets::VERSION < '4' || using_importmap? append_to_file 'app/assets/config/manifest.js', "\n//= link application.js\n" empty_directory 'app/assets/images' end |
#assets ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
# File 'lib/generators/blacklight/assets_generator.rb', line 41 def assets copy_file "blacklight.scss", "app/assets/stylesheets/blacklight.scss" # Ensure this method is idempotent return if has_blacklight_assets? gem 'jquery-rails' contents = "\n//\n// Required by Blacklight\n" contents += "//= require popper\n" contents += "// Twitter Typeahead for autocomplete\n" contents += "//= require twitter/typeahead\n" contents += "//= require bootstrap\n" contents += "//= require blacklight/blacklight\n" marker = if turbolinks? '//= require turbolinks' else '//= require rails-ujs' end insert_into_file "app/assets/javascripts/application.js", after: marker do contents end insert_into_file "app/assets/javascripts/application.js", before: '//= require rails-ujs' do "//= require jquery3\n" end end |
#create_sprockets_javascript ⇒ Object
Add sprockets javascript if needed
21 22 23 24 25 26 27 28 29 |
# File 'lib/generators/blacklight/assets_generator.rb', line 21 def create_sprockets_javascript create_file 'app/assets/javascripts/application.js' do <<~CONTENT //= require jquery3 //= require rails-ujs #{'//= require turbolinks' if Rails.version < '7'} CONTENT end end |