Module: Rodauth::Rails::Feature::Base

Extended by:
ActiveSupport::Concern
Defined in:
lib/rodauth/rails/feature/base.rb

Instance Method Summary collapse

Instance Method Details

#clear_sessionObject

Reset Rails session to protect from session fixation attacks.



29
30
31
# File 'lib/rodauth/rails/feature/base.rb', line 29

def clear_session
  rails_controller_instance.reset_session
end

#flash_error_keyObject

Default the flash error key to Rails’ default :alert.



34
35
36
# File 'lib/rodauth/rails/feature/base.rb', line 34

def flash_error_key
  :alert
end

#rails_accountObject



15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/rodauth/rails/feature/base.rb', line 15

def 
  return unless  || logged_in?

   unless 

  unless 
    clear_session
    return
  end

  @rails_account ||= 
end

#rails_account_modelObject



51
52
53
54
55
56
57
# File 'lib/rodauth/rails/feature/base.rb', line 51

def 
  table = accounts_table
  table = table.column if table.is_a?(Sequel::SQL::QualifiedIdentifier) # schema is specified
  table.to_s.classify.constantize
rescue NameError
  raise Error, "cannot infer account model, please set `rails_account_model` in your rodauth configuration"
end

#rails_controllerObject



43
44
45
46
47
48
49
# File 'lib/rodauth/rails/feature/base.rb', line 43

def rails_controller
  if only_json? && Rodauth::Rails.api_only?
    ActionController::API
  else
    ActionController::Base
  end
end

#rails_controller_eval(&block) ⇒ Object

Evaluates the block in context of a Rodauth controller instance.



39
40
41
# File 'lib/rodauth/rails/feature/base.rb', line 39

def rails_controller_eval(&block)
  rails_controller_instance.instance_exec(&block)
end