user_agent_parser 2.1.4 → 2.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/vendor/ua-parser/regexes.yaml +143 -50
  3. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 63fba72411cd6f5a6abb1a1fc066479f60b50d14
4
- data.tar.gz: a169357b37a9dbe604c73cd1e10414324c139b4a
3
+ metadata.gz: 80f68759d3f70ad50acdc09e5d68214172cac287
4
+ data.tar.gz: 3d55b8c54039e2931b0d36dca2ba82333cec730b
5
5
  SHA512:
6
- metadata.gz: c4de6f103556c10c73080d12f6fda1db551a7a0b487a5ba0812fd11bac9db7b6c9773e57458843d2ce151c1717377eea1567bde79143f6f146b673eda29ef8da
7
- data.tar.gz: dac63ba14206459b3ed336586c9b1a7a330b54b6be76297704f0313c240a699c591ed1f6ba854c2cd0db613b6479d8435f7c0c2d22b54fc5d6138cde2e6d3a8e
6
+ metadata.gz: fb24b29ea2f06c2a48e3593e26e00ed5d7805b8c485081742b902a260500bbd5b18b015a5faa8851d6b184c005735700bc5ba46d6a7394d4f0d29ed2a87aa5ae
7
+ data.tar.gz: e5fbf51ff61e036548f607d33050ff2862a31f1066c9fe8cdfe995db32fe77971e2543f06a71a610699260f0e1d566b09a4d9953ea7cff2be161cdd0913b7c65
@@ -60,10 +60,13 @@ user_agent_parsers:
60
60
  - regex: '(Opera Tablet).*Version/(\d+)\.(\d+)(?:\.(\d+))?'
61
61
  - regex: '(Opera)/.+Opera Mobi.+Version/(\d+)\.(\d+)'
62
62
  family_replacement: 'Opera Mobile'
63
+ - regex: '(Opera)/(\d+)\.(\d+).+Opera Mobi'
64
+ family_replacement: 'Opera Mobile'
65
+ - regex: 'Opera Mobi.+(Opera)/(\d+)\.(\d+)'
66
+ family_replacement: 'Opera Mobile'
63
67
  - regex: 'Opera Mobi'
64
68
  family_replacement: 'Opera Mobile'
65
- - regex: '(Opera Mini)/(\d+)\.(\d+)'
66
- - regex: '(Opera Mini)/att/(\d+)\.(\d+)'
69
+ - regex: '(Opera Mini)(?:/att)?/(\d+)\.(\d+)'
67
70
  - regex: '(Opera)/9.80.*Version/(\d+)\.(\d+)(?:\.(\d+))?'
68
71
 
69
72
  # Opera 14 for Android uses a WebKit render engine.
@@ -82,7 +85,7 @@ user_agent_parsers:
82
85
  # http://luakit.org/projects/luakit/
83
86
  - regex: '(luakit)'
84
87
  family_replacement: 'LuaKit'
85
-
88
+
86
89
  # Snowshoe
87
90
  - regex: '(Snowshoe)/(\d+)\.(\d+).(\d+)'
88
91
 
@@ -156,6 +159,14 @@ user_agent_parsers:
156
159
  - regex: '(FlyFlow)/(\d+)\.(\d+)'
157
160
  family_replacement: 'Baidu Explorer'
158
161
 
162
+ # QQ Browsers
163
+ - regex: '(MQQBrowser/Mini)(?:(\d+)(?:\.(\d+)(?:\.(\d+))?)?)?'
164
+ family_replacement: 'QQ Browser Mini'
165
+ - regex: '(MQQBrowser)(?:/(\d+)(?:\.(\d+)(?:\.(\d+))?)?)?'
166
+ family_replacement: 'QQ Browser Mobile'
167
+ - regex: '(QQBrowser)(?:/(\d+)(?:\.(\d+)\.(\d+)(?:\.(\d+))?)?)?'
168
+ family_replacement: 'QQ Browser'
169
+
159
170
  # Pingdom
160
171
  - regex: '(Pingdom.com_bot_version_)(\d+)\.(\d+)'
161
172
  family_replacement: 'PingdomBot'
@@ -172,6 +183,10 @@ user_agent_parsers:
172
183
  - regex: '(Twitterbot)/(\d+)\.(\d+)'
173
184
  family_replacement: 'TwitterBot'
174
185
 
186
+ # Google Plus
187
+ - regex: 'Google.*/\+/web/snippet'
188
+ family_replacement: 'GooglePlusBot'
189
+
175
190
  # Rackspace Monitoring
176
191
  - regex: '(Rackspace Monitoring)/(\d+)\.(\d+)'
177
192
  family_replacement: 'RackspaceBot'
@@ -190,15 +205,12 @@ user_agent_parsers:
190
205
  # AOL Browser (IE-based)
191
206
  - regex: '(AOL) (\d+)\.(\d+); AOLBuild (\d+)'
192
207
 
193
-
194
-
195
-
196
208
  #### END SPECIAL CASES TOP ####
197
209
 
198
210
  #### MAIN CASES - this catches > 50% of all browsers ####
199
211
 
200
212
  # Browser/major_version.minor_version.beta_version
201
- - regex: '(AdobeAIR|FireWeb|Jasmine|ANTGalio|Midori|Fresco|Lobo|PaleMoon|Maxthon|Lynx|OmniWeb|Dillo|Camino|Demeter|Fluid|Fennec|Epiphany|Shiira|Sunrise|Flock|Netscape|Lunascape|WebPilot|Vodafone|NetFront|Netfront|Konqueror|SeaMonkey|Kazehakase|Vienna|Iceape|Iceweasel|IceWeasel|Iron|K-Meleon|Sleipnir|Galeon|GranParadiso|Opera Mini|iCab|NetNewsWire|ThunderBrowse|Iris|UP\.Browser|Bunjalloo|Google Earth|Raven for Mac|Openwave)/(\d+)\.(\d+)\.(\d+)'
213
+ - regex: '(AdobeAIR|FireWeb|Jasmine|ANTGalio|Midori|Fresco|Lobo|PaleMoon|Maxthon|Lynx|OmniWeb|Dillo|Camino|Demeter|Fluid|Fennec|Epiphany|Shiira|Sunrise|Flock|Netscape|Lunascape|WebPilot|NetFront|Netfront|Konqueror|SeaMonkey|Kazehakase|Vienna|Iceape|Iceweasel|IceWeasel|Iron|K-Meleon|Sleipnir|Galeon|GranParadiso|Opera Mini|iCab|NetNewsWire|ThunderBrowse|Iris|UP\.Browser|Bunjalloo|Google Earth|Raven for Mac|Openwave)/(\d+)\.(\d+)\.(\d+)'
202
214
 
203
215
  # Outlook 2007
204
216
  - regex: 'MSOffice 12'
@@ -225,8 +237,12 @@ user_agent_parsers:
225
237
  # Chrome/Chromium/major_version.minor_version.beta_version
226
238
  - regex: '(Chromium|Chrome)/(\d+)\.(\d+)\.(\d+)'
227
239
 
240
+ # Dolphin Browser
241
+ # @ref: http://www.dolphin.com
242
+ - regex: '\b(Dolphin)(?: |HDCN/|/INT\-)(\d+)\.(\d+)\.?(\d+)?'
243
+
228
244
  # Browser/major_version.minor_version
229
- - regex: '(bingbot|Bolt|Jasmine|IceCat|Skyfire|Midori|Maxthon|Lynx|Arora|IBrowse|Dillo|Camino|Shiira|Fennec|Phoenix|Chrome|Flock|Netscape|Lunascape|Epiphany|WebPilot|Opera Mini|Opera|Vodafone|NetFront|Netfront|Konqueror|Googlebot|SeaMonkey|Kazehakase|Vienna|Iceape|Iceweasel|IceWeasel|Iron|K-Meleon|Sleipnir|Galeon|GranParadiso|iCab|NetNewsWire|Space Bison|Stainless|Orca|Dolfin|BOLT|Minimo|Tizen Browser|Polaris|Abrowser|Planetweb|ICE Browser)/(\d+)\.(\d+)'
245
+ - regex: '(bingbot|Bolt|Jasmine|IceCat|Skyfire|Midori|Maxthon|Lynx|Arora|IBrowse|Dillo|Camino|Shiira|Fennec|Phoenix|Chrome|Flock|Netscape|Lunascape|Epiphany|WebPilot|Opera Mini|Opera|NetFront|Netfront|Konqueror|Googlebot|SeaMonkey|Kazehakase|Vienna|Iceape|Iceweasel|IceWeasel|Iron|K-Meleon|Sleipnir|Galeon|GranParadiso|iCab|NetNewsWire|Space Bison|Stainless|Orca|Dolfin|BOLT|Minimo|Tizen Browser|Polaris|Abrowser|Planetweb|ICE Browser|mDolphin)/(\d+)\.(\d+)\.?(\d+)?'
230
246
 
231
247
  # Chrome/Chromium/major_version.minor_version
232
248
  - regex: '(Chromium|Chrome)/(\d+)\.(\d+)'
@@ -235,10 +251,10 @@ user_agent_parsers:
235
251
  - regex: '(iRider|Crazy Browser|SkipStone|iCab|Lunascape|Sleipnir|Maemo Browser) (\d+)\.(\d+)\.(\d+)'
236
252
  # Browser major_version.minor_version (space instead of slash)
237
253
  - regex: '(iCab|Lunascape|Opera|Android|Jasmine|Polaris) (\d+)\.(\d+)\.?(\d+)?'
238
-
254
+
239
255
  # Kindle WebKit
240
256
  - regex: '(Kindle)/(\d+)\.(\d+)'
241
-
257
+
242
258
  # weird android UAs
243
259
  - regex: '(Android) Donut'
244
260
  v1_replacement: '1'
@@ -308,8 +324,9 @@ user_agent_parsers:
308
324
  - regex: '(BonEcho)/(\d+)\.(\d+)\.(\d+)'
309
325
  family_replacement: 'Bon Echo'
310
326
 
311
- - regex: 'M?QQBrowser'
312
- family_replacement: 'QQ Browser'
327
+ # @note: iOS / OSX Applications
328
+ - regex: '(CFNetwork)(?:/(\d+)\.(\d+)\.?(\d+)?)?'
329
+ family_replacement: 'CFNetwork'
313
330
 
314
331
  - regex: '(iPod).+Version/(\d+)\.(\d+)\.(\d+)'
315
332
  family_replacement: 'Mobile Safari'
@@ -340,8 +357,10 @@ user_agent_parsers:
340
357
  - regex: '(QtCarBrowser)'
341
358
  v1_replacement: '1'
342
359
 
343
- - regex: '(iBrowser/Mini)(\d+).(\d+)'
360
+ - regex: '^(iBrowser/Mini)(\d+).(\d+)'
344
361
  family_replacement: 'iBrowser Mini'
362
+ - regex: '^(iBrowser|iRAPP)/(\d+).(\d+)'
363
+
345
364
  # nokia browsers
346
365
  # based on: http://www.developer.nokia.com/Community/Wiki/User-Agent_headers_for_Nokia_devices
347
366
  - regex: '^(Nokia)'
@@ -506,8 +525,7 @@ os_parsers:
506
525
  # Android
507
526
  # can actually detect rooted android os. do we care?
508
527
  ##########
509
- - regex: '(Android) (\d+)\.(\d+)(?:[.\-]([a-z0-9]+))?'
510
- - regex: '(Android)\-(\d+)\.(\d+)(?:[.\-]([a-z0-9]+))?'
528
+ - regex: '(Android)[ \-/](\d+)\.(\d+)(?:[.\-]([a-z0-9]+))?'
511
529
 
512
530
  - regex: '(Android) Donut'
513
531
  os_v1_replacement: '1'
@@ -528,6 +546,17 @@ os_parsers:
528
546
  - regex: '(Android) Honeycomb'
529
547
  os_v1_replacement: '3'
530
548
 
549
+ # UCWEB
550
+ - regex: '^UCWEB.*; (Adr) (\d+)\.(\d+)(?:[.\-]([a-z0-9]+))?;'
551
+ os_replacement: 'Android'
552
+ - regex: '^UCWEB.*; (iPad OS|iPh OS) (\d+)_(\d+)(?:_(\d+))?;'
553
+ os_replacement: 'iOS'
554
+ - regex: '^UCWEB.*; (wds) (\d+)\.(\d+)(?:\.(\d+))?;'
555
+ os_replacement: 'Windows Phone'
556
+ # JUC
557
+ - regex: '^(JUC).*; ?U; ?(?:Android)?(\d+)\.(\d+)(?:[\.\-]([a-z0-9]+))?'
558
+ os_replacement: 'Android'
559
+
531
560
  ##########
532
561
  # Kindle Android
533
562
  ##########
@@ -543,14 +572,19 @@ os_parsers:
543
572
  # (very) roughly ordered in terms of frequency of occurence of regex (win xp currently most frequent, etc)
544
573
  ##########
545
574
 
546
- - regex: '(Windows (?:NT 5\.2|NT 5\.1))'
547
- os_replacement: 'Windows XP'
548
-
549
- # ie mobile des ktop mode
575
+ # ie mobile desktop mode
550
576
  # spoofs nt 6.1. must come before windows 7
551
577
  - regex: '(XBLWP7)'
552
578
  os_replacement: 'Windows Phone'
553
579
 
580
+ # @note: These need to come before Windows NT 6.1
581
+ - regex: '(Windows Phone) (?:OS[ /])?(\d+)\.(\d+)'
582
+ - regex: '(Windows ?Mobile)'
583
+ os_replacement: 'Windows Mobile'
584
+
585
+ - regex: '(Windows (?:NT 5\.2|NT 5\.1))'
586
+ os_replacement: 'Windows XP'
587
+
554
588
  - regex: '(Windows NT 6\.1)'
555
589
  os_replacement: 'Windows 7'
556
590
 
@@ -558,30 +592,37 @@ os_parsers:
558
592
  os_replacement: 'Windows Vista'
559
593
 
560
594
  - regex: '(Win 9x 4\.90)'
561
- os_replacement: 'Windows Me'
595
+ os_replacement: 'Windows ME'
562
596
 
563
597
  - regex: '(Windows 98|Windows XP|Windows ME|Windows 95|Windows CE|Windows 7|Windows NT 4\.0|Windows Vista|Windows 2000|Windows 3.1)'
564
598
 
565
599
  - regex: '(Windows NT 6\.2; ARM;)'
566
600
  os_replacement: 'Windows RT'
567
-
568
- # is this a spoof or is nt 6.2 out and about in some capacity?
569
601
  - regex: '(Windows NT 6\.2)'
570
602
  os_replacement: 'Windows 8'
571
603
 
604
+ - regex: '(Windows NT 6\.3; ARM;)'
605
+ os_replacement: 'Windows RT 8.1'
606
+ - regex: '(Windows NT 6\.3)'
607
+ os_replacement: 'Windows 8.1'
608
+
572
609
  - regex: '(Windows NT 5\.0)'
573
610
  os_replacement: 'Windows 2000'
574
611
 
575
- - regex: '(Windows Phone) (\d+)\.(\d+)'
576
- - regex: '(Windows Phone) OS (\d+)\.(\d+)'
577
- - regex: '(Windows ?Mobile)'
578
- os_replacement: 'Windows Mobile'
579
-
580
612
  - regex: '(WinNT4.0)'
581
613
  os_replacement: 'Windows NT 4.0'
582
614
 
583
- - regex: '(Win98)'
584
- os_replacement: 'Windows 98'
615
+ - regex: '(Windows ?CE)'
616
+ os_replacement: 'Windows CE'
617
+
618
+ - regex: 'Win ?(95|98|3.1|NT|ME|2000)'
619
+ os_replacement: 'Windows $1'
620
+
621
+ - regex: 'Win16'
622
+ os_replacement: 'Windows 3.1'
623
+
624
+ - regex: 'Win32'
625
+ os_replacement: 'Windows 95'
585
626
 
586
627
  ##########
587
628
  # Tizen OS from Samsung
@@ -591,10 +632,36 @@ os_parsers:
591
632
 
592
633
  ##########
593
634
  # Mac OS
594
- # http://en.wikipedia.org/wiki/Mac_OS_X#Versions
635
+ # @ref: http://en.wikipedia.org/wiki/Mac_OS_X#Versions
636
+ # @ref: http://www.puredarwin.org/curious/versions
595
637
  ##########
596
638
  - regex: '(Mac OS X) (\d+)[_.](\d+)(?:[_.](\d+))?'
597
-
639
+ # Leopard
640
+ - regex: ' (Dar)(win)/(9).(\d+).*\((?:i386|x86_64|Power Macintosh)\)'
641
+ os_replacement: 'Mac OS X'
642
+ os_v1_replacement: '10'
643
+ os_v2_replacement: '5'
644
+ # Snow Leopard
645
+ - regex: ' (Dar)(win)/(10).(\d+).*\((?:i386|x86_64)\)'
646
+ os_replacement: 'Mac OS X'
647
+ os_v1_replacement: '10'
648
+ os_v2_replacement: '6'
649
+ # Lion
650
+ - regex: ' (Dar)(win)/(11).(\d+).*\((?:i386|x86_64)\)'
651
+ os_replacement: 'Mac OS X'
652
+ os_v1_replacement: '10'
653
+ os_v2_replacement: '7'
654
+ # Mountain Lion
655
+ - regex: ' (Dar)(win)/(12).(\d+).*\((?:i386|x86_64)\)'
656
+ os_replacement: 'Mac OS X'
657
+ os_v1_replacement: '10'
658
+ os_v2_replacement: '8'
659
+ # Mavericks
660
+ - regex: ' (Dar)(win)/(13).(\d+).*\((?:i386|x86_64)\)'
661
+ os_replacement: 'Mac OS X'
662
+ os_v1_replacement: '10'
663
+ os_v2_replacement: '9'
664
+
598
665
  # IE on Mac doesn't specify version number
599
666
  - regex: 'Mac_PowerPC'
600
667
  os_replacement: 'Mac OS'
@@ -608,7 +675,7 @@ os_parsers:
608
675
  # iOS
609
676
  # http://en.wikipedia.org/wiki/IOS_version_history
610
677
  ##########
611
- - regex: '(CPU OS|iPhone OS) (\d+)_(\d+)(?:_(\d+))?'
678
+ - regex: '(CPU OS|iPhone OS|CPU iPhone) +(\d+)[_\.](\d+)(?:[_\.](\d+))?'
612
679
  os_replacement: 'iOS'
613
680
 
614
681
  # remaining cases are mostly only opera uas, so catch opera as to not catch iphone spoofs
@@ -622,6 +689,29 @@ os_parsers:
622
689
  - regex: '(AppleTV)/(\d+)\.(\d+)'
623
690
  os_replacement: 'ATV OS X'
624
691
 
692
+ ##########
693
+ # CFNetwork iOS Apps
694
+ # @ref: https://en.wikipedia.org/wiki/Darwin_(operating_system)#Release_history
695
+ ##########
696
+ - regex: 'CFNetwork/.* Darwin/(9)\.\d+'
697
+ os_replacement: 'iOS'
698
+ os_v1_replacement: '1'
699
+ - regex: 'CFNetwork/.* Darwin/(10)\.\d+'
700
+ os_replacement: 'iOS'
701
+ os_v1_replacement: '4'
702
+ - regex: 'CFNetwork/.* Darwin/(11)\.\d+'
703
+ os_replacement: 'iOS'
704
+ os_v1_replacement: '5'
705
+ - regex: 'CFNetwork/.* Darwin/(13)\.\d+'
706
+ os_replacement: 'iOS'
707
+ os_v1_replacement: '6'
708
+ - regex: 'CFNetwork/.* Darwin/(14)\.\d+'
709
+ os_replacement: 'iOS'
710
+ os_v1_replacement: '7'
711
+ # iOS Apps
712
+ - regex: '\b(iOS[ /]|iPhone(?:/| v|[ _]OS[/,]|; | OS : |\d,\d/|\d,\d; )|iPad/)(\d{1,2})[_\.](\d{1,2})(?:[_\.](\d+))?'
713
+ os_replacement: 'iOS'
714
+
625
715
  ##########
626
716
  # Chrome OS
627
717
  # if version 0.0.0, probably this stuff:
@@ -643,7 +733,7 @@ os_parsers:
643
733
  # Symbian + Symbian OS
644
734
  # http://en.wikipedia.org/wiki/History_of_Symbian
645
735
  ##########
646
- - regex: '(Symbian[Oo][Ss])/(\d+)\.(\d+)'
736
+ - regex: '(Symbian[Oo][Ss])[/ ](\d+)\.(\d+)'
647
737
  os_replacement: 'Symbian OS'
648
738
  - regex: '(Symbian/3).+NokiaBrowser/7\.3'
649
739
  os_replacement: 'Symbian^3 Anna'
@@ -651,13 +741,15 @@ os_parsers:
651
741
  os_replacement: 'Symbian^3 Belle'
652
742
  - regex: '(Symbian/3)'
653
743
  os_replacement: 'Symbian^3'
654
- - regex: '(Series 60|SymbOS|S60)'
744
+ - regex: '\b(Series 60|SymbOS|S60Version|S60V\d|S60\b)'
655
745
  os_replacement: 'Symbian OS'
656
746
  - regex: '(MeeGo)'
657
747
  - regex: 'Symbian [Oo][Ss]'
658
748
  os_replacement: 'Symbian OS'
659
749
  - regex: 'Series40;'
660
750
  os_replacement: 'Nokia Series 40'
751
+ - regex: 'Series30Plus;'
752
+ os_replacement: 'Nokia Series 30 Plus'
661
753
 
662
754
  ##########
663
755
  # BlackBerry devices
@@ -695,12 +787,10 @@ os_parsers:
695
787
  ##########
696
788
  # Google TV
697
789
  ##########
698
- - regex: '(GoogleTV) (\d+)\.(\d+)\.(\d+)'
699
- # Old style
700
- - regex: '(GoogleTV)/[\da-z]+'
790
+ - regex: '(GoogleTV)(?: (\d+)\.(\d+)(?:\.(\d+))?|/[\da-z]+)'
701
791
 
702
792
  - regex: '(WebTV)/(\d+).(\d+)'
703
-
793
+
704
794
  ##########
705
795
  # Misc mobile
706
796
  ##########
@@ -712,20 +802,20 @@ os_parsers:
712
802
  # Generic patterns
713
803
  # since the majority of os cases are very specific, these go last
714
804
  ##########
715
- # first.second.third.fourth bits
716
- - regex: '(Fedora|Red Hat|PCLinuxOS)/(\d+)\.(\d+)\.(\d+)\.(\d+)'
805
+ - regex: '(Fedora|Red Hat|PCLinuxOS|Puppy|Ubuntu|Kindle|Bada|Lubuntu|BackTrack|Slackware|(?:Free|Open|Net|\b)BSD)[/ ](\d+)\.(\d+)(?:\.(\d+)(?:\.(\d+))?)?'
717
806
 
718
- # first.second.third bits
719
- - regex: '(Red Hat|Puppy|PCLinuxOS)/(\d+)\.(\d+)\.(\d+)'
807
+ # Gentoo Linux + Kernel Version
808
+ - regex: '(Linux)[ /](\d+)\.(\d+)(?:\.(\d+))?.*gentoo'
809
+ os_replacement: 'Gentoo'
720
810
 
721
- # first.second bits
722
- - regex: '(Ubuntu|Kindle|Bada|Lubuntu|BackTrack|Red Hat|Slackware)/(\d+)\.(\d+)'
811
+ # Opera Mini Bada
812
+ - regex: '\((Bada);'
723
813
 
724
814
  # just os
725
- - regex: '(Windows|OpenBSD|FreeBSD|NetBSD|Android|WeTab)'
726
- - regex: '(Ubuntu|Kubuntu|Arch Linux|CentOS|Slackware|Gentoo|openSUSE|SUSE|Red Hat|Fedora|PCLinuxOS|Gentoo|Mageia)'
727
- - regex: '(Linux)/(\d+)\.(\d+)'
728
- - regex: '(Linux|BSD)'
815
+ - regex: '(Windows|Android|WeTab|Maemo)'
816
+ - regex: '(Ubuntu|Kubuntu|Arch Linux|CentOS|Slackware|Gentoo|openSUSE|SUSE|Red Hat|Fedora|PCLinuxOS|Gentoo|Mageia|(?:Free|Open|Net|\b)BSD)'
817
+ # Linux + Kernel Version
818
+ - regex: '(Linux)(?:[ /](\d+)\.(\d+)(?:\.(\d+))?)?'
729
819
  - regex: 'SunOS'
730
820
  os_replacement: 'Solaris'
731
821
 
@@ -896,7 +986,10 @@ device_parsers:
896
986
 
897
987
  - regex: 'Googlebot-Mobile/(\d+).(\d+)'
898
988
  device_replacement: 'Spider'
899
-
989
+
990
+ - regex: 'Googlebot/\d+.\d+'
991
+ device_replacement: 'Spider'
992
+
900
993
  ##########
901
994
  # complete but probably catches spoofs
902
995
  # iSTUFF
@@ -1115,6 +1208,6 @@ device_parsers:
1115
1208
  ##########
1116
1209
  # Spiders (this is hack...)
1117
1210
  ##########
1118
- - regex: '(bingbot|bot|borg|google(^tv)|yahoo|slurp|msnbot|msrbot|openbot|archiver|netresearch|lycos|scooter|altavista|teoma|gigabot|baiduspider|blitzbot|oegp|charlotte|furlbot|http%20client|polybot|htdig|ichiro|mogimogi|larbin|pompos|scrubby|searchsight|seekbot|semanticdiscovery|silk|snappy|speedy|spider|voila|vortex|voyager|zao|zeal|fast\-webcrawler|converacrawler|dataparksearch|findlinks|crawler)'
1211
+ - regex: '(bingbot|bot|borg|google(^tv)|yahoo|slurp|msnbot|msrbot|openbot|archiver|netresearch|lycos|scooter|altavista|teoma|gigabot|baiduspider|blitzbot|oegp|charlotte|furlbot|http%20client|polybot|htdig|ichiro|mogimogi|larbin|pompos|scrubby|searchsight|seekbot|semanticdiscovery|silk|snappy|speedy|spider|voila|vortex|voyager|zao|zeal|fast\-webcrawler|converacrawler|dataparksearch|findlinks|crawler|Netvibes|Sogou Pic Spider|ICC\-Crawler|Innovazion Crawler)'
1119
1212
  device_replacement: 'Spider'
1120
1213
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: user_agent_parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.4
4
+ version: 2.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tim Lucas
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-13 00:00:00.000000000 Z
11
+ date: 2014-05-08 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: A simple, comprehensive Ruby gem for parsing user agent strings with
14
14
  the help of BrowserScope's UA database
@@ -49,7 +49,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
49
49
  version: '0'
50
50
  requirements: []
51
51
  rubyforge_project:
52
- rubygems_version: 2.2.1
52
+ rubygems_version: 2.2.2
53
53
  signing_key:
54
54
  specification_version: 4
55
55
  summary: A simple, comprehensive Ruby gem for parsing user agent strings with the