class Rails::Initializable::Collection
Public Class Methods
# 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
Public Instance Methods
# File railties/lib/rails/initializable.rb, line 69 def +(other) dup.concat(other.to_a) end
# 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
# File railties/lib/rails/initializable.rb, line 88 def concat(*initializer_collections) initializer_collections.each do |initializers| initializers.each(&method(:<<)) end self end
# File railties/lib/rails/initializable.rb, line 58 def each(&block) @collection.each(&block) end
Also aliased as: tsort_each_node
# File railties/lib/rails/initializable.rb, line 95 def has?(name) @resolve.key?(name) end
# File railties/lib/rails/initializable.rb, line 54 def last @collection.last end
# File railties/lib/rails/initializable.rb, line 81 def push(*initializers) initializers.each(&method(:<<)) self end
Also aliased as: append
# File railties/lib/rails/initializable.rb, line 50 def to_a @collection end
# 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