Posted over 5 years ago. Visible to the public. Repeats. Linked content.

Choosing the right gems for your project

Adding a gem means you take over the liability towards the external code.


Based on " To gem, or not to gem Archive ":

  • Gem is really needed (prefer writing your own code for simple requirements without many edge cases)
  • Gem is tested well (coverage and quality)
  • Gem has a good code quality
  • Gem's licence fits to the project requirement
  • Try to avoid gems that do much more than your requirement scope needs
  • Gem has a good maturity and maintenance
  • Gem has a good / familiar DSL
  • If it's hard to do right, choose a mature gem (e.g. Devise or Clearance for authentication) instead of building it yourself

Also see the chapter "Owning your Stack" in the book Growing Rails Applications in Practice Archive .


Does your version of Ruby on Rails still receive security updates?
Rails LTS provides security patches for unsupported versions of Ruby on Rails (2.3, 3.2, 4.2 and 5.2).

Owner of this card:

Emanuel De
Last edit:
about 3 years ago
by Johanna Schalk
About this deck:
We are makandra and do test-driven, agile Ruby on Rails software development.
License for source code
Posted by Emanuel De to makandra dev
This website uses short-lived cookies to improve usability.
Accept or learn more