my_referrer 0.2.2 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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: []
|