Class: UserAgent::Browsers::PodcastAddict
- Defined in:
- lib/user_agent/browsers/podcast_addict.rb
Overview
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)
Class Method Summary collapse
Instance Method Summary collapse
- #browser ⇒ Object
-
#device ⇒ nil, String
If we can figure out the device, return it.
-
#device_build ⇒ nil, String
If we can figure out the device build, return it.
-
#localization ⇒ nil, String
Returns the localization, if known.
-
#mobile? ⇒ true
This is a mobile app, always return true.
-
#os ⇒ nil, String
Gets the operating system (some variant of Android, if we’re certain that is the case).
-
#platform ⇒ nil, "Android"
Gets the platform (Android, if we’re certain).
-
#security ⇒ :weak, ...
Get the security level reported.
-
#version ⇒ nil
We aren’t provided with the version :(.
Methods inherited from Base
#<=>, #application, #bot?, #eql?, #method_missing, #respond_to?, #to_h, #to_s, #to_str
Methods included from Comparable
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class UserAgent::Browsers::Base
Class Method Details
.extend?(agent) ⇒ Boolean
9 10 11 |
# 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 |
Instance Method Details
#browser ⇒ Object
13 14 15 |
# File 'lib/user_agent/browsers/podcast_addict.rb', line 13 def browser 'Podcast Addict' end |
#device ⇒ nil, String
If we can figure out the device, return it.
20 21 22 23 24 25 |
# 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 ⇒ nil, String
If we can figure out the device build, return it.
30 31 32 33 34 35 |
# 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 ⇒ nil, String
Returns the localization, if known. We currently only know this for certain devices.
40 41 42 43 44 45 46 |
# 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? ⇒ true
This is a mobile app, always return true.
51 52 53 |
# File 'lib/user_agent/browsers/podcast_addict.rb', line 51 def mobile? true end |
#os ⇒ nil, String
Gets the operating system (some variant of Android, if we’re certain that is the case)
58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# 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 ⇒ nil, "Android"
Gets the platform (Android, if we’re certain)
76 77 78 79 80 81 82 |
# File 'lib/user_agent/browsers/podcast_addict.rb', line 76 def platform if os.include?('Android') 'Android' else nil end end |
#security ⇒ :weak, ...
Get the security level reported
88 89 90 91 92 93 |
# 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 ⇒ nil
We aren’t provided with the version :(
98 99 100 |
# File 'lib/user_agent/browsers/podcast_addict.rb', line 98 def version nil end |