Module: Authlogic::Session::Existence::InstanceMethods

Defined in:
lib/authlogic/session/existence.rb

Instance Method Summary collapse

Instance Method Details

#destroyObject

Clears all errors and the associated record, you should call this terminate a session, thus requring the user to authenticate again if it is needed.



43
44
45
46
47
48
49
# File 'lib/authlogic/session/existence.rb', line 43

def destroy
  before_destroy
  errors.clear
  @record = nil
  after_destroy
  true
end

#new_session?Boolean

Returns true if the session has not been saved yet.

Returns:

  • (Boolean)


52
53
54
# File 'lib/authlogic/session/existence.rb', line 52

def new_session?
  new_session != false
end

#save {|result| ... } ⇒ Object

After you have specified all of the details for your session you can try to save it. This will run validation checks and find the associated record, if all validation passes. If validation does not pass, the save will fail and the erorrs will be stored in the errors object.

Yields:

  • (result)


59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# File 'lib/authlogic/session/existence.rb', line 59

def save(&block)
  result = nil
  if valid?
    self.record = attempted_record

    before_save
    new_session? ? before_create : before_update
    new_session? ? after_create : after_update
    after_save

    save_record
    self.new_session = false
    result = true
  else
    result = false
  end

  yield result if block_given?
  result
end

#save!Object

Same as save but raises an exception of validation errors when validation fails



81
82
83
84
85
# File 'lib/authlogic/session/existence.rb', line 81

def save!
  result = save
  raise SessionInvalidError.new(self) unless result
  result
end