(ハライチ感)
Foo.configure do |config|
config.name = "foo"
config.email = "foo@example.com"
end
こっちでもかけたりする。
Foo.config.name = "foo"
Foo.config.email = "foo@example.com"
こういうやつ。
実装は大体こういう感じになってる。
module Foo
class << self
def configure
yield config
end
def config
@_config ||= Config.new
end
end
class Config
attr_accessor :name, :email
def initialize
@name = "no name"
@email = "default@example.com"
end
end
end
これrubyでよくあるけど(他の言語であんま見ない)これなんて呼ぶのがいいのかな?
フィヨルドブートキャンプで説明する時にこれを表現したくても
「blockで設定するやつ」
としか言えない。
「なんでこれで設定できるんですか?」
と言われても、口で説明するのが大変なのでここに置いておきます。