darjeelink 0.14.4 → 0.14.5
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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 11b58c6d79e63e250e80fccc4dc0ab8aa6e1daf8848e51e14afd9a3637a6dea2
|
4
|
+
data.tar.gz: 2ab545a7e59ac4a248f773ead73aeb4e35b3937afd3ffb37b912a1c537c6c8ea
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 92311cceed07587d5e2ba80c25849e1e7a39d4f7e37351482bd6eaa2d65b47bf712ff25600acae1b6508cab6ed65dc792cf9506b94093d8275005027e620bd75
|
7
|
+
data.tar.gz: ed319fe3f5aaded52f783defcaedeb9efa2e199cf1a6e060cc23ad68318c872de5b95d49af7146ec4b2c0b2c9758e0afb493edf156c92dea947d8b61ccfcbdf1
|
data/README.md
CHANGED
@@ -131,6 +131,10 @@ Note that if you are running in a vagrant VM, most of these steps can be done fr
|
|
131
131
|
- Run `gem build darjeelink.gemspec` this will output a file `darjeelink-X.X.X.gem` the version should match what version.rb and github.
|
132
132
|
- Run `gem push darjeelink-X.X.X.gem`
|
133
133
|
|
134
|
+
## TODOs
|
135
|
+
|
136
|
+
We have a few TODOs in the project. Please grep for TODO in the codebase to see them, and consider picking one up during maintainance.
|
137
|
+
|
134
138
|
## GDPR
|
135
139
|
No personally identifiable data is stored about the public by this gem.
|
136
140
|
It does not store information on individual clicks, only a counter of how many times a link has been clicked.
|
@@ -53,7 +53,7 @@ module Darjeelink
|
|
53
53
|
def valid_authorization_token?(username_token)
|
54
54
|
username, token = username_token.split ':'
|
55
55
|
|
56
|
-
stored_token = ApiToken.find_by(username
|
56
|
+
stored_token = ApiToken.find_by(username:, active: true)&.token
|
57
57
|
return false if stored_token.nil?
|
58
58
|
|
59
59
|
ActiveSupport::SecurityUtils.secure_compare(
|
@@ -9,15 +9,20 @@ module Darjeelink
|
|
9
9
|
|
10
10
|
private
|
11
11
|
|
12
|
+
def determine_ip_to_verify
|
13
|
+
if Rails.application.client_ip_header
|
14
|
+
request.headers[Rails.application.client_ip_header]
|
15
|
+
else
|
16
|
+
request.ip
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
12
20
|
# Check user IP address against whitelist from ENV
|
13
21
|
def check_ip_whitelist
|
14
22
|
return unless Rails.env.production?
|
15
23
|
return unless Rails.application.config.permitted_ips
|
16
|
-
|
17
|
-
|
18
|
-
else
|
19
|
-
request.ip
|
20
|
-
end
|
24
|
+
|
25
|
+
ip_to_verify = determine_ip_to_verify
|
21
26
|
|
22
27
|
return if Rails.application.config.permitted_ips.split(',').include? ip_to_verify
|
23
28
|
|
@@ -24,7 +24,7 @@ module Darjeelink
|
|
24
24
|
|
25
25
|
def create_short_link(url, auto_generated_key, custom_key)
|
26
26
|
shortened_path = custom_key.present? ? custom_key : auto_generated_key
|
27
|
-
::Darjeelink::ShortLink.create!(url
|
27
|
+
::Darjeelink::ShortLink.create!(url:, shortened_path:)
|
28
28
|
rescue ActiveRecord::RecordNotUnique
|
29
29
|
duplicates << "#{url}/#{custom_key || auto_generated_key}"
|
30
30
|
end
|
data/lib/darjeelink/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: darjeelink
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.14.
|
4
|
+
version: 0.14.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Hulme
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-03-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: omniauth
|
@@ -17,6 +17,9 @@ dependencies:
|
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '1.9'
|
20
|
+
- - "<"
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '3.0'
|
20
23
|
type: :runtime
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -24,6 +27,9 @@ dependencies:
|
|
24
27
|
- - "~>"
|
25
28
|
- !ruby/object:Gem::Version
|
26
29
|
version: '1.9'
|
30
|
+
- - "<"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '3.0'
|
27
33
|
- !ruby/object:Gem::Dependency
|
28
34
|
name: omniauth-google-oauth2
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -58,14 +64,14 @@ dependencies:
|
|
58
64
|
requirements:
|
59
65
|
- - "~>"
|
60
66
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
67
|
+
version: 6.1.7
|
62
68
|
type: :runtime
|
63
69
|
prerelease: false
|
64
70
|
version_requirements: !ruby/object:Gem::Requirement
|
65
71
|
requirements:
|
66
72
|
- - "~>"
|
67
73
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
74
|
+
version: 6.1.7
|
69
75
|
- !ruby/object:Gem::Dependency
|
70
76
|
name: rebrandly
|
71
77
|
requirement: !ruby/object:Gem::Requirement
|
@@ -192,7 +198,7 @@ dependencies:
|
|
192
198
|
- - ">="
|
193
199
|
- !ruby/object:Gem::Version
|
194
200
|
version: '0'
|
195
|
-
description:
|
201
|
+
description:
|
196
202
|
email:
|
197
203
|
- james@38degrees.org.uk
|
198
204
|
executables: []
|
@@ -244,8 +250,9 @@ files:
|
|
244
250
|
homepage: https://github.com/38degrees/darjeelink
|
245
251
|
licenses:
|
246
252
|
- MIT
|
247
|
-
metadata:
|
248
|
-
|
253
|
+
metadata:
|
254
|
+
rubygems_mfa_required: 'true'
|
255
|
+
post_install_message:
|
249
256
|
rdoc_options: []
|
250
257
|
require_paths:
|
251
258
|
- lib
|
@@ -260,8 +267,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
260
267
|
- !ruby/object:Gem::Version
|
261
268
|
version: '0'
|
262
269
|
requirements: []
|
263
|
-
rubygems_version: 3.3.
|
264
|
-
signing_key:
|
270
|
+
rubygems_version: 3.3.26
|
271
|
+
signing_key:
|
265
272
|
specification_version: 4
|
266
273
|
summary: URL Shortener
|
267
274
|
test_files: []
|