Class: DeviceWizard::Resolvers::IOS

Inherits:
Base
  • Object
show all
Defined in:
lib/device_wizard/resolvers/ios.rb

Constant Summary collapse

NAME =
'IOS'
IPHONE =
'iphone'
IPAD =
'ipad'
IPOD =
'ipod'
REGEX =
Regexp.new('os ((\d+_?){2,3})\s')

Instance Method Summary collapse

Instance Method Details

#details_klassObject



38
39
40
# File 'lib/device_wizard/resolvers/ios.rb', line 38

def details_klass
  Details::OperatingSystem
end

#get_type(user_agent) ⇒ Object



17
18
19
20
21
22
23
24
# File 'lib/device_wizard/resolvers/ios.rb', line 17

def get_type(user_agent)
  user_agent.downcase!

  return 'IPod' if user_agent.include? IPOD
  return 'IPad' if user_agent.include? IPAD
  return 'IPhone' if user_agent.include? IPHONE
  return UNKNOWN
end

#get_version(user_agent) ⇒ Object



12
13
14
15
# File 'lib/device_wizard/resolvers/ios.rb', line 12

def get_version(user_agent)
  result = super(user_agent)
  result.gsub('_','.')
end

#identify(user_agent) ⇒ Object



26
27
28
29
30
31
32
33
34
35
36
# File 'lib/device_wizard/resolvers/ios.rb', line 26

def identify(user_agent)
  user_agent.downcase!

  return unless [IPHONE, IPAD, IPOD].any? { |i| user_agent.include? i }

  result = details_klass.new
  result.name = NAME
  result.type = get_type(user_agent)
  result.version = get_version(user_agent)
  return result
end