my_referrer 0.2.2 → 1.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 +4 -4
- data/README.md +79 -1
- data/lib/my_referrer/engine.rb +3 -0
- data/lib/my_referrer/version.rb +1 -1
- data/lib/my_referrer.rb +5 -9
- data/my_referrer.gemspec +2 -4
- data/vendor/assets/javascripts/my_referrer.js +5 -0
- metadata +6 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0f748dfe31e6cfbe4e32d2b03530eb6938274d8e36b6a25e01f964bb27c41a7f
|
4
|
+
data.tar.gz: dc42d5ff44e210697084b9f3311f1a3e808e2ce33c3d97839a929e3e3d4001c5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: af3543fc0c65048babc804c107064abec1c4838f0bcdaad83eb33b27f3113ef98bb8be750ebe45375658ea17b1017a9922068a876fdc86a8de1e9d88365b23df
|
7
|
+
data.tar.gz: 2371189f86472a3c36819166f5fffcf2782dbfae825254c4a3077f5fc63adc2fe0402b7a02a735baaec52a06dacbef733ffd925f302087d189cfc812905ae7c5
|
data/README.md
CHANGED
@@ -1,10 +1,13 @@
|
|
1
1
|
# MyReferrer
|
2
2
|
|
3
|
+
Outbound referrer hidden link gem for monolith projects.
|
4
|
+
|
3
5
|
## Installation
|
4
6
|
|
5
7
|
Add this line to your application's Gemfile:
|
6
8
|
|
7
9
|
```ruby
|
10
|
+
gem 'gon'
|
8
11
|
gem 'my_referrer'
|
9
12
|
```
|
10
13
|
|
@@ -39,4 +42,79 @@ For rails 3:
|
|
39
42
|
...
|
40
43
|
```
|
41
44
|
|
42
|
-
## Usage
|
45
|
+
## Usage
|
46
|
+
|
47
|
+
Load you`r data in application controller:
|
48
|
+
|
49
|
+
```ruby
|
50
|
+
gon.referrer = MyReferrer.referrer(request)
|
51
|
+
gon.referrer_urls = ['example.com', 'someshit.ru']
|
52
|
+
```
|
53
|
+
|
54
|
+
Or use custom referrer moderation.
|
55
|
+
|
56
|
+
Example:
|
57
|
+
```ruby
|
58
|
+
require 'uri'
|
59
|
+
|
60
|
+
before_action :get_session_referrer
|
61
|
+
before_action :referrer_urls
|
62
|
+
|
63
|
+
...
|
64
|
+
|
65
|
+
def get_session_referrer
|
66
|
+
unless request.referrer.nil?
|
67
|
+
if gon.referrer.nil? && URI(request.referrer).host != "mirpokera.com"
|
68
|
+
s_referrer = URI(request.referrer).host
|
69
|
+
s_referrer_host = s_referrer.split(".")
|
70
|
+
if s_referrer.eql?("www.yandex.ru") || s_referrer.eql?("yandex.ru")
|
71
|
+
session['referrer'] = "seyr"
|
72
|
+
elsif s_referrer.eql?("www.google.ru") || s_referrer.eql?("google.ru")
|
73
|
+
session['referrer'] = "segr"
|
74
|
+
elsif s_referrer.include?("google")
|
75
|
+
session['referrer'] = "seg"
|
76
|
+
elsif s_referrer.include?("yandex")
|
77
|
+
session['referrer'] = "sey"
|
78
|
+
else
|
79
|
+
session['referrer'] = s_referrer.split("www.").pop
|
80
|
+
end
|
81
|
+
end
|
82
|
+
else
|
83
|
+
session['referrer'] = "drt"
|
84
|
+
end
|
85
|
+
gon.referrer = session['referrer']
|
86
|
+
end
|
87
|
+
|
88
|
+
def referrer_urls
|
89
|
+
gon.referrer_urls = Array.new()
|
90
|
+
SourceLink.all.each{|sl| gon.referrer_urls.push(sl.link)}
|
91
|
+
end
|
92
|
+
|
93
|
+
...
|
94
|
+
|
95
|
+
```
|
96
|
+
|
97
|
+
It's my realization:
|
98
|
+
```ruby
|
99
|
+
if request.referrer.present? && @my_referrer.nil?
|
100
|
+
@my_referrer = URI(request.referrer).host
|
101
|
+
.split('www.')
|
102
|
+
.pop
|
103
|
+
.split('/').shift
|
104
|
+
else
|
105
|
+
@my_referrer = 'drt'
|
106
|
+
end
|
107
|
+
@my_referrer
|
108
|
+
|
109
|
+
```
|
110
|
+
## License
|
111
|
+
|
112
|
+
The MIT License
|
113
|
+
|
114
|
+
## Contributing
|
115
|
+
|
116
|
+
1. Fork it ( https://github.com/sOM2H/my_referrer/fork )
|
117
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
118
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
119
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
120
|
+
5. Create a new Pull Request
|
data/lib/my_referrer/version.rb
CHANGED
data/lib/my_referrer.rb
CHANGED
@@ -1,21 +1,17 @@
|
|
1
1
|
require 'my_referrer/version'
|
2
|
+
require 'my_referrer/engine'
|
2
3
|
require 'uri'
|
3
4
|
|
4
5
|
module MyReferrer
|
5
|
-
def self.
|
6
|
+
def self.referrer(request)
|
6
7
|
if request.referrer.present? && @my_referrer.nil?
|
7
8
|
@my_referrer = URI(request.referrer).host
|
8
9
|
.split('www.')
|
9
10
|
.pop
|
10
11
|
.split('/').shift
|
11
12
|
else
|
12
|
-
@my_referrer =
|
13
|
+
@my_referrer = 'drt'
|
13
14
|
end
|
15
|
+
@my_referrer
|
14
16
|
end
|
15
|
-
|
16
|
-
def self.load_urls(gon, arr)
|
17
|
-
gon.referrer = @my_referrer
|
18
|
-
gon.referrer_urls = arr
|
19
|
-
gon
|
20
|
-
end
|
21
|
-
end
|
17
|
+
end
|
data/my_referrer.gemspec
CHANGED
@@ -9,8 +9,8 @@ Gem::Specification.new do |spec|
|
|
9
9
|
spec.authors = ["Mikhail Melnyk"]
|
10
10
|
spec.email = ["m1kh41l.melnyk@gmail.com"]
|
11
11
|
|
12
|
-
spec.summary = %q{
|
13
|
-
spec.description = %q{
|
12
|
+
spec.summary = %q{Outbound referrer hidden link gem for monolith projects.}
|
13
|
+
spec.description = %q{Outbound referrer hidden link gem for monolith projects.}
|
14
14
|
spec.homepage = "https://github.com/sOM2H/my_referrer"
|
15
15
|
spec.license = "MIT"
|
16
16
|
|
@@ -19,8 +19,6 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
20
20
|
spec.require_paths = ["lib"]
|
21
21
|
|
22
|
-
spec.add_dependency "gon", "~> 6.2.1"
|
23
|
-
|
24
22
|
spec.add_development_dependency "bundler", "~> 1.11"
|
25
23
|
spec.add_development_dependency "rake", "~> 10.0"
|
26
24
|
spec.add_development_dependency "rspec", "~> 3.0"
|
@@ -6,6 +6,11 @@ $( document ).ready(function() {
|
|
6
6
|
window.open(e.target+"?srv="+gon.referrer);
|
7
7
|
event.preventDefault();
|
8
8
|
}
|
9
|
+
var link2 = e.target.parentNode.toString()
|
10
|
+
if( link2.includes(url.toString())){
|
11
|
+
window.open(e.target.parentNode+"?srv="+gon.referrer);
|
12
|
+
event.preventDefault();
|
13
|
+
}
|
9
14
|
});
|
10
15
|
});
|
11
16
|
});
|
metadata
CHANGED
@@ -1,29 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: my_referrer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mikhail Melnyk
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-05-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: gon
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - "~>"
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: 6.2.1
|
20
|
-
type: :runtime
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - "~>"
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: 6.2.1
|
27
13
|
- !ruby/object:Gem::Dependency
|
28
14
|
name: bundler
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|
@@ -66,7 +52,7 @@ dependencies:
|
|
66
52
|
- - "~>"
|
67
53
|
- !ruby/object:Gem::Version
|
68
54
|
version: '3.0'
|
69
|
-
description:
|
55
|
+
description: Outbound referrer hidden link gem for monolith projects.
|
70
56
|
email:
|
71
57
|
- m1kh41l.melnyk@gmail.com
|
72
58
|
executables: []
|
@@ -84,6 +70,7 @@ files:
|
|
84
70
|
- bin/console
|
85
71
|
- bin/setup
|
86
72
|
- lib/my_referrer.rb
|
73
|
+
- lib/my_referrer/engine.rb
|
87
74
|
- lib/my_referrer/version.rb
|
88
75
|
- my_referrer.gemspec
|
89
76
|
- vendor/assets/javascripts/my_referrer.js
|
@@ -107,8 +94,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
107
94
|
version: '0'
|
108
95
|
requirements: []
|
109
96
|
rubyforge_project:
|
110
|
-
rubygems_version: 2.7.
|
97
|
+
rubygems_version: 2.7.7
|
111
98
|
signing_key:
|
112
99
|
specification_version: 4
|
113
|
-
summary:
|
100
|
+
summary: Outbound referrer hidden link gem for monolith projects.
|
114
101
|
test_files: []
|