Card model can delegate automatically method on roster: instead of
card.roster.find { ... } you can call card.find { ... }. It does not
always makes code clearer, so I kept calling card.roster.something()
when needed
Card model now expose method to change CardContent and update rating
which return a copy. Previously anyone outside Card was messing up with
cards attributes. It is now more controlled
Add databaseVersion4 schema, migration, and tests
Remove method updateCreatedAt from cardDao (update now pass through
regular update method)
Refactor file CardRoomDataSourceTest into unitTest
card.roster.find { ... }
you can callcard.find { ... }
. It does not always makes code clearer, so I kept callingcard.roster.something()
when neededFixes #18