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 回答