multi_session_store 0.2.6 → 0.3.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/.github/workflows/main.yml +73 -0
- data/.gitignore +1 -0
- data/.travis.yml +4 -2
- data/README.md +3 -0
- data/lib/multi_session_store/subsession_generator_middleware.rb +10 -3
- data/lib/multi_session_store/version.rb +1 -1
- data/multi_session_store.gemspec +4 -4
- data/repo-info.json +7 -0
- metadata +21 -22
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9183ce442b494f0327c64af69e8c4ddf7204836f44afbb286ffdeb1c3b121dc2
|
4
|
+
data.tar.gz: eb1331812c7db41690ea5e5e1a1bc396ad17335de4d4c7d908795e9ea466eb63
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4bee69a36d4934416a42676de360732ac97394f4710d5b50574e727877895e0c3856e200c51e95b4bc9697a719bcfd83eda6b43e6faa2248394a4f604e83a361
|
7
|
+
data.tar.gz: a27a3d09d2adb4980e488b511596b9c755f77d843908a33b94f8db589c637363fdd972d7ff5a1acad1e29e02a478a0f44db9fe2c7b6ec12f5aa43d831c8aa471
|
@@ -0,0 +1,73 @@
|
|
1
|
+
name: CI
|
2
|
+
|
3
|
+
on: push
|
4
|
+
|
5
|
+
jobs:
|
6
|
+
test:
|
7
|
+
name: Test
|
8
|
+
runs-on: ubuntu-latest
|
9
|
+
strategy:
|
10
|
+
matrix:
|
11
|
+
ruby-versions: ['2.7', '3.0', '3.1', '3.2', '3.3', '3.4']
|
12
|
+
|
13
|
+
steps:
|
14
|
+
- name: Checkout code
|
15
|
+
uses: actions/checkout@v4
|
16
|
+
|
17
|
+
- name: Setup ruby
|
18
|
+
uses: ruby/setup-ruby@v1
|
19
|
+
with:
|
20
|
+
ruby-version: ${{ matrix.ruby-versions }}
|
21
|
+
|
22
|
+
- name: Run dependencies
|
23
|
+
run: bundle install
|
24
|
+
|
25
|
+
- name: Run tests
|
26
|
+
run: bundle exec rake
|
27
|
+
|
28
|
+
# a nem sikerult a gemfury push, a tokennel nem jo vmi, lehet pusholni lokalbol
|
29
|
+
# deploy:
|
30
|
+
# name: Deploy
|
31
|
+
# runs-on: ubuntu-latest
|
32
|
+
# needs: [test]
|
33
|
+
# timeout-minutes: 3
|
34
|
+
#
|
35
|
+
# if: ${{ github.ref_name == 'master' }}
|
36
|
+
# steps:
|
37
|
+
# - name: Checkout code
|
38
|
+
# uses: actions/checkout@v4
|
39
|
+
# - name: Push to gemfury
|
40
|
+
# run: |
|
41
|
+
# mkdir -p $HOME/.gem
|
42
|
+
# touch $HOME/.gem/credentials
|
43
|
+
# chmod 0600 $HOME/.gem/credentials
|
44
|
+
# printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
|
45
|
+
# gem build *.gemspec
|
46
|
+
# gem push *.gem
|
47
|
+
#
|
48
|
+
# env:
|
49
|
+
# GEM_HOST_API_KEY: "${{secrets.RUBYGEMS_AUTH_TOKEN}}"
|
50
|
+
|
51
|
+
failed-slack-notification:
|
52
|
+
if: ${{ always() && contains(needs.*.result, 'failure') }}
|
53
|
+
runs-on: ubuntu-latest
|
54
|
+
needs: [test]
|
55
|
+
# needs: [test, deploy]
|
56
|
+
steps:
|
57
|
+
- name: Send Notification
|
58
|
+
run: |
|
59
|
+
curl -X POST -H 'Content-type: application/json' --data "{\"attachments\":[
|
60
|
+
{\"color\":\"#ff0000\",\"blocks\":[
|
61
|
+
{\"type\":\"header\",\"text\":{\"type\":\"plain_text\",\"text\":\"Build failed\"}},
|
62
|
+
{\"type\":\"section\",\"fields\":[
|
63
|
+
{\"text\":\"*Branch*\\n$GITHUB_REF\",\"type\":\"mrkdwn\"},
|
64
|
+
{\"text\":\"*Project*\\n<https://github.com/emartech/multi_session_store/actions/runs/$GITHUB_RUN_ID|$PROJECT_NAME>\",\"type\":\"mrkdwn\"}
|
65
|
+
]},
|
66
|
+
{\"type\":\"section\",\"fields\":[
|
67
|
+
{\"text\":\"*Commit*\\n<https://github.com/emartech/multi_session_store/commit/$GITHUB_SHA|$GITHUB_SHA>\",\"type\":\"mrkdwn\"}
|
68
|
+
]},
|
69
|
+
{\"type\":\"section\",\"fields\":[
|
70
|
+
{\"text\":\"*Committer*\\n$GITHUB_ACTOR\",\"type\":\"mrkdwn\"}
|
71
|
+
]}
|
72
|
+
]}
|
73
|
+
]}" ${{ secrets.SLACK_INTEGRATION }}
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
data/README.md
CHANGED
@@ -26,6 +26,9 @@ Or install it yourself as:
|
|
26
26
|
|
27
27
|
Bug reports and pull requests are welcome on GitHub at https://github.com/emartech/multi_session_store.
|
28
28
|
|
29
|
+
### Push from local machine
|
30
|
+
gem build *.gemspec
|
31
|
+
|
29
32
|
## License
|
30
33
|
|
31
34
|
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
@@ -10,7 +10,7 @@ module MultiSessionStore
|
|
10
10
|
def call(env)
|
11
11
|
request = Rack::Request.new(env)
|
12
12
|
set_subsession_id_from_header(request)
|
13
|
-
generate_subsession_id_if_needed(request)
|
13
|
+
generate_subsession_id_if_needed(env, request)
|
14
14
|
@app.call(env)
|
15
15
|
end
|
16
16
|
|
@@ -22,8 +22,15 @@ module MultiSessionStore
|
|
22
22
|
request.update_param 'subsession_id', request.get_header(SUBSESSION_ID_HEADER) if request.has_header?(SUBSESSION_ID_HEADER)
|
23
23
|
end
|
24
24
|
|
25
|
-
def generate_subsession_id_if_needed(request)
|
26
|
-
|
25
|
+
def generate_subsession_id_if_needed(env, request)
|
26
|
+
if subsession_id_is_needed?(request)
|
27
|
+
session_id = new_subsession_id
|
28
|
+
query_string = Rack::Utils.parse_nested_query(request.query_string)
|
29
|
+
query_string['subsession_id'] = session_id
|
30
|
+
env['QUERY_STRING'] = query_string.to_query
|
31
|
+
env['rack.request.query_string'] = nil
|
32
|
+
request.update_param 'subsession_id', session_id
|
33
|
+
end
|
27
34
|
end
|
28
35
|
|
29
36
|
def new_subsession_id
|
data/multi_session_store.gemspec
CHANGED
@@ -28,8 +28,8 @@ Gem::Specification.new do |spec|
|
|
28
28
|
|
29
29
|
spec.add_dependency "actionpack"
|
30
30
|
|
31
|
-
spec.add_development_dependency "bundler"
|
32
|
-
spec.add_development_dependency "rake"
|
33
|
-
spec.add_development_dependency "rspec"
|
34
|
-
spec.add_development_dependency "redis"
|
31
|
+
spec.add_development_dependency "bundler"
|
32
|
+
spec.add_development_dependency "rake"
|
33
|
+
spec.add_development_dependency "rspec"
|
34
|
+
spec.add_development_dependency "redis"
|
35
35
|
end
|
data/repo-info.json
ADDED
metadata
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: multi_session_store
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Emarsys Smart Insight developers
|
8
|
-
autorequire:
|
9
8
|
bindir: exe
|
10
9
|
cert_chain: []
|
11
|
-
date:
|
10
|
+
date: 2025-02-03 00:00:00.000000000 Z
|
12
11
|
dependencies:
|
13
12
|
- !ruby/object:Gem::Dependency
|
14
13
|
name: actionpack
|
@@ -28,58 +27,58 @@ dependencies:
|
|
28
27
|
name: bundler
|
29
28
|
requirement: !ruby/object:Gem::Requirement
|
30
29
|
requirements:
|
31
|
-
- - "
|
30
|
+
- - ">="
|
32
31
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
32
|
+
version: '0'
|
34
33
|
type: :development
|
35
34
|
prerelease: false
|
36
35
|
version_requirements: !ruby/object:Gem::Requirement
|
37
36
|
requirements:
|
38
|
-
- - "
|
37
|
+
- - ">="
|
39
38
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
39
|
+
version: '0'
|
41
40
|
- !ruby/object:Gem::Dependency
|
42
41
|
name: rake
|
43
42
|
requirement: !ruby/object:Gem::Requirement
|
44
43
|
requirements:
|
45
|
-
- - "
|
44
|
+
- - ">="
|
46
45
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
46
|
+
version: '0'
|
48
47
|
type: :development
|
49
48
|
prerelease: false
|
50
49
|
version_requirements: !ruby/object:Gem::Requirement
|
51
50
|
requirements:
|
52
|
-
- - "
|
51
|
+
- - ">="
|
53
52
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
53
|
+
version: '0'
|
55
54
|
- !ruby/object:Gem::Dependency
|
56
55
|
name: rspec
|
57
56
|
requirement: !ruby/object:Gem::Requirement
|
58
57
|
requirements:
|
59
|
-
- - "
|
58
|
+
- - ">="
|
60
59
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
60
|
+
version: '0'
|
62
61
|
type: :development
|
63
62
|
prerelease: false
|
64
63
|
version_requirements: !ruby/object:Gem::Requirement
|
65
64
|
requirements:
|
66
|
-
- - "
|
65
|
+
- - ">="
|
67
66
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
67
|
+
version: '0'
|
69
68
|
- !ruby/object:Gem::Dependency
|
70
69
|
name: redis
|
71
70
|
requirement: !ruby/object:Gem::Requirement
|
72
71
|
requirements:
|
73
|
-
- - "
|
72
|
+
- - ">="
|
74
73
|
- !ruby/object:Gem::Version
|
75
|
-
version: '
|
74
|
+
version: '0'
|
76
75
|
type: :development
|
77
76
|
prerelease: false
|
78
77
|
version_requirements: !ruby/object:Gem::Requirement
|
79
78
|
requirements:
|
80
|
-
- - "
|
79
|
+
- - ">="
|
81
80
|
- !ruby/object:Gem::Version
|
82
|
-
version: '
|
81
|
+
version: '0'
|
83
82
|
description: This gem provides a means to support multiple sessions across different
|
84
83
|
tabs in the same browser window.
|
85
84
|
email:
|
@@ -88,6 +87,7 @@ executables: []
|
|
88
87
|
extensions: []
|
89
88
|
extra_rdoc_files: []
|
90
89
|
files:
|
90
|
+
- ".github/workflows/main.yml"
|
91
91
|
- ".gitignore"
|
92
92
|
- ".rspec"
|
93
93
|
- ".travis.yml"
|
@@ -103,6 +103,7 @@ files:
|
|
103
103
|
- lib/multi_session_store/subsession_generator_middleware.rb
|
104
104
|
- lib/multi_session_store/version.rb
|
105
105
|
- multi_session_store.gemspec
|
106
|
+
- repo-info.json
|
106
107
|
homepage: https://github.com/emartech/multi_session_store
|
107
108
|
licenses:
|
108
109
|
- MIT
|
@@ -110,7 +111,6 @@ metadata:
|
|
110
111
|
homepage_uri: https://github.com/emartech/multi_session_store
|
111
112
|
source_code_uri: https://github.com/emartech/multi_session_store.git
|
112
113
|
changelog_uri: https://github.com/emartech/multi_session_store/blob/master/CHANGELOG.md
|
113
|
-
post_install_message:
|
114
114
|
rdoc_options: []
|
115
115
|
require_paths:
|
116
116
|
- lib
|
@@ -125,8 +125,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
125
125
|
- !ruby/object:Gem::Version
|
126
126
|
version: '0'
|
127
127
|
requirements: []
|
128
|
-
rubygems_version: 3.
|
129
|
-
signing_key:
|
128
|
+
rubygems_version: 3.6.3
|
130
129
|
specification_version: 4
|
131
130
|
summary: MultiSessionStore for Rails applications
|
132
131
|
test_files: []
|