Sha256: 1f5b824592e398c6e9c4899ff13a663c65903c5111250a7a9130260c171d1d55

Contents?: true

Size: 1.41 KB

Versions: 11

Compression:

Stored size: 1.41 KB

Contents

# frozen_string_literal: true

require_dependency "renalware"

module Renalware
  class UserSessionPresenter
    # 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-login-path="/users/sign_in"
    #       data-session-polling-interval="60"
    #       data-session-timeout="3600">
    # rubocop:disable Metrics/MethodLength
    def self.session_controller_data_attributes
      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
    # rubocop:enable Metrics/MethodLength
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
renalware-core-2.1.1 app/presenters/renalware/user_session_presenter.rb
renalware-core-2.1.0 app/presenters/renalware/user_session_presenter.rb
renalware-core-2.0.167 app/presenters/renalware/user_session_presenter.rb
renalware-core-2.0.166 app/presenters/renalware/user_session_presenter.rb
renalware-core-2.0.165 app/presenters/renalware/user_session_presenter.rb
renalware-core-2.0.164 app/presenters/renalware/user_session_presenter.rb
renalware-core-2.0.163 app/presenters/renalware/user_session_presenter.rb
renalware-core-2.0.162 app/presenters/renalware/user_session_presenter.rb
renalware-core-2.0.161 app/presenters/renalware/user_session_presenter.rb
renalware-core-2.0.160 app/presenters/renalware/user_session_presenter.rb
renalware-core-2.0.159 app/presenters/renalware/user_session_presenter.rb