rewritten 0.11.1 → 0.12.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/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: ''
|