2 ms·
This is where I lost a lot of faith in the author. His argument becomes "Rails get's tricky when you frankenstein a bunch of gems and additional frameworks into
by ritchiea 14y ago
This is where I lost a lot of faith in the author. His argument becomes "Rails get's tricky when you frankenstein a bunch of gems and additional frameworks into an app." I'm totally with you, I don't get the Devise obsession. It's easy to roll your own authentication. In the app I'm working on right now one of my co-workers once said "we don't even have a gem for authentication" and I wanted to pull my hair out. Eventually I incorporated Warden into our auth process which moves authentication to middleware and provides some useful test functionalities. And the whole Warden library is readable. Devise is actually built on Warden and you can get a lot of good, simple implementation ideas from reading the Devise code rather than wholesale slapping their entire API into your app to replace what might be a few dozen lines of auth code for a lot of projects.
If you Frankenstein your app together at every chance you're failing to manage complexity because you end up dealing with a dozen APIs (or dozens!) all designed in different styles by different developers. At this point you not only need to know Ruby and Rails but also the API of every framework you have added.
I'm not saying don't use gems but eventually if you don't write any code yourself you're going to have a complex mess you don't understand. And that's not Rails's fault.