deeplink 1.0.1 → 2.0.0
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/README.md +4 -3
- data/lib/deeplink/link.rb +13 -14
- data/lib/deeplink/version.rb +1 -1
- data/lib/deeplink.rb +0 -1
- metadata +10 -111
- data/.gitignore +0 -10
- data/.rspec +0 -3
- data/.rubocop.yml +0 -28
- data/.ruby-version +0 -1
- data/.travis.yml +0 -7
- data/Gemfile +0 -6
- data/Rakefile +0 -8
- data/bin/console +0 -9
- data/bin/setup +0 -7
- data/deeplink.gemspec +0 -30
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: f08c25f1f41d07f18e26e2b357f8f171458036cb7d567f0c4bf1aa85ee16b14b
|
|
4
|
+
data.tar.gz: 80d3e34f8cd939d5abbf4e2d6069d94c8e11a1b3e998e2732bec3ab1ce11d2a1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1d9eaa03986c02c3c2be37c4de3a7ddb28c005ce6f6259d278f19017096fdbf85c5e07bdecd3c0fc6ff6f453da7f71456c259b9a28323948b8311d4e1dcab423
|
|
7
|
+
data.tar.gz: 42a9936bd76ce3d1b92212bce9e776fb867de98d7bd30540d55172c4d8704d4973afb3f39eceef4c0c13780653250d5f13568464a43a4965f61e76d94a067631
|
data/README.md
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
[](https://badge.fury.io/rb/deeplink)
|
|
1
|
+
[](https://badge.fury.io/rb/deeplink)
|
|
2
|
+
[](https://github.com/rikas/deeplink/actions/workflows/ci.yml)
|
|
2
3
|
|
|
3
4
|
# Deeplink
|
|
4
5
|
|
|
5
6
|
Handle deep links in an easy way.
|
|
6
7
|
|
|
7
|
-
This gem needs ruby version >= 2
|
|
8
|
+
This gem needs ruby version >= 3.2
|
|
8
9
|
|
|
9
10
|
## Installation
|
|
10
11
|
|
|
@@ -83,7 +84,7 @@ deeplink.to_s # => "foursquare://checkins/20982"
|
|
|
83
84
|
|
|
84
85
|
## Development
|
|
85
86
|
|
|
86
|
-
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake
|
|
87
|
+
After checking out the repo, run `bin/setup` to install dependencies. Then, run `bundle exec rake` to run the tests and RuboCop. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
|
87
88
|
|
|
88
89
|
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
|
89
90
|
|
data/lib/deeplink/link.rb
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require 'uri'
|
|
4
|
-
|
|
4
|
+
|
|
5
|
+
# Ruby 4.0 removed the CGI library; CGI.escape and CGI.unescape now live in cgi/escape.
|
|
6
|
+
if RUBY_VERSION >= '4'
|
|
7
|
+
require 'cgi/escape'
|
|
8
|
+
else
|
|
9
|
+
require 'cgi/util'
|
|
10
|
+
end
|
|
5
11
|
|
|
6
12
|
module Deeplink
|
|
7
13
|
class Link
|
|
@@ -50,11 +56,9 @@ module Deeplink
|
|
|
50
56
|
def remove_query(*keys)
|
|
51
57
|
return unless query
|
|
52
58
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
query.delete(keys.first.to_sym)
|
|
57
|
-
end
|
|
59
|
+
values = keys.map { |key| query.delete(key.to_sym) }
|
|
60
|
+
|
|
61
|
+
keys.size > 1 ? values : values.first
|
|
58
62
|
end
|
|
59
63
|
|
|
60
64
|
# Returns true if the link has a query string or false otherwise
|
|
@@ -116,14 +120,9 @@ module Deeplink
|
|
|
116
120
|
def parse_query(query_str)
|
|
117
121
|
return unless query_str
|
|
118
122
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
#
|
|
122
|
-
array_to_h(param_name_value_pairs)
|
|
123
|
-
end
|
|
124
|
-
|
|
125
|
-
def array_to_h(array)
|
|
126
|
-
array.respond_to?(:to_h) ? array.to_h : Hash[*array.flatten]
|
|
123
|
+
# Values are unescaped here because #sanitize escapes them again; otherwise already encoded
|
|
124
|
+
# values (e.g. "%20") would end up double encoded.
|
|
125
|
+
query_str.scan(/([^&=]+)=([^&{}#]*)/).to_h { |key, value| [key, CGI.unescape(value)] }
|
|
127
126
|
end
|
|
128
127
|
end
|
|
129
128
|
end
|
data/lib/deeplink/version.rb
CHANGED
data/lib/deeplink.rb
CHANGED
metadata
CHANGED
|
@@ -1,105 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: deeplink
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 2.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ricardo Otero
|
|
8
|
-
|
|
9
|
-
bindir: exe
|
|
8
|
+
bindir: bin
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
12
|
-
dependencies:
|
|
13
|
-
- !ruby/object:Gem::Dependency
|
|
14
|
-
name: bundler
|
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
|
16
|
-
requirements:
|
|
17
|
-
- - "~>"
|
|
18
|
-
- !ruby/object:Gem::Version
|
|
19
|
-
version: '1.10'
|
|
20
|
-
type: :development
|
|
21
|
-
prerelease: false
|
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
-
requirements:
|
|
24
|
-
- - "~>"
|
|
25
|
-
- !ruby/object:Gem::Version
|
|
26
|
-
version: '1.10'
|
|
27
|
-
- !ruby/object:Gem::Dependency
|
|
28
|
-
name: pry-byebug
|
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
|
30
|
-
requirements:
|
|
31
|
-
- - "~>"
|
|
32
|
-
- !ruby/object:Gem::Version
|
|
33
|
-
version: 3.4.2
|
|
34
|
-
type: :development
|
|
35
|
-
prerelease: false
|
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
-
requirements:
|
|
38
|
-
- - "~>"
|
|
39
|
-
- !ruby/object:Gem::Version
|
|
40
|
-
version: 3.4.2
|
|
41
|
-
- !ruby/object:Gem::Dependency
|
|
42
|
-
name: rake
|
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
|
44
|
-
requirements:
|
|
45
|
-
- - "~>"
|
|
46
|
-
- !ruby/object:Gem::Version
|
|
47
|
-
version: '10.0'
|
|
48
|
-
type: :development
|
|
49
|
-
prerelease: false
|
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
-
requirements:
|
|
52
|
-
- - "~>"
|
|
53
|
-
- !ruby/object:Gem::Version
|
|
54
|
-
version: '10.0'
|
|
55
|
-
- !ruby/object:Gem::Dependency
|
|
56
|
-
name: rspec
|
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
|
58
|
-
requirements:
|
|
59
|
-
- - "~>"
|
|
60
|
-
- !ruby/object:Gem::Version
|
|
61
|
-
version: 3.4.0
|
|
62
|
-
- - ">="
|
|
63
|
-
- !ruby/object:Gem::Version
|
|
64
|
-
version: 3.4.0
|
|
65
|
-
type: :development
|
|
66
|
-
prerelease: false
|
|
67
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
68
|
-
requirements:
|
|
69
|
-
- - "~>"
|
|
70
|
-
- !ruby/object:Gem::Version
|
|
71
|
-
version: 3.4.0
|
|
72
|
-
- - ">="
|
|
73
|
-
- !ruby/object:Gem::Version
|
|
74
|
-
version: 3.4.0
|
|
75
|
-
- !ruby/object:Gem::Dependency
|
|
76
|
-
name: rubocop
|
|
77
|
-
requirement: !ruby/object:Gem::Requirement
|
|
78
|
-
requirements:
|
|
79
|
-
- - "~>"
|
|
80
|
-
- !ruby/object:Gem::Version
|
|
81
|
-
version: '0.50'
|
|
82
|
-
type: :development
|
|
83
|
-
prerelease: false
|
|
84
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
85
|
-
requirements:
|
|
86
|
-
- - "~>"
|
|
87
|
-
- !ruby/object:Gem::Version
|
|
88
|
-
version: '0.50'
|
|
89
|
-
- !ruby/object:Gem::Dependency
|
|
90
|
-
name: rubocop-rspec
|
|
91
|
-
requirement: !ruby/object:Gem::Requirement
|
|
92
|
-
requirements:
|
|
93
|
-
- - "~>"
|
|
94
|
-
- !ruby/object:Gem::Version
|
|
95
|
-
version: '1.20'
|
|
96
|
-
type: :development
|
|
97
|
-
prerelease: false
|
|
98
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
99
|
-
requirements:
|
|
100
|
-
- - "~>"
|
|
101
|
-
- !ruby/object:Gem::Version
|
|
102
|
-
version: '1.20'
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
11
|
+
dependencies: []
|
|
103
12
|
description: It mitigates the lack of support for mobile deep links on the URI module.
|
|
104
13
|
email:
|
|
105
14
|
- oterosantos@gmail.com
|
|
@@ -107,26 +16,18 @@ executables: []
|
|
|
107
16
|
extensions: []
|
|
108
17
|
extra_rdoc_files: []
|
|
109
18
|
files:
|
|
110
|
-
- ".gitignore"
|
|
111
|
-
- ".rspec"
|
|
112
|
-
- ".rubocop.yml"
|
|
113
|
-
- ".ruby-version"
|
|
114
|
-
- ".travis.yml"
|
|
115
|
-
- Gemfile
|
|
116
19
|
- LICENSE.txt
|
|
117
20
|
- README.md
|
|
118
|
-
- Rakefile
|
|
119
|
-
- bin/console
|
|
120
|
-
- bin/setup
|
|
121
|
-
- deeplink.gemspec
|
|
122
21
|
- lib/deeplink.rb
|
|
123
22
|
- lib/deeplink/link.rb
|
|
124
23
|
- lib/deeplink/version.rb
|
|
125
24
|
homepage: https://github.com/rikas/deeplink
|
|
126
25
|
licenses:
|
|
127
26
|
- MIT
|
|
128
|
-
metadata:
|
|
129
|
-
|
|
27
|
+
metadata:
|
|
28
|
+
source_code_uri: https://github.com/rikas/deeplink
|
|
29
|
+
bug_tracker_uri: https://github.com/rikas/deeplink/issues
|
|
30
|
+
rubygems_mfa_required: 'true'
|
|
130
31
|
rdoc_options: []
|
|
131
32
|
require_paths:
|
|
132
33
|
- lib
|
|
@@ -134,16 +35,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
134
35
|
requirements:
|
|
135
36
|
- - ">="
|
|
136
37
|
- !ruby/object:Gem::Version
|
|
137
|
-
version: '
|
|
38
|
+
version: '3.2'
|
|
138
39
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
139
40
|
requirements:
|
|
140
41
|
- - ">="
|
|
141
42
|
- !ruby/object:Gem::Version
|
|
142
43
|
version: '0'
|
|
143
44
|
requirements: []
|
|
144
|
-
|
|
145
|
-
rubygems_version: 2.5.1
|
|
146
|
-
signing_key:
|
|
45
|
+
rubygems_version: 4.0.10
|
|
147
46
|
specification_version: 4
|
|
148
47
|
summary: Gem to manage deep links parsing.
|
|
149
48
|
test_files: []
|
data/.gitignore
DELETED
data/.rspec
DELETED
data/.rubocop.yml
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
require: rubocop-rspec
|
|
2
|
-
|
|
3
|
-
# Configuration parameters: AllowURI, URISchemes.
|
|
4
|
-
Metrics/LineLength:
|
|
5
|
-
Max: 100
|
|
6
|
-
|
|
7
|
-
Style/Documentation:
|
|
8
|
-
Enabled: false
|
|
9
|
-
|
|
10
|
-
# Assignment Branch Condition size.
|
|
11
|
-
Metrics/AbcSize:
|
|
12
|
-
Max: 25
|
|
13
|
-
|
|
14
|
-
# Don't force me to write unreadable tests, please.
|
|
15
|
-
RSpec/PredicateMatcher:
|
|
16
|
-
Enabled: false
|
|
17
|
-
|
|
18
|
-
# I like to write multiple expectations.
|
|
19
|
-
RSpec/MultipleExpectations:
|
|
20
|
-
Enabled: false
|
|
21
|
-
|
|
22
|
-
# Don't care about example length.
|
|
23
|
-
RSpec/ExampleLength:
|
|
24
|
-
Enabled: false
|
|
25
|
-
|
|
26
|
-
Metrics/BlockLength:
|
|
27
|
-
Exclude:
|
|
28
|
-
- 'spec/**'
|
data/.ruby-version
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
2.3.0
|
data/.travis.yml
DELETED
data/Gemfile
DELETED
data/Rakefile
DELETED
data/bin/console
DELETED
data/bin/setup
DELETED
data/deeplink.gemspec
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
lib = File.expand_path('../lib', __FILE__)
|
|
4
|
-
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
5
|
-
|
|
6
|
-
require 'deeplink/version'
|
|
7
|
-
|
|
8
|
-
Gem::Specification.new do |spec|
|
|
9
|
-
spec.name = 'deeplink'
|
|
10
|
-
spec.version = Deeplink::VERSION
|
|
11
|
-
spec.authors = ['Ricardo Otero']
|
|
12
|
-
spec.email = ['oterosantos@gmail.com']
|
|
13
|
-
|
|
14
|
-
spec.summary = 'Gem to manage deep links parsing.'
|
|
15
|
-
spec.description = 'It mitigates the lack of support for mobile deep links on the URI module.'
|
|
16
|
-
spec.homepage = 'https://github.com/rikas/deeplink'
|
|
17
|
-
spec.license = 'MIT'
|
|
18
|
-
|
|
19
|
-
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(spec)/}) }
|
|
20
|
-
spec.bindir = 'exe'
|
|
21
|
-
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
22
|
-
spec.require_paths = ['lib']
|
|
23
|
-
|
|
24
|
-
spec.add_development_dependency 'bundler', '~> 1.10'
|
|
25
|
-
spec.add_development_dependency 'pry-byebug', '~> 3.4.2'
|
|
26
|
-
spec.add_development_dependency 'rake', '~> 10.0'
|
|
27
|
-
spec.add_development_dependency 'rspec', '~> 3.4.0', '>= 3.4.0'
|
|
28
|
-
spec.add_development_dependency 'rubocop', '~> 0.50'
|
|
29
|
-
spec.add_development_dependency 'rubocop-rspec', '~> 1.20'
|
|
30
|
-
end
|