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,153 +0,0 @@
1
- ---
2
- -
3
- user_agent: Mozilla/5.0 (iPod; U; CPU iPhone OS 4_2_1 like Mac OS X; ja-jp) AppleWebKit/533.17.9 (KHTML, like Gecko) Mobile/8C148
4
- os:
5
- name: iOS
6
- short_name: IOS
7
- version: "4.2.1"
8
- platform:
9
- client:
10
- type: browser
11
- name: Mobile Safari
12
- short_name: MF
13
- version:
14
- engine: WebKit
15
- device:
16
- type: portable media player
17
- brand: AP
18
- model: iPod Touch
19
- os_family: iOS
20
- browser_family: Safari
21
- -
22
- user_agent: Mozilla/5.0 (iPod; U; CPU iPhone OS 4_3_0 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Mobile/4B2086
23
- os:
24
- name: iOS
25
- short_name: IOS
26
- version: "4.3.0"
27
- platform:
28
- client:
29
- type: browser
30
- name: Mobile Safari
31
- short_name: MF
32
- version:
33
- engine: WebKit
34
- device:
35
- type: portable media player
36
- brand: AP
37
- model: iPod Touch
38
- os_family: iOS
39
- browser_family: Safari
40
- -
41
- user_agent: Mozilla/5.0 (Linux; U; Android 2.3; fr-fr; COWON D3 Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
42
- os:
43
- name: Android
44
- short_name: AND
45
- version: "2.3"
46
- platform:
47
- client:
48
- type: browser
49
- name: Android Browser
50
- short_name: AN
51
- version:
52
- engine: WebKit
53
- device:
54
- type: portable media player
55
- brand: CW
56
- model: D3
57
- os_family: Android
58
- browser_family: Android Browser
59
- -
60
- user_agent: Mozilla/5.0 (Linux; U; Android 2.3.5; fr-fr; COWON Z2 Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
61
- os:
62
- name: Android
63
- short_name: AND
64
- version: "2.3.5"
65
- platform:
66
- client:
67
- type: browser
68
- name: Android Browser
69
- short_name: AN
70
- version:
71
- engine: WebKit
72
- device:
73
- type: portable media player
74
- brand: CW
75
- model: Z2
76
- os_family: Android
77
- browser_family: Android Browser
78
- -
79
- user_agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 6.12; Microsoft ZuneHD 4.3)
80
- os:
81
- name: Windows CE
82
- short_name: WCE
83
- version:
84
- platform:
85
- client:
86
- type: browser
87
- name: IE Mobile
88
- short_name: IM
89
- version: "6.12"
90
- engine: Trident
91
- device:
92
- type: portable media player
93
- brand: MS
94
- model: Zune HD
95
- os_family: Windows Mobile
96
- browser_family: Internet Explorer
97
- -
98
- user_agent: Mozilla/5.0 (Linux; U; Android 2.1-update1; ja-jp; Panasonic SV-MV100 Build/ERE27) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17
99
- os:
100
- name: Android
101
- short_name: AND
102
- version: "2.1"
103
- platform:
104
- client:
105
- type: browser
106
- name: Android Browser
107
- short_name: AN
108
- version:
109
- engine: WebKit
110
- device:
111
- type: portable media player
112
- brand: PA
113
- model: SV-MV100
114
- os_family: Android
115
- browser_family: Android Browser
116
- -
117
- user_agent: Mozilla/5.0 (Linux; U; Android 2.3.6; ko-kr; YP-GB1 Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
118
- os:
119
- name: Android
120
- short_name: AND
121
- version: "2.3.6"
122
- platform:
123
- client:
124
- type: browser
125
- name: Android Browser
126
- short_name: AN
127
- version:
128
- engine: WebKit
129
- device:
130
- type: portable media player
131
- brand: SA
132
- model: Galaxy Player 4.0
133
- os_family: Android
134
- browser_family: Android Browser
135
- -
136
- user_agent: Mozilla/5.0 (Linux; U; Android 2.3.6; it-it; YP-GI1 Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
137
- os:
138
- name: Android
139
- short_name: AND
140
- version: "2.3.6"
141
- platform:
142
- client:
143
- type: browser
144
- name: Android Browser
145
- short_name: AN
146
- version:
147
- engine: WebKit
148
- device:
149
- type: portable media player
150
- brand: SA
151
- model: Galaxy Player 4.2
152
- os_family: Android
153
- browser_family: Android Browser
@@ -1,58 +0,0 @@
1
- ---
2
- -
3
- user_agent: Mozilla/5.0 (Linux; U; Android 4.0.4; fr-be; DA220HQL Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30
4
- os:
5
- name: Android
6
- short_name: AND
7
- version: "4.0.4"
8
- platform:
9
- client:
10
- type: browser
11
- name: Android Browser
12
- short_name: AN
13
- version:
14
- engine: WebKit
15
- device:
16
- type: smart display
17
- brand: AC
18
- model: DA220HQL
19
- os_family: Android
20
- browser_family: Android Browser
21
- -
22
- user_agent: Mozilla/5.0 (Linux; Android 4.2.1; DA241HL Build/JOP40D) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.114 Safari/537.36
23
- os:
24
- name: Android
25
- short_name: AND
26
- version: "4.2.1"
27
- platform:
28
- client:
29
- type: browser
30
- name: Chrome
31
- short_name: CH
32
- version: "34.0.1847.114"
33
- engine: Blink
34
- device:
35
- type: smart display
36
- brand: AC
37
- model: DA241HL
38
- os_family: Android
39
- browser_family: Chrome
40
- -
41
- user_agent: Mozilla/5.0 (Linux; U; Android 4.0.4; de-de; VSD220 Build/IMM76D.UI23ED12_VSC) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30
42
- os:
43
- name: Android
44
- short_name: AND
45
- version: "4.0.4"
46
- platform:
47
- client:
48
- type: browser
49
- name: Android Browser
50
- short_name: AN
51
- version:
52
- engine: WebKit
53
- device:
54
- type: smart display
55
- brand: VS
56
- model: VSD220
57
- os_family: Android
58
- browser_family: Android Browser