diff options
author | Philip Arndt <parndt@gmail.com> | 2012-05-23 14:24:08 +1200 |
---|---|---|
committer | Philip Arndt <parndt@gmail.com> | 2012-05-23 14:47:30 +1200 |
commit | 6ac458d3417cc3dff064ddf0167d3afff6043cf9 (patch) | |
tree | 1399bd0f3ae512aa42dbe8982b8e0ae7784d7659 | |
parent | d7de7a79c5a0c24373f90dcc569816c80501d456 (diff) | |
download | rails-6ac458d3417cc3dff064ddf0167d3afff6043cf9.tar.gz rails-6ac458d3417cc3dff064ddf0167d3afff6043cf9.tar.bz2 rails-6ac458d3417cc3dff064ddf0167d3afff6043cf9.zip |
Added ActionDispatch::Request::Session#keys and ActionDispatch::Request::Session#values
-rw-r--r-- | actionpack/lib/action_dispatch/request/session.rb | 8 | ||||
-rw-r--r-- | actionpack/test/dispatch/request/session_test.rb | 16 |
2 files changed, 24 insertions, 0 deletions
diff --git a/actionpack/lib/action_dispatch/request/session.rb b/actionpack/lib/action_dispatch/request/session.rb index 4ad7071820..d8bcc28613 100644 --- a/actionpack/lib/action_dispatch/request/session.rb +++ b/actionpack/lib/action_dispatch/request/session.rb @@ -87,6 +87,14 @@ module ActionDispatch alias :key? :has_key? alias :include? :has_key? + def keys + @delegate.keys + end + + def values + @delegate.values + end + def []=(key, value) load_for_write! @delegate[key.to_s] = value diff --git a/actionpack/test/dispatch/request/session_test.rb b/actionpack/test/dispatch/request/session_test.rb index 4d24456ba6..80d5a13171 100644 --- a/actionpack/test/dispatch/request/session_test.rb +++ b/actionpack/test/dispatch/request/session_test.rb @@ -36,6 +36,22 @@ module ActionDispatch assert_equal s, Session.find(env) end + def test_keys + env = {} + s = Session.create(store, env, {}) + s['rails'] = 'ftw' + s['adequate'] = 'awesome' + assert_equal %w[rails adequate], s.keys + end + + def test_values + env = {} + s = Session.create(store, env, {}) + s['rails'] = 'ftw' + s['adequate'] = 'awesome' + assert_equal %w[ftw awesome], s.values + end + private def store Class.new { |