aws-sessionstore-dynamodb 2.0.1 → 2.2.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/ci.yml +39 -0
- data/.gitignore +12 -5
- data/CHANGELOG.md +12 -0
- data/Gemfile +9 -1
- data/VERSION +1 -1
- data/aws-sessionstore-dynamodb.gemspec +7 -3
- data/doc-src/templates/default/layout/html/footer.erb +0 -4
- data/lib/aws/session_store/dynamo_db/configuration.rb +3 -3
- data/spec/aws/session_store/dynamo_db/error/default_error_handler_spec.rb +1 -1
- data/spec/aws/session_store/dynamo_db/garbage_collection_spec.rb +3 -3
- data/spec/aws/session_store/dynamo_db/rack_middleware_spec.rb +2 -1
- data/spec/spec_helper.rb +2 -7
- metadata +40 -9
- data/.travis.yml +0 -26
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ee27fa01f65650a13304791dc345e3ee4b0c9ae10b734a54f57acb72706f4963
|
4
|
+
data.tar.gz: 269c66dbd952cd68d76fc3e1fcec8559fc945f4c745cc4987fb33e42c3c0bd1c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 68ff2d325413b24ef06bfe8a40f83f209afc93858af6322c648f4f82daac0096b90f7b2521bc5eac4e0d562636db2eea30d7931f97990d69b1f346866005506c
|
7
|
+
data.tar.gz: 5653d32a3a00b7bfbfaee3ddd9449d9a92cb3c369dd31a7fc887194f5a3b12dea141ac6d12f82db552ee82087956c8c0b88803f9bf25c460ea8fc894a58bd0fc
|
@@ -0,0 +1,39 @@
|
|
1
|
+
name: CI
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
branches:
|
6
|
+
- main
|
7
|
+
|
8
|
+
pull_request:
|
9
|
+
branches:
|
10
|
+
- main
|
11
|
+
|
12
|
+
jobs:
|
13
|
+
test:
|
14
|
+
runs-on: ubuntu-latest
|
15
|
+
strategy:
|
16
|
+
fail-fast: false
|
17
|
+
matrix:
|
18
|
+
ruby: [2.5, 2.6, 2.7, '3.0', 3.1, 3.2, 3.3, jruby-9.2, jruby-9.3, jruby-9.4]
|
19
|
+
env: [RACK2, RACK3]
|
20
|
+
|
21
|
+
steps:
|
22
|
+
- name: Setup Ruby
|
23
|
+
uses: ruby/setup-ruby@v1
|
24
|
+
with:
|
25
|
+
ruby-version: ${{ matrix.ruby }}
|
26
|
+
|
27
|
+
- uses: actions/checkout@v4
|
28
|
+
|
29
|
+
- name: Setup environment
|
30
|
+
run: |
|
31
|
+
echo "${{ matrix.env }}=1" >> $GITHUB_ENV
|
32
|
+
|
33
|
+
- name: Install gems
|
34
|
+
run: |
|
35
|
+
bundle config set --local without 'docs'
|
36
|
+
bundle install
|
37
|
+
|
38
|
+
- name: Tests
|
39
|
+
run: bundle exec rake spec
|
data/.gitignore
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,15 @@
|
|
1
|
+
2.2.0 (2024-01-25)
|
2
|
+
------------------
|
3
|
+
|
4
|
+
* Feature - Drop support for Ruby 2.3 and 2.4.
|
5
|
+
|
6
|
+
* Issue - Relax `rack` dependency to allow version 3. Adds `rack-session` to the gemspec.
|
7
|
+
|
8
|
+
2.1.0 (2023-06-02)
|
9
|
+
------------------
|
10
|
+
|
11
|
+
* Feature - Improve User-Agent tracking and bump minimum DynamoDB version.
|
12
|
+
|
1
13
|
2.0.1 (2020-11-16)
|
2
14
|
------------------
|
3
15
|
|
data/Gemfile
CHANGED
@@ -1,5 +1,9 @@
|
|
1
1
|
source 'https://rubygems.org'
|
2
2
|
|
3
|
+
if ENV['RACK2']
|
4
|
+
gem 'rack', '~> 2'
|
5
|
+
end
|
6
|
+
|
3
7
|
gemspec
|
4
8
|
|
5
9
|
gem 'rake', require: false
|
@@ -11,6 +15,10 @@ end
|
|
11
15
|
|
12
16
|
group :test do
|
13
17
|
gem 'rspec'
|
14
|
-
gem 'simplecov', require: false
|
15
18
|
gem 'rack-test'
|
19
|
+
gem 'simplecov'
|
20
|
+
|
21
|
+
if RUBY_VERSION >= '3.0'
|
22
|
+
gem 'rexml'
|
23
|
+
end
|
16
24
|
end
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.0
|
1
|
+
2.2.0
|
@@ -4,7 +4,7 @@ Gem::Specification.new do |spec|
|
|
4
4
|
spec.name = "aws-sessionstore-dynamodb"
|
5
5
|
spec.version = version
|
6
6
|
spec.authors = ["Amazon Web Services"]
|
7
|
-
spec.email = ["
|
7
|
+
spec.email = ["aws-dr-rubygems@amazon.com"]
|
8
8
|
|
9
9
|
spec.summary = "The Amazon DynamoDB Session Store handles sessions " +
|
10
10
|
"for Ruby web applications using a DynamoDB backend."
|
@@ -15,6 +15,10 @@ Gem::Specification.new do |spec|
|
|
15
15
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
16
16
|
spec.require_paths = ["lib"]
|
17
17
|
|
18
|
-
|
19
|
-
spec.add_dependency '
|
18
|
+
# Require 1.85.0 for user_agent_frameworks config
|
19
|
+
spec.add_dependency 'aws-sdk-dynamodb', '~> 1', '>= 1.85.0'
|
20
|
+
spec.add_dependency 'rack', '>= 2', '< 4'
|
21
|
+
spec.add_dependency 'rack-session', '>= 1', '< 3'
|
22
|
+
|
23
|
+
spec.required_ruby_version = '>= 2.5'
|
20
24
|
end
|
@@ -4,7 +4,3 @@
|
|
4
4
|
<%= YARD::VERSION %> (ruby-<%= RUBY_VERSION %>).
|
5
5
|
<div id="awsdocs-legal-zone-copyright"></div>
|
6
6
|
</div>
|
7
|
-
|
8
|
-
<!-- Gitter chat -->
|
9
|
-
<script>((window.gitter = {}).chat = {}).options = { room: 'aws/aws-sdk-ruby' };</script>
|
10
|
-
<script src="https://sidecar.gitter.im/dist/sidecar.v1.js" async defer></script>
|
@@ -192,9 +192,9 @@ module Aws::SessionStore::DynamoDB
|
|
192
192
|
|
193
193
|
# @return [Hash] DDB client.
|
194
194
|
def gen_dynamo_db_client
|
195
|
-
|
196
|
-
|
197
|
-
dynamo_db_client
|
195
|
+
dynamo_db_client = @options[:dynamo_db_client] || Aws::DynamoDB::Client.new
|
196
|
+
# this used to be aws-sessionstore/version on user_agent_suffix
|
197
|
+
dynamo_db_client.config.user_agent_frameworks << "aws-sessionstore-dynamodb"
|
198
198
|
{:dynamo_db_client => dynamo_db_client}
|
199
199
|
end
|
200
200
|
|
@@ -26,7 +26,7 @@ describe Aws::SessionStore::DynamoDB do
|
|
26
26
|
|
27
27
|
let(:base_app) { MultiplierApplication.new }
|
28
28
|
let(:app) { Aws::SessionStore::DynamoDB::RackMiddleware.new(base_app, @options) }
|
29
|
-
let(:client) { double('Aws::DynamoDB::Client') }
|
29
|
+
let(:client) { double('Aws::DynamoDB::Client', config: double(user_agent_frameworks: [])) }
|
30
30
|
|
31
31
|
context 'Error handling for Rack Middleware with default error handler' do
|
32
32
|
it 'raises error for missing secret key' do
|
@@ -124,9 +124,9 @@ describe Aws::SessionStore::DynamoDB::GarbageCollection do
|
|
124
124
|
expect(dynamo_db_client).to receive(:scan).
|
125
125
|
exactly(1).times.and_return(scan_resp3)
|
126
126
|
expect(dynamo_db_client).to receive(:batch_write_item).ordered.
|
127
|
-
with(request_items: { 'sessions' => format_scan_result }).
|
127
|
+
with({request_items: { 'sessions' => format_scan_result }}).
|
128
128
|
and_return(write_resp2)
|
129
|
-
expect(dynamo_db_client).to receive(:batch_write_item).ordered.with(
|
129
|
+
expect(dynamo_db_client).to receive(:batch_write_item).ordered.with({
|
130
130
|
request_items: {
|
131
131
|
'sessions' => [
|
132
132
|
{
|
@@ -151,7 +151,7 @@ describe Aws::SessionStore::DynamoDB::GarbageCollection do
|
|
151
151
|
}
|
152
152
|
]
|
153
153
|
}
|
154
|
-
).and_return(write_resp1)
|
154
|
+
}).and_return(write_resp1)
|
155
155
|
collect_garbage
|
156
156
|
end
|
157
157
|
end
|
@@ -53,7 +53,8 @@ module Aws
|
|
53
53
|
delete_item: 'Deleted',
|
54
54
|
list_tables: { table_names: ['Sessions'] },
|
55
55
|
get_item: { item: { 'data' => sample_packed_data } },
|
56
|
-
update_item: { attributes: { created_at: 'now' } }
|
56
|
+
update_item: { attributes: { created_at: 'now' } },
|
57
|
+
config: double(user_agent_frameworks: [])
|
57
58
|
)
|
58
59
|
end
|
59
60
|
|
data/spec/spec_helper.rb
CHANGED
@@ -13,13 +13,8 @@
|
|
13
13
|
# ANY KIND, either express or implied. See the License for the specific
|
14
14
|
# language governing permissions and limitations under the License.
|
15
15
|
|
16
|
-
|
17
|
-
|
18
|
-
require 'simplecov'
|
19
|
-
SimpleCov.start { add_filter 'spec' }
|
20
|
-
end
|
21
|
-
rescue LoadError
|
22
|
-
end
|
16
|
+
require 'simplecov'
|
17
|
+
SimpleCov.start { add_filter 'spec' }
|
23
18
|
|
24
19
|
$LOAD_PATH << File.join(File.dirname(File.dirname(__FILE__)), 'lib')
|
25
20
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aws-sessionstore-dynamodb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0
|
4
|
+
version: 2.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Amazon Web Services
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-01-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk-dynamodb
|
@@ -17,6 +17,9 @@ dependencies:
|
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '1'
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 1.85.0
|
20
23
|
type: :runtime
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -24,32 +27,60 @@ dependencies:
|
|
24
27
|
- - "~>"
|
25
28
|
- !ruby/object:Gem::Version
|
26
29
|
version: '1'
|
30
|
+
- - ">="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 1.85.0
|
27
33
|
- !ruby/object:Gem::Dependency
|
28
34
|
name: rack
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
30
36
|
requirements:
|
31
|
-
- - "
|
37
|
+
- - ">="
|
32
38
|
- !ruby/object:Gem::Version
|
33
39
|
version: '2'
|
40
|
+
- - "<"
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: '4'
|
34
43
|
type: :runtime
|
35
44
|
prerelease: false
|
36
45
|
version_requirements: !ruby/object:Gem::Requirement
|
37
46
|
requirements:
|
38
|
-
- - "
|
47
|
+
- - ">="
|
39
48
|
- !ruby/object:Gem::Version
|
40
49
|
version: '2'
|
50
|
+
- - "<"
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: '4'
|
53
|
+
- !ruby/object:Gem::Dependency
|
54
|
+
name: rack-session
|
55
|
+
requirement: !ruby/object:Gem::Requirement
|
56
|
+
requirements:
|
57
|
+
- - ">="
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
version: '1'
|
60
|
+
- - "<"
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '3'
|
63
|
+
type: :runtime
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - ">="
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '1'
|
70
|
+
- - "<"
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
version: '3'
|
41
73
|
description:
|
42
74
|
email:
|
43
|
-
-
|
44
|
-
- alexwoo@amazon.com
|
75
|
+
- aws-dr-rubygems@amazon.com
|
45
76
|
executables: []
|
46
77
|
extensions: []
|
47
78
|
extra_rdoc_files: []
|
48
79
|
files:
|
49
80
|
- ".github/PULL_REQUEST_TEMPLATE.md"
|
81
|
+
- ".github/workflows/ci.yml"
|
50
82
|
- ".gitignore"
|
51
83
|
- ".gitmodules"
|
52
|
-
- ".travis.yml"
|
53
84
|
- ".yardopts"
|
54
85
|
- CHANGELOG.md
|
55
86
|
- CODE_OF_CONDUCT.md
|
@@ -97,14 +128,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
97
128
|
requirements:
|
98
129
|
- - ">="
|
99
130
|
- !ruby/object:Gem::Version
|
100
|
-
version: '
|
131
|
+
version: '2.5'
|
101
132
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
102
133
|
requirements:
|
103
134
|
- - ">="
|
104
135
|
- !ruby/object:Gem::Version
|
105
136
|
version: '0'
|
106
137
|
requirements: []
|
107
|
-
rubygems_version: 3.
|
138
|
+
rubygems_version: 3.5.5
|
108
139
|
signing_key:
|
109
140
|
specification_version: 4
|
110
141
|
summary: The Amazon DynamoDB Session Store handles sessions for Ruby web applications
|
data/.travis.yml
DELETED
@@ -1,26 +0,0 @@
|
|
1
|
-
branches:
|
2
|
-
only:
|
3
|
-
- master
|
4
|
-
|
5
|
-
language: ruby
|
6
|
-
|
7
|
-
rvm:
|
8
|
-
- 2.0
|
9
|
-
- 2.1
|
10
|
-
- 2.2
|
11
|
-
- 2.3
|
12
|
-
- 2.4
|
13
|
-
- 2.5
|
14
|
-
- 2.6
|
15
|
-
- 2.7
|
16
|
-
- jruby-9.1
|
17
|
-
- jruby-9.2
|
18
|
-
|
19
|
-
sudo: false
|
20
|
-
|
21
|
-
env:
|
22
|
-
- AWS_REGION=us-west-2
|
23
|
-
|
24
|
-
script: bundle exec rake spec
|
25
|
-
|
26
|
-
bundler_args: --without docs release repl
|