README.md in serviceworker-rails-0.1.0 vs README.md in serviceworker-rails-0.2.0
- old
+ new
@@ -24,10 +24,43 @@
$ gem install serviceworker-rails
## Usage
-Currently, `serviceworker-rails` assumes your script resolves to `serviceworker.js`
+To use `serviceworker-rails` in a Rails app, install the gem as above. When
+`serviceworker-rails` is required, it will insert a middleware into the Rails
+middleware stack. You'll want to configure it by mapping serviceworker routes to
+Sprockets JavaScript assets, like the example below, in `application.rb`.
+
+```ruby
+# application.rb
+
+config.serviceworker.routes.draw do
+ get "/basic-serviceworker.js"
+
+ get "/proxied-serviceworker.js"
+ asset: "nested/asset/serviceworker.js"
+
+ get "/nested/serviceworker.js",
+ asset: "another/serviceworker.js"
+
+ get "/header-serviceworker.js",
+ asset: "another/serviceworker.js",
+ headers: { "X-Resource-Header" => "A resource" }
+
+ get "/*/serviceworker.js",
+ asset: "serviceworker.js"
+end
+```
+
+`Serviceworker-Rails` with insert a `Cache-Control` header to instruct browsers
+not to cache your serviceworkers by default. You can customize the headers for all service worker routes if you'd like,
+such as adding the experimental [`Service-Worker-Allowed`](https://slightlyoff.github.io/ServiceWorker/spec/service_worker/#service-worker-allowed) header to set the allowed scope.
+
+```ruby
+config.serviceworker.headers["Service-Worker-Allowed"] = "/"
+config.serviceworker.headers["X-Custom-Header"] = "foobar"
+```
## Development
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.