Module: Onotole::DefaultFrontend
- Included in:
- AppBuilder
- Defined in:
- lib/onotole/default_frontend.rb
Instance Method Summary collapse
- #add_fonts_autoload ⇒ Object
- #add_vendor_css_path ⇒ Object
- #configure_quiet_assets ⇒ Object
- #create_application_layout ⇒ Object
- #create_partials_directory ⇒ Object
- #create_shared_flashes ⇒ Object
- #create_shared_javascripts ⇒ Object
- #customize_error_pages ⇒ Object
- #install_bitters ⇒ Object
- #install_refills ⇒ Object
- #setup_asset_host ⇒ Object
- #setup_segment ⇒ Object
- #setup_stylesheets ⇒ Object
Instance Method Details
#add_fonts_autoload ⇒ Object
86 87 88 89 |
# File 'lib/onotole/default_frontend.rb', line 86 def add_fonts_autoload fonts = "\nRails.application.config.assets.precompile << /\.(?:svg|eot|woff|ttf|otf)\z/" append_file 'config/initializers/assets.rb', fonts end |
#add_vendor_css_path ⇒ Object
79 80 81 82 83 84 |
# File 'lib/onotole/default_frontend.rb', line 79 def add_vendor_css_path vendor_css_path = "\nRails.application.config.assets.paths += Dir"\ "[(Rails.root.join('vendor/assets/stylesheets'))]\n"\ "Rails.application.config.assets.paths += Dir[(Rails.root.join('vendor/assets/images'))]" append_file 'config/initializers/assets.rb', vendor_css_path end |
#configure_quiet_assets ⇒ Object
4 5 6 7 |
# File 'lib/onotole/default_frontend.rb', line 4 def configure_quiet_assets config = "\n config.quiet_assets = true\n" inject_into_class 'config/application.rb', 'Application', config end |
#create_application_layout ⇒ Object
31 32 33 34 35 |
# File 'lib/onotole/default_frontend.rb', line 31 def create_application_layout template 'onotole_layout.html.erb.erb', 'app/views/layouts/application.html.erb', force: true end |
#create_partials_directory ⇒ Object
65 66 67 |
# File 'lib/onotole/default_frontend.rb', line 65 def create_partials_directory empty_directory 'app/views/application' end |
#create_shared_flashes ⇒ Object
26 27 28 29 |
# File 'lib/onotole/default_frontend.rb', line 26 def create_shared_flashes copy_file '_flashes.html.erb', 'app/views/application/_flashes.html.erb' copy_file 'flashes_helper.rb', 'app/helpers/flashes_helper.rb' end |
#create_shared_javascripts ⇒ Object
75 76 77 |
# File 'lib/onotole/default_frontend.rb', line 75 def create_shared_javascripts copy_file '_javascript.html.erb', 'app/views/application/_javascript.html.erb' end |
#customize_error_pages ⇒ Object
47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/onotole/default_frontend.rb', line 47 def customize_error_pages = <<-EOS <meta charset="utf-8" /> <meta name="ROBOTS" content="NOODP" /> <meta name="viewport" content="initial-scale=1" /> EOS %w(500 404 422).each do |page| inject_into_file "public/#{page}.html", , after: "<head>\n" replace_in_file "public/#{page}.html", /<!--.+-->\n/, '' end end |
#install_bitters ⇒ Object
43 44 45 |
# File 'lib/onotole/default_frontend.rb', line 43 def install_bitters bundle_command 'exec bitters install --path app/assets/stylesheets' end |
#install_refills ⇒ Object
69 70 71 72 73 |
# File 'lib/onotole/default_frontend.rb', line 69 def install_refills rails_generator 'refills:import flashes' run 'rm app/views/refills/_flashes.html.erb' run 'rmdir app/views/refills' end |
#setup_asset_host ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/onotole/default_frontend.rb', line 9 def setup_asset_host replace_in_file 'config/environments/production.rb', "# config.action_controller.asset_host = 'http://assets.example.com'", "config.action_controller.asset_host = ENV.fetch('#{app_name.upcase}_ASSET_HOST',"\ " ENV.fetch('#{app_name.upcase}_APPLICATION_HOST'))" replace_in_file 'config/initializers/assets.rb', "config.assets.version = '1.0'", "config.assets.version = (ENV['#{app_name.upcase}_ASSETS_VERSION'] || '1.0')" inject_into_file( 'config/environments/production.rb', ' config.static_cache_control = "public, max-age=#{1.year.to_i}"', after: serve_static_files_line ) end |
#setup_segment ⇒ Object
60 61 62 63 |
# File 'lib/onotole/default_frontend.rb', line 60 def setup_segment copy_file '_analytics.html.erb', 'app/views/application/_analytics.html.erb' end |
#setup_stylesheets ⇒ Object
37 38 39 40 41 |
# File 'lib/onotole/default_frontend.rb', line 37 def setup_stylesheets remove_file 'app/assets/stylesheets/application.css' copy_file 'application.scss', 'app/assets/stylesheets/application.scss' end |