Class: Serviceworker::Generators::InstallGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- Serviceworker::Generators::InstallGenerator
- Defined in:
- lib/generators/serviceworker/install_generator.rb
Instance Method Summary collapse
- #add_offline_html ⇒ Object
- #create_assets ⇒ Object
- #create_initializer ⇒ Object
- #update_application_layout ⇒ Object
- #update_precompiled_assets ⇒ Object
Instance Method Details
#add_offline_html ⇒ Object
40 41 42 |
# File 'lib/generators/serviceworker/install_generator.rb', line 40 def add_offline_html template "offline.html", public_dir("offline.html") end |
#create_assets ⇒ Object
12 13 14 15 16 |
# File 'lib/generators/serviceworker/install_generator.rb', line 12 def create_assets template "manifest.json", javascripts_dir("manifest.json.erb") template "serviceworker.js", javascripts_dir("serviceworker.js.erb") template "serviceworker-companion.js", javascripts_dir("serviceworker-companion.js") end |
#create_initializer ⇒ Object
18 19 20 |
# File 'lib/generators/serviceworker/install_generator.rb', line 18 def create_initializer template "serviceworker.rb", initializers_dir("serviceworker.rb") end |
#update_application_layout ⇒ Object
29 30 31 32 33 34 35 36 37 38 |
# File 'lib/generators/serviceworker/install_generator.rb', line 29 def update_application_layout layout = detect_layout snippet = %(<link rel="manifest" href="/manifest.json" />) snippet += %(\n<meta name="apple-mobile-web-app-capable" content="yes">) unless layout conditional_warn "Could not locate application layout. To insert manifest tags manually, use:\n\n#{snippet}\n" return end insert_into_file layout, snippet, before: "</head>\n" end |
#update_precompiled_assets ⇒ Object
22 23 24 25 26 27 |
# File 'lib/generators/serviceworker/install_generator.rb', line 22 def update_precompiled_assets snippet = "Rails.configuration.assets.precompile += %w[serviceworker.js manifest.json]\n" file_path = initializers_dir("assets.rb") FileUtils.touch file_path append_to_file file_path, snippet end |