Do you know why experienced Ruby programmers tend to reach for basic collections and hashes while programmers from other languages go for more specialized classes? Do you know the difference between strip, chop, and chomp, and why there are three such similar methods when apparently one might suffice? (Not to mention lstrip and rstrip!) Do you know the downsides of dynamic typing? Do you know why the differences between strings and symbols get so blurry, even to experienced Ruby developers? How about metaprogramming? What the heck is an eigenclass? How about protected methods? Do you know what they’re really about? Really? Are you sure? Eloquent Ruby
Ruby is a tricky language, you can check some tricks here. Using tricks and tips and Ruby itself you can make good refactorings in your code.
Absolutely the best way to learn to write idiomatic Ruby code is to read idiomatic Ruby code. Eloquent Ruby
This repository aims to help everyone to write a more idiomatic, clean and tricky ruby code and also try to join a bunch of good refactoring techniques. You can add your own technique or paste it from some website(do not forget the source, of course). All the tricks are in the /tricks folder.
For the sake of reading, you should paste in the markdown format and at the end, paste where the technique come from, if it's not yours.
In this part we can check some obscure or awesome features from the and the standard ruby library which normally we forget.
You can write a Ruby code, but it can look like a Java code for example. Here you can find some tips to write a more natural and take advantage of Ruby.
A big thanks to the following persons
- Fork it
- Create your refactoring technique branch:
git checkout -b my-technique
- Add your technique to the collection of
.md
files in the correct folder (tricks, refactorings, idiomatic_ruby or best_practices) folder - Commit your changes:
git commit -am 'Add my technique'
- Push to the branch:
git push origin mytechnique
- Create a new Pull Request and explain your technique in the markdown file