browser 2.7.1 → 5.3.1

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 (133) hide show
  1. checksums.yaml +4 -4
  2. data/.github/ISSUE_TEMPLATE.md +1 -1
  3. data/.github/workflows/tests.yml +57 -0
  4. data/.gitignore +1 -0
  5. data/.prettierignore +1 -0
  6. data/.rubocop.yml +13 -1
  7. data/CHANGELOG.md +122 -13
  8. data/FUNDING.yml +3 -0
  9. data/README.md +134 -88
  10. data/Rakefile +8 -1
  11. data/bot_exceptions.yml +1 -0
  12. data/bots.yml +300 -293
  13. data/browser.gemspec +4 -1
  14. data/gemfiles/{rails5.gemfile → rails6_1.gemfile} +1 -1
  15. data/lib/browser/accept_language.rb +4 -4
  16. data/lib/browser/aliases.rb +1 -1
  17. data/lib/browser/alipay.rb +1 -1
  18. data/lib/browser/base.rb +82 -18
  19. data/lib/browser/blackberry.rb +1 -1
  20. data/lib/browser/bot/empty_user_agent_matcher.rb +11 -0
  21. data/lib/browser/bot/keyword_matcher.rb +11 -0
  22. data/lib/browser/bot/known_bots_matcher.rb +11 -0
  23. data/lib/browser/bot.rb +34 -26
  24. data/lib/browser/browser.rb +59 -56
  25. data/lib/browser/chrome.rb +13 -3
  26. data/lib/browser/device/android.rb +1 -1
  27. data/lib/browser/device/blackberry_playbook.rb +1 -1
  28. data/lib/browser/device/ipad.rb +1 -1
  29. data/lib/browser/device/iphone.rb +1 -1
  30. data/lib/browser/device/ipod_touch.rb +1 -1
  31. data/lib/browser/device/kindle.rb +1 -1
  32. data/lib/browser/device/kindle_fire.rb +1 -1
  33. data/lib/browser/device/playstation3.rb +1 -1
  34. data/lib/browser/device/playstation4.rb +1 -1
  35. data/lib/browser/device/psp.rb +1 -1
  36. data/lib/browser/device/psvita.rb +1 -1
  37. data/lib/browser/device/samsung.rb +33 -0
  38. data/lib/browser/device/surface.rb +1 -1
  39. data/lib/browser/device/switch.rb +1 -1
  40. data/lib/browser/device/tv.rb +1 -1
  41. data/lib/browser/device/unknown.rb +1 -1
  42. data/lib/browser/device/wii.rb +1 -1
  43. data/lib/browser/device/wiiu.rb +1 -1
  44. data/lib/browser/device/xbox_360.rb +1 -1
  45. data/lib/browser/device/xbox_one.rb +1 -1
  46. data/lib/browser/device.rb +37 -27
  47. data/lib/browser/duck_duck_go.rb +22 -0
  48. data/lib/browser/edge.rb +3 -3
  49. data/lib/browser/electron.rb +1 -1
  50. data/lib/browser/facebook.rb +1 -1
  51. data/lib/browser/firefox.rb +1 -1
  52. data/lib/browser/google_search_app.rb +21 -0
  53. data/lib/browser/huawei_browser.rb +21 -0
  54. data/lib/browser/instagram.rb +1 -1
  55. data/lib/browser/internet_explorer.rb +2 -2
  56. data/lib/browser/maxthon.rb +21 -0
  57. data/lib/browser/meta/base.rb +0 -1
  58. data/lib/browser/meta.rb +12 -13
  59. data/lib/browser/micro_messenger.rb +1 -1
  60. data/lib/browser/middleware/context/additions.rb +1 -1
  61. data/lib/browser/middleware.rb +1 -1
  62. data/lib/browser/miui_browser.rb +21 -0
  63. data/lib/browser/nokia.rb +1 -1
  64. data/lib/browser/opera.rb +1 -1
  65. data/lib/browser/otter.rb +1 -1
  66. data/lib/browser/phantom_js.rb +1 -1
  67. data/lib/browser/platform/adobe_air.rb +1 -1
  68. data/lib/browser/platform/android.rb +1 -1
  69. data/lib/browser/platform/base.rb +3 -2
  70. data/lib/browser/platform/blackberry.rb +1 -1
  71. data/lib/browser/platform/chrome_os.rb +1 -1
  72. data/lib/browser/platform/firefox_os.rb +1 -1
  73. data/lib/browser/platform/ios.rb +2 -2
  74. data/lib/browser/platform/kai_os.rb +23 -0
  75. data/lib/browser/platform/linux.rb +1 -1
  76. data/lib/browser/platform/mac.rb +5 -3
  77. data/lib/browser/platform/{other.rb → unknown.rb} +3 -3
  78. data/lib/browser/platform/windows.rb +2 -2
  79. data/lib/browser/platform/windows_mobile.rb +1 -1
  80. data/lib/browser/platform/windows_phone.rb +1 -1
  81. data/lib/browser/platform.rb +37 -28
  82. data/lib/browser/qq.rb +1 -1
  83. data/lib/browser/rails.rb +3 -3
  84. data/lib/browser/safari.rb +16 -1
  85. data/lib/browser/samsung_browser.rb +21 -0
  86. data/lib/browser/snapchat.rb +1 -1
  87. data/lib/browser/sougou_browser.rb +24 -0
  88. data/lib/browser/sputnik.rb +2 -5
  89. data/lib/browser/uc_browser.rb +1 -1
  90. data/lib/browser/{generic.rb → unknown.rb} +3 -3
  91. data/lib/browser/version.rb +1 -1
  92. data/lib/browser/weibo.rb +1 -1
  93. data/lib/browser/yandex.rb +1 -1
  94. data/lib/browser.rb +2 -2
  95. data/samsung.yml +138 -0
  96. data/test/browser_test.rb +37 -10
  97. data/test/test_helper.rb +8 -0
  98. data/test/ua.yml +26 -3
  99. data/test/ua_bots.yml +9 -2
  100. data/test/ua_search_engines.yml +1 -0
  101. data/test/unit/accept_language_test.rb +6 -0
  102. data/test/unit/adobe_air_test.rb +1 -1
  103. data/test/unit/alipay_test.rb +6 -0
  104. data/test/unit/blackberry_test.rb +0 -6
  105. data/test/unit/bots_test.rb +26 -39
  106. data/test/unit/chrome_test.rb +8 -3
  107. data/test/unit/console_test.rb +2 -2
  108. data/test/unit/device_test.rb +30 -3
  109. data/test/unit/duck_duck_go_test.rb +37 -0
  110. data/test/unit/edge_test.rb +34 -6
  111. data/test/unit/firefox_test.rb +0 -3
  112. data/test/unit/google_search_app_test.rb +54 -0
  113. data/test/unit/huawei_browser_test.rb +25 -0
  114. data/test/unit/internet_explorer_test.rb +0 -12
  115. data/test/unit/ios_test.rb +0 -5
  116. data/test/unit/kai_os_test.rb +31 -0
  117. data/test/unit/kindle_test.rb +0 -2
  118. data/test/unit/maxthon_test.rb +25 -0
  119. data/test/unit/meta_test.rb +10 -2
  120. data/test/unit/micro_messenger_test.rb +21 -6
  121. data/test/unit/miui_browser_test.rb +25 -0
  122. data/test/unit/opera_test.rb +1 -2
  123. data/test/unit/platform_test.rb +13 -8
  124. data/test/unit/qq_test.rb +12 -0
  125. data/test/unit/safari_test.rb +12 -7
  126. data/test/unit/samsung_browser_test.rb +23 -0
  127. data/test/unit/sougou_browser_test.rb +41 -0
  128. data/test/unit/sputnik_test.rb +1 -0
  129. metadata +46 -16
  130. data/.bundle/config +0 -2
  131. data/.travis.yml +0 -23
  132. data/lib/browser/meta/modern.rb +0 -11
  133. /data/gemfiles/{rails6.gemfile → rails6_0.gemfile} +0 -0
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: browser
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.7.1
4
+ version: 5.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nando Vieira
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-11-26 00:00:00.000000000 Z
11
+ date: 2021-02-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -171,12 +171,13 @@ executables: []
171
171
  extensions: []
172
172
  extra_rdoc_files: []
173
173
  files:
174
- - ".bundle/config"
175
174
  - ".github/ISSUE_TEMPLATE.md"
175
+ - ".github/workflows/tests.yml"
176
176
  - ".gitignore"
177
+ - ".prettierignore"
177
178
  - ".rubocop.yml"
178
- - ".travis.yml"
179
179
  - CHANGELOG.md
180
+ - FUNDING.yml
180
181
  - Gemfile
181
182
  - README.md
182
183
  - Rakefile
@@ -184,8 +185,8 @@ files:
184
185
  - bots.yml
185
186
  - browser.gemspec
186
187
  - config.ru
187
- - gemfiles/rails5.gemfile
188
- - gemfiles/rails6.gemfile
188
+ - gemfiles/rails6_0.gemfile
189
+ - gemfiles/rails6_1.gemfile
189
190
  - languages.yml
190
191
  - lib/browser.rb
191
192
  - lib/browser/accept_language.rb
@@ -195,6 +196,9 @@ files:
195
196
  - lib/browser/base.rb
196
197
  - lib/browser/blackberry.rb
197
198
  - lib/browser/bot.rb
199
+ - lib/browser/bot/empty_user_agent_matcher.rb
200
+ - lib/browser/bot/keyword_matcher.rb
201
+ - lib/browser/bot/known_bots_matcher.rb
198
202
  - lib/browser/browser.rb
199
203
  - lib/browser/chrome.rb
200
204
  - lib/browser/detect_version.rb
@@ -211,6 +215,7 @@ files:
211
215
  - lib/browser/device/playstation4.rb
212
216
  - lib/browser/device/psp.rb
213
217
  - lib/browser/device/psvita.rb
218
+ - lib/browser/device/samsung.rb
214
219
  - lib/browser/device/surface.rb
215
220
  - lib/browser/device/switch.rb
216
221
  - lib/browser/device/tv.rb
@@ -219,13 +224,16 @@ files:
219
224
  - lib/browser/device/wiiu.rb
220
225
  - lib/browser/device/xbox_360.rb
221
226
  - lib/browser/device/xbox_one.rb
227
+ - lib/browser/duck_duck_go.rb
222
228
  - lib/browser/edge.rb
223
229
  - lib/browser/electron.rb
224
230
  - lib/browser/facebook.rb
225
231
  - lib/browser/firefox.rb
226
- - lib/browser/generic.rb
232
+ - lib/browser/google_search_app.rb
233
+ - lib/browser/huawei_browser.rb
227
234
  - lib/browser/instagram.rb
228
235
  - lib/browser/internet_explorer.rb
236
+ - lib/browser/maxthon.rb
229
237
  - lib/browser/meta.rb
230
238
  - lib/browser/meta/base.rb
231
239
  - lib/browser/meta/device.rb
@@ -234,7 +242,6 @@ files:
234
242
  - lib/browser/meta/ie.rb
235
243
  - lib/browser/meta/ios.rb
236
244
  - lib/browser/meta/mobile.rb
237
- - lib/browser/meta/modern.rb
238
245
  - lib/browser/meta/platform.rb
239
246
  - lib/browser/meta/proxy.rb
240
247
  - lib/browser/meta/safari.rb
@@ -245,6 +252,7 @@ files:
245
252
  - lib/browser/middleware/context.rb
246
253
  - lib/browser/middleware/context/additions.rb
247
254
  - lib/browser/middleware/context/url_methods.rb
255
+ - lib/browser/miui_browser.rb
248
256
  - lib/browser/nokia.rb
249
257
  - lib/browser/opera.rb
250
258
  - lib/browser/otter.rb
@@ -257,22 +265,27 @@ files:
257
265
  - lib/browser/platform/chrome_os.rb
258
266
  - lib/browser/platform/firefox_os.rb
259
267
  - lib/browser/platform/ios.rb
268
+ - lib/browser/platform/kai_os.rb
260
269
  - lib/browser/platform/linux.rb
261
270
  - lib/browser/platform/mac.rb
262
- - lib/browser/platform/other.rb
271
+ - lib/browser/platform/unknown.rb
263
272
  - lib/browser/platform/windows.rb
264
273
  - lib/browser/platform/windows_mobile.rb
265
274
  - lib/browser/platform/windows_phone.rb
266
275
  - lib/browser/qq.rb
267
276
  - lib/browser/rails.rb
268
277
  - lib/browser/safari.rb
278
+ - lib/browser/samsung_browser.rb
269
279
  - lib/browser/snapchat.rb
280
+ - lib/browser/sougou_browser.rb
270
281
  - lib/browser/sputnik.rb
271
282
  - lib/browser/testing.rb
272
283
  - lib/browser/uc_browser.rb
284
+ - lib/browser/unknown.rb
273
285
  - lib/browser/version.rb
274
286
  - lib/browser/weibo.rb
275
287
  - lib/browser/yandex.rb
288
+ - samsung.yml
276
289
  - search_engines.yml
277
290
  - test/browser_test.rb
278
291
  - test/middleware_test.rb
@@ -293,18 +306,24 @@ files:
293
306
  - test/unit/chrome_test.rb
294
307
  - test/unit/console_test.rb
295
308
  - test/unit/device_test.rb
309
+ - test/unit/duck_duck_go_test.rb
296
310
  - test/unit/edge_test.rb
297
311
  - test/unit/electron_test.rb
298
312
  - test/unit/facebook_test.rb
299
313
  - test/unit/firefox_test.rb
300
314
  - test/unit/generic_test.rb
315
+ - test/unit/google_search_app_test.rb
316
+ - test/unit/huawei_browser_test.rb
301
317
  - test/unit/instagram_test.rb
302
318
  - test/unit/internet_explorer_test.rb
303
319
  - test/unit/ios_app_test.rb
304
320
  - test/unit/ios_test.rb
321
+ - test/unit/kai_os_test.rb
305
322
  - test/unit/kindle_test.rb
323
+ - test/unit/maxthon_test.rb
306
324
  - test/unit/meta_test.rb
307
325
  - test/unit/micro_messenger_test.rb
326
+ - test/unit/miui_browser_test.rb
308
327
  - test/unit/nokia_test.rb
309
328
  - test/unit/opera_test.rb
310
329
  - test/unit/otter_test.rb
@@ -312,18 +331,21 @@ files:
312
331
  - test/unit/proxy_test.rb
313
332
  - test/unit/qq_test.rb
314
333
  - test/unit/safari_test.rb
334
+ - test/unit/samsung_browser_test.rb
315
335
  - test/unit/snapchat_test.rb
336
+ - test/unit/sougou_browser_test.rb
316
337
  - test/unit/sputnik_test.rb
317
338
  - test/unit/uc_browser_test.rb
318
339
  - test/unit/weibo_test.rb
319
340
  - test/unit/windows_phone_test.rb
320
341
  - test/unit/windows_test.rb
321
342
  - test/unit/yandex_test.rb
322
- homepage: http://github.com/fnando/browser
343
+ homepage: https://github.com/fnando/browser
323
344
  licenses:
324
345
  - MIT
325
- metadata: {}
326
- post_install_message:
346
+ metadata:
347
+ changelog_uri: https://github.com/fnando/browser/blob/main/CHANGELOG.md
348
+ post_install_message:
327
349
  rdoc_options: []
328
350
  require_paths:
329
351
  - lib
@@ -331,15 +353,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
331
353
  requirements:
332
354
  - - ">="
333
355
  - !ruby/object:Gem::Version
334
- version: '0'
356
+ version: 2.5.0
335
357
  required_rubygems_version: !ruby/object:Gem::Requirement
336
358
  requirements:
337
359
  - - ">="
338
360
  - !ruby/object:Gem::Version
339
361
  version: '0'
340
362
  requirements: []
341
- rubygems_version: 3.0.3
342
- signing_key:
363
+ rubygems_version: 3.2.3
364
+ signing_key:
343
365
  specification_version: 4
344
366
  summary: Do some browser detection with Ruby.
345
367
  test_files:
@@ -362,18 +384,24 @@ test_files:
362
384
  - test/unit/chrome_test.rb
363
385
  - test/unit/console_test.rb
364
386
  - test/unit/device_test.rb
387
+ - test/unit/duck_duck_go_test.rb
365
388
  - test/unit/edge_test.rb
366
389
  - test/unit/electron_test.rb
367
390
  - test/unit/facebook_test.rb
368
391
  - test/unit/firefox_test.rb
369
392
  - test/unit/generic_test.rb
393
+ - test/unit/google_search_app_test.rb
394
+ - test/unit/huawei_browser_test.rb
370
395
  - test/unit/instagram_test.rb
371
396
  - test/unit/internet_explorer_test.rb
372
397
  - test/unit/ios_app_test.rb
373
398
  - test/unit/ios_test.rb
399
+ - test/unit/kai_os_test.rb
374
400
  - test/unit/kindle_test.rb
401
+ - test/unit/maxthon_test.rb
375
402
  - test/unit/meta_test.rb
376
403
  - test/unit/micro_messenger_test.rb
404
+ - test/unit/miui_browser_test.rb
377
405
  - test/unit/nokia_test.rb
378
406
  - test/unit/opera_test.rb
379
407
  - test/unit/otter_test.rb
@@ -381,7 +409,9 @@ test_files:
381
409
  - test/unit/proxy_test.rb
382
410
  - test/unit/qq_test.rb
383
411
  - test/unit/safari_test.rb
412
+ - test/unit/samsung_browser_test.rb
384
413
  - test/unit/snapchat_test.rb
414
+ - test/unit/sougou_browser_test.rb
385
415
  - test/unit/sputnik_test.rb
386
416
  - test/unit/uc_browser_test.rb
387
417
  - test/unit/weibo_test.rb
data/.bundle/config DELETED
@@ -1,2 +0,0 @@
1
- ---
2
- BUNDLE_BIN: bin
data/.travis.yml DELETED
@@ -1,23 +0,0 @@
1
- ---
2
- language: ruby
3
- sudo: false
4
- cache: bundler
5
- rvm:
6
- - 2.6.0
7
- - 2.5.0
8
- gemfile:
9
- - Gemfile
10
- - gemfiles/rails5.gemfile
11
- - gemfiles/rails6.gemfile
12
- script: bundle exec rake
13
- notifications:
14
- email: false
15
- before_script:
16
- - curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
17
- - chmod +x ./cc-test-reporter
18
- - "./cc-test-reporter before-build"
19
- after_script:
20
- - "./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT"
21
- env:
22
- global:
23
- secure: LrxynbbiJMX5vy/UVPfQsnT21oUpqpuHbUM9YOy0+ZYfDCjprvM/UGxFgjM+unRzyPI0mrNyU65ohpj8R1//tvdFW+xYau6QmFgSTU6OAQrckW/n+jqwQZV37a38wEGV0QvA6A0HW9pTrJfatUBmpaAeHAxcaBMk51tEgX/8poA=
@@ -1,11 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Browser
4
- module Meta
5
- class Modern < Base
6
- def meta
7
- "modern" if browser.modern?
8
- end
9
- end
10
- end
11
- end
File without changes