Pages

2011年10月9日日曜日

Rubyの御気楽構造体クラス OpenStruct

OpenStructは、御気楽な構造体クラスで、予め定義しておかなくても、自動で属性を作成してくれます。

ずいぶん前に一度知ったのだが、クラスの名前をどうしても思い出せず検索できずに、利用したくても出来ない、とても歯がゆい思いをしていた。とっても便利なクラスである。

CodeRider:openstruct baker$ irb
>> require 'ostruct'
=> true
>> man = OpenStruct.new
=> #
>> man.name = 'masahiro'
=> "masahiro"
>> man.age = 200
=> 200
>> man.childs = %w(hanako taro)
=> ["hanako", "taro"]
>> p man
#

OpenStructをアプリケーションの初期設定に利用すると便利だ。
railsの場合、RAILS_ROOT/config/initializers/app_config.rbに以下のようなコードを書いておくと起動時に初期設定してくれる。

require 'ostruct'
AppConfig = OpenStruct.new

AppConfig.default_email = "no-reply@hoge.com"
AppConfig.api_url = "hoge.com"

ネタはここから
http://rubyquicktips.com/post/1718141794/use-openstruct-for-application-configuration-variables

0 件のコメント:

コメントを投稿