Class: Yus::EntitySession
Instance Method Summary
collapse
Methods inherited from Session
#affiliate, #create_entity, #delete_entity, #destroy!, #disaffiliate, #dump_to_yaml, #entities, #expired?, #find_entity, #grant, #last_login, #remove_token, #rename, #revoke, #set_entity_preference, #set_password
Constructor Details
#initialize(needle, user, domain) ⇒ EntitySession
Returns a new instance of EntitySession.
289
290
291
292
293
|
# File 'lib/yus/session.rb', line 289
def initialize(needle, user, domain)
@user = user
@domain = domain
super(needle)
end
|
Instance Method Details
#allowed?(*args) ⇒ Boolean
294
295
296
297
298
|
# File 'lib/yus/session.rb', line 294
def allowed?(*args) res = @user.allowed?(*args)
debug("#{@user.name} allowed?(#{args.join(', ')}) returns #{res}")
res
end
|
#generate_token ⇒ Object
302
303
304
305
306
307
308
|
# File 'lib/yus/session.rb', line 302
def generate_token
token = @needle.config.digest.hexdigest(rand(2**128).to_s)
expires = Time.now + @needle.config.token_lifetime.to_i * 24*60*60
@user.set_token token, expires
save @user
token
end
|
#get_preference(key) ⇒ Object
309
310
311
|
# File 'lib/yus/session.rb', line 309
def get_preference(key)
@user.get_preference(key, @domain)
end
|
#name ⇒ Object
299
300
301
|
# File 'lib/yus/session.rb', line 299
def name
@user.name
end
|
#ping ⇒ Object
312
313
314
|
# File 'lib/yus/session.rb', line 312
def ping
true
end
|
#set_preference(key, value) ⇒ Object
315
316
317
318
319
320
|
# File 'lib/yus/session.rb', line 315
def set_preference(key, value)
debug("set_preference(#{key}, #{value})")
@user.set_preference(key, value, @domain)
save(@user)
touch!
end
|
#set_preferences(hash) ⇒ Object
321
322
323
324
325
326
327
328
|
# File 'lib/yus/session.rb', line 321
def set_preferences(hash)
debug("set_preferences(#{hash.inspect}")
hash.each { |key, value|
@user.set_preference(key, value, @domain)
}
save(@user)
touch!
end
|
#valid? ⇒ Boolean
329
330
331
|
# File 'lib/yus/session.rb', line 329
def valid?
@user.valid?
end
|