rewritten 0.15.0 → 0.15.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 452e88a0bbdf356f472e86034e0df828f4708899
4
- data.tar.gz: bb3f1342257f6aa9414aada49a6ad2af7daf4af8
3
+ metadata.gz: e1210f162d2a424e8819906e76dbc1a823928768
4
+ data.tar.gz: 0a3856a7e3dbf5877613bf1c7660f4475fd10d8a
5
5
  SHA512:
6
- metadata.gz: a5f725ac82a9353f1eaff6dfdb01655dde86ef5e1e3b17df701dad7215aa4d417d26ce5633195d5ed2cd0a35648655b0daba426fd84d7c89bea91f5ccd94fcbb
7
- data.tar.gz: c4fe89affbe1216585006c25dc3cede93be62ffb4ab839f8bd053185e2c2f14a4200b77e873a0f26413257f6989ee3e928e2e379244bd6f24a885eb3024312f6
6
+ metadata.gz: ab7065074780644d85c84ee8a8747fd5b0a290cf8a2aa0d6c4a521e44cd6e8158e2200defc42cd7a6a53938ab4d106b066931bc76c55047aa3d2ef09ddd2dec8
7
+ data.tar.gz: db4d6bc68a2e8b2bf8c177b45a28ac12f798d5c4872259611cf0b9943fb6725f9299723ce22f4b7dd8bde3ab4d46e5e20610621ca22a9473500d2713de09958c
@@ -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(polymorphic_url(self, :only_path => true))
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, polymorphic_url(self, :only_path => true))
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(polymorphic_url(self, :only_path => true))
26
+ Rewritten.get_all_translations(path)
19
27
  end
20
28
 
21
29
  def has_rewritten_url?
22
- Rewritten.exist_translation_for?(polymorphic_url(self, :only_path => true))
30
+ Rewritten.exist_translation_for?(path)
23
31
  end
24
32
 
25
33
  def remove_rewritten_urls
26
- Rewritten.remove_all_translations(polymorphic_url(self, :only_path => true))
34
+ Rewritten.remove_all_translations(path)
27
35
  end
28
36
 
29
37
  end
@@ -1,4 +1,4 @@
1
1
  module Rewritten
2
- VERSION = "0.15.0"
2
+ VERSION = "0.15.1"
3
3
  end
4
4
 
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.polymorphic_url(object, options={}); '/products/123'; end
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
- it 'must return translation when persisted' do
28
- Rewritten.add_translation('/foo/bar', '/products/123')
29
- @instance.rewritten_url.must_equal '/foo/bar'
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.0
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: 2014-09-18 00:00:00.000000000 Z
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