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.