Session also supports arrays
This commit is contained in:
parent
8c600cb26e
commit
a8e53fb94e
2 changed files with 34 additions and 1 deletions
|
@ -53,4 +53,37 @@ describe "Session" do
|
|||
Kemal::Sessions.prune!
|
||||
s.size.should eq(0)
|
||||
end
|
||||
|
||||
it "supports many types" do
|
||||
who = nil
|
||||
age = nil
|
||||
awesome = nil
|
||||
velocity = nil
|
||||
arr = nil
|
||||
get "/" do |env|
|
||||
sess = env.session
|
||||
who = sess["who"]?
|
||||
age = sess["age"]?
|
||||
velocity = sess["velocity"]?
|
||||
awesome = sess["awesome"]?
|
||||
arr = sess["arr"]?
|
||||
sess["who"] = "Kemal"
|
||||
sess["age"] = 2016
|
||||
sess["velocity"] = 9999.9
|
||||
sess["awesome"] = true
|
||||
sess["arr"] = [1, "Serdar", true, 90000.0]
|
||||
"Hello"
|
||||
end
|
||||
|
||||
request = HTTP::Request.new("GET", "/")
|
||||
response = call_request_on_app(request)
|
||||
request = HTTP::Request.new("GET", "/", response.headers)
|
||||
response = call_request_on_app(request)
|
||||
|
||||
who.should eq "Kemal"
|
||||
age.should eq 2016
|
||||
velocity.should eq 9999.9
|
||||
awesome.should eq true
|
||||
arr.should eq [1, "Serdar", true, 90000.0]
|
||||
end
|
||||
end
|
||||
|
|
|
@ -16,7 +16,7 @@ module Kemal
|
|||
# Sessions are pruned hourly after 48 hours of inactivity.
|
||||
class Sessions
|
||||
# Session Types are String, Integer, Float and Boolean
|
||||
alias SessionTypes = String | Int64 | Float64 | Bool
|
||||
alias SessionTypes = String | Int32 | Float64 | Bool | Array(String | Int32 | Float64 | Bool)
|
||||
|
||||
# In-memory, ephemeral datastore only.
|
||||
#
|
||||
|
|
Loading…
Reference in a new issue