referer-parser-rails 1.0.0 → 1.0.1
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.
- data/.rspec +2 -0
- data/Gemfile +0 -1
- data/lib/referer-parser/rails.rb +3 -3
- data/lib/referer-parser/version.rb +1 -1
- data/lib/referer-parser-rails.rb +2 -0
- data/referer-parser-rails.gemspec +5 -0
- data/spec/cases/request_spec.rb +39 -0
- data/spec/factories/requests.rb +22 -0
- data/spec/spec_helper.rb +11 -0
- metadata +79 -2
data/.rspec
ADDED
data/Gemfile
CHANGED
data/lib/referer-parser/rails.rb
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
module RefererParser
|
2
2
|
module Rails
|
3
3
|
class Engine < ::Rails::Engine
|
4
|
-
initializer "referer-parser.register_extensions"
|
5
|
-
|
6
|
-
end
|
4
|
+
# initializer "referer-parser.register_extensions" do
|
5
|
+
ActionDispatch::Request.send :include, Request
|
6
|
+
# end
|
7
7
|
end
|
8
8
|
end
|
9
9
|
end
|
data/lib/referer-parser-rails.rb
CHANGED
@@ -17,5 +17,10 @@ Gem::Specification.new do |gem|
|
|
17
17
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
18
18
|
gem.require_paths = ["lib"]
|
19
19
|
|
20
|
+
gem.add_development_dependency 'rails'
|
21
|
+
gem.add_development_dependency 'rspec'
|
22
|
+
gem.add_development_dependency 'factory_girl'
|
23
|
+
gem.add_development_dependency 'faker'
|
24
|
+
|
20
25
|
gem.add_dependency 'referer-parser'
|
21
26
|
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe ActionDispatch::Request do
|
4
|
+
before :all do
|
5
|
+
@request_without_referer = FactoryGirl.build(:request_without_referer)
|
6
|
+
@request_with_referer = FactoryGirl.build(:request_with_referer)
|
7
|
+
end
|
8
|
+
|
9
|
+
it "should be requests" do
|
10
|
+
@request_without_referer.should be
|
11
|
+
@request_with_referer.should be
|
12
|
+
end
|
13
|
+
|
14
|
+
context 'all requests should respond to' do
|
15
|
+
it 'search_term' do
|
16
|
+
@request_without_referer.should respond_to(:search_term)
|
17
|
+
@request_with_referer.should respond_to(:search_term)
|
18
|
+
end
|
19
|
+
|
20
|
+
it 'search_engine' do
|
21
|
+
@request_without_referer.should respond_to(:search_engine)
|
22
|
+
@request_with_referer.should respond_to(:search_engine)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
context 'request without referer' do
|
27
|
+
it 'search_term and search_engine methods should not be' do
|
28
|
+
@request_without_referer.search_term.should_not be
|
29
|
+
@request_without_referer.search_engine.should_not be
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
context 'request with referer' do
|
34
|
+
it 'search_term and search_engine methods should be' do
|
35
|
+
@request_with_referer.search_term.should be
|
36
|
+
@request_with_referer.search_term.should be
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'faker'
|
2
|
+
|
3
|
+
FactoryGirl.define do
|
4
|
+
factory :request, :class => ActionDispatch::Request do |r|
|
5
|
+
trait :without_referer do
|
6
|
+
after(:build) do |obj|
|
7
|
+
obj.env['HTTP_REFERER'] = nil
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
trait :with_referer do
|
12
|
+
after(:build) do |obj|
|
13
|
+
obj.env['HTTP_REFERER'] = 'http://yandex.ru/yandsearch?lr=14&text=ruby+on+rails'
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
initialize_with{ new(Rack::MockRequest.env_for('/')) }
|
18
|
+
|
19
|
+
factory :request_without_referer, traits: [:without_referer]
|
20
|
+
factory :request_with_referer, traits: [:with_referer]
|
21
|
+
end
|
22
|
+
end
|
data/spec/spec_helper.rb
ADDED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: referer-parser-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -11,6 +11,70 @@ bindir: bin
|
|
11
11
|
cert_chain: []
|
12
12
|
date: 2013-05-27 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: rails
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
22
|
+
type: :development
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: rspec
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
38
|
+
type: :development
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: factory_girl
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
54
|
+
type: :development
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: faker
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
type: :development
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
14
78
|
- !ruby/object:Gem::Dependency
|
15
79
|
name: referer-parser
|
16
80
|
requirement: !ruby/object:Gem::Requirement
|
@@ -35,6 +99,7 @@ extensions: []
|
|
35
99
|
extra_rdoc_files: []
|
36
100
|
files:
|
37
101
|
- .gitignore
|
102
|
+
- .rspec
|
38
103
|
- Gemfile
|
39
104
|
- LICENSE.txt
|
40
105
|
- README.md
|
@@ -44,6 +109,9 @@ files:
|
|
44
109
|
- lib/referer-parser/request.rb
|
45
110
|
- lib/referer-parser/version.rb
|
46
111
|
- referer-parser-rails.gemspec
|
112
|
+
- spec/cases/request_spec.rb
|
113
|
+
- spec/factories/requests.rb
|
114
|
+
- spec/spec_helper.rb
|
47
115
|
homepage: https://github.com/jetrockets/referer-parser-rails
|
48
116
|
licenses: []
|
49
117
|
post_install_message:
|
@@ -56,16 +124,25 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
56
124
|
- - ! '>='
|
57
125
|
- !ruby/object:Gem::Version
|
58
126
|
version: '0'
|
127
|
+
segments:
|
128
|
+
- 0
|
129
|
+
hash: 1536310483681818107
|
59
130
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
60
131
|
none: false
|
61
132
|
requirements:
|
62
133
|
- - ! '>='
|
63
134
|
- !ruby/object:Gem::Version
|
64
135
|
version: '0'
|
136
|
+
segments:
|
137
|
+
- 0
|
138
|
+
hash: 1536310483681818107
|
65
139
|
requirements: []
|
66
140
|
rubyforge_project:
|
67
141
|
rubygems_version: 1.8.24
|
68
142
|
signing_key:
|
69
143
|
specification_version: 3
|
70
144
|
summary: Referer-parser for Rails
|
71
|
-
test_files:
|
145
|
+
test_files:
|
146
|
+
- spec/cases/request_spec.rb
|
147
|
+
- spec/factories/requests.rb
|
148
|
+
- spec/spec_helper.rb
|