aws-sessionstore-dynamodb 2.0.1 → 2.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b2ab82b0ba3f3fe80387b77624bfba8681349783c2a8d037978da81cd1734d3f
4
- data.tar.gz: dd3c0cf4d028059dc241c4b5a37e109b761da5cfca41111c583182ea0bfad4b1
3
+ metadata.gz: ee27fa01f65650a13304791dc345e3ee4b0c9ae10b734a54f57acb72706f4963
4
+ data.tar.gz: 269c66dbd952cd68d76fc3e1fcec8559fc945f4c745cc4987fb33e42c3c0bd1c
5
5
  SHA512:
6
- metadata.gz: e15b931dd2adda127b74c2d5fa0a60c7fb0a111f40354ff20975ea27d2a190b57c5a0f349184bc8cd48c12aa2f9adc01b0ac3801335c67aba9e308127da96947
7
- data.tar.gz: ddf87deb6796ff6c3d5c62187744e73f88adfe36fff0f512a798c7eaaea36091191ada8e948154053694cd830abb8da983ebb2365e7c9204b1ba11006c411281
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
@@ -1,5 +1,12 @@
1
- doc
2
- coverage
3
- .yardoc
4
- Gemfile.lock
5
- .release
1
+ .DS_Store
2
+
3
+ /.byebug_history
4
+ /.bundle
5
+ /.yardoc
6
+ /doc
7
+ /Gemfile.lock
8
+ /coverage
9
+ *.gem
10
+ /.release
11
+
12
+ .idea/
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
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 = ["mamuller@amazon.com", "alexwoo@amazon.com"]
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
- spec.add_dependency 'aws-sdk-dynamodb', '~> 1'
19
- spec.add_dependency 'rack', '~> 2'
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
- client_opts = { user_agent_suffix: " aws-sessionstore/#{VERSION}" }
196
- client = Aws::DynamoDB::Client
197
- dynamo_db_client = @options[:dynamo_db_client] || client.new(client_opts)
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
- begin
17
- if ENV['COVERAGE']
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.1
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: 2020-11-16 00:00:00.000000000 Z
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
- - mamuller@amazon.com
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: '0'
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.0.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