rewritten 0.15.0 → 0.15.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.
- checksums.yaml +4 -4
- data/lib/rewritten/document.rb +13 -5
- data/lib/rewritten/version.rb +1 -1
- data/rewritten.gemspec +1 -0
- data/test/rewritten/document_test.rb +19 -4
- metadata +23 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e1210f162d2a424e8819906e76dbc1a823928768
|
4
|
+
data.tar.gz: 0a3856a7e3dbf5877613bf1c7660f4475fd10d8a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ab7065074780644d85c84ee8a8747fd5b0a290cf8a2aa0d6c4a521e44cd6e8158e2200defc42cd7a6a53938ab4d106b066931bc76c55047aa3d2ef09ddd2dec8
|
7
|
+
data.tar.gz: db4d6bc68a2e8b2bf8c177b45a28ac12f798d5c4872259611cf0b9943fb6725f9299723ce22f4b7dd8bde3ab4d46e5e20610621ca22a9473500d2713de09958c
|
data/lib/rewritten/document.rb
CHANGED
@@ -1,29 +1,37 @@
|
|
1
|
+
require 'active_support/inflector'
|
2
|
+
|
1
3
|
module Rewritten
|
2
4
|
module Document
|
5
|
+
include ActiveSupport::Inflector
|
3
6
|
|
7
|
+
def path
|
8
|
+
plural = ActiveSupport::Inflector.pluralize(self.class.to_s)
|
9
|
+
resources = ActiveSupport::Inflector.underscore(plural)
|
10
|
+
"/#{resources}/#{self.id}"
|
11
|
+
end
|
4
12
|
|
5
13
|
def rewritten_url
|
6
14
|
return "" unless persisted?
|
7
|
-
Rewritten.get_current_translation(
|
15
|
+
Rewritten.get_current_translation(path)
|
8
16
|
end
|
9
17
|
|
10
18
|
def rewritten_url=(new_url)
|
11
19
|
if !new_url.nil? && new_url != "" && new_url != rewritten_url
|
12
|
-
Rewritten.add_translation(new_url,
|
20
|
+
Rewritten.add_translation(new_url, path)
|
13
21
|
end
|
14
22
|
end
|
15
23
|
|
16
24
|
def rewritten_urls
|
17
25
|
return [] unless persisted?
|
18
|
-
Rewritten.get_all_translations(
|
26
|
+
Rewritten.get_all_translations(path)
|
19
27
|
end
|
20
28
|
|
21
29
|
def has_rewritten_url?
|
22
|
-
Rewritten.exist_translation_for?(
|
30
|
+
Rewritten.exist_translation_for?(path)
|
23
31
|
end
|
24
32
|
|
25
33
|
def remove_rewritten_urls
|
26
|
-
Rewritten.remove_all_translations(
|
34
|
+
Rewritten.remove_all_translations(path)
|
27
35
|
end
|
28
36
|
|
29
37
|
end
|
data/lib/rewritten/version.rb
CHANGED
data/rewritten.gemspec
CHANGED
@@ -21,6 +21,7 @@ Gem::Specification.new do |s|
|
|
21
21
|
s.add_dependency "vegas", "~> 0.1.2"
|
22
22
|
s.add_dependency "sinatra", ">= 0.9.2"
|
23
23
|
s.add_dependency "multi_json", "~> 1.0"
|
24
|
+
s.add_dependency "activesupport"
|
24
25
|
|
25
26
|
s.add_development_dependency "rake"
|
26
27
|
s.add_development_dependency "minitest"
|
@@ -7,7 +7,8 @@ describe Rewritten::Document do
|
|
7
7
|
include Rewritten::Document
|
8
8
|
end
|
9
9
|
@instance = Product.new
|
10
|
-
def @instance.
|
10
|
+
def @instance.id; 123; end
|
11
|
+
def @instance.polymorphic_url(object, options={}); "/products/#{self.id}"; end
|
11
12
|
def @instance.persisted?; true; end
|
12
13
|
end
|
13
14
|
|
@@ -24,9 +25,23 @@ describe Rewritten::Document do
|
|
24
25
|
@instance.rewritten_url.must_equal ""
|
25
26
|
end
|
26
27
|
|
27
|
-
|
28
|
-
|
29
|
-
|
28
|
+
describe 'add translation' do
|
29
|
+
|
30
|
+
describe 'url_for not overriden' do
|
31
|
+
it 'must return translation when persisted' do
|
32
|
+
Rewritten.add_translation('/foo/bar', '/products/123')
|
33
|
+
@instance.rewritten_url.must_equal '/foo/bar'
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
describe 'url_to overriden' do
|
38
|
+
it 'must return translation when persisted' do
|
39
|
+
Rewritten.add_translation('/foo/bar', '/products/123')
|
40
|
+
def @instance.polymorphic_url(object, options={}); '/foo/bar'; end
|
41
|
+
Rewritten.translate(@instance.rewritten_url).must_equal '/products/123'
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
30
45
|
end
|
31
46
|
|
32
47
|
it 'must return all translations as array' do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rewritten
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.15.
|
4
|
+
version: 0.15.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kai Rubarth
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-02-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: redis-namespace
|
@@ -66,6 +66,20 @@ dependencies:
|
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '1.0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: activesupport
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: rake
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -228,4 +242,10 @@ rubygems_version: 2.2.2
|
|
228
242
|
signing_key:
|
229
243
|
specification_version: 4
|
230
244
|
summary: A redis-based URL rewriting engine
|
231
|
-
test_files:
|
245
|
+
test_files:
|
246
|
+
- test/rack/rewritten_canonical_test.rb
|
247
|
+
- test/rack/rewritten_html_test.rb
|
248
|
+
- test/rack/rewritten_url_test.rb
|
249
|
+
- test/rewritten/document_test.rb
|
250
|
+
- test/rewritten_test.rb
|
251
|
+
- test/test_helper.rb
|