Methods

Instance Public methods

initializer(name, opts = {}, &blk)

📝 Source code
# 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
🔎 See on GitHub

initializers()

📝 Source code
# File railties/lib/rails/initializable.rb, line 113
      def initializers
        @initializers ||= Collection.new
      end
🔎 See on GitHub

initializers_chain()

📝 Source code
# 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
🔎 See on GitHub

initializers_for(binding)

📝 Source code
# File railties/lib/rails/initializable.rb, line 126
      def initializers_for(binding)
        Collection.new(initializers_chain.map { |i| i.bind(binding) })
      end
🔎 See on GitHub