browserino 2.12.0 → 2.13.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 34b7633668c832d3f3727c704ea96c2da8be3929
4
- data.tar.gz: 778d170f897c02ea20f85a81d5a7885c02be78b1
3
+ metadata.gz: 6cd18f87571cf993db2a622396ebbbcf1dd5285f
4
+ data.tar.gz: c075f89285dc8b08654ddd29d468b2932d57e73f
5
5
  SHA512:
6
- metadata.gz: 8e451c64fb90b5c368e058fe08f9b7c93f789754c1405b6c43d8f116ca50918eb7a06a44b16ed122bd99f9af68d2fb3baba94232b8c7d0ee134eee641dda525e
7
- data.tar.gz: c9dd4680a336660d4982eac3200da17f14fd8ce6c8cbbc83598133529cc57dcc735ff8e68551c7732d8efee06755d714b2dcc4b1746f0e060c132987e365398e
6
+ metadata.gz: 3cfa196f9d7225e8876513b8857cedda14880b3693751fd9d46c887e47ed8ebd7787a65e44b973c3e4fa4dac08610c4d0d5a921c29b4512011a7ee9f7a948aa8
7
+ data.tar.gz: aa6bb6cfbb1e7f3cda0dde31497ba723c55ab98fa31d4fe613b51406013c67bd6ea0aa098298287f6eb5d7d5515c002f5525df6b5df7e40c0415b2270bed13b6
data/CHANGELOG.md CHANGED
@@ -1,6 +1,12 @@
1
1
  ## CHANGELOG
2
2
  _dates are in dd-mm-yyyy format_
3
3
 
4
+ #### 19-10-2016 VERSION 2.10.1.1
5
+
6
+ - Test on ruby 2.3.1
7
+ - Fix missing questionmarks on method names in the README.
8
+ - Change gem homepage to io domain
9
+
4
10
  #### 25-08-2016 VERSION 2.10.1
5
11
 
6
12
  - Replaced `require` with `require_relative` where possible
data/README.md CHANGED
@@ -1,11 +1,15 @@
1
1
  # Browserino
2
2
 
3
3
  A UserAgent sniffer with Rails >= 3.2.0 integration.
4
- The sniffer can currently identify 22 bots (of which 6 social media and 5 search engines), 16 browsers, 11 operating systems, 6 programming language UA's and 4 consoles.
4
+ The sniffer can currently identify 22 bots (of which 6 social media and 5 search engines), 17 browsers, 11 operating systems, 6 programming language UA's and 4 consoles.
5
5
 
6
6
  # DEPRECATION WARNING: Ruby < 2
7
7
 
8
8
  Browserino will be dropping support for Ruby versions less than 2 with the release of version `3`
9
+ The planned release date for version `3` is on new years day (Jan 01, 2017).
10
+
11
+ This breaking update will also remove the deprecated (and no longer used) second value that can be passed to `Browserino.new` which allowed you to return a custom value instead of the default `nil` if a property isn't set.
12
+ **Rails** users can simply upgrade their version as long as they use Ruby `>= 2` or above since the custom return value was never used during initialization.
9
13
 
10
14
  ## Status
11
15
 
@@ -26,6 +30,17 @@ Useragent references:
26
30
  _dates are in dd-mm-yyyy format_
27
31
  _older changes can be found in the [CHANGELOG.md](CHANGELOG.md)_
28
32
 
33
+ #### 09-12-2016 VERSION 2.13.0
34
+
35
+ - Added support for Colibri
36
+ - Added `colibri?` method
37
+ - Added support for `:colibri` (`Symbol` and `String`) in methods
38
+ - Added `agent.internet_explorer?` method as alias for `agent.ie?`
39
+ - Added support for `:internet_explorer` (`Symbol` and `String`) in methods
40
+ - Test aliasses if they exist for a certain browser (used to be tested by hand)
41
+ - Test aliasses if they exist for a certain user (used to be tested by hand)
42
+ - Add a roadmap
43
+
29
44
  #### 14-11-2016 VERSION 2.12.0
30
45
 
31
46
  - Added support for SamsungBrowser
@@ -50,12 +65,6 @@ _older changes can be found in the [CHANGELOG.md](CHANGELOG.md)_
50
65
  - Added support for MacOS `:sierra` alias in methods.
51
66
  - Added deprecation notice for dropping support of Ruby < 2.0.0
52
67
 
53
- #### 19-10-2016 VERSION 2.10.1.1
54
-
55
- - Test on ruby 2.3.1
56
- - Fix missing questionmarks on method names in the README.
57
- - Change gem homepage to io domain
58
-
59
68
  ## Installation
60
69
 
61
70
  Add the following to your applications Gemfile:
@@ -596,6 +605,7 @@ agent.library? :curl, version: 7.21
596
605
  * `edge`
597
606
  * `samsungbrowser`
598
607
  * `webosbrowser`
608
+ * `colibri`
599
609
 
600
610
  Examples:
601
611
 
@@ -654,6 +664,16 @@ Notes:
654
664
  * `solaris?` only supports numeric versions
655
665
  * *named versions* are only supported if they are present in a [map](https://github.com/SidOfc/browserino/tree/master/lib/browserino/core/mapping.rb)
656
666
 
667
+ ## Roadmap
668
+
669
+ Browserino will always be a work in progress, I will do my best to maintain and update the gem regularly as I have so far, below are some points of interest on what could / should be improved, rewritten or removed.
670
+ There is no steady schedule for these changes however these are the changes I deemed most important, the value in them being here is that you, as a developer using Browserino have the possibility to see what might be added, changed or removed in the near(est) future of change.
671
+
672
+ * Drop ruby `< 2` support and remove custom return value from constructor
673
+ * Refactor test suite entirely to improve readability and structure of tests.
674
+ * Add more bot identification
675
+ * Rewrite aliassing and UA lie detection
676
+
657
677
  ## Contributing
658
678
 
659
679
  Bug reports and pull requests are welcome on GitHub at https://github.com/SidOfc/browserino. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](contributor-covenant.org) code of conduct.
data/bin/browserino CHANGED
@@ -3,7 +3,7 @@
3
3
  require 'bundler/setup'
4
4
  require_relative '../lib/browserino'
5
5
 
6
- aliasses = [:fb, :ddg, :ff, :win, :osx, :bb]
6
+ aliasses = [:fb, :ddg, :ff, :internet_explorer, :win, :osx, :bb]
7
7
 
8
8
  case ARGV[0]
9
9
  when 'parse', '-p'
@@ -2,114 +2,79 @@ module Browserino
2
2
  module Core
3
3
  PATTERNS = {
4
4
  browser: {
5
- samsungbrowser: {
6
- name: /(?<name>samsungbrowser)/i,
7
- version: %r{samsungbrowser/(?<version>[\d\.]+)}i
8
- },
5
+ colibri: { name: /(?<name>colibri)/i,
6
+ version: %r{colibri/(?<version>[\d\.]+)}i },
9
7
 
10
- webosbrowser: {
11
- name: /(?<name>w(?:eb)?os(?:browser)?)/i,
12
- version: %r{w(?:eb)?osbrowser/(?<version>[\d\.]+)}i,
13
- },
8
+ samsungbrowser: { name: /(?<name>samsungbrowser)/i,
9
+ version: %r{samsungbrowser/(?<version>[\d\.]+)}i },
14
10
 
15
- vivaldi: {
16
- name: /(?<name>vivaldi)/i,
17
- version: %r{vivaldi/(?<version>[\d\.]+)}i
18
- },
11
+ webosbrowser: { name: /(?<name>w(?:eb)?os(?:browser)?)/i,
12
+ version: %r{w(?:eb)?osbrowser/(?<version>[\d\.]+)}i },
19
13
 
20
- ucbrowser: {
21
- name: /(?<name>ucbrowser)/i,
22
- version: %r{ucbrowser/?(?<version>[\d\.]+)}i
23
- },
14
+ vivaldi: { name: /(?<name>vivaldi)/i,
15
+ version: %r{vivaldi/(?<version>[\d\.]+)}i },
24
16
 
25
- bolt: {
26
- name: /(?<name>bolt)/i,
27
- version: %r{bolt/(?<version>[\d\.]+)}i
28
- },
17
+ ucbrowser: { name: /(?<name>ucbrowser)/i,
18
+ version: %r{ucbrowser/?(?<version>[\d\.]+)}i },
29
19
 
30
- opera_mini: {
31
- name: /(?<name>ope?ra?\smini)/i,
32
- version: %r{(?:ope?ra?\smini)/(?<version>[\d\.]+)}i
33
- },
20
+ bolt: { name: /(?<name>bolt)/i,
21
+ version: %r{bolt/(?<version>[\d\.]+)}i },
34
22
 
35
- opera: {
36
- name: /opera(?!ti(?:on|ng))|opr/i,
37
- version: %r{(?:ope?ra?|version)[/\s](?<version>[\d\.]+)}i
38
- },
23
+ opera_mini: { name: /(?<name>ope?ra?\smini)/i,
24
+ version: %r{(?:ope?ra?\smini)/(?<version>[\d\.]+)}i },
39
25
 
40
- maxthon: {
41
- name: /(?<name>maxthon)/i,
42
- version: %r{maxthon[\s/](?<version>[\d\.]+)}i
43
- },
26
+ opera: { name: /opera(?!ti(?:on|ng))|opr/i,
27
+ version: %r{(?:ope?ra?|version)[/\s](?<version>[\d\.]+)}i },
44
28
 
45
- edge: {
46
- name: /(?<name>edge)/i,
47
- version: %r{edge/(?<version>[\d\.]+)}i
48
- },
29
+ maxthon: { name: /(?<name>maxthon)/i,
30
+ version: %r{maxthon[\s/](?<version>[\d\.]+)}i },
49
31
 
50
- ie: {
51
- name: /(?<name>msie|trident)/i,
52
- version: /(?:(?:ms)?ie\s|rv:)(?<version>[\d\.]+)/i
53
- },
32
+ edge: { name: /(?<name>edge)/i,
33
+ version: %r{edge/(?<version>[\d\.]+)}i },
54
34
 
55
- seamonkey: {
56
- name: /(?<name>seamonkey)/i,
57
- version: %r{seamonkey/(?<version>[\d\.]+)}i
58
- },
35
+ ie: { name: /(?<name>msie|trident)/i,
36
+ version: /(?:(?:ms)?ie\s|rv:)(?<version>[\d\.]+)/i },
59
37
 
60
- servo: {
61
- name: /(?<name>servo)/i,
62
- version: %r{servo/(?<version>[\d\.]+)}i
63
- },
38
+ seamonkey: { name: /(?<name>seamonkey)/i,
39
+ version: %r{seamonkey/(?<version>[\d\.]+)}i },
64
40
 
65
- firefox: {
66
- name: /(?<name>(?:fire|water)(?:fox|bird)
67
- |ice(?:weasel|cat)|netscape|superswan)/xi,
68
- version: %r{(?:(?:fire|water)(?:fox|bird)|ice(?:weasel|cat)
69
- |netscape|superswan)/?(?<version>[\d\.]+)}xi
70
- },
41
+ servo: { name: /(?<name>servo)/i,
42
+ version: %r{servo/(?<version>[\d\.]+)}i },
71
43
 
72
- brave: {
73
- name: /(?<name>brave)/i,
74
- version: %r{brave/(?<version>[\d\.]+)}i
44
+ firefox: {name: /(?<name>(?:fire|water)(?:fox|bird)
45
+ |ice(?:weasel|cat)|netscape|superswan)/xi,
46
+ version: %r{(?:(?:fire|water)(?:fox|bird)|ice(?:weasel|cat)
47
+ |netscape|superswan)/?(?<version>[\d\.]+)}xi
75
48
  },
76
49
 
77
- chrome: {
78
- name: /(?<name>chrome?(ium|plus)?)/i,
79
- version: %r{chrome?(?:ium|plus)?/(?<version>[\d\.]+)}i
80
- },
50
+ brave: { name: /(?<name>brave)/i,
51
+ version: %r{brave/(?<version>[\d\.]+)}i },
52
+
53
+ chrome: { name: /(?<name>chrome?(ium|plus)?)/i,
54
+ version: %r{chrome?(?:ium|plus)?/(?<version>[\d\.]+)}i },
81
55
 
82
- safari: {
83
- name: /(?<name>safari)/i,
84
- version: %r{(?:version|safari)/(?<version>[\d\.]+)}i
85
- }
56
+ safari: { name: /(?<name>safari)/i,
57
+ version: %r{(?:version|safari)/(?<version>[\d\.]+)}i }
86
58
  },
87
59
 
88
60
  library: {
89
- php: {
90
- name: /(?<name>php)/i,
91
- version: %r{php/(?<version>[\d\.]+)}i
92
- },
93
- python: {
94
- name: /(?<name>python)/i,
95
- version: %r{python-urllib/(?<version>[\d\.]+)}i
96
- },
97
- perl: {
98
- name: /(?<name>perl)/i,
99
- version: %r{perl/(?<version>[\d\.]+)}i
100
- },
101
- java: {
102
- name: /(?<name>java)/i,
103
- version: %r{java/(?<version>[\d\._]+)}i
104
- },
105
- pycurl: {
106
- name: /(?<name>pycurl)/i,
107
- version: %r{pycurl/(?<version>[\d\.]+)}i
108
- },
109
- curl: {
110
- name: /(?<name>curl)/i,
111
- version: %r{curl/(?<version>[\d\.a-z]+)}i
112
- }
61
+ php: { name: /(?<name>php)/i,
62
+ version: %r{php/(?<version>[\d\.]+)}i },
63
+
64
+ python: { name: /(?<name>python)/i,
65
+ version: %r{python-urllib/(?<version>[\d\.]+)}i },
66
+
67
+ perl: { name: /(?<name>perl)/i,
68
+ version: %r{perl/(?<version>[\d\.]+)}i },
69
+
70
+ java: { name: /(?<name>java)/i,
71
+ version: %r{java/(?<version>[\d\._]+)}i },
72
+
73
+ pycurl: { name: /(?<name>pycurl)/i,
74
+ version: %r{pycurl/(?<version>[\d\.]+)}i },
75
+
76
+ curl: { name: /(?<name>curl)/i,
77
+ version: %r{curl/(?<version>[\d\.a-z]+)}i }
113
78
  },
114
79
 
115
80
  bot: {
@@ -1,7 +1,7 @@
1
1
  module Browserino
2
2
  module Core
3
3
  SUPPORTED_ALIASSES = {
4
- browsers: {firefox: [:ff]},
4
+ browsers: {firefox: [:ff], ie: [:internet_explorer]},
5
5
  social_media: {facebook: [:fb]},
6
6
  search_engines: {duckduckgo: [:ddg]},
7
7
  bots: {},
@@ -1,3 +1,3 @@
1
1
  module Browserino
2
- VERSION = '2.12.0'.freeze
2
+ VERSION = '2.13.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: browserino
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.12.0
4
+ version: 2.13.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sidney Liebrand
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-11-14 00:00:00.000000000 Z
11
+ date: 2016-12-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
@@ -191,7 +191,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
191
191
  version: '0'
192
192
  requirements: []
193
193
  rubyforge_project:
194
- rubygems_version: 2.5.1
194
+ rubygems_version: 2.6.8
195
195
  signing_key:
196
196
  specification_version: 4
197
197
  summary: A browser identification gem with command line and Rails (>= 3.2.0) integration