1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
class CookieCalcService
def initialize
@client_id = 0
@value = {}
end
def set(value)
@value[get_client_id] = value
end
def get
@value[get_client_id]
end
def +(rhs)
get + rhs
end
def -(rhs)
get - rhs
end
def *(rhs)
get * rhs
end
def /(rhs)
get / rhs
end
private
def get_client_id
if cookie = SOAP::RPC::SOAPlet.cookies.find { |cookie| cookie.name == 'client_id' }
cookie.expires = Time.now + 3600
client_id = cookie.value
else
client_id = assign_new_client_id
cookie = WEBrick::Cookie.new('client_id', client_id)
cookie.expires = Time.now + 3600
SOAP::RPC::SOAPlet.cookies << cookie
end
p "assined client id: #{client_id}"
client_id
end
def assign_new_client_id
@client_id += 1
@client_id.to_s
end
end
|