Repository is archived
No commit activity in last 3 years
No release in over 3 years
Access instance variables in Ruby the way you should be able to.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies
 Project Readme

Easier Instance Variable Access

Ruby’s built-in Object#instance_variable_get and #instance_variable_set methods are clunky to use because you have to unnecessarily prepend an ‘@’ to the name of the instance variable you pass in—which usually leads to much less readable code in the contexts in which I tend to use these methods. On top of that, they’re poorly named: the method names don’t read like English.

This gem adds two methods to Object that fix these problems: instance_variable method to replace instance_variable_get and set_instance_variable method to replace instance_variable_set.

Full documentation is at RubyDoc.info.

Examples

These methods are only available within an instance of a class—like the corresponding built-in Ruby methods—so the following examples are given in that context.

The usual Ruby way

instance_variable_get('@user')
instance_variable_set('@user', new_value)

name = :user
instance_variable_get("@#{name}")
instance_variable_set("@#{name}", new_value)

Using easier-instance-variable-access

instance_variable(:user)
set_instance_variable(:user, new_value)

name = :user
instance_variable(name)
set_instance_variable(name, new_value)

Colophon

See also

If you like this gem, you may also want to check out To Class.

Tested with

  • Ruby 1.9.2-p180 — 20 May 2011

Contributing

To send patches, please fork on GitHub and submit a pull request.

Credits

© 2011 Cody Robbins. See LICENSE for details.