Class: UserAgentParser

Inherits:
Object
  • Object
show all
Defined in:
app/my_lib/user_agent_parser.rb

Overview

typed: ignore

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(user_agent) ⇒ UserAgentParser

Returns a new instance of UserAgentParser.



6
7
8
# File 'app/my_lib/user_agent_parser.rb', line 6

def initialize(user_agent)
  @user_agent = user_agent.downcase
end

Instance Attribute Details

#user_agentObject (readonly)

Returns the value of attribute user_agent.



4
5
6
# File 'app/my_lib/user_agent_parser.rb', line 4

def user_agent
  @user_agent
end

Instance Method Details

#android?Boolean

Returns:

  • (Boolean)


20
21
22
# File 'app/my_lib/user_agent_parser.rb', line 20

def android?
  @_android ||= app? && @user_agent.match(/android/i).present?
end

#app?Boolean

Returns:

  • (Boolean)


28
29
30
# File 'app/my_lib/user_agent_parser.rb', line 28

def app?
  @_app ||= present? && @user_agent.match(/hh partner/i).present?
end

#ios?Boolean

Returns:

  • (Boolean)


24
25
26
# File 'app/my_lib/user_agent_parser.rb', line 24

def ios?
  @_ios ||= app? && @user_agent.match(/ios/i).present?
end

#platformObject



10
11
12
13
14
15
16
17
18
# File 'app/my_lib/user_agent_parser.rb', line 10

def platform
  if web?
    'website'
  elsif android?
    'android-app'
  elsif ios?
    'ios-app'
  end
end

#to_sObject



36
37
38
# File 'app/my_lib/user_agent_parser.rb', line 36

def to_s
  @user_agent
end

#web?Boolean

Returns:

  • (Boolean)


32
33
34
# File 'app/my_lib/user_agent_parser.rb', line 32

def web?
  @_web ||= present? && !app?
end