Class: Yus::EntitySession

Inherits:
Session
  • Object
show all
Defined in:
lib/yus/session.rb

Direct Known Subclasses

TokenSession

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

EntitySession

Returns:

  • (Boolean)


294
295
296
297
298
# File 'lib/yus/session.rb', line 294

def allowed?(*args)  # EntitySession
  res = @user.allowed?(*args)
  debug("#{@user.name} allowed?(#{args.join(', ')}) returns #{res}")
  res
end

#generate_tokenObject



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

#nameObject



299
300
301
# File 'lib/yus/session.rb', line 299

def name
  @user.name
end

#pingObject



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

Returns:

  • (Boolean)


329
330
331
# File 'lib/yus/session.rb', line 329

def valid?
  @user.valid?
end