class UserAgent::Browsers::PodcastAddict

Podcast Addict - Dalvik/1.6.0 (Linux; U; Android 4.4.2; LG-D631 Build/KOT49I.D63110b) Podcast Addict - Dalvik/2.1.0 (Linux; U; Android 5.1; XT1093 Build/LPE23.32-21.3) Podcast Addict - Mozilla/5.0 (Linux; U; Android 4.2.2; en-us; ALCATEL ONE TOUCH Fierce Build/JDQ39) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.2 Mobile Safari/534.30 Podcast Addict - Mozilla/5.0 (Linux; U; Android 4.2.2; en-ca; ALCATEL ONE TOUCH 6040A Build/JDQ39) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.2 Mobile Safari/534.30 Podcast Addict - Dalvik/2.1.0 (Linux; U; Android M Build/MPZ79M)

Public Class Methods

extend?(agent) click to toggle source
# File lib/user_agent/browsers/podcast_addict.rb, line 9
def self.extend?(agent)
  agent.length >= 3 && agent[0].product == 'Podcast' && agent[1].product == 'Addict' && agent[2].product == '-'
end

Public Instance Methods

browser() click to toggle source
# File lib/user_agent/browsers/podcast_addict.rb, line 13
def browser
  'Podcast Addict'
end
device() click to toggle source

If we can figure out the device, return it.

@return [nil, String] the device model

# File lib/user_agent/browsers/podcast_addict.rb, line 20
def device
  return nil unless length >= 4
  return nil unless self[3].comment.last.include?(' Build/')

  self[3].comment.last.split(' Build/').first
end
device_build() click to toggle source

If we can figure out the device build, return it.

@return [nil, String] the device build

# File lib/user_agent/browsers/podcast_addict.rb, line 30
def device_build
  return nil unless length >= 4
  return nil unless self[3].comment.last.include?(' Build/')

  self[3].comment.last.split(' Build/').last
end
localization() click to toggle source

Returns the localization, if known. We currently only know this for certain devices.

@return [nil, String] the localization

# File lib/user_agent/browsers/podcast_addict.rb, line 40
def localization
  return nil unless length >= 4
  return nil unless self[3].comment.last.include?('ALCATEL ')
  return nil unless self[3].comment.length >= 5

  self[3].comment[3]
end
mobile?() click to toggle source

This is a mobile app, always return true.

@return [true]

# File lib/user_agent/browsers/podcast_addict.rb, line 51
def mobile?
  true
end
os() click to toggle source

Gets the operating system (some variant of Android, if we're certain that is the case)

@return [nil, String] the operating system

# File lib/user_agent/browsers/podcast_addict.rb, line 58
def os
  return nil unless length >= 4

  # comment[0] = 'Linux'
  # comment[1] = 'U'
  # comment[2] = 'Android x.y.z' except when there are only 3 tokens, then we don't know the version
  if (self[3].product == 'Dalvik' || self[3].product == 'Mozilla') && self[3].comment.length > 3
    self[3].comment[2]
  elsif (self[3].product == 'Dalvik' || self[3].product == 'Mozilla') && self[3].comment.length == 3
    'Android'
  else
    nil
  end
end
platform() click to toggle source

Gets the platform (Android, if we're certain)

@return [nil, “Android”] the platform

# File lib/user_agent/browsers/podcast_addict.rb, line 76
def platform
  if os.include?('Android')
    'Android'
  else
    nil
  end
end
security() click to toggle source

Get the security level reported

@return [:weak, :strong, :none] the security level

# File lib/user_agent/browsers/podcast_addict.rb, line 88
def security
  return nil unless length >= 4
  return nil unless self[3].product == 'Dalvik' || self[3].product == 'Mozilla'

  Security[self[3].comment[1]]
end
version() click to toggle source

We aren't provided with the version :(

@return [nil]

# File lib/user_agent/browsers/podcast_addict.rb, line 98
def version
  nil
end