instance method compile

Ruby on Rails 3.0.20

Since v3.0.20 Last seen in v3.0.20

Signature

compile(key=nil, object=nil)

No documentation comment.

Parameters

key opt = nil
object opt = nil
Source
# File activesupport/lib/active_support/callbacks.rb, line 351
      def compile(key=nil, object=nil)
        method = []
        method << "value = nil"
        method << "halted = false"

        each do |callback|
          method << callback.start(key, object)
        end

        if config[:rescuable]
          method << "rescued_error = nil"
          method << "begin"
        end

        method << "value = yield if block_given? && !halted"

        if config[:rescuable]
          method << "rescue Exception => e"
          method << "rescued_error = e"
          method << "end"
        end

        reverse_each do |callback|
          method << callback.end(key, object)
        end

        method << "raise rescued_error if rescued_error" if config[:rescuable]
        method << "halted ? false : (block_given? ? value : true)"
        method.compact.join("\n")
      end

Defined in activesupport/lib/active_support/callbacks.rb line 351 · View on GitHub · Improve this page · Find usages on GitHub

Defined in ActiveSupport::Callbacks::CallbackChain

Type at least 2 characters to search.

↑↓ navigate · open · esc close