Class: StandardId::BrowserSession

Inherits:
Session show all
Defined in:
app/models/standard_id/browser_session.rb

Instance Attribute Summary

Attributes inherited from Session

#token

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Session

#active?, #expired?, #revoke!, #revoked?

Class Method Details

.expiryObject



5
6
7
# File 'app/models/standard_id/browser_session.rb', line 5

def self.expiry
  StandardId.config.session.browser_session_lifetime.seconds.from_now
end

.remember_me_expiryObject



9
10
11
# File 'app/models/standard_id/browser_session.rb', line 9

def self.remember_me_expiry
  StandardId.config.session.browser_session_remember_me_lifetime.seconds.from_now
end

Instance Method Details

#browser_infoObject



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'app/models/standard_id/browser_session.rb', line 13

def browser_info
  return {} if user_agent.blank?

  # Simple user agent parsing - in production you might want to use a gem like browser
  case user_agent
  when /Edge/i
    { browser: "Edge", type: "browser" }
  when /Chrome/i
    { browser: "Chrome", type: "browser" }
  when /Firefox/i
    { browser: "Firefox", type: "browser" }
  when /Safari/i
    { browser: "Safari", type: "browser" }
  else
    { browser: "Unknown", type: "browser" }
  end
end

#display_nameObject



31
32
33
# File 'app/models/standard_id/browser_session.rb', line 31

def display_name
  "#{browser_info[:browser]} Browser Session"
end