rack_utm 0.1.1 → 0.1.2
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/Gemfile.lock +1 -1
- data/lib/rack_utm/version.rb +1 -1
- data/lib/rack_utm.rb +31 -12
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e27a764ad976f7d849ac310124d9db540812313b5e533c045e369db64544bc5b
|
4
|
+
data.tar.gz: 81bbb07552cf211f3c716eb53ff8624dd2b32bd896a0f91f69e5998ddebb296a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 00da548a4f1dead8986f151586850a7968b808656453932c1bb0f69500caea61418526b6a19cf65017bcd06ffb571cce976ffbd5e63919d53a2c9104796c1a20
|
7
|
+
data.tar.gz: 24f949e0a61dbbfe84c0f4b9f341a6acf49566b7c4328eea4470b278fd6b6e96afdaec5425b87549c0880511c904249b78404e3da4eff952ba3f2f4865838e58
|
data/Gemfile.lock
CHANGED
data/lib/rack_utm/version.rb
CHANGED
data/lib/rack_utm.rb
CHANGED
@@ -22,8 +22,11 @@ module Rack
|
|
22
22
|
set_env(env)
|
23
23
|
|
24
24
|
status, headers, body = app.call(env)
|
25
|
-
|
26
|
-
|
25
|
+
if set_cookies?
|
26
|
+
set_cookies(headers)
|
27
|
+
else
|
28
|
+
delete_cookies(headers)
|
29
|
+
end
|
27
30
|
|
28
31
|
[status, headers, body]
|
29
32
|
end
|
@@ -40,6 +43,10 @@ module Rack
|
|
40
43
|
:req,
|
41
44
|
:optional_parameters
|
42
45
|
|
46
|
+
def all_parameter_names
|
47
|
+
required_parameters.concat(optional_parameters)
|
48
|
+
end
|
49
|
+
|
43
50
|
def params
|
44
51
|
req.params
|
45
52
|
end
|
@@ -54,20 +61,20 @@ module Rack
|
|
54
61
|
|
55
62
|
def set_params_for_env?
|
56
63
|
return false unless !required_param_values.compact.empty?
|
57
|
-
return false unless required_param_values != required_cookie_values
|
58
64
|
|
59
65
|
true
|
60
66
|
end
|
61
67
|
|
62
|
-
def
|
63
|
-
|
64
|
-
|
68
|
+
def values
|
69
|
+
values = []
|
70
|
+
values = cookies if set_cookies_for_env?
|
71
|
+
values = newer_parameters if set_params_for_env? && allow_overwrite
|
65
72
|
|
66
|
-
|
73
|
+
values
|
67
74
|
end
|
68
75
|
|
69
76
|
def set_env(env)
|
70
|
-
|
77
|
+
values.each { |key, value| env["#{key}"] = value }
|
71
78
|
end
|
72
79
|
|
73
80
|
def required_param_values
|
@@ -88,7 +95,7 @@ module Rack
|
|
88
95
|
end
|
89
96
|
|
90
97
|
def set_cookies?
|
91
|
-
return false unless
|
98
|
+
return false unless values.values_at(*required_parameters).all?
|
92
99
|
required_param_values != required_cookie_values
|
93
100
|
end
|
94
101
|
|
@@ -101,10 +108,22 @@ module Rack
|
|
101
108
|
)
|
102
109
|
end
|
103
110
|
|
104
|
-
def
|
105
|
-
|
111
|
+
def delete_cookies(headers)
|
112
|
+
cookies.each_key do |key|
|
113
|
+
cookie =
|
114
|
+
{
|
115
|
+
value: nil,
|
116
|
+
expires: expires,
|
117
|
+
domain: cookie_domain,
|
118
|
+
path: cookie_path
|
119
|
+
}
|
120
|
+
|
121
|
+
Rack::Utils.set_cookie_header!(headers, key, cookie)
|
122
|
+
end
|
123
|
+
end
|
106
124
|
|
107
|
-
|
125
|
+
def set_cookies(headers)
|
126
|
+
values.each do |key, value|
|
108
127
|
cookie =
|
109
128
|
{
|
110
129
|
value: value,
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rack_utm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ihatov08
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-11-
|
11
|
+
date: 2018-11-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|