rack-user_agent 0.4.2 → 0.5.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.
- checksums.yaml +5 -5
- data/.github/workflows/test.yml +38 -0
- data/.github_changelog_generator +2 -0
- data/CHANGELOG.md +104 -0
- data/README.md +4 -1
- data/lib/rack/user_agent/detector.rb +8 -0
- data/lib/rack/user_agent/version.rb +1 -1
- data/rack-user_agent.gemspec +3 -3
- data/spec/lib/rack/user_agent/detector_spec.rb +45 -3
- metadata +17 -78
- data/.travis.yml +0 -12
- data/rails_sample/.gitignore +0 -16
- data/rails_sample/Gemfile +0 -15
- data/rails_sample/Gemfile.lock +0 -142
- data/rails_sample/README.rdoc +0 -28
- data/rails_sample/Rakefile +0 -6
- data/rails_sample/app/assets/images/.keep +0 -0
- data/rails_sample/app/assets/javascripts/application.js +0 -16
- data/rails_sample/app/assets/stylesheets/application.css +0 -15
- data/rails_sample/app/controllers/application_controller.rb +0 -15
- data/rails_sample/app/controllers/concerns/.keep +0 -0
- data/rails_sample/app/helpers/application_helper.rb +0 -2
- data/rails_sample/app/mailers/.keep +0 -0
- data/rails_sample/app/models/.keep +0 -0
- data/rails_sample/app/models/concerns/.keep +0 -0
- data/rails_sample/app/views/application/index.html.erb +0 -4
- data/rails_sample/app/views/layouts/application.html.erb +0 -14
- data/rails_sample/bin/bundle +0 -3
- data/rails_sample/bin/rails +0 -8
- data/rails_sample/bin/rake +0 -8
- data/rails_sample/bin/spring +0 -18
- data/rails_sample/config/application.rb +0 -24
- data/rails_sample/config/boot.rb +0 -4
- data/rails_sample/config/database.yml +0 -25
- data/rails_sample/config/environment.rb +0 -5
- data/rails_sample/config/environments/development.rb +0 -37
- data/rails_sample/config/environments/production.rb +0 -82
- data/rails_sample/config/environments/test.rb +0 -39
- data/rails_sample/config/initializers/assets.rb +0 -8
- data/rails_sample/config/initializers/backtrace_silencers.rb +0 -7
- data/rails_sample/config/initializers/cookies_serializer.rb +0 -3
- data/rails_sample/config/initializers/filter_parameter_logging.rb +0 -4
- data/rails_sample/config/initializers/inflections.rb +0 -16
- data/rails_sample/config/initializers/mime_types.rb +0 -4
- data/rails_sample/config/initializers/session_store.rb +0 -3
- data/rails_sample/config/initializers/wrap_parameters.rb +0 -14
- data/rails_sample/config/locales/en.yml +0 -23
- data/rails_sample/config/routes.rb +0 -3
- data/rails_sample/config/secrets.yml +0 -22
- data/rails_sample/config.ru +0 -4
- data/rails_sample/db/seeds.rb +0 -7
- data/rails_sample/lib/assets/.keep +0 -0
- data/rails_sample/lib/tasks/.keep +0 -0
- data/rails_sample/log/.keep +0 -0
- data/rails_sample/public/404.html +0 -67
- data/rails_sample/public/422.html +0 -67
- data/rails_sample/public/500.html +0 -66
- data/rails_sample/public/favicon.ico +0 -0
- data/rails_sample/public/robots.txt +0 -5
- data/rails_sample/test/controllers/.keep +0 -0
- data/rails_sample/test/fixtures/.keep +0 -0
- data/rails_sample/test/helpers/.keep +0 -0
- data/rails_sample/test/integration/.keep +0 -0
- data/rails_sample/test/mailers/.keep +0 -0
- data/rails_sample/test/models/.keep +0 -0
- data/rails_sample/test/test_helper.rb +0 -10
- data/rails_sample/vendor/assets/javascripts/.keep +0 -0
- data/rails_sample/vendor/assets/stylesheets/.keep +0 -0
- data/sinatra_sample/Gemfile +0 -5
- data/sinatra_sample/Gemfile.lock +0 -34
- data/sinatra_sample/app.rb +0 -16
- data/sinatra_sample/config.ru +0 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 196193c319b01ca515b88528abd0e71594f8d320679255234465022eb353bf5b
|
|
4
|
+
data.tar.gz: 9d46fb2122d7e4e971b056f8ce5d7ac9c5132f6fa8198665520a70661ec0d348
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a25fdf45a55784820fc006206c3ce7adfe106d66b56399ef779f089d94c7e9c9bd8d7e90dd98b6b32155a53d08af75fe9b6ffd06e3cfb11227a932b4d8bacae3
|
|
7
|
+
data.tar.gz: bdb3879111432d33451ef731bda1cd82fe70bf3586ed49ac873b7e73ad0aab96aa116b5fe7dfef274768ff6c3cdefa7e09b10a976d5ff8791e9fff0d0de5689e
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
name: test
|
|
2
|
+
on:
|
|
3
|
+
push:
|
|
4
|
+
branches:
|
|
5
|
+
- master
|
|
6
|
+
pull_request:
|
|
7
|
+
types:
|
|
8
|
+
- opened
|
|
9
|
+
- synchronize
|
|
10
|
+
- reopened
|
|
11
|
+
schedule:
|
|
12
|
+
- cron: "00 15 * * *" # 7:00 PST (-8), 8:00 PDT (-7)
|
|
13
|
+
jobs:
|
|
14
|
+
test:
|
|
15
|
+
runs-on: ubuntu-latest
|
|
16
|
+
strategy:
|
|
17
|
+
fail-fast: false
|
|
18
|
+
matrix:
|
|
19
|
+
ruby:
|
|
20
|
+
- '2.5'
|
|
21
|
+
- '2.6'
|
|
22
|
+
- '2.7'
|
|
23
|
+
- '3.0'
|
|
24
|
+
- '3.1'
|
|
25
|
+
steps:
|
|
26
|
+
- uses: actions/checkout@v2
|
|
27
|
+
- name: Set up Ruby
|
|
28
|
+
uses: ruby/setup-ruby@v1
|
|
29
|
+
with:
|
|
30
|
+
ruby-version: ${{ matrix.ruby }}
|
|
31
|
+
- uses: actions/cache@v2
|
|
32
|
+
with:
|
|
33
|
+
path: vendor/bundle
|
|
34
|
+
key: ${{ runner.os }}-${{ matrix.ruby }}-gems-${{ hashFiles('**/Gemfile.lock') }}
|
|
35
|
+
restore-keys: ${{ runner.os }}-gems-
|
|
36
|
+
- name: bundle install
|
|
37
|
+
run: bundle config path vendor/bundle && bundle install -j$(nproc) --retry 3
|
|
38
|
+
- run: bundle exec rake
|
data/CHANGELOG.md
ADDED
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## [v0.5.3](https://github.com/k0kubun/rack-user_agent/tree/v0.5.3) (2022-01-22)
|
|
4
|
+
|
|
5
|
+
[Full Changelog](https://github.com/k0kubun/rack-user_agent/compare/v0.5.2...v0.5.3)
|
|
6
|
+
|
|
7
|
+
**Merged pull requests:**
|
|
8
|
+
|
|
9
|
+
- Exclude sample directories from spec.files [\#12](https://github.com/k0kubun/rack-user_agent/pull/12) ([lnit](https://github.com/lnit))
|
|
10
|
+
- Restrict minitest version to lower than 6 [\#11](https://github.com/k0kubun/rack-user_agent/pull/11) ([unasuke](https://github.com/unasuke))
|
|
11
|
+
- Add/Remove Ruby versions on CI [\#10](https://github.com/k0kubun/rack-user_agent/pull/10) ([unasuke](https://github.com/unasuke))
|
|
12
|
+
- Add undocument method to README.md [\#9](https://github.com/k0kubun/rack-user_agent/pull/9) ([cutmail](https://github.com/cutmail))
|
|
13
|
+
|
|
14
|
+
## [v0.5.2](https://github.com/k0kubun/rack-user_agent/tree/v0.5.2) (2016-07-11)
|
|
15
|
+
|
|
16
|
+
[Full Changelog](https://github.com/k0kubun/rack-user_agent/compare/v0.5.1...v0.5.2)
|
|
17
|
+
|
|
18
|
+
**Merged pull requests:**
|
|
19
|
+
|
|
20
|
+
- Support woothee 1.1+ [\#8](https://github.com/k0kubun/rack-user_agent/pull/8) ([amatsuda](https://github.com/amatsuda))
|
|
21
|
+
|
|
22
|
+
## [v0.5.1](https://github.com/k0kubun/rack-user_agent/tree/v0.5.1) (2016-05-28)
|
|
23
|
+
|
|
24
|
+
[Full Changelog](https://github.com/k0kubun/rack-user_agent/compare/v0.5.0...v0.5.1)
|
|
25
|
+
|
|
26
|
+
**Merged pull requests:**
|
|
27
|
+
|
|
28
|
+
- Detect as 'from\_ios' when os is iOS [\#7](https://github.com/k0kubun/rack-user_agent/pull/7) ([vividmuimui](https://github.com/vividmuimui))
|
|
29
|
+
|
|
30
|
+
## [v0.5.0](https://github.com/k0kubun/rack-user_agent/tree/v0.5.0) (2016-05-17)
|
|
31
|
+
|
|
32
|
+
[Full Changelog](https://github.com/k0kubun/rack-user_agent/compare/v0.4.2...v0.5.0)
|
|
33
|
+
|
|
34
|
+
**Merged pull requests:**
|
|
35
|
+
|
|
36
|
+
- Add methods to detect os [\#6](https://github.com/k0kubun/rack-user_agent/pull/6) ([knjko](https://github.com/knjko))
|
|
37
|
+
|
|
38
|
+
## [v0.4.2](https://github.com/k0kubun/rack-user_agent/tree/v0.4.2) (2015-12-19)
|
|
39
|
+
|
|
40
|
+
[Full Changelog](https://github.com/k0kubun/rack-user_agent/compare/v0.4.1...v0.4.2)
|
|
41
|
+
|
|
42
|
+
**Merged pull requests:**
|
|
43
|
+
|
|
44
|
+
- ActionDispatch::Request is not \< Rack::Request in Rails 5 [\#5](https://github.com/k0kubun/rack-user_agent/pull/5) ([amatsuda](https://github.com/amatsuda))
|
|
45
|
+
|
|
46
|
+
## [v0.4.1](https://github.com/k0kubun/rack-user_agent/tree/v0.4.1) (2015-12-18)
|
|
47
|
+
|
|
48
|
+
[Full Changelog](https://github.com/k0kubun/rack-user_agent/compare/v0.4.0...v0.4.1)
|
|
49
|
+
|
|
50
|
+
**Merged pull requests:**
|
|
51
|
+
|
|
52
|
+
- Rails 5 doesn't rack ActionDispatch::ParamsParser [\#4](https://github.com/k0kubun/rack-user_agent/pull/4) ([amatsuda](https://github.com/amatsuda))
|
|
53
|
+
|
|
54
|
+
## [v0.4.0](https://github.com/k0kubun/rack-user_agent/tree/v0.4.0) (2015-12-18)
|
|
55
|
+
|
|
56
|
+
[Full Changelog](https://github.com/k0kubun/rack-user_agent/compare/v0.3.1...v0.4.0)
|
|
57
|
+
|
|
58
|
+
**Merged pull requests:**
|
|
59
|
+
|
|
60
|
+
- Support rack 2.x [\#3](https://github.com/k0kubun/rack-user_agent/pull/3) ([amatsuda](https://github.com/amatsuda))
|
|
61
|
+
|
|
62
|
+
## [v0.3.1](https://github.com/k0kubun/rack-user_agent/tree/v0.3.1) (2015-08-05)
|
|
63
|
+
|
|
64
|
+
[Full Changelog](https://github.com/k0kubun/rack-user_agent/compare/v0.3.0...v0.3.1)
|
|
65
|
+
|
|
66
|
+
**Merged pull requests:**
|
|
67
|
+
|
|
68
|
+
- Add `from ipod?` to Detectors [\#2](https://github.com/k0kubun/rack-user_agent/pull/2) ([matsuhisa](https://github.com/matsuhisa))
|
|
69
|
+
|
|
70
|
+
## [v0.3.0](https://github.com/k0kubun/rack-user_agent/tree/v0.3.0) (2015-07-01)
|
|
71
|
+
|
|
72
|
+
[Full Changelog](https://github.com/k0kubun/rack-user_agent/compare/v0.2.3...v0.3.0)
|
|
73
|
+
|
|
74
|
+
**Merged pull requests:**
|
|
75
|
+
|
|
76
|
+
- expect that devise\_type is a symobol [\#1](https://github.com/k0kubun/rack-user_agent/pull/1) ([osdakira](https://github.com/osdakira))
|
|
77
|
+
|
|
78
|
+
## [v0.2.3](https://github.com/k0kubun/rack-user_agent/tree/v0.2.3) (2014-11-25)
|
|
79
|
+
|
|
80
|
+
[Full Changelog](https://github.com/k0kubun/rack-user_agent/compare/v0.2.2...v0.2.3)
|
|
81
|
+
|
|
82
|
+
## [v0.2.2](https://github.com/k0kubun/rack-user_agent/tree/v0.2.2) (2014-11-21)
|
|
83
|
+
|
|
84
|
+
[Full Changelog](https://github.com/k0kubun/rack-user_agent/compare/v0.2.1...v0.2.2)
|
|
85
|
+
|
|
86
|
+
## [v0.2.1](https://github.com/k0kubun/rack-user_agent/tree/v0.2.1) (2014-11-21)
|
|
87
|
+
|
|
88
|
+
[Full Changelog](https://github.com/k0kubun/rack-user_agent/compare/v0.2.0...v0.2.1)
|
|
89
|
+
|
|
90
|
+
## [v0.2.0](https://github.com/k0kubun/rack-user_agent/tree/v0.2.0) (2014-11-21)
|
|
91
|
+
|
|
92
|
+
[Full Changelog](https://github.com/k0kubun/rack-user_agent/compare/v0.1.0...v0.2.0)
|
|
93
|
+
|
|
94
|
+
## [v0.1.0](https://github.com/k0kubun/rack-user_agent/tree/v0.1.0) (2014-11-21)
|
|
95
|
+
|
|
96
|
+
[Full Changelog](https://github.com/k0kubun/rack-user_agent/compare/v0.0.1...v0.1.0)
|
|
97
|
+
|
|
98
|
+
## [v0.0.1](https://github.com/k0kubun/rack-user_agent/tree/v0.0.1) (2014-11-20)
|
|
99
|
+
|
|
100
|
+
[Full Changelog](https://github.com/k0kubun/rack-user_agent/compare/18b4495a925091bc97453ac54bee88b9da23a810...v0.0.1)
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
\* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*
|
data/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Rack::UserAgent [](https://github.com/k0kubun/rack-user_agent/actions/workflows/test.yml)
|
|
2
2
|
|
|
3
3
|
Rack::Request extension for handling User-Agent.
|
|
4
4
|
Thanks to [woothee](https://github.com/woothee/woothee-ruby), Rack::UserAgent supports various User-Agents.
|
|
@@ -88,9 +88,12 @@ APIs compatible with [rack-smartphone\_detector](https://github.com/ihara2525/ra
|
|
|
88
88
|
- request.smartphone\_version
|
|
89
89
|
- request.from\_iphone?
|
|
90
90
|
- request.from\_ipad?
|
|
91
|
+
- request.from\_ipod?
|
|
91
92
|
- request.from\_android?
|
|
92
93
|
- request.from\_android\_tablet?
|
|
93
94
|
- request.from\_windows\_phone?
|
|
95
|
+
- request.from\_ios?
|
|
96
|
+
- request.from\_android\_os?
|
|
94
97
|
|
|
95
98
|
## License
|
|
96
99
|
|
|
@@ -24,6 +24,10 @@ module Rack
|
|
|
24
24
|
os == "iPod"
|
|
25
25
|
end
|
|
26
26
|
|
|
27
|
+
def from_ios?
|
|
28
|
+
from_iphone? || from_ipad? || from_ipod? || os == "iOS"
|
|
29
|
+
end
|
|
30
|
+
|
|
27
31
|
def from_android?
|
|
28
32
|
os == "Android" && android_mobile?
|
|
29
33
|
end
|
|
@@ -32,6 +36,10 @@ module Rack
|
|
|
32
36
|
os == "Android" && !android_mobile?
|
|
33
37
|
end
|
|
34
38
|
|
|
39
|
+
def from_android_os?
|
|
40
|
+
from_android? || from_android_tablet?
|
|
41
|
+
end
|
|
42
|
+
|
|
35
43
|
def from_windows_phone?
|
|
36
44
|
os == "Windows Phone OS"
|
|
37
45
|
end
|
data/rack-user_agent.gemspec
CHANGED
|
@@ -19,10 +19,10 @@ Gem::Specification.new do |spec|
|
|
|
19
19
|
spec.require_paths = ["lib"]
|
|
20
20
|
|
|
21
21
|
spec.add_dependency "rack", ">= 1.5"
|
|
22
|
-
spec.add_dependency "woothee", "
|
|
22
|
+
spec.add_dependency "woothee", ">= 1.0.0"
|
|
23
23
|
|
|
24
|
-
spec.add_development_dependency "bundler", "
|
|
25
|
-
spec.add_development_dependency "rake", "
|
|
24
|
+
spec.add_development_dependency "bundler", ">= 1.10"
|
|
25
|
+
spec.add_development_dependency "rake", ">= 10.0"
|
|
26
26
|
spec.add_development_dependency "pry"
|
|
27
27
|
spec.add_development_dependency "minitest"
|
|
28
28
|
spec.add_development_dependency "rack-test"
|
|
@@ -8,6 +8,7 @@ describe "Rack::UserAgent::Detector" do
|
|
|
8
8
|
SMARTPHONES = [
|
|
9
9
|
{
|
|
10
10
|
name: "iPhone",
|
|
11
|
+
os: "iOS",
|
|
11
12
|
version: "5.1.1",
|
|
12
13
|
user_agents: [
|
|
13
14
|
"Mozilla/5.0 (iPhone; CPU iPhone OS 5_1_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B206 Safari/7534.48.3",
|
|
@@ -15,6 +16,7 @@ describe "Rack::UserAgent::Detector" do
|
|
|
15
16
|
},
|
|
16
17
|
{
|
|
17
18
|
name: "iPhone",
|
|
19
|
+
os: "iOS",
|
|
18
20
|
version: "6.0",
|
|
19
21
|
user_agents: [
|
|
20
22
|
"Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A403 Safari/8536.25",
|
|
@@ -22,6 +24,7 @@ describe "Rack::UserAgent::Detector" do
|
|
|
22
24
|
},
|
|
23
25
|
{
|
|
24
26
|
name: "iPad",
|
|
27
|
+
os: "iOS",
|
|
25
28
|
version: "6.0",
|
|
26
29
|
user_agents: [
|
|
27
30
|
"Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A403 Safari/8536.25"
|
|
@@ -29,13 +32,23 @@ describe "Rack::UserAgent::Detector" do
|
|
|
29
32
|
},
|
|
30
33
|
{
|
|
31
34
|
name: "iPod",
|
|
35
|
+
os: "iOS",
|
|
32
36
|
version: "8.0",
|
|
33
37
|
user_agents: [
|
|
34
38
|
"Mozilla/5.0 (iPod touch; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12A365 Safari/600.1.4"
|
|
35
39
|
]
|
|
36
40
|
},
|
|
41
|
+
{
|
|
42
|
+
name: "UNKNOWN",
|
|
43
|
+
os: "iOS",
|
|
44
|
+
version: nil,
|
|
45
|
+
user_agents: [
|
|
46
|
+
"Blogos/1.13 CFNetwork/548.0.4 Darwin/11.0.0"
|
|
47
|
+
]
|
|
48
|
+
},
|
|
37
49
|
{
|
|
38
50
|
name: "Android",
|
|
51
|
+
os: "Android",
|
|
39
52
|
version: "4.0.1",
|
|
40
53
|
user_agents: [
|
|
41
54
|
"Mozilla/5.0 (Linux; U; Android 4.0.1; ja-jp; Galaxy Nexus Build/ITL41D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30",
|
|
@@ -43,6 +56,7 @@ describe "Rack::UserAgent::Detector" do
|
|
|
43
56
|
},
|
|
44
57
|
{
|
|
45
58
|
name: "Android",
|
|
59
|
+
os: "Android",
|
|
46
60
|
version: "4.2.1",
|
|
47
61
|
user_agents: [
|
|
48
62
|
"Opera/9.80 (Android 4.2.1; Linux; Opera Mobi/ADR-1301080958) Presto/2.11.355 Version/12.10"
|
|
@@ -50,6 +64,7 @@ describe "Rack::UserAgent::Detector" do
|
|
|
50
64
|
},
|
|
51
65
|
{
|
|
52
66
|
name: "Android",
|
|
67
|
+
os: "Android",
|
|
53
68
|
version: nil,
|
|
54
69
|
user_agents: [
|
|
55
70
|
"Mozilla/5.0 (Android; Mobile; rv:18.0) Gecko/18.0 Firefox/18.0",
|
|
@@ -57,6 +72,7 @@ describe "Rack::UserAgent::Detector" do
|
|
|
57
72
|
},
|
|
58
73
|
{
|
|
59
74
|
name: "Android Tablet",
|
|
75
|
+
os: "Android",
|
|
60
76
|
version: "4.1.1",
|
|
61
77
|
user_agents: [
|
|
62
78
|
"Mozilla/5.0 (Linux; Android 4.1.1; Nexus 7 Build/JRO03S) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Safari/535.19"
|
|
@@ -64,6 +80,7 @@ describe "Rack::UserAgent::Detector" do
|
|
|
64
80
|
},
|
|
65
81
|
{
|
|
66
82
|
name: "Windows Phone",
|
|
83
|
+
os: "Windows Phone",
|
|
67
84
|
version: "7.5",
|
|
68
85
|
user_agents: [
|
|
69
86
|
"Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; FujitsuToshibaMobileCommun; IS12T; KDDI)"
|
|
@@ -110,7 +127,11 @@ describe "Rack::UserAgent::Detector" do
|
|
|
110
127
|
info[:user_agents].each do |ua|
|
|
111
128
|
header "User-Agent", ua
|
|
112
129
|
get "/"
|
|
113
|
-
|
|
130
|
+
if info[:version].nil?
|
|
131
|
+
assert_nil last_request.smartphone_version
|
|
132
|
+
else
|
|
133
|
+
last_request.smartphone_version.must_equal info[:version]
|
|
134
|
+
end
|
|
114
135
|
end
|
|
115
136
|
end
|
|
116
137
|
end
|
|
@@ -146,6 +167,16 @@ describe "Rack::UserAgent::Detector" do
|
|
|
146
167
|
end
|
|
147
168
|
end
|
|
148
169
|
|
|
170
|
+
describe "#from_ios?" do
|
|
171
|
+
it "returns true if the request comes from ios" do
|
|
172
|
+
user_agents("iOS", key: :os).each do |ua|
|
|
173
|
+
header "User-Agent", ua
|
|
174
|
+
get "/"
|
|
175
|
+
last_request.from_ios?.must_equal true
|
|
176
|
+
end
|
|
177
|
+
end
|
|
178
|
+
end
|
|
179
|
+
|
|
149
180
|
describe "#from_android?" do
|
|
150
181
|
it "returns true if the request comes from android mobile" do
|
|
151
182
|
user_agents("Android").each do |ua|
|
|
@@ -166,6 +197,16 @@ describe "Rack::UserAgent::Detector" do
|
|
|
166
197
|
end
|
|
167
198
|
end
|
|
168
199
|
|
|
200
|
+
describe "#from_android_os?" do
|
|
201
|
+
it "returns true if the request comes from android os" do
|
|
202
|
+
user_agents("Android", key: :os) .each do |ua|
|
|
203
|
+
header "User-Agent", ua
|
|
204
|
+
get "/"
|
|
205
|
+
last_request.from_android_os?.must_equal true
|
|
206
|
+
end
|
|
207
|
+
end
|
|
208
|
+
end
|
|
209
|
+
|
|
169
210
|
describe "#from_windows_phone?" do
|
|
170
211
|
it "returns true if the request comes from windows phone" do
|
|
171
212
|
user_agents("Windows Phone").each do |ua|
|
|
@@ -176,7 +217,8 @@ describe "Rack::UserAgent::Detector" do
|
|
|
176
217
|
end
|
|
177
218
|
end
|
|
178
219
|
|
|
179
|
-
def user_agents(name)
|
|
180
|
-
SMARTPHONES.
|
|
220
|
+
def user_agents(word, key: :name)
|
|
221
|
+
SMARTPHONES.find_all { |info| info[key] == word }
|
|
222
|
+
.flat_map { |info| info[:user_agents]}
|
|
181
223
|
end
|
|
182
224
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rack-user_agent
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.5.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Takashi Kokubun
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2022-01-22 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rack
|
|
@@ -28,42 +28,42 @@ dependencies:
|
|
|
28
28
|
name: woothee
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
30
30
|
requirements:
|
|
31
|
-
- - "
|
|
31
|
+
- - ">="
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
33
|
version: 1.0.0
|
|
34
34
|
type: :runtime
|
|
35
35
|
prerelease: false
|
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
37
|
requirements:
|
|
38
|
-
- - "
|
|
38
|
+
- - ">="
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
40
|
version: 1.0.0
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
42
|
name: bundler
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
44
44
|
requirements:
|
|
45
|
-
- - "
|
|
45
|
+
- - ">="
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: '1.
|
|
47
|
+
version: '1.10'
|
|
48
48
|
type: :development
|
|
49
49
|
prerelease: false
|
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
51
|
requirements:
|
|
52
|
-
- - "
|
|
52
|
+
- - ">="
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
|
-
version: '1.
|
|
54
|
+
version: '1.10'
|
|
55
55
|
- !ruby/object:Gem::Dependency
|
|
56
56
|
name: rake
|
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
|
58
58
|
requirements:
|
|
59
|
-
- - "
|
|
59
|
+
- - ">="
|
|
60
60
|
- !ruby/object:Gem::Version
|
|
61
61
|
version: '10.0'
|
|
62
62
|
type: :development
|
|
63
63
|
prerelease: false
|
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
65
65
|
requirements:
|
|
66
|
-
- - "
|
|
66
|
+
- - ">="
|
|
67
67
|
- !ruby/object:Gem::Version
|
|
68
68
|
version: '10.0'
|
|
69
69
|
- !ruby/object:Gem::Dependency
|
|
@@ -115,8 +115,10 @@ executables: []
|
|
|
115
115
|
extensions: []
|
|
116
116
|
extra_rdoc_files: []
|
|
117
117
|
files:
|
|
118
|
+
- ".github/workflows/test.yml"
|
|
119
|
+
- ".github_changelog_generator"
|
|
118
120
|
- ".gitignore"
|
|
119
|
-
-
|
|
121
|
+
- CHANGELOG.md
|
|
120
122
|
- Gemfile
|
|
121
123
|
- LICENSE.txt
|
|
122
124
|
- README.md
|
|
@@ -128,67 +130,6 @@ files:
|
|
|
128
130
|
- lib/rack/user_agent/result.rb
|
|
129
131
|
- lib/rack/user_agent/version.rb
|
|
130
132
|
- rack-user_agent.gemspec
|
|
131
|
-
- rails_sample/.gitignore
|
|
132
|
-
- rails_sample/Gemfile
|
|
133
|
-
- rails_sample/Gemfile.lock
|
|
134
|
-
- rails_sample/README.rdoc
|
|
135
|
-
- rails_sample/Rakefile
|
|
136
|
-
- rails_sample/app/assets/images/.keep
|
|
137
|
-
- rails_sample/app/assets/javascripts/application.js
|
|
138
|
-
- rails_sample/app/assets/stylesheets/application.css
|
|
139
|
-
- rails_sample/app/controllers/application_controller.rb
|
|
140
|
-
- rails_sample/app/controllers/concerns/.keep
|
|
141
|
-
- rails_sample/app/helpers/application_helper.rb
|
|
142
|
-
- rails_sample/app/mailers/.keep
|
|
143
|
-
- rails_sample/app/models/.keep
|
|
144
|
-
- rails_sample/app/models/concerns/.keep
|
|
145
|
-
- rails_sample/app/views/application/index.html.erb
|
|
146
|
-
- rails_sample/app/views/layouts/application.html.erb
|
|
147
|
-
- rails_sample/bin/bundle
|
|
148
|
-
- rails_sample/bin/rails
|
|
149
|
-
- rails_sample/bin/rake
|
|
150
|
-
- rails_sample/bin/spring
|
|
151
|
-
- rails_sample/config.ru
|
|
152
|
-
- rails_sample/config/application.rb
|
|
153
|
-
- rails_sample/config/boot.rb
|
|
154
|
-
- rails_sample/config/database.yml
|
|
155
|
-
- rails_sample/config/environment.rb
|
|
156
|
-
- rails_sample/config/environments/development.rb
|
|
157
|
-
- rails_sample/config/environments/production.rb
|
|
158
|
-
- rails_sample/config/environments/test.rb
|
|
159
|
-
- rails_sample/config/initializers/assets.rb
|
|
160
|
-
- rails_sample/config/initializers/backtrace_silencers.rb
|
|
161
|
-
- rails_sample/config/initializers/cookies_serializer.rb
|
|
162
|
-
- rails_sample/config/initializers/filter_parameter_logging.rb
|
|
163
|
-
- rails_sample/config/initializers/inflections.rb
|
|
164
|
-
- rails_sample/config/initializers/mime_types.rb
|
|
165
|
-
- rails_sample/config/initializers/session_store.rb
|
|
166
|
-
- rails_sample/config/initializers/wrap_parameters.rb
|
|
167
|
-
- rails_sample/config/locales/en.yml
|
|
168
|
-
- rails_sample/config/routes.rb
|
|
169
|
-
- rails_sample/config/secrets.yml
|
|
170
|
-
- rails_sample/db/seeds.rb
|
|
171
|
-
- rails_sample/lib/assets/.keep
|
|
172
|
-
- rails_sample/lib/tasks/.keep
|
|
173
|
-
- rails_sample/log/.keep
|
|
174
|
-
- rails_sample/public/404.html
|
|
175
|
-
- rails_sample/public/422.html
|
|
176
|
-
- rails_sample/public/500.html
|
|
177
|
-
- rails_sample/public/favicon.ico
|
|
178
|
-
- rails_sample/public/robots.txt
|
|
179
|
-
- rails_sample/test/controllers/.keep
|
|
180
|
-
- rails_sample/test/fixtures/.keep
|
|
181
|
-
- rails_sample/test/helpers/.keep
|
|
182
|
-
- rails_sample/test/integration/.keep
|
|
183
|
-
- rails_sample/test/mailers/.keep
|
|
184
|
-
- rails_sample/test/models/.keep
|
|
185
|
-
- rails_sample/test/test_helper.rb
|
|
186
|
-
- rails_sample/vendor/assets/javascripts/.keep
|
|
187
|
-
- rails_sample/vendor/assets/stylesheets/.keep
|
|
188
|
-
- sinatra_sample/Gemfile
|
|
189
|
-
- sinatra_sample/Gemfile.lock
|
|
190
|
-
- sinatra_sample/app.rb
|
|
191
|
-
- sinatra_sample/config.ru
|
|
192
133
|
- spec/lib/rack/user_agent/checker_spec.rb
|
|
193
134
|
- spec/lib/rack/user_agent/detector_spec.rb
|
|
194
135
|
- spec/lib/rack/user_agent/result_spec.rb
|
|
@@ -198,7 +139,7 @@ homepage: https://github.com/k0kubun/rack-user_agent
|
|
|
198
139
|
licenses:
|
|
199
140
|
- MIT
|
|
200
141
|
metadata: {}
|
|
201
|
-
post_install_message:
|
|
142
|
+
post_install_message:
|
|
202
143
|
rdoc_options: []
|
|
203
144
|
require_paths:
|
|
204
145
|
- lib
|
|
@@ -213,9 +154,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
213
154
|
- !ruby/object:Gem::Version
|
|
214
155
|
version: '0'
|
|
215
156
|
requirements: []
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
signing_key:
|
|
157
|
+
rubygems_version: 3.2.22
|
|
158
|
+
signing_key:
|
|
219
159
|
specification_version: 4
|
|
220
160
|
summary: Rack::Request extension for handling User-Agent.
|
|
221
161
|
test_files:
|
|
@@ -224,4 +164,3 @@ test_files:
|
|
|
224
164
|
- spec/lib/rack/user_agent/result_spec.rb
|
|
225
165
|
- spec/lib/rack/user_agent_spec.rb
|
|
226
166
|
- spec/spec_helper.rb
|
|
227
|
-
has_rdoc:
|
data/.travis.yml
DELETED
data/rails_sample/.gitignore
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
# See https://help.github.com/articles/ignoring-files for more about ignoring files.
|
|
2
|
-
#
|
|
3
|
-
# If you find yourself ignoring temporary files generated by your text editor
|
|
4
|
-
# or operating system, you probably want to add a global ignore instead:
|
|
5
|
-
# git config --global core.excludesfile '~/.gitignore_global'
|
|
6
|
-
|
|
7
|
-
# Ignore bundler config.
|
|
8
|
-
/.bundle
|
|
9
|
-
|
|
10
|
-
# Ignore the default SQLite database.
|
|
11
|
-
/db/*.sqlite3
|
|
12
|
-
/db/*.sqlite3-journal
|
|
13
|
-
|
|
14
|
-
# Ignore all logfiles and tempfiles.
|
|
15
|
-
/log/*.log
|
|
16
|
-
/tmp
|
data/rails_sample/Gemfile
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
source 'https://rubygems.org'
|
|
2
|
-
|
|
3
|
-
gem 'rails', '4.1.5'
|
|
4
|
-
gem 'sqlite3'
|
|
5
|
-
gem 'sass-rails', '~> 4.0.3'
|
|
6
|
-
gem 'uglifier', '>= 1.3.0'
|
|
7
|
-
gem 'coffee-rails', '~> 4.0.0'
|
|
8
|
-
gem 'jquery-rails'
|
|
9
|
-
gem 'turbolinks'
|
|
10
|
-
gem 'jbuilder', '~> 2.0'
|
|
11
|
-
gem 'sdoc', '~> 0.4.0', group: :doc
|
|
12
|
-
gem 'spring', group: :development
|
|
13
|
-
gem 'pry'
|
|
14
|
-
|
|
15
|
-
gem 'rack-user_agent', path: '..'
|