Skip to main content

Starting with Ruby Metaprogamming


Metaprogramming is a programming technique in which computer programs have the ability to treat programs as their data. It means that a program can be designed to read, generate, analyze or transform other programs, and even modify itself while running.(wikipedia)
 Using simple code samples let's give basic start to metaprogramming which helps to relate how code base can be simplified.
 Considering the below class.

Now, using some metaprogramming concepts above code can be modified, notice the assign_attributes method used while the o/p in both the examples is same


Adding some more examples, below simple code helps to generate methods on the fly instead of defining in individually


Metaprogramming should be used with caution and not make the code complicated and difficult to read. It should be easy to understand and modular to change in future.

Comments

Popular posts from this blog

Cannot allocate memory error while computing files - Setup Swap space

ActionView::Template::Error (Cannot allocate memory - nodejs /tmp/execjs20131021-26716-fckzo3.js 2>&1 Nodejs is used to compile javascript at runtime. In RoR applications, this error comes when server is started in production mode which compiles the assets or while running rake assets:precompile . check for swap space and allocate

RubyConf 2013 at pune..retrieved from drafts

A great experience while interacting with the ruby community from different places. Lots of knowledge and inspiration flows. Met many folks from india and abroad.

Fresh server start after instance degraded

So the issue was, amazon issued an warning regarding the server to be terminated, before i could think of making an backup the instance stopped. The troubleshoot operations like reboot, stop and start didn't worked. Simple Steps to start a fresh instance with the previous content on server.