Almost every languages have variables, constants, classes and objects… but who knew about modules before Ruby was invented? A ruby module is not that easy to define because it can serve two different purposes. If we introduce the word Mixin in our definition, we’re diving into the more complex side of what modules are. Today, […]
What is a strongly typed language? Are dynamic languages like Python and Ruby automatically weakly typed? Is strong just another word for static and weak just another word for dynamic? I’m lost… help me Fleebie!
In the first part, I tried to cover the basics of code blocks. Now, we’re going to talk about : Code blocks and scope A code block is a closure Oh no… not another definition of a closure? Yes, but I promise I will be quick. First, to understand what a closure is we have […]
A while back, I wrote an introduction on code blocks. So if you’re not sure what they are, you should read it first. Something I find interesting with code blocks is that they create the illusion of being executed at the moment they are written. It’s easy to get fooled, because when you look at […]
Understanding the “chain” In my last article, I explained where the various elements of an object were located. Now it’s time to understand what happens at run time when you write the following : obj.my_instance_method Ahh… A method call! Ruby knows what to do in this situation. Remember that inside “obj” resides a reference to […]
So far I’ve talked about how everything was an object in ruby, even classes. I also wrote an article explaining what were the most important steps to follow when trying to understand ruby classes and objects. This wasn’t a bad idea, but it was a rather simplistic view. I think we’re ready to dive into […]
It’s never good when a programmer stare at your code for 2-3 minutes trying to understand some mad one-liners.
It’s not a secret, putting business logic inside a view is a bad idea. Views should only contain HTML and presentation logic.
I like to remind myself that a method never floats in the air and that it is always contained into an object. That’s why I prefer to specify a receiver before the name of a method… no wonder if I’m outside the object or inside the object.
First of all, let’s go back to the basics. What we generally call a class method is a method that resides at the class level. On the opposite, an instance method is a method that resides at the object level. The thing is, a class is also an object.