方法
实例公共方法
initializer(name, opts = {}, &blk) 链接
来源: 显示 | 在 GitHub 上
# File railties/lib/rails/initializable.rb, line 130 def initializer(name, opts = {}, &blk) raise ArgumentError, "A block must be passed when defining an initializer" unless blk opts[:after] ||= initializers.last&.name unless initializers.has?(opts[:before]) initializers << Initializer.new( name, nil, before: opts[:before], after: opts[:after], group: opts[:group], &blk ) end
initializers() 链接
来源: 显示 | 在 GitHub 上
# File railties/lib/rails/initializable.rb, line 113 def initializers @initializers ||= Collection.new end
initializers_chain() 链接
来源: 显示 | 在 GitHub 上
# File railties/lib/rails/initializable.rb, line 117 def initializers_chain initializers = Collection.new ancestors.reverse_each do |klass| next unless klass.respond_to?(:initializers) initializers = initializers + klass.initializers end initializers end
initializers_for(binding) 链接
来源: 显示 | 在 GitHub 上
# File railties/lib/rails/initializable.rb, line 126 def initializers_for(binding) Collection.new(initializers_chain.map { |i| i.bind(binding) }) end