Let us start by saying that I think it should be called “Trenches”. Not in a bad way though, of course, but because there are so many freaking aspects to this beast that you can (and I did) find myself spending hours trying to solve this part or that method. Get on the record that I have loved just about every minute. When I got to use Sinatra, I was blown away by how easy it made things that had taken a lot of time to do by hand. I can officially say that Rails was like that, except like 50 times better. Once you figured out what you were trying to do. Which required wading neck-deep in the rails docs, stack overflow, and then just kind of trying stuff out. Eventually, however, I started to get the hang of it.
And so I began my rails project. Because there were so many different aspects to do, it took a lot of focus and dedication to stick with whatever issue you were dealing with and not jump off to write that show view. Or user partail. Or class controller. Or Or Or. When I first became interested in programming, I watched my buddy work on a project. The sheer quantity of files he was bouncing around between boggled my mind. And now I’m doing it like it is second nature to me. God that feels good. Whenever I need to take a breather to refocus, I find myself grinning at my monitor, wondering what next challenge I would take down.
One thing that I’d like to comment on was the incredibly simple use of OmniAuth to allow logging in with facebook. I realize of course that somebody had to write a lot of difficult code, multiple somebodies, to create that amazing gem, but geeze it made my life simple. I never thought it could be so easy to log in that way! Devise took a bit longer to understand (to be honest I still only understand like 60% of it’s functionallity), but wow! I can’t wait to figure out how to mess with the css of those forms, but thats just cosmetic. Under the hood, awsome.
The very last thing that I added and used for my project was Pundit. It took a good 4 hours of scratching my head before I finally got it, and I love it. It’s so easy to check authorization for things! No more mile long authorization checks for each and every route in the controller, just a simple authorize @whatever. So good.
Be hungry. Be humble. And always be the hardest worker in the room. -Dwayne Johnson