方法
- #
- A
- C
- E
- H
- L
- N
- P
- T
包含的模块
- Enumerable
- TSort
类公共方法
new(initializers = nil) 链接
来源: 显示 | 在 GitHub 上
# File railties/lib/rails/initializable.rb, line 43 def initialize(initializers = nil) @order = Hash.new { |hash, key| hash[key] = Set.new } @resolve = Hash.new { |hash, key| hash[key] = Set.new } @collection = [] concat(initializers) if initializers end
实例公共方法
+(other) 链接
来源: 显示 | 在 GitHub 上
# File railties/lib/rails/initializable.rb, line 69 def +(other) dup.concat(other.to_a) end
<<(initializer) 链接
来源: 显示 | 在 GitHub 上
# File railties/lib/rails/initializable.rb, line 73 def <<(initializer) @collection << initializer @order[initializer.before] << initializer.name if initializer.before @order[initializer.name] << initializer.after if initializer.after @resolve[initializer.name] << initializer self end
concat(*initializer_collections) 链接
来源: 显示 | 在 GitHub 上
# File railties/lib/rails/initializable.rb, line 88 def concat(*initializer_collections) initializer_collections.each do |initializers| initializers.each(&method(:<<)) end self end
each(&block) 链接
也别名为: tsort_each_node
来源: 显示 | 在 GitHub 上
# File railties/lib/rails/initializable.rb, line 58 def each(&block) @collection.each(&block) end
has?(name) 链接
来源: 显示 | 在 GitHub 上
# File railties/lib/rails/initializable.rb, line 95 def has?(name) @resolve.key?(name) end
last() 链接
来源: 显示 | 在 GitHub 上
# File railties/lib/rails/initializable.rb, line 54 def last @collection.last end
push(*initializers) 链接
也别名为: append
来源: 显示 | 在 GitHub 上
# File railties/lib/rails/initializable.rb, line 81 def push(*initializers) initializers.each(&method(:<<)) self end
to_a() 链接
来源: 显示 | 在 GitHub 上
# File railties/lib/rails/initializable.rb, line 50 def to_a @collection end
tsort_each_child(initializer, &block) 链接
来源: 显示 | 在 GitHub 上
# File railties/lib/rails/initializable.rb, line 63 def tsort_each_child(initializer, &block) @order[initializer.name].each do |name| @resolve[name].each(&block) end end