David West
David West

Reputation: 2328

Crafting Ruby applications modularly with gems. Smart design or unwanted complexity?

On the surface it seems like application code that can/should be reused between Ruby projects should be turned into gems.

My experience is that it can slow things down and make project work complex, however.

I want to know from Rubyists with experience making large projects split into gems when it is worth it to break things out modularly, and what important workflow enhancements help keep development speedy and reduce overhead.

Upvotes: 1

Views: 39

Answers (1)

Maxim Fedotov
Maxim Fedotov

Reputation: 1357

If you are talking about making your own gems out of your codebase, it depends. It's faster and easier to make your Module or other piece of software used through out the project. Making a gem out of that means you need to spend more time maintaining it and it's not as easy to just refactor it as gems live separately.

Gems are great when you want to share a certain piece of functionality with others, but they need to be self contained. On the other hand, if the project is truly big and there are parts of it that work completely separate of each other, with teams not even interacting with other teams, it might be beneficial in having locally created gems that can be shared across the company.

But I think second case is a bit rare, so I don't think it's something most teams would consider.

Upvotes: 1

Related Questions