browsernizer 0.2.3 → 0.2.4
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.
- checksums.yaml +4 -4
- data/README.md +2 -2
- data/browsernizer.gemspec +1 -1
- data/lib/browsernizer/router.rb +1 -1
- data/lib/browsernizer/version.rb +1 -1
- data/spec/browsernizer/browser_spec.rb +4 -4
- data/spec/browsernizer/config_spec.rb +6 -6
- data/spec/browsernizer/router_spec.rb +6 -6
- metadata +13 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f4cd0e2044b75ac34c7a4a68c72c7d6476748d4a
|
4
|
+
data.tar.gz: ff8042973932bfeaef12dbb5a0cb375292b590e9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 907c615e77e885e99e4d50cd8371329ae3bcae81179c6e3f1c704a2d6e1d03dde254db00b992cb62441f9f5f67e00b0b96e7980ea13f37e8c6539f989ca81571
|
7
|
+
data.tar.gz: 5d7746684726e83324391cd9e486e6ab7acd24eb36562ecc9c5c42e1b7ca91dd2874dca1c6d0d483c984e0a8ff87de3581fa00510da260a0221228ccc7625af6
|
data/README.md
CHANGED
@@ -54,7 +54,7 @@ passed to it. If you wish to state that *mobile safari* is not supported, you
|
|
54
54
|
can declare it like this:
|
55
55
|
|
56
56
|
config.supported do |browser|
|
57
|
-
!(browser.name == "Safari" && browser.mobile?)
|
57
|
+
!(browser.name == "Safari" && browser.device.mobile?)
|
58
58
|
end
|
59
59
|
|
60
60
|
The block should return false to block the browser, true to allow it, and nil if it
|
@@ -62,7 +62,7 @@ cannot decide. This way you can make any arbitrary User-Agent explicitly allowed
|
|
62
62
|
even if its version would have been blocked otherwise:
|
63
63
|
|
64
64
|
config.supported do |browser|
|
65
|
-
true if browser.
|
65
|
+
true if browser.ua.include?('Linux')
|
66
66
|
end
|
67
67
|
|
68
68
|
Please note, that the order is important, thus the first block or requirement returning
|
data/browsernizer.gemspec
CHANGED
data/lib/browsernizer/router.rb
CHANGED
@@ -47,7 +47,7 @@ module Browsernizer
|
|
47
47
|
end
|
48
48
|
|
49
49
|
def get_browsers(env)
|
50
|
-
raw_browser = ::Browser.new
|
50
|
+
raw_browser = ::Browser.new env["HTTP_USER_AGENT"]
|
51
51
|
browser = Browsernizer::Browser.new raw_browser.name.to_s, raw_browser.full_version.to_s
|
52
52
|
[raw_browser, browser]
|
53
53
|
end
|
data/lib/browsernizer/version.rb
CHANGED
@@ -5,12 +5,12 @@ describe Browsernizer::Browser do
|
|
5
5
|
describe "#meets?(requirement)" do
|
6
6
|
context "same vendor" do
|
7
7
|
it "returns true if version is >= to requirement" do
|
8
|
-
expect(browser("Chrome", "10.0").meets?(browser("Chrome", "10" ))).to
|
9
|
-
expect(browser("Chrome", "10.0").meets?(browser("Chrome", "10.1"))).to
|
10
|
-
expect(browser("Chrome", "10" ).meets?(browser("Chrome", " 9.1"))).to
|
8
|
+
expect(browser("Chrome", "10.0").meets?(browser("Chrome", "10" ))).to be true
|
9
|
+
expect(browser("Chrome", "10.0").meets?(browser("Chrome", "10.1"))).to be false
|
10
|
+
expect(browser("Chrome", "10" ).meets?(browser("Chrome", " 9.1"))).to be true
|
11
11
|
end
|
12
12
|
it "returns false if requirement version is set to false" do
|
13
|
-
expect(browser("Chrome", "10" ).meets?(browser("Chrome", false ))).to
|
13
|
+
expect(browser("Chrome", "10" ).meets?(browser("Chrome", false ))).to be false
|
14
14
|
end
|
15
15
|
end
|
16
16
|
|
@@ -13,7 +13,7 @@ describe Browsernizer::Config do
|
|
13
13
|
|
14
14
|
it "allows to unsupport browser by using false as version number" do
|
15
15
|
subject.supported "Chrome", false
|
16
|
-
expect(subject.get_supported[0].version).to
|
16
|
+
expect(subject.get_supported[0].version).to be false
|
17
17
|
end
|
18
18
|
end
|
19
19
|
|
@@ -29,11 +29,11 @@ describe Browsernizer::Config do
|
|
29
29
|
subject.exclude %r{^/assets}
|
30
30
|
subject.exclude "/foo/bar.html"
|
31
31
|
|
32
|
-
expect(subject.excluded?("/assets/foo.jpg")).to
|
33
|
-
expect(subject.excluded?("/Assets/foo.jpg")).to
|
34
|
-
expect(subject.excluded?("/prefix/assets/foo.jpg")).to
|
35
|
-
expect(subject.excluded?("/foo/bar.html")).to
|
36
|
-
expect(subject.excluded?("/foo/bar2.html")).to
|
32
|
+
expect(subject.excluded?("/assets/foo.jpg")).to be true
|
33
|
+
expect(subject.excluded?("/Assets/foo.jpg")).to be false
|
34
|
+
expect(subject.excluded?("/prefix/assets/foo.jpg")).to be false
|
35
|
+
expect(subject.excluded?("/foo/bar.html")).to be true
|
36
|
+
expect(subject.excluded?("/foo/bar2.html")).to be false
|
37
37
|
end
|
38
38
|
end
|
39
39
|
|
@@ -7,12 +7,12 @@ describe Browsernizer::Router do
|
|
7
7
|
subject do
|
8
8
|
Browsernizer::Router.new(app) do |config|
|
9
9
|
config.supported do |browser|
|
10
|
-
true if browser.
|
10
|
+
true if browser.ua.include?('Spec')
|
11
11
|
end
|
12
12
|
config.supported "Firefox", false
|
13
13
|
config.supported "Chrome", "7.1"
|
14
14
|
config.supported do |browser|
|
15
|
-
!(browser.safari? && browser.mobile?)
|
15
|
+
!(browser.safari? && browser.device.mobile?)
|
16
16
|
end
|
17
17
|
end
|
18
18
|
end
|
@@ -27,7 +27,7 @@ describe Browsernizer::Router do
|
|
27
27
|
context "All Good" do
|
28
28
|
it "propagates request with updated env" do
|
29
29
|
expect(app).to receive(:call) do |env|
|
30
|
-
expect(env['browsernizer']['supported']).to
|
30
|
+
expect(env['browsernizer']['supported']).to be true
|
31
31
|
expect(env['browsernizer']['browser']).to eq("Chrome")
|
32
32
|
expect(env['browsernizer']['version']).to eq("7.1.1")
|
33
33
|
end
|
@@ -40,7 +40,7 @@ describe Browsernizer::Router do
|
|
40
40
|
context "location not set" do
|
41
41
|
it "propagates request with updated env" do
|
42
42
|
expect(app).to receive(:call) do |env|
|
43
|
-
expect(env['browsernizer']['supported']).to
|
43
|
+
expect(env['browsernizer']['supported']).to be false
|
44
44
|
end
|
45
45
|
subject.call(@env)
|
46
46
|
end
|
@@ -83,7 +83,7 @@ describe Browsernizer::Router do
|
|
83
83
|
end
|
84
84
|
it "propagates request with updated env" do
|
85
85
|
expect(app).to receive(:call) do |env|
|
86
|
-
expect(env['browsernizer']['supported']).to
|
86
|
+
expect(env['browsernizer']['supported']).to be false
|
87
87
|
end
|
88
88
|
subject.call(@env)
|
89
89
|
end
|
@@ -127,7 +127,7 @@ describe Browsernizer::Router do
|
|
127
127
|
|
128
128
|
it "propagates request" do
|
129
129
|
expect(app).to receive(:call) do |env|
|
130
|
-
expect(env['browsernizer']['supported']).to
|
130
|
+
expect(env['browsernizer']['supported']).to be true
|
131
131
|
end
|
132
132
|
subject.call(@env)
|
133
133
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: browsernizer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Milovan Zogovic
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-03-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -42,16 +42,22 @@ dependencies:
|
|
42
42
|
name: browser
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '2.0'
|
48
|
+
- - "<"
|
46
49
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0
|
50
|
+
version: '3.0'
|
48
51
|
type: :runtime
|
49
52
|
prerelease: false
|
50
53
|
version_requirements: !ruby/object:Gem::Requirement
|
51
54
|
requirements:
|
52
|
-
- - "
|
55
|
+
- - ">="
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
version: '2.0'
|
58
|
+
- - "<"
|
53
59
|
- !ruby/object:Gem::Version
|
54
|
-
version: 0
|
60
|
+
version: '3.0'
|
55
61
|
description: Rack middleware for redirecting unsupported user agents to "please upgrade"
|
56
62
|
page
|
57
63
|
email:
|
@@ -99,7 +105,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
99
105
|
version: '0'
|
100
106
|
requirements: []
|
101
107
|
rubyforge_project: browsernizer
|
102
|
-
rubygems_version: 2.4.
|
108
|
+
rubygems_version: 2.4.5.1
|
103
109
|
signing_key:
|
104
110
|
specification_version: 4
|
105
111
|
summary: Want friendly "please upgrade your browser" page? This gem is for you.
|