module Onotole::DefaultFrontend

Public Instance Methods

add_fonts_autoload() click to toggle source
# 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() click to toggle source
# 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() click to toggle source
# 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() click to toggle source
# 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() click to toggle source
# File lib/onotole/default_frontend.rb, line 65
def create_partials_directory
  empty_directory 'app/views/application'
end
create_shared_flashes() click to toggle source
# 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() click to toggle source
# 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() click to toggle source
# File lib/onotole/default_frontend.rb, line 47
    def customize_error_pages
      meta_tags = <<-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", meta_tags, after: "<head>\n"
        replace_in_file "public/#{page}.html", /<!--.+-->\n/, ''
      end
    end
install_bitters() click to toggle source
# File lib/onotole/default_frontend.rb, line 43
def install_bitters
  bundle_command 'exec bitters install --path app/assets/stylesheets'
end
install_refills() click to toggle source
# 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() click to toggle source
# 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() click to toggle source
# 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() click to toggle source
# 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