device_detector 1.0.0 → 1.1.3

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 (89) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +58 -4
  3. data/README.md +57 -21
  4. data/lib/device_detector/bot.rb +2 -2
  5. data/lib/device_detector/browser.rb +691 -0
  6. data/lib/device_detector/client.rb +11 -2
  7. data/lib/device_detector/client_hint.rb +249 -0
  8. data/lib/device_detector/device.rb +1954 -23
  9. data/lib/device_detector/memory_cache.rb +26 -19
  10. data/lib/device_detector/metadata_extractor.rb +7 -8
  11. data/lib/device_detector/model_extractor.rb +3 -3
  12. data/lib/device_detector/name_extractor.rb +2 -2
  13. data/lib/device_detector/os.rb +289 -112
  14. data/lib/device_detector/parser.rb +49 -13
  15. data/lib/device_detector/vendor_fragment.rb +25 -0
  16. data/lib/device_detector/version.rb +3 -1
  17. data/lib/device_detector/version_extractor.rb +29 -2
  18. data/lib/device_detector.rb +192 -44
  19. data/regexes/bots.yml +3399 -91
  20. data/regexes/client/browser_engine.yml +28 -4
  21. data/regexes/client/browsers.yml +2697 -408
  22. data/regexes/client/feed_readers.yml +60 -22
  23. data/regexes/client/hints/apps.yml +150 -0
  24. data/regexes/client/hints/browsers.yml +292 -0
  25. data/regexes/client/libraries.yml +598 -4
  26. data/regexes/client/mediaplayers.yml +110 -5
  27. data/regexes/client/mobile_apps.yml +2451 -14
  28. data/regexes/client/pim.yml +128 -3
  29. data/regexes/device/cameras.yml +6 -6
  30. data/regexes/device/car_browsers.yml +39 -3
  31. data/regexes/device/consoles.yml +40 -6
  32. data/regexes/device/mobiles.yml +38844 -2907
  33. data/regexes/device/notebooks.yml +127 -0
  34. data/regexes/device/portable_media_player.yml +75 -12
  35. data/regexes/device/shell_tv.yml +145 -0
  36. data/regexes/device/televisions.yml +981 -40
  37. data/regexes/oss.yml +1560 -311
  38. data/regexes/vendorfragments.yml +6 -2
  39. metadata +31 -105
  40. data/.gitignore +0 -14
  41. data/.travis.yml +0 -18
  42. data/Gemfile +0 -8
  43. data/Rakefile +0 -79
  44. data/device_detector.gemspec +0 -26
  45. data/spec/device_detector/bot_fixtures_spec.rb +0 -30
  46. data/spec/device_detector/client_fixtures_spec.rb +0 -31
  47. data/spec/device_detector/concrete_user_agent_spec.rb +0 -136
  48. data/spec/device_detector/detector_fixtures_spec.rb +0 -60
  49. data/spec/device_detector/device_fixtures_spec.rb +0 -36
  50. data/spec/device_detector/device_spec.rb +0 -151
  51. data/spec/device_detector/memory_cache_spec.rb +0 -116
  52. data/spec/device_detector/model_extractor_spec.rb +0 -63
  53. data/spec/device_detector/os_fixtures_spec.rb +0 -26
  54. data/spec/device_detector/version_extractor_spec.rb +0 -80
  55. data/spec/device_detector_spec.rb +0 -198
  56. data/spec/fixtures/client/browser.yml +0 -1313
  57. data/spec/fixtures/client/feed_reader.yml +0 -187
  58. data/spec/fixtures/client/library.yml +0 -84
  59. data/spec/fixtures/client/mediaplayer.yml +0 -168
  60. data/spec/fixtures/client/mobile_app.yml +0 -30
  61. data/spec/fixtures/client/pim.yml +0 -96
  62. data/spec/fixtures/detector/bots.yml +0 -2418
  63. data/spec/fixtures/detector/camera.yml +0 -115
  64. data/spec/fixtures/detector/car_browser.yml +0 -20
  65. data/spec/fixtures/detector/console.yml +0 -267
  66. data/spec/fixtures/detector/desktop.yml +0 -4828
  67. data/spec/fixtures/detector/feature_phone.yml +0 -782
  68. data/spec/fixtures/detector/feed_reader.yml +0 -486
  69. data/spec/fixtures/detector/mediaplayer.yml +0 -179
  70. data/spec/fixtures/detector/mobile_apps.yml +0 -149
  71. data/spec/fixtures/detector/phablet.yml +0 -2140
  72. data/spec/fixtures/detector/portable_media_player.yml +0 -153
  73. data/spec/fixtures/detector/smart_display.yml +0 -58
  74. data/spec/fixtures/detector/smartphone-1.yml +0 -9469
  75. data/spec/fixtures/detector/smartphone-2.yml +0 -9414
  76. data/spec/fixtures/detector/smartphone-3.yml +0 -9396
  77. data/spec/fixtures/detector/smartphone-4.yml +0 -5742
  78. data/spec/fixtures/detector/smartphone.yml +0 -9411
  79. data/spec/fixtures/detector/tablet-1.yml +0 -9495
  80. data/spec/fixtures/detector/tablet-2.yml +0 -248
  81. data/spec/fixtures/detector/tablet.yml +0 -9484
  82. data/spec/fixtures/detector/tv.yml +0 -2582
  83. data/spec/fixtures/detector/unknown.yml +0 -3196
  84. data/spec/fixtures/device/camera.yml +0 -18
  85. data/spec/fixtures/device/car_browser.yml +0 -6
  86. data/spec/fixtures/device/console.yml +0 -78
  87. data/spec/fixtures/parser/oss.yml +0 -800
  88. data/spec/fixtures/parser/vendorfragments.yml +0 -162
  89. data/spec/spec_helper.rb +0 -9
@@ -1,149 +0,0 @@
1
- -
2
- user_agent: Pulse/4.0.5 (iPhone; iOS 7.0.6; Scale/2.00)
3
- os:
4
- name: iOS
5
- short_name: IOS
6
- version: "7.0.6"
7
- platform:
8
- client:
9
- type: mobile app
10
- name: Pulse
11
- version: "4.0.5"
12
- device:
13
- type: smartphone
14
- brand: AP
15
- model: iPhone
16
- os_family: iOS
17
- browser_family: Unknown
18
- -
19
- user_agent: WhatsApp/2.6.4 iPhone_OS/4.3.3 Device/iPhone_4
20
- os:
21
- name: iOS
22
- short_name: IOS
23
- version: "4.3.3"
24
- platform:
25
- client:
26
- type: mobile app
27
- name: WhatsApp
28
- version: "2.6.4"
29
- device:
30
- type: smartphone
31
- brand: AP
32
- model: iPhone
33
- os_family: iOS
34
- browser_family: Unknown
35
- -
36
- user_agent: AndroidDownloadManager/4.1.1 (Linux; U; Android 4.1.1; MB886 Build/9.8.0Q-97_MB886_FFW-20)
37
- os:
38
- name: Android
39
- short_name: AND
40
- version: "4.1.1"
41
- platform:
42
- client:
43
- type: mobile app
44
- name: AndroidDownloadManager
45
- version: "4.1.1"
46
- device:
47
- type: smartphone
48
- brand: MR
49
- model: MB886
50
- os_family: Android
51
- browser_family: Unknown
52
- -
53
- user_agent: com.google.android.youtube/2.4.4(Linux; U; Android 2.3.5; en_US; SCH-I500 Build/GINGERBREAD) gzip
54
- os:
55
- name: Android
56
- short_name: AND
57
- version: "2.3.5"
58
- platform:
59
- client:
60
- type: mobile app
61
- name: YouTube
62
- version: "2.4.4"
63
- device:
64
- type: smartphone
65
- brand: SA
66
- model: SCH-I500
67
- os_family: Android
68
- browser_family: Unknown
69
- -
70
- user_agent: NS/3.3.1 (Linux; U; Android 5.0.1; en-in; phone/Nexus 5 Build/LRX22C; Density/480; gzip) com.google.android.apps.magazines/2014102707
71
- os:
72
- name: Android
73
- short_name: AND
74
- version: "5.0.1"
75
- platform:
76
- client:
77
- type: mobile app
78
- name: Google Play Newsstand
79
- version:
80
- device:
81
- type: smartphone
82
- brand: GO
83
- model: Nexus 5
84
- os_family: Android
85
- browser_family: Unknown
86
- -
87
- user_agent: Mozilla/5.0 (iPad3,6; iPad; U; CPU OS 7_1 like Mac OS X; en_US) com.google.GooglePlus/33839 (KHTML, like Gecko) Mobile/P103AP (gzip)
88
- os:
89
- name: iOS
90
- short_name: IOS
91
- version: "7.1"
92
- platform:
93
- client:
94
- type: mobile app
95
- name: Google Plus
96
- version:
97
- device:
98
- type: tablet
99
- brand: AP
100
- model: iPad 4
101
- os_family: iOS
102
- browser_family: Unknown
103
- -
104
- user_agent: '[FBAN/FB4A;FBAV/26.0.0.22.16;FBBV/6590638;FBDM/{density=1.5,width=791,height=480};FBLC/en_US;FBCR/SmarTone HK;FBMF/Sony;FBBD/Sony;FBPN/com.facebook.katana;FBDV/C1905;FBSV/4.1.2;FBOP/19;FBCA/armeabi-v7a:armeabi;]'
105
- os: [ ]
106
- client:
107
- type: mobile app
108
- name: Facebook
109
- version: "26.0.0.22.16"
110
- device:
111
- type: smartphone
112
- brand: SO
113
- model: Xperia M
114
- os_family: Unknown
115
- browser_family: Unknown
116
- -
117
- user_agent: Mozilla/5.0 (iPhone; CPU iPhone OS 8_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12D508 Safari Line/5.9.5
118
- os:
119
- name: iOS
120
- short_name: IOS
121
- version: "8.2"
122
- platform:
123
- client:
124
- type: mobile app
125
- name: Line
126
- version: "5.9.5"
127
- device:
128
- type: smartphone
129
- brand: AP
130
- model: iPhone
131
- os_family: iOS
132
- browser_family: Unknown
133
- -
134
- user_agent: Mozilla/5.0 (iPhone; CPU iPhone OS 9_2_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Mobile/13D15 Safari Line/5.10.0
135
- os:
136
- name: iOS
137
- short_name: IOS
138
- version: "9.2.1"
139
- platform:
140
- client:
141
- type: mobile app
142
- name: Line
143
- version: "5.10.0"
144
- device:
145
- type: smartphone
146
- brand: AP
147
- model: iPhone
148
- os_family: iOS
149
- browser_family: Unknown