lib/generators/serviceworker/install_generator.rb in serviceworker-rails-0.5.4 vs lib/generators/serviceworker/install_generator.rb in serviceworker-rails-0.5.5
- old
+ new
@@ -29,13 +29,18 @@
FileUtils.touch file_path
append_to_file file_path, snippet
end
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">)
- insert_into_file detect_layout, snippet, before: "</head>\n"
+ 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
def add_offline_html
template "offline.html", public_dir("offline.html")
end
@@ -53,11 +58,11 @@
return [ext, "//="]
end
end
def detect_layout
- layouts = %w[.html.erb .html.haml .html.slim].map do |ext|
+ layouts = %w[.html.erb .html.haml .html.slim .erb .haml .slim].map do |ext|
layouts_dir("application#{ext}")
end
layouts.find { |layout| File.exist?(layout) }
end
@@ -77,9 +82,17 @@
join("public", *paths)
end
def join(*paths)
File.expand_path(File.join(*paths), destination_root)
+ end
+
+ def conditional_warn(warning)
+ silenced? or warn warning
+ end
+
+ def silenced?
+ ENV["RAILS_ENV"] == "test"
end
end
end
end