sticky_params 2.0.0 → 2.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/README.md +7 -2
- data/lib/sticky_params/strong_session_params.rb +10 -11
- data/lib/sticky_params/version.rb +1 -1
- data/sticky_params.gemspec +14 -16
- metadata +7 -7
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 95f2ebe1001e88bac518483e27d299e187c09e5f5002516bee8ce2e259222a75
|
|
4
|
+
data.tar.gz: df3e8ea4586ddd41cc7b759051f51077910d4a6629637e0d0b9586d8cb92f26e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: cbe4b35d6555c246096d4a90fe404eb2f340336646e30d4e5dde718e3ddfaf17488387f2246775f7a1f4dba2efd5737223a97e68ce3eb18ecc5df5f63374ed69
|
|
7
|
+
data.tar.gz: 1e3d546c073fd3e29ca6578ab6c6776d80d905efcf68a6a45092fed579b16053dc61ee7ad899c43e79eda135d6e85f5d3774edcd86f1dd514c358253054c6608
|
data/README.md
CHANGED
|
@@ -12,9 +12,14 @@ class MyController < ApplicationController
|
|
|
12
12
|
end
|
|
13
13
|
```
|
|
14
14
|
|
|
15
|
-
## Release Notes 2.
|
|
15
|
+
## Release Notes 2.1
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
|
|
18
|
+
Release 2.1, Sticky Params doesn't put ActionController::Parameters in a sesssion anymore.
|
|
19
|
+
ActionController::Parameters were put directly into a session in 2.0. Which worked in rails < 7.
|
|
20
|
+
In rails 7 this results in a `TypeError (can't dump IO)` when the session data is serialized.
|
|
21
|
+
|
|
22
|
+
Release 2.0, uses ActionController::Parameters instead of hashes.
|
|
18
23
|
This enable the usage of the strong parameter permit construct.
|
|
19
24
|
(In other words, sticky_params will work just like normal params)
|
|
20
25
|
|
|
@@ -10,7 +10,12 @@ module StickyParams
|
|
|
10
10
|
|
|
11
11
|
def fetch_from_params(name, session_param_name)
|
|
12
12
|
if controller.params[name].present?
|
|
13
|
-
|
|
13
|
+
if controller.params[name].is_a?(ActionController::Parameters)
|
|
14
|
+
controller.session['sticky_params'][session_param_name] = controller.params[name].to_unsafe_hash
|
|
15
|
+
else
|
|
16
|
+
controller.session['sticky_params'][session_param_name] = controller.params[name]
|
|
17
|
+
end
|
|
18
|
+
controller.params[name]
|
|
14
19
|
else
|
|
15
20
|
controller.session['sticky_params'].delete session_param_name
|
|
16
21
|
nil
|
|
@@ -19,19 +24,13 @@ module StickyParams
|
|
|
19
24
|
|
|
20
25
|
def fetch_from_session(session_param_name)
|
|
21
26
|
result = controller.session['sticky_params'][session_param_name]
|
|
22
|
-
|
|
23
27
|
# covert hash to action parameters for simulating a normal param
|
|
24
|
-
|
|
25
|
-
result = ActionController::Parameters.new(result)
|
|
26
|
-
controller.session['sticky_params'][session_param_name] = result
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
result
|
|
28
|
+
result.is_a?(Hash) ? ActionController::Parameters.new(result) : result
|
|
30
29
|
end
|
|
31
30
|
|
|
32
31
|
def [](name)
|
|
33
32
|
session_param_name = "#{prefix}#{name}"
|
|
34
|
-
controller.session['sticky_params'] ||=
|
|
33
|
+
controller.session['sticky_params'] ||= {}
|
|
35
34
|
if controller.params[name]
|
|
36
35
|
fetch_from_params(name, session_param_name)
|
|
37
36
|
elsif controller.session['sticky_params'][session_param_name]
|
|
@@ -41,7 +40,7 @@ module StickyParams
|
|
|
41
40
|
|
|
42
41
|
def []=(name, value)
|
|
43
42
|
session_param_name = "#{prefix}#{name}"
|
|
44
|
-
controller.session['sticky_params'] ||=
|
|
43
|
+
controller.session['sticky_params'] ||= {}
|
|
45
44
|
controller.session['sticky_params'][session_param_name] = controller.params[name] = value
|
|
46
45
|
end
|
|
47
46
|
|
|
@@ -59,4 +58,4 @@ module StickyParams
|
|
|
59
58
|
controller.session.delete('sticky_params')
|
|
60
59
|
end
|
|
61
60
|
end
|
|
62
|
-
end
|
|
61
|
+
end
|
data/sticky_params.gemspec
CHANGED
|
@@ -1,23 +1,21 @@
|
|
|
1
|
-
lib = File.expand_path(
|
|
1
|
+
lib = File.expand_path("lib", __dir__)
|
|
2
2
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
3
3
|
require 'sticky_params/version'
|
|
4
4
|
|
|
5
5
|
Gem::Specification.new do |spec|
|
|
6
|
-
spec.name
|
|
7
|
-
spec.version
|
|
6
|
+
spec.name = 'sticky_params'
|
|
7
|
+
spec.version = StickyParams::VERSION
|
|
8
8
|
|
|
9
|
-
spec.authors
|
|
10
|
-
spec.email
|
|
11
|
-
spec.summary
|
|
12
|
-
spec.description
|
|
13
|
-
spec.homepage
|
|
14
|
-
spec.license
|
|
9
|
+
spec.authors = ['Rick Blommers']
|
|
10
|
+
spec.email = ['rick@blommersit.nl']
|
|
11
|
+
spec.summary = 'A rails gem that automaticly remembers request parameters between requests'
|
|
12
|
+
spec.description = spec.summary
|
|
13
|
+
spec.homepage = "https://github.com/gamecreature/sticky_params"
|
|
14
|
+
spec.license = 'MIT'
|
|
15
15
|
|
|
16
|
-
spec.files
|
|
17
|
-
spec.executables
|
|
18
|
-
spec.test_files
|
|
19
|
-
spec.
|
|
20
|
-
|
|
21
|
-
# spec.add_development_dependency "bundler", "~> 1.7"
|
|
22
|
-
# spec.add_development_dependency "rake", "~> 10.0"
|
|
16
|
+
spec.files = `git ls-files -z`.split("\x0")
|
|
17
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
|
18
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
|
19
|
+
spec.required_ruby_version = ">= 2.0"
|
|
20
|
+
spec.require_paths = ['lib']
|
|
23
21
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: sticky_params
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Rick Blommers
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2022-11-09 00:00:00.000000000 Z
|
|
12
12
|
dependencies: []
|
|
13
13
|
description: A rails gem that automaticly remembers request parameters between requests
|
|
14
14
|
email:
|
|
@@ -32,7 +32,7 @@ homepage: https://github.com/gamecreature/sticky_params
|
|
|
32
32
|
licenses:
|
|
33
33
|
- MIT
|
|
34
34
|
metadata: {}
|
|
35
|
-
post_install_message:
|
|
35
|
+
post_install_message:
|
|
36
36
|
rdoc_options: []
|
|
37
37
|
require_paths:
|
|
38
38
|
- lib
|
|
@@ -40,15 +40,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
40
40
|
requirements:
|
|
41
41
|
- - ">="
|
|
42
42
|
- !ruby/object:Gem::Version
|
|
43
|
-
version: '0'
|
|
43
|
+
version: '2.0'
|
|
44
44
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
45
45
|
requirements:
|
|
46
46
|
- - ">="
|
|
47
47
|
- !ruby/object:Gem::Version
|
|
48
48
|
version: '0'
|
|
49
49
|
requirements: []
|
|
50
|
-
rubygems_version: 3.
|
|
51
|
-
signing_key:
|
|
50
|
+
rubygems_version: 3.3.7
|
|
51
|
+
signing_key:
|
|
52
52
|
specification_version: 4
|
|
53
53
|
summary: A rails gem that automaticly remembers request parameters between requests
|
|
54
54
|
test_files: []
|