case kind when :before Filters::Before.build(callback_sequence, user_callback.make_lambda, user_conditions, chain_config, @filter, name) when :after Filters::After.build(callback_sequence, user_callback.make_lambda, user_conditions, chain_config) when :around callback_sequence.around(user_callback, user_conditions) end end self #=> <ActiveSupport::Callbacks::Callback:0x0000000105871418 @chain_config={:scope=>:name, :terminator=>#<Proc:0x0000000103e86800 .../active_support/callbacks.rb:710>}, @filter=#<ActiveModel::Validations::PresenceValidator:0x0000000104ccd968 @attributes=[:name], @options={}>, @if=[], @kind=:before, @name=:validate, @unless=[]>