Object-oriented programs generally involves objects passing messages back and forth between themselves. This is what happens when methods are invoked i.e when we call a method of function. When methods of objects are called, it can be said that “messages are being sent to that object”.

The send method in Ruby, is used to invoke methods dynamically. This is useful when the method to be called is not known in advance, and is to be determined at runtime.

Send accepts the name of the method to be invoked as it’s first argument, either as a string or symbol. If the method require arguments, they are also passed to the send method in the same order with the method name coming first. …


Most of the time, we need a database to test our applications. This can be tricky to setup in a Continuous Integration test environment, but Travis CI makes it pretty easy. Normally you would need to create a database on another online service then set the database URL as an environment variable on your… keep reading >

Keep reading the original post on azemoh.com


Ruby is a very expressive and dynamic language with lots of features that makes it a joy to work with. A lot of this is achieved by its great use of the Metaprogramming concept. From its concise and highly readable syntax to a lot of syntactic sugar which almost feels like magic.

In an effort to better understand the inner workings of the language, I am going to write a series of articles on Metaprogramming in Ruby, highlighting common patterns, techniques and use cases and also how they are adopted by some popular Ruby frameworks and libraries.

What is Metaprogramming?

Metaprogramming is simply “writing code that writes code at runtime”. This means writing programs that are able to modify themselves by generating executable program code during execution. …


My Experience

Just over a year ago, I broke my leg in a car accident. This has been one of the most challenging phase in my life. Although this is not an experience I wished for, It became an opportunity to see life from a different perspective and I believe I have been able to grow personally as a result.

I was bed ridden for a few months after I had surgery. I remember being willing to give anything just to take a stroll. …


I would like to introduce squareone, a tool we built at Codaye to eliminate the setup process we go through when starting a new project.
Squareone is a Jekyll project generator that adds Gulp’s modern automation workflow to every new Jekyll project.

We use Jekyll for building static sites, from prototyping design ideas to building websites for our clients. Another tool we use to automate this process is Gulp. We use Gulp to speed up our workflow by using it to compile and minify Sass and JavaScript files, run a local web server among other things.

We decided to build squareone because we found ourselves spending a lot of time setting up Gulp each time we started a new Jekyll project or needing a particular member of our team to do the setup. …


As web developers, we carry out some repetitious and mundane tasks during our design and development process, from transpiling your TypeScript files to JavaScript, to reloading your browser as you make changes to your code and so on. These are of course necessary, but it would be nice to just focus on being productive and not deal with these little distractions. With Gulp, you can automate your development workflow and focus on delivering your best work.

Gulp is a JavaScript task runner that allows you to define certain tasks for your project, which you can run at any time. Better still, you can define tasks that run once and watch for changes in your code, then execute other tasks. At this point your project becomes a living, breathing, autonomous being. …

About

Joshua Azemoh

Software Writer at Andela, happiest when I’m bringing things to life. http://azemoh.com

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store