yetu/siren-scala — pull request #3 by dwestheide (2014-10-13 17:37:40+00:00)
Title: Remove SirenContext implicit parameter for conversion to root entity

This is another API-breaking change that I propose to include, but I think it's worth it. It removes the `SirenContext` type from the library altogether, and hence, `toSiren` and the other functions no longer have an implicit parameter list with the `SirenContext` parameter.

The reasoning behind this is that having to provide an implementation of this trait is quite a heavy burden, given that there may be many cases where it is not required at all for conversion to a Siren root entity. Where it _is_ required, the same effect can easily be achieved this way (see the `ExampleSpec`):

```scala
implicit def orderSirenWriter(implicit baseUri: String): SirenRootEntityWriter[Order] = ???
implicit val baseUri: String = "http://api.x.io"
```

This way, providing the information like a base URI is left optional to situations where it is required, and it will be less cumbersome to integrate the library with existing web frameworks or libraries, that may have their own way of providing the kind of information transported in the `SirenContext` so far.