class Object
Public Instance Methods
reuse_setup(&block)
click to toggle source
does not preserve state from the transaction or other global changes (Time.zone/I18n.locale etc)
# File lib/shoulda/reuse_setup.rb, line 10 def reuse_setup(&block) setup do raise "cannot nest reuse_setup" if @_used_reuse_setup @_used_reuse_setup = true @shoulda_context.previous_setup ||= begin instance_exec(&block) variables = instance_variables - [:@method_name, :@internal_data, :@_result, :@shoulda_context, :@_used_reuse_setup] variables.map{|k| [k, instance_variable_get(k)] } end @shoulda_context.previous_setup.each { |k,v| instance_variable_set(k,v) } end end