2

Spree のソース コードを調べていて、スニペットに出会いました。

Spree.config do |config|
  # Example:
  # Uncomment to override the default site name.
  # config.site_name = "Spree Demo Site"
end

これはどのように実装されていますか?どこにもメソッドとして定義されている Spree.config が見つかりません。何らかのメタプログラミングが関与していると推測しています。

4

1 に答える 1

3

https://github.com/spree/spree/blob/master/core/lib/spree/core.rb (現時点では 68 行目) で定義されているようです。

configモジュールのモジュールメソッドSpreeです。その実装は、Spree::Configオブジェクトを指定されたブロックに渡します。

于 2012-07-31T12:55:30.383 に答える