Class: Renalware::UserSessionPresenter

Inherits:
Object
  • Object
show all
Defined in:
app/presenters/renalware/user_session_presenter.rb

Class Method Summary collapse

Class Method Details

.session_controller_data_attributesObject

Returns a hash to be splatted into the body attributes in a layout e.g. application.html.slim e.g.

body(class="..." *Renalware::UserSessionPresenter.session_controller_data_attributes)

renders:

<body class=“…”

data-controller="session"
data-session-check-alive-path="/check_session_expired"
data-session-debug="true"
data-session-keep-alive-path="/keep_session_alive"
data-session--path="/users/sign_in"
data-session-polling-interval="60"
data-session-timeout="3600">

rubocop:disable Metrics/MethodLength



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'app/presenters/renalware/user_session_presenter.rb', line 23

def self.session_controller_data_attributes
  return {} if Renalware.config.session_expiry_use_previous_mechansim

  urls = Renalware::Engine.routes.url_helpers
  {
    data: {
      controller: "session",
      session: {
        "login-path": urls.new_user_session_path,
        "check-alive-path": urls.check_session_expired_path,
        "keep-alive-path": urls.keep_session_alive_path,
        debug: Rails.env.development?.to_s, # eg "true" or "false"
        "register-user-activity-after":
          Renalware.config.session_register_user_user_activity_after.to_i,
        timeout: ::Devise.timeout_in
      }
    }
  }
end