log os
This commit is contained in:
@@ -26,6 +26,45 @@ module DetectBrowserDevice
|
||||
Silk
|
||||
/ix
|
||||
|
||||
WINDOWS_USER_AGENT_REGEXP = /
|
||||
Windows|
|
||||
Win64 |
|
||||
Win32 |
|
||||
WOW64
|
||||
/ix
|
||||
|
||||
ANDROID_USER_AGENT_REGEXP = /
|
||||
Android|
|
||||
Silk |
|
||||
Kindle
|
||||
/ix
|
||||
|
||||
IOS_USER_AGENT_REGEXP = /
|
||||
iPhone|
|
||||
iPad |
|
||||
iPod |
|
||||
iOS
|
||||
/ix
|
||||
|
||||
MACOS_USER_AGENT_REGEXP = /
|
||||
Macintosh |
|
||||
Mac\ OS\ X |
|
||||
MacIntel
|
||||
/ix
|
||||
|
||||
LINUX_USER_AGENT_REGEXP = /
|
||||
Linux |
|
||||
X11 |
|
||||
CrOS |
|
||||
Ubuntu |
|
||||
Fedora |
|
||||
FreeBSD|
|
||||
OpenBSD|
|
||||
NetBSD
|
||||
/ix
|
||||
|
||||
SDK_USER_AGENT_REGEXP = /\ADocuSeal (?<sdk>Ruby|Python|PHP|Java|C#|JS|Go|CLI) v/i
|
||||
|
||||
def call(user_agent)
|
||||
return if user_agent.blank?
|
||||
|
||||
@@ -34,4 +73,21 @@ module DetectBrowserDevice
|
||||
|
||||
'desktop'
|
||||
end
|
||||
|
||||
def os(user_agent)
|
||||
return if user_agent.blank?
|
||||
|
||||
sdk = user_agent[SDK_USER_AGENT_REGEXP, :sdk]
|
||||
|
||||
return sdk.downcase if sdk
|
||||
|
||||
case user_agent
|
||||
when WINDOWS_USER_AGENT_REGEXP then 'windows'
|
||||
when ANDROID_USER_AGENT_REGEXP then 'android'
|
||||
when IOS_USER_AGENT_REGEXP then 'ios'
|
||||
when MACOS_USER_AGENT_REGEXP then 'macos'
|
||||
when LINUX_USER_AGENT_REGEXP then 'linux'
|
||||
else 'other'
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user