In light of James Golick's recent untimely passing, here's a brief overview of rollout (https://github.com/FetLife/rollout) and degrade (https://github.com/jamesgolick/degrade), 2 gems which provide a simple interface for dynamic activation and deactivation of your app's features. We'll discuss why we might want to use feature flags and how to implement them using James' gems.
Links:
https://github.com/jamesgolick/degrade/blob/master/lib/degrade.rb#L12-L20
https://news.ycombinator.com/item?id=8804624
https://medium.com/@benkaufman/remembering-james-golick-23c1dc3ab920
https://medium.com/@jill380/the-adventurous-life-of-james-golick-bda4a33137b6