instance method Module#attr

attr(*name) -> [Symbol][permalink][rdoc][edit]
attr(name, true) -> [Symbol]
attr(name, false) -> [Symbol]

インスタンス変数読み取りのためのインスタンスメソッド name を定義します。



class User
  attr :name # => [:name]
  # 複数の名前を渡すこともできる
  attr :id, :age # => [:id, :age]
end

このメソッドで定義されるアクセスメソッドの定義は次の通りです。



def name
  @name
end

第 2 引数 が true で指定された場合には、属性の書き込み用メソッド name= も同時に定義されます。その定義は次の通りです。



def name=(val)
  @name = val
end

第 2 引数 に true か false を指定する方法は非推奨です。

[PARAM] name:
String または Symbol で指定します。
[RETURN]
定義されたメソッド名を Symbol の配列で返します。