cookieless_sessions 1.0.1 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.travis.yml +24 -2
- data/Gemfile +1 -1
- data/{Gemfile.rails-3.2.x → Gemfile.rails-4.2.x} +1 -1
- data/Gemfile.rails-5.0.x +6 -0
- data/README.md +6 -3
- data/cookieless_sessions.gemspec +9 -3
- data/lib/cookieless_sessions.rb +1 -2
- data/lib/cookieless_sessions/version.rb +1 -1
- data/spec/controllers/cookieless_controller_spec.rb +10 -10
- data/spec/controllers/sub_cookie_controller_from_cookieless_controller_spec.rb +7 -7
- data/spec/dummy/config/database.yml +4 -4
- data/spec/features/cookieless_spec.rb +19 -19
- data/spec/spec_helper.rb +1 -1
- data/spec/support/cookieless_controller.rb +10 -2
- metadata +54 -20
- data/lib/cookieless_sessions/rails_32_patch.rb +0 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f8f1c9a54ca095e017552171b3a394659fad22f0
|
4
|
+
data.tar.gz: 83cc2e45e98c1c1b45e112f1ec8090661b268071
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 32104fd93315c65ea6b282c6edd184ab2ead06cd8e292269df47a4443de2c33d7c70146a877ae9cbbf28e7ae8ecc8286a8a215cf54563bb758ac12b0e50ce784
|
7
|
+
data.tar.gz: 43ad499eb42eb20c48acc718b02fc3d3bc39e7fc066fc508498b0d8f30ed402503d564475a7311884e370ac22fd84e3190a54d528a2394dd2ce41452c6af3067
|
data/.travis.yml
CHANGED
@@ -2,17 +2,39 @@ language: ruby
|
|
2
2
|
rvm:
|
3
3
|
- '1.9.3'
|
4
4
|
- '2.0.0'
|
5
|
-
- '2.1.0'
|
6
5
|
- '2.1.1'
|
6
|
+
- '2.2.7'
|
7
|
+
- '2.3.4'
|
7
8
|
- ruby-head
|
8
9
|
services:
|
9
10
|
- redis-server
|
10
11
|
gemfile:
|
11
|
-
- Gemfile.rails-3.2.x
|
12
12
|
- Gemfile.rails-4.0.x
|
13
13
|
- Gemfile.rails-4.1.x
|
14
|
+
- Gemfile.rails-4.2.x
|
15
|
+
- Gemfile.rails-5.0.x
|
14
16
|
- Gemfile.rails-head
|
15
17
|
matrix:
|
16
18
|
allow_failures:
|
19
|
+
- rvm: '1.9.3'
|
17
20
|
- rvm: ruby-head
|
18
21
|
- gemfile: Gemfile.rails-head
|
22
|
+
exclude:
|
23
|
+
- rvm: '1.9.3'
|
24
|
+
gemfile: Gemfile.rails-5.0.x
|
25
|
+
- rvm: '2.0.0'
|
26
|
+
gemfile: Gemfile.rails-5.0.x
|
27
|
+
- rvm: '2.1.1'
|
28
|
+
gemfile: Gemfile.rails-5.0.x
|
29
|
+
- rvm: '2.2.7'
|
30
|
+
gemfile: Gemfile.rails-4.0.x
|
31
|
+
- rvm: '2.2.7'
|
32
|
+
gemfile: Gemfile.rails-4.1.x
|
33
|
+
- rvm: '2.2.7'
|
34
|
+
gemfile: Gemfile.rails-4.2.x
|
35
|
+
- rvm: '2.3.4'
|
36
|
+
gemfile: Gemfile.rails-4.0.x
|
37
|
+
- rvm: '2.3.4'
|
38
|
+
gemfile: Gemfile.rails-4.1.x
|
39
|
+
- rvm: '2.3.4'
|
40
|
+
gemfile: Gemfile.rails-4.2.x
|
data/Gemfile
CHANGED
data/Gemfile.rails-5.0.x
ADDED
data/README.md
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
# CookielessSessions
|
2
|
-
[](http://badge.fury.io/rb/cookieless_sessions)
|
2
|
+
[](http://badge.fury.io/rb/cookieless_sessions)
|
3
3
|
[](https://travis-ci.org/taktsoft/cookieless_sessions)
|
4
4
|
[](https://codeclimate.com/github/taktsoft/cookieless_sessions)
|
5
|
+
[](https://gemnasium.com/taktsoft/cookieless_sessions)
|
5
6
|
|
6
7
|
CookielessSessions implements a fallback mechanism for keeping Session-IDs _(via GET-Parameter)_ on clients that doesn't support or allow cookies.
|
7
8
|
|
@@ -17,7 +18,7 @@ Rails uses the result of _default_url_options_ method for Path / URL generation.
|
|
17
18
|
|
18
19
|
## Requirements
|
19
20
|
|
20
|
-
An application based on Rails
|
21
|
+
An application based on Rails 4.x or 5.0 configured with a session storage that supports the _cookie_only: false_ option (e.g. [redis-session-store](https://rubygems.org/gems/redis-session-store)).
|
21
22
|
|
22
23
|
## Installation
|
23
24
|
|
@@ -91,12 +92,14 @@ Two countermeasure could be to bind sessions to the client's IP-Address and add
|
|
91
92
|
|
92
93
|
To run the test suite with different rails version by selecting the corresponding gemfile. You can use this one liners:
|
93
94
|
|
94
|
-
$ export BUNDLE_GEMFILE=Gemfile.rails-3.2.x && bundle update && bundle exec rake spec
|
95
95
|
$ export BUNDLE_GEMFILE=Gemfile.rails-4.0.x && bundle update && bundle exec rake spec
|
96
96
|
$ export BUNDLE_GEMFILE=Gemfile.rails-4.1.x && bundle update && bundle exec rake spec
|
97
|
+
$ export BUNDLE_GEMFILE=Gemfile.rails-4.2.x && bundle update && bundle exec rake spec
|
98
|
+
$ export BUNDLE_GEMFILE=Gemfile.rails-5.0.x && bundle update && bundle exec rake spec
|
97
99
|
|
98
100
|
## Changes
|
99
101
|
|
102
|
+
* v1.1.0 -- added support for rails-5.0; remove support for rails-3.2
|
100
103
|
* v1.0.1 -- added Rails32DestroyableSessionPatch: sets SID in options on destroy
|
101
104
|
* v1.0.0 -- first release with complete README; no code changes
|
102
105
|
* v0.0.2 -- improved and more flexible version with tests
|
data/cookieless_sessions.gemspec
CHANGED
@@ -18,15 +18,21 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
21
|
+
spec.required_ruby_version = '>= 1.9.3'
|
22
|
+
spec.required_rubygems_version = ">= 1.3.6"
|
23
|
+
|
24
|
+
spec.add_runtime_dependency "redis-session-store", "~> 0.7"
|
25
|
+
|
21
26
|
spec.add_development_dependency "bundler", "~> 1.5"
|
22
27
|
spec.add_development_dependency "rake", "~> 10.0"
|
23
|
-
spec.add_development_dependency
|
28
|
+
spec.add_development_dependency 'rspec-rails', '~> 3.6', '>= 3.6.1'
|
24
29
|
spec.add_development_dependency "guard-rspec", "~> 4.2"
|
25
30
|
spec.add_development_dependency "capybara", "~> 2.2"
|
26
31
|
spec.add_development_dependency "launchy", "~> 2.4"
|
27
32
|
spec.add_development_dependency "poltergeist", "~> 1.5"
|
28
33
|
spec.add_development_dependency "pry", "~> 0.9"
|
29
|
-
spec.add_development_dependency "rails", [">=
|
34
|
+
spec.add_development_dependency "rails", [">= 4.0.0", "<= 5.1.0"]
|
30
35
|
spec.add_development_dependency "sqlite3", "~> 1.3"
|
31
|
-
spec.add_development_dependency "
|
36
|
+
spec.add_development_dependency "minitest"
|
37
|
+
spec.add_development_dependency "test-unit"
|
32
38
|
end
|
data/lib/cookieless_sessions.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
require "cookieless_sessions/version"
|
2
|
-
require "cookieless_sessions/rails_32_patch"
|
3
2
|
|
4
3
|
module CookielessSessions
|
5
4
|
module EnabledController
|
@@ -22,7 +21,7 @@ module CookielessSessions
|
|
22
21
|
end
|
23
22
|
|
24
23
|
def session_id
|
25
|
-
request.
|
24
|
+
request.session.id
|
26
25
|
end
|
27
26
|
|
28
27
|
def session_is_not_cookie_only?
|
@@ -8,31 +8,31 @@ describe CookielessController do
|
|
8
8
|
{ application_controller_option: 1337 }
|
9
9
|
})
|
10
10
|
|
11
|
-
controller.send(:default_url_options).
|
11
|
+
expect(controller.send(:default_url_options)).to include(:application_controller_option)
|
12
12
|
end
|
13
13
|
|
14
14
|
it "includes session_key in default_url_options" do
|
15
|
-
controller.send(:default_url_options).
|
15
|
+
expect(controller.send(:default_url_options)).to include(rails_app_session_key)
|
16
16
|
end
|
17
17
|
|
18
18
|
it "doesn't include session_key in default_url_options if session_id isn't present" do
|
19
|
-
controller.
|
19
|
+
allow(controller).to receive(:session_id).and_return(nil)
|
20
20
|
|
21
|
-
controller.send(:default_url_options).
|
21
|
+
expect(controller.send(:default_url_options)).not_to include(rails_app_session_key)
|
22
22
|
end
|
23
23
|
|
24
24
|
it "generates pathes with session_key=session_id in params" do
|
25
|
-
controller.
|
26
|
-
controller.
|
25
|
+
allow(controller).to receive(:session_key).and_return('some_session_key')
|
26
|
+
allow(controller).to receive(:session_id).and_return('some_session_id')
|
27
27
|
|
28
|
-
controller.root_path.
|
28
|
+
expect(controller.root_path).to include("some_session_key=some_session_id")
|
29
29
|
end
|
30
30
|
|
31
31
|
it "generates urls with session_key=session_id in params" do
|
32
|
-
controller.
|
33
|
-
controller.
|
32
|
+
allow(controller).to receive(:session_key).and_return('some_session_key')
|
33
|
+
allow(controller).to receive(:session_id).and_return('some_session_id')
|
34
34
|
|
35
|
-
controller.redirect_to_root_url.
|
35
|
+
expect(controller.redirect_to_root_url).to include("some_session_key=some_session_id")
|
36
36
|
end
|
37
37
|
|
38
38
|
end
|
@@ -19,18 +19,18 @@ end
|
|
19
19
|
describe SubCookieController do
|
20
20
|
|
21
21
|
it "doesn't include session_key in default_url_options" do
|
22
|
-
controller.
|
23
|
-
controller.
|
22
|
+
allow(controller).to receive(:session_key).and_return('some_session_key')
|
23
|
+
allow(controller).to receive(:session_id).and_return('some_session_id')
|
24
24
|
|
25
|
-
controller.send(:default_url_options).
|
25
|
+
expect(controller.send(:default_url_options)).not_to include('some_session_key')
|
26
26
|
end
|
27
27
|
|
28
28
|
it "doesn't include session_key=session_id in generated path or url" do
|
29
|
-
controller.
|
30
|
-
controller.
|
29
|
+
allow(controller).to receive(:session_key).and_return('some_session_key')
|
30
|
+
allow(controller).to receive(:session_id).and_return('some_session_id')
|
31
31
|
|
32
|
-
controller.root_path.
|
33
|
-
controller.root_url.
|
32
|
+
expect(controller.root_path).not_to include("some_session_key=some_session_id")
|
33
|
+
expect(controller.root_url).not_to include("some_session_key=some_session_id")
|
34
34
|
end
|
35
35
|
|
36
36
|
end
|
@@ -7,19 +7,19 @@
|
|
7
7
|
default: &default
|
8
8
|
adapter: sqlite3
|
9
9
|
pool: 5
|
10
|
-
timeout:
|
10
|
+
timeout: 500
|
11
11
|
|
12
12
|
development:
|
13
13
|
<<: *default
|
14
|
-
database:
|
14
|
+
database: ':memory:'
|
15
15
|
|
16
16
|
# Warning: The database defined as "test" will be erased and
|
17
17
|
# re-generated from your development database when you run "rake".
|
18
18
|
# Do not set this db to the same as development or production.
|
19
19
|
test:
|
20
20
|
<<: *default
|
21
|
-
database:
|
21
|
+
database: ':memory:'
|
22
22
|
|
23
23
|
production:
|
24
24
|
<<: *default
|
25
|
-
database:
|
25
|
+
database: ':memory:'
|
@@ -1,80 +1,80 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
require 'support/cookieless_controller'
|
3
3
|
|
4
|
-
describe 'Cookieless', js
|
4
|
+
describe 'Cookieless', :js do
|
5
5
|
# We've set js: true because we want to use poltergeist in ths tests.
|
6
6
|
|
7
7
|
context "with cookies disabled" do
|
8
8
|
before(:each) do
|
9
|
-
Capybara.current_session.driver.cookies_enabled = false
|
9
|
+
Capybara.current_session.driver.browser.cookies_enabled = false
|
10
10
|
end
|
11
11
|
|
12
12
|
after(:each) do
|
13
|
-
Capybara.current_session.driver.cookies_enabled = true
|
13
|
+
Capybara.current_session.driver.browser.cookies_enabled = true
|
14
14
|
end
|
15
15
|
|
16
16
|
it "uses session_id from params" do
|
17
17
|
visit root_path # visit first time to get a valid session_id
|
18
18
|
|
19
19
|
session_id = extract_session_id_from_headers(page.response_headers)
|
20
|
-
session_id.
|
20
|
+
expect(session_id).to be_present
|
21
21
|
|
22
|
-
page.
|
22
|
+
expect(page).to have_content("'#{session_id}'")
|
23
23
|
|
24
24
|
visit root_path(rails_app_session_key => "some_not_invalid_session_id")
|
25
25
|
|
26
|
-
page.
|
27
|
-
page.
|
26
|
+
expect(page).to have_no_content("'some_not_invalid_session_id'")
|
27
|
+
expect(page).to have_no_content("'#{session_id}'")
|
28
28
|
|
29
29
|
visit root_path(rails_app_session_key => session_id)
|
30
30
|
|
31
|
-
page.
|
31
|
+
expect(page).to have_content("'#{session_id}'")
|
32
32
|
end
|
33
33
|
|
34
34
|
it "returns a session_id with reset_session before" do
|
35
35
|
visit reset_root_path
|
36
36
|
|
37
37
|
session_id = extract_session_id_from_headers(page.response_headers)
|
38
|
-
session_id.
|
38
|
+
expect(session_id).to be_present
|
39
39
|
|
40
|
-
page.
|
40
|
+
expect(page).to have_content("'#{session_id}'")
|
41
41
|
end
|
42
42
|
end
|
43
43
|
|
44
44
|
|
45
45
|
context "with cookies enabled" do
|
46
46
|
before(:each) do
|
47
|
-
Capybara.current_session.driver.cookies_enabled = true
|
47
|
+
Capybara.current_session.driver.browser.cookies_enabled = true
|
48
48
|
end
|
49
49
|
|
50
50
|
after(:each) do
|
51
|
-
Capybara.current_session.driver.cookies_enabled = true
|
51
|
+
Capybara.current_session.driver.browser.cookies_enabled = true
|
52
52
|
end
|
53
53
|
|
54
54
|
it "uses session_id only from cookie" do
|
55
55
|
visit root_path # visit first time to get a valid session_id.
|
56
56
|
|
57
57
|
session_id = extract_session_id_from_headers(page.response_headers)
|
58
|
-
session_id.
|
58
|
+
expect(session_id).to be_present
|
59
59
|
|
60
|
-
page.
|
60
|
+
expect(page).to have_content("'#{session_id}'")
|
61
61
|
|
62
62
|
visit root_path # visit second time. should keep session_id.
|
63
|
-
page.
|
63
|
+
expect(page).to have_content("'#{session_id}'")
|
64
64
|
|
65
65
|
page.reset_session!
|
66
66
|
visit root_path # visit again with fresh session to get a new session_id.
|
67
67
|
|
68
68
|
other_session_id = extract_session_id_from_headers(page.response_headers)
|
69
|
-
other_session_id.
|
69
|
+
expect(other_session_id).to be_present
|
70
70
|
|
71
|
-
page.
|
71
|
+
expect(page).to have_content("'#{other_session_id}'")
|
72
72
|
|
73
73
|
visit root_path # visit fourth time. should keep other_session_id.
|
74
|
-
page.
|
74
|
+
expect(page).to have_content("'#{other_session_id}'")
|
75
75
|
|
76
76
|
visit root_path(rails_app_session_key => session_id) # visit with other session_id in get param than in cookie
|
77
|
-
page.
|
77
|
+
expect(page).to have_content("'#{other_session_id}'")
|
78
78
|
end
|
79
79
|
end
|
80
80
|
|
data/spec/spec_helper.rb
CHANGED
@@ -18,9 +18,9 @@ Capybara.javascript_driver = :poltergeist
|
|
18
18
|
|
19
19
|
|
20
20
|
RSpec.configure do |config|
|
21
|
-
config.treat_symbols_as_metadata_keys_with_true_values = true
|
22
21
|
config.run_all_when_everything_filtered = true
|
23
22
|
config.filter_run :focus
|
23
|
+
config.infer_spec_type_from_file_location!
|
24
24
|
|
25
25
|
# Run specs in random order to surface order dependencies. If you find an
|
26
26
|
# order dependency and want to debug it, you can fix the order by providing
|
@@ -17,13 +17,21 @@ class CookielessController < ApplicationController
|
|
17
17
|
def index
|
18
18
|
session[:useless] = :content
|
19
19
|
|
20
|
-
|
20
|
+
if Rails::VERSION::MAJOR >= 4.1
|
21
|
+
render plain: "CookielessController#Index\r\nSession-Key: '#{session_key}'\r\nSession-ID: '#{session_id}'\r\nRails-Version: '#{Rails.version}'\r\n"
|
22
|
+
else
|
23
|
+
render text: "CookielessController#Index\r\nSession-Key: '#{session_key}'\r\nSession-ID: '#{session_id}'\r\nRails-Version: '#{Rails.version}'\r\n"
|
24
|
+
end
|
21
25
|
end
|
22
26
|
|
23
27
|
def reset_index
|
24
28
|
reset_session
|
25
29
|
|
26
|
-
|
30
|
+
if Rails::VERSION::MAJOR >= 4.1
|
31
|
+
render plain: "CookielessController#Index\r\nSession-Key: '#{session_key}'\r\nSession-ID: '#{session_id}'\r\nRails-Version: '#{Rails.version}'\r\n"
|
32
|
+
else
|
33
|
+
render text: "CookielessController#Index\r\nSession-Key: '#{session_key}'\r\nSession-ID: '#{session_id}'\r\nRails-Version: '#{Rails.version}'\r\n"
|
34
|
+
end
|
27
35
|
end
|
28
36
|
|
29
37
|
def redirect_to_root
|
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cookieless_sessions
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Taktsoft
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-09-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: redis-session-store
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0.7'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0.7'
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: bundler
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -44,14 +58,20 @@ dependencies:
|
|
44
58
|
requirements:
|
45
59
|
- - "~>"
|
46
60
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
61
|
+
version: '3.6'
|
62
|
+
- - ">="
|
63
|
+
- !ruby/object:Gem::Version
|
64
|
+
version: 3.6.1
|
48
65
|
type: :development
|
49
66
|
prerelease: false
|
50
67
|
version_requirements: !ruby/object:Gem::Requirement
|
51
68
|
requirements:
|
52
69
|
- - "~>"
|
53
70
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
71
|
+
version: '3.6'
|
72
|
+
- - ">="
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: 3.6.1
|
55
75
|
- !ruby/object:Gem::Dependency
|
56
76
|
name: guard-rspec
|
57
77
|
requirement: !ruby/object:Gem::Requirement
|
@@ -128,20 +148,20 @@ dependencies:
|
|
128
148
|
requirements:
|
129
149
|
- - ">="
|
130
150
|
- !ruby/object:Gem::Version
|
131
|
-
version:
|
132
|
-
- - "
|
151
|
+
version: 4.0.0
|
152
|
+
- - "<="
|
133
153
|
- !ruby/object:Gem::Version
|
134
|
-
version:
|
154
|
+
version: 5.1.0
|
135
155
|
type: :development
|
136
156
|
prerelease: false
|
137
157
|
version_requirements: !ruby/object:Gem::Requirement
|
138
158
|
requirements:
|
139
159
|
- - ">="
|
140
160
|
- !ruby/object:Gem::Version
|
141
|
-
version:
|
142
|
-
- - "
|
161
|
+
version: 4.0.0
|
162
|
+
- - "<="
|
143
163
|
- !ruby/object:Gem::Version
|
144
|
-
version:
|
164
|
+
version: 5.1.0
|
145
165
|
- !ruby/object:Gem::Dependency
|
146
166
|
name: sqlite3
|
147
167
|
requirement: !ruby/object:Gem::Requirement
|
@@ -157,19 +177,33 @@ dependencies:
|
|
157
177
|
- !ruby/object:Gem::Version
|
158
178
|
version: '1.3'
|
159
179
|
- !ruby/object:Gem::Dependency
|
160
|
-
name:
|
180
|
+
name: minitest
|
161
181
|
requirement: !ruby/object:Gem::Requirement
|
162
182
|
requirements:
|
163
|
-
- - "
|
183
|
+
- - ">="
|
164
184
|
- !ruby/object:Gem::Version
|
165
|
-
version: '0
|
185
|
+
version: '0'
|
166
186
|
type: :development
|
167
187
|
prerelease: false
|
168
188
|
version_requirements: !ruby/object:Gem::Requirement
|
169
189
|
requirements:
|
170
|
-
- - "
|
190
|
+
- - ">="
|
171
191
|
- !ruby/object:Gem::Version
|
172
|
-
version: '0
|
192
|
+
version: '0'
|
193
|
+
- !ruby/object:Gem::Dependency
|
194
|
+
name: test-unit
|
195
|
+
requirement: !ruby/object:Gem::Requirement
|
196
|
+
requirements:
|
197
|
+
- - ">="
|
198
|
+
- !ruby/object:Gem::Version
|
199
|
+
version: '0'
|
200
|
+
type: :development
|
201
|
+
prerelease: false
|
202
|
+
version_requirements: !ruby/object:Gem::Requirement
|
203
|
+
requirements:
|
204
|
+
- - ">="
|
205
|
+
- !ruby/object:Gem::Version
|
206
|
+
version: '0'
|
173
207
|
description: cookieless_sessions implements a fallback mechanism for keeping Session-IDs
|
174
208
|
(via GET-Parameter) on clients that doesn't support or allow cookies.
|
175
209
|
email:
|
@@ -182,9 +216,10 @@ files:
|
|
182
216
|
- ".rspec"
|
183
217
|
- ".travis.yml"
|
184
218
|
- Gemfile
|
185
|
-
- Gemfile.rails-3.2.x
|
186
219
|
- Gemfile.rails-4.0.x
|
187
220
|
- Gemfile.rails-4.1.x
|
221
|
+
- Gemfile.rails-4.2.x
|
222
|
+
- Gemfile.rails-5.0.x
|
188
223
|
- Gemfile.rails-head
|
189
224
|
- Guardfile
|
190
225
|
- LICENSE.txt
|
@@ -192,7 +227,6 @@ files:
|
|
192
227
|
- Rakefile
|
193
228
|
- cookieless_sessions.gemspec
|
194
229
|
- lib/cookieless_sessions.rb
|
195
|
-
- lib/cookieless_sessions/rails_32_patch.rb
|
196
230
|
- lib/cookieless_sessions/version.rb
|
197
231
|
- spec/controllers/cookieless_controller_spec.rb
|
198
232
|
- spec/controllers/sub_cookie_controller_from_cookieless_controller_spec.rb
|
@@ -251,15 +285,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
251
285
|
requirements:
|
252
286
|
- - ">="
|
253
287
|
- !ruby/object:Gem::Version
|
254
|
-
version:
|
288
|
+
version: 1.9.3
|
255
289
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
256
290
|
requirements:
|
257
291
|
- - ">="
|
258
292
|
- !ruby/object:Gem::Version
|
259
|
-
version:
|
293
|
+
version: 1.3.6
|
260
294
|
requirements: []
|
261
295
|
rubyforge_project:
|
262
|
-
rubygems_version: 2.
|
296
|
+
rubygems_version: 2.5.1
|
263
297
|
signing_key:
|
264
298
|
specification_version: 4
|
265
299
|
summary: cookieless_sessions implements a fallback mechanism for keeping Session-IDs
|
@@ -1,18 +0,0 @@
|
|
1
|
-
module CookielessSessions
|
2
|
-
module Rails32DestroyableSessionPatch
|
3
|
-
def destroy
|
4
|
-
clear
|
5
|
-
options = @env[Rack::Session::Abstract::ENV_SESSION_OPTIONS_KEY] if @env
|
6
|
-
options ||= {}
|
7
|
-
options[:id] = @by.send(:destroy_session, @env, options[:id], options) if @by
|
8
|
-
@loaded = false
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
|
-
|
13
|
-
if Rails::VERSION::MAJOR == 3 && Rails::VERSION::MINOR == 2
|
14
|
-
ActiveSupport.on_load(:action_controller) do
|
15
|
-
::Rack::Session::Abstract::SessionHash.send(:include, Rails32DestroyableSessionPatch)
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|