Skip to content

Commit

Permalink
Fix for SqlBypass session store
Browse files Browse the repository at this point in the history
Two issues fixed:
1) connection_pool is not defined - needed by SessionStore#drop_table!
and create_table! since c94651f

2) initialization of connection to the default of AR::Base.connection
only occurred at the singleton level - the instance level method defined
by cattr_accessor did not have this logic
  • Loading branch information
joseph-wong-sap committed Jul 12, 2011
1 parent 5c591e5 commit b87f8d8
Showing 1 changed file with 13 additions and 7 deletions.
20 changes: 13 additions & 7 deletions activerecord/lib/active_record/session_store.rb
Original file line number Diff line number Diff line change
Expand Up @@ -181,11 +181,6 @@ def raise_on_session_data_overflow!
class SqlBypass
extend ClassMethods

##
# :singleton-method:
# Use the ActiveRecord::Base.connection by default.
cattr_accessor :connection

##
# :singleton-method:
# The table name defaults to 'sessions'.
Expand All @@ -206,10 +201,19 @@ class SqlBypass

class << self
alias :data_column_name :data_column

# Use the ActiveRecord::Base.connection by default.
attr_writer :connection

# Use the ActiveRecord::Base.connection_pool by default.
attr_writer :connection_pool

remove_method :connection
def connection
@@connection ||= ActiveRecord::Base.connection
@connection ||= ActiveRecord::Base.connection
end

def connection_pool
@connection_pool ||= ActiveRecord::Base.connection_pool
end

# Look up a session by id and unmarshal its data if found.
Expand All @@ -219,6 +223,8 @@ def find_by_session_id(session_id)
end
end
end

delegate :connection, :connection=, :connection_pool, :connection_pool=, :to => self

attr_reader :session_id, :new_record
alias :new_record? :new_record
Expand Down

0 comments on commit b87f8d8

Please sign in to comment.