我正在研究Spree的源代码,我遇到了片段。
Spree.config do |config|
# Example:
# Uncomment to override the default site name.
# config.site_name = "Spree Demo Site"
end
这是如何实施的?我找不到任何地方定义的Spree.config作为方法。我猜测涉及一些元编程。
答案 0 :(得分:3)
看起来它是在https://github.com/spree/spree/blob/master/core/lib/spree/core.rb中定义的(此时第68行)。
config
是Spree
模块上的模块方法。它的实现将Spree::Config
对象传递给给定的块。