rack-freeze 1.2.0 → 1.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 +5 -5
- data/.rspec +0 -1
- data/.travis.yml +15 -9
- data/Gemfile +0 -5
- data/README.md +5 -3
- data/Rakefile +1 -1
- data/lib/rack/freeze/builder.rb +4 -2
- data/lib/rack/freeze/freezer.rb +4 -2
- data/lib/rack/freeze/version.rb +1 -1
- data/rack-freeze.gemspec +14 -12
- metadata +35 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 962fe9618607ca07c23d1e6322e0dc7b0adf799498ac454406c8c6edbed71f70
|
4
|
+
data.tar.gz: 296075f2f85a4ee92ebeb67a73f97c84012e15574f0a68b44858d30e5b0af1cb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2e9a6360dc40929083dbdec39ccb05298cff698a69cfab17cbb4752e53dba708da95ee5a29c028e6f931cabbc14df11a056264cbf3f87b9797279e18a01461c7
|
7
|
+
data.tar.gz: c3b9c4b4246e6bb45d6dce653e1b062d1a0c3eeabb25318888a3e65b42c3c5f855bf03568176e7dccbc149d39e7499b6a9e4ce3cab60c00169ad2d36057c43ac
|
data/.rspec
CHANGED
data/.travis.yml
CHANGED
@@ -1,13 +1,19 @@
|
|
1
1
|
language: ruby
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
- 2.3.2
|
6
|
-
- 2.4.0
|
7
|
-
- ruby-head
|
8
|
-
- rbx-3.65
|
9
|
-
env: COVERAGE=true
|
2
|
+
dist: xenial
|
3
|
+
cache: bundler
|
4
|
+
|
10
5
|
matrix:
|
6
|
+
include:
|
7
|
+
- rvm: 2.4
|
8
|
+
- rvm: 2.5
|
9
|
+
- rvm: 2.6
|
10
|
+
- rvm: 2.6
|
11
|
+
env: COVERAGE=PartialSummary,Coveralls
|
12
|
+
- rvm: 2.7
|
13
|
+
- rvm: truffleruby
|
14
|
+
- rvm: jruby-head
|
15
|
+
- rvm: ruby-head
|
11
16
|
allow_failures:
|
12
|
-
- rvm:
|
17
|
+
- rvm: truffleruby
|
13
18
|
- rvm: ruby-head
|
19
|
+
- rvm: jruby-head
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -2,7 +2,9 @@
|
|
2
2
|
|
3
3
|
Provides a policy for Rack middleware which should be frozen by default to prevent mutability bugs in a multi-threaded environment.
|
4
4
|
|
5
|
-
|
5
|
+
**In Rack 2.1+, you can use `Builder::freeze_app` instead of this gem.**
|
6
|
+
|
7
|
+
[](https://travis-ci.com/ioquatix/rack-freeze)
|
6
8
|
[](https://codeclimate.com/github/ioquatix/rack-freeze)
|
7
9
|
[](https://coveralls.io/r/ioquatix/rack-freeze)
|
8
10
|
|
@@ -70,10 +72,10 @@ class CacheEverythingForever
|
|
70
72
|
@cache_all_the_things = Concurrent::Map.new
|
71
73
|
end
|
72
74
|
|
73
|
-
# Because you supply your own implementation of #freeze, Rack::Freeze won't touch this middleware.
|
74
75
|
def freeze
|
75
76
|
return self if frozen?
|
76
77
|
|
78
|
+
# Don't freeze @cache_all_the_things
|
77
79
|
@app.freeze
|
78
80
|
|
79
81
|
super
|
@@ -100,7 +102,7 @@ end
|
|
100
102
|
|
101
103
|
Released under the MIT license.
|
102
104
|
|
103
|
-
Copyright, 2017, by [Samuel G. D. Williams](http://www.codeotaku.com
|
105
|
+
Copyright, 2017, by [Samuel G. D. Williams](http://www.codeotaku.com).
|
104
106
|
|
105
107
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
106
108
|
of this software and associated documentation files (the "Software"), to deal
|
data/Rakefile
CHANGED
data/lib/rack/freeze/builder.rb
CHANGED
@@ -19,13 +19,15 @@
|
|
19
19
|
# THE SOFTWARE.
|
20
20
|
|
21
21
|
require 'rack/builder'
|
22
|
+
require 'ruby2_keywords'
|
23
|
+
|
22
24
|
require_relative 'freezer'
|
23
25
|
|
24
26
|
module Rack
|
25
27
|
module Freeze
|
26
28
|
module Builder
|
27
|
-
def use(klass, *
|
28
|
-
super Freezer.new(klass), *
|
29
|
+
ruby2_keywords def use(klass, *arguments, &block)
|
30
|
+
super Freezer.new(klass), *arguments, &block
|
29
31
|
end
|
30
32
|
|
31
33
|
def run(app)
|
data/lib/rack/freeze/freezer.rb
CHANGED
@@ -18,6 +18,8 @@
|
|
18
18
|
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
19
19
|
# THE SOFTWARE.
|
20
20
|
|
21
|
+
require "ruby2_keywords"
|
22
|
+
|
21
23
|
module Rack
|
22
24
|
module Freeze
|
23
25
|
class Freezer
|
@@ -29,8 +31,8 @@ module Rack
|
|
29
31
|
"#{self.class}<#{@klass}>"
|
30
32
|
end
|
31
33
|
|
32
|
-
def new(*
|
33
|
-
@klass.new(*
|
34
|
+
ruby2_keywords def new(*arguments, &block)
|
35
|
+
@klass.new(*arguments, &block).freeze
|
34
36
|
end
|
35
37
|
end
|
36
38
|
end
|
data/lib/rack/freeze/version.rb
CHANGED
data/rack-freeze.gemspec
CHANGED
@@ -1,23 +1,25 @@
|
|
1
|
-
# coding: utf-8
|
2
1
|
require_relative 'lib/rack/freeze/version'
|
3
2
|
|
4
3
|
Gem::Specification.new do |spec|
|
5
|
-
spec.name
|
6
|
-
spec.version
|
7
|
-
spec.authors
|
8
|
-
spec.email
|
9
|
-
|
10
|
-
spec.summary
|
11
|
-
spec.homepage
|
12
|
-
|
13
|
-
spec.files
|
4
|
+
spec.name = "rack-freeze"
|
5
|
+
spec.version = Rack::Freeze::VERSION
|
6
|
+
spec.authors = ["Samuel Williams"]
|
7
|
+
spec.email = ["samuel.williams@oriontransfer.co.nz"]
|
8
|
+
|
9
|
+
spec.summary = "Provides a policy for frozen rack middleware."
|
10
|
+
spec.homepage = "https://github.com/ioquatix/rack-freeze"
|
11
|
+
|
12
|
+
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
14
13
|
f.match(%r{^(test|spec|features)/})
|
15
14
|
end
|
16
15
|
spec.require_paths = ["lib"]
|
17
16
|
|
18
17
|
spec.add_dependency "rack", "~> 2.0"
|
19
|
-
|
20
|
-
spec.
|
18
|
+
|
19
|
+
spec.add_dependency "ruby2_keywords"
|
20
|
+
|
21
|
+
spec.add_development_dependency "covered"
|
22
|
+
spec.add_development_dependency "bundler"
|
21
23
|
spec.add_development_dependency "rake", "~> 10.0"
|
22
24
|
spec.add_development_dependency "rspec", "~> 3.0"
|
23
25
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rack-freeze
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Samuel Williams
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-01-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rack
|
@@ -24,20 +24,48 @@ dependencies:
|
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '2.0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: ruby2_keywords
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: covered
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
27
55
|
- !ruby/object:Gem::Dependency
|
28
56
|
name: bundler
|
29
57
|
requirement: !ruby/object:Gem::Requirement
|
30
58
|
requirements:
|
31
|
-
- - "
|
59
|
+
- - ">="
|
32
60
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
61
|
+
version: '0'
|
34
62
|
type: :development
|
35
63
|
prerelease: false
|
36
64
|
version_requirements: !ruby/object:Gem::Requirement
|
37
65
|
requirements:
|
38
|
-
- - "
|
66
|
+
- - ">="
|
39
67
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
68
|
+
version: '0'
|
41
69
|
- !ruby/object:Gem::Dependency
|
42
70
|
name: rake
|
43
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -102,8 +130,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
102
130
|
- !ruby/object:Gem::Version
|
103
131
|
version: '0'
|
104
132
|
requirements: []
|
105
|
-
|
106
|
-
rubygems_version: 2.6.10
|
133
|
+
rubygems_version: 3.1.2
|
107
134
|
signing_key:
|
108
135
|
specification_version: 4
|
109
136
|
summary: Provides a policy for frozen rack middleware.
|