> I was going through a blog where I found "Do this by calling the > attr_protected macro in your model class definition" what do you mean > by macro here. > Is it a method? Ruby comes with the `attr_accessor` family of functions built in to `Module` (http://www.ruby-doc.org/core/classes/Module.html). These methods allow you to specify which instance variables of a class you'd like accessor methods you'd like getters and setters generated for automatically. E.g.: class Test attr_accessor :test_variable end The above code will add roughly the following to the `Test` class: def test_variable @test_variable end def test_variable= a @test_variable=a end The 'attr_...' methods are regular methods, but people might call them "macros" because they're basically shorthand for generating other code automatically. They're not macros in the C sense of the word. I assume this is about rails, `attr_protected` refers to: http://api.rubyonrails.org/classes/ActiveRecord/Base.html#M001005 -Tim