feat(rating): add rating directive

Closes #337