rewritten 0.11.1 → 0.12.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/HISTORY.rdoc +4 -0
- data/lib/rewritten/document.rb +27 -0
- data/lib/rewritten/version.rb +1 -1
- data/lib/rewritten.rb +1 -0
- data/test/rewritten/document_test.rb +59 -0
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a4df6b29c36a9d6da1c0cc658f49a3f9d4a9f4d5
|
4
|
+
data.tar.gz: 4274875b1c6dd086e738f164c33fbf1184684e7a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2bc012992fd582dd180b35551a00d0b994069b118cee7d307129939f69670f7fe584c66072aaa6764fbebc647929630110e829e0e664571c8841dd8cb163d0e5
|
7
|
+
data.tar.gz: a7054b44d16800e07edf0261b3e2215a3eabc04252869ed168f01a8142895756f90e6476f519aab3d69c5fbd3e625d2105ae6b05b2fb41bcbb362570abec7f22
|
data/HISTORY.rdoc
CHANGED
@@ -0,0 +1,27 @@
|
|
1
|
+
module Rewritten
|
2
|
+
module Document
|
3
|
+
|
4
|
+
def rewritten_url=(new_translation)
|
5
|
+
Rewritten.add_translation(new_translation, url_for(self))
|
6
|
+
end
|
7
|
+
|
8
|
+
def rewritten_url
|
9
|
+
return "" unless persisted?
|
10
|
+
Rewritten.get_current_translation(url_for(self))
|
11
|
+
end
|
12
|
+
|
13
|
+
def rewritten_urls
|
14
|
+
return [] unless persisted?
|
15
|
+
Rewritten.get_all_translations(url_for(self))
|
16
|
+
end
|
17
|
+
|
18
|
+
def has_rewritten_url?
|
19
|
+
Rewritten.exist_translation_for?(url_for(self))
|
20
|
+
end
|
21
|
+
|
22
|
+
def remove_rewritten_urls
|
23
|
+
Rewritten.remove_all_translations(url_for(self))
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
27
|
+
end
|
data/lib/rewritten/version.rb
CHANGED
data/lib/rewritten.rb
CHANGED
@@ -0,0 +1,59 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
describe Rewritten::Document do
|
4
|
+
|
5
|
+
before do
|
6
|
+
class Product
|
7
|
+
include Rewritten::Document
|
8
|
+
end
|
9
|
+
@instance = Product.new
|
10
|
+
def @instance.url_for(object); '/products/123'; end
|
11
|
+
def @instance.persisted?; true; end
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'must add the rewritten methods to the class' do
|
15
|
+
@instance.respond_to?(:rewritten_url=).must_equal true
|
16
|
+
@instance.respond_to?(:rewritten_url).must_equal true
|
17
|
+
@instance.respond_to?(:has_rewritten_url?).must_equal true
|
18
|
+
end
|
19
|
+
|
20
|
+
it 'must return empty string when not persisted' do
|
21
|
+
|
22
|
+
def @instance.persisted?; false; end
|
23
|
+
|
24
|
+
@instance.rewritten_url.must_equal ""
|
25
|
+
end
|
26
|
+
|
27
|
+
it 'must return translation when persisted' do
|
28
|
+
Rewritten.add_translation('/foo/bar', '/products/123')
|
29
|
+
@instance.rewritten_url.must_equal '/foo/bar'
|
30
|
+
end
|
31
|
+
|
32
|
+
it 'must return all translations as array' do
|
33
|
+
|
34
|
+
Rewritten.add_translation('/foo/bar', '/products/123')
|
35
|
+
Rewritten.add_translation('/foo/baz', '/products/123')
|
36
|
+
|
37
|
+
@instance.rewritten_urls.must_equal ['/foo/bar', '/foo/baz']
|
38
|
+
|
39
|
+
end
|
40
|
+
|
41
|
+
it 'must add a new translation' do
|
42
|
+
@instance.has_rewritten_url?.must_equal false
|
43
|
+
@instance.rewritten_url = '/foo/baz'
|
44
|
+
Rewritten.get_current_translation('/products/123').must_equal '/foo/baz'
|
45
|
+
@instance.has_rewritten_url?.must_equal true
|
46
|
+
end
|
47
|
+
|
48
|
+
it 'must remove all translation' do
|
49
|
+
@instance.rewritten_url = '/foo/bar'
|
50
|
+
@instance.rewritten_url = '/foo/baz'
|
51
|
+
@instance.remove_rewritten_urls
|
52
|
+
@instance.rewritten_urls.must_equal []
|
53
|
+
end
|
54
|
+
|
55
|
+
end
|
56
|
+
|
57
|
+
|
58
|
+
|
59
|
+
|
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.
|
4
|
+
version: 0.12.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kai Rubarth
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-11-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: redis-namespace
|
@@ -165,6 +165,7 @@ files:
|
|
165
165
|
- lib/rack/url.rb
|
166
166
|
- lib/rewritten.rb
|
167
167
|
- lib/rewritten/config.ru
|
168
|
+
- lib/rewritten/document.rb
|
168
169
|
- lib/rewritten/helpers.rb
|
169
170
|
- lib/rewritten/rails.rb
|
170
171
|
- lib/rewritten/rails/url_helpers.rb
|
@@ -198,6 +199,7 @@ files:
|
|
198
199
|
- rewritten.gemspec
|
199
200
|
- test/rack/rewritten_html_test.rb
|
200
201
|
- test/rack/rewritten_url_test.rb
|
202
|
+
- test/rewritten/document_test.rb
|
201
203
|
- test/rewritten_test.rb
|
202
204
|
- test/test_helper.rb
|
203
205
|
homepage: ''
|