Ruby on Rails | Screencasts | Download | Documentation | Weblog | Community | Source

Ticket #4795: clear_persistent_in_all_stores.patch

File clear_persistent_in_all_stores.patch, 1.8 kB (added by sd, 2 years ago)

Additional patch needed to test the original fix. Also provides "extra" features

  • rails/actionpack/lib/action_controller/session_management.rb

    old new  
    133133      # the database field.  Only applies to ActiveRecordStore since there 
    134134      # is not a standard way to iterate over session data. 
    135135      def clear_persistent_model_associations #:doc: 
    136         if defined?(@session) && @session.instance_variables.include?('@data'
    137           session_data = @session.instance_variable_get('@data') 
     136        if defined?(@session) && @session.respond_to?(:data
     137          session_data = @session.data 
    138138 
    139139          if session_data && session_data.respond_to?(:each_value) 
    140140            session_data.each_value do |obj| 
  • rails/actionpack/lib/action_controller/session/mem_cache_store.rb

    old new  
    9494          end 
    9595          @session_data = {} 
    9696        end 
     97         
     98        def data 
     99          @session_data 
     100        end 
    97101      end 
    98102    end 
    99103  end 
  • rails/actionpack/lib/action_controller/session/drb_store.rb

    old new  
    2626      def delete 
    2727        @@session_data.delete(@session_id) 
    2828      end 
     29       
     30      def data 
     31        @@session_data[@session_id] 
     32      end 
    2933    end 
    3034  end 
    3135end