mongoid_localized_slug 0.1.4 → 0.1.5

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.
@@ -1,5 +1,5 @@
1
1
  module Mongoid #:nodoc:
2
2
  module LocalizedSlug
3
- VERSION = '0.1.4'
3
+ VERSION = '0.1.5'
4
4
  end
5
5
  end
@@ -157,7 +157,7 @@ module Mongoid
157
157
  slugs = []
158
158
  trans_hash = {}
159
159
  translations.each do |lang, text|
160
- trans_hash[lang] = find_unique_slug_for(text)
160
+ trans_hash[lang] = text.present? ? find_unique_slug_for(text) : nil
161
161
  slugs << trans_hash[lang]
162
162
  end
163
163
  self.send("#{slug_name}_translations=", trans_hash)
@@ -193,10 +193,10 @@ module Mongoid
193
193
  save
194
194
  end
195
195
  locale = I18n.locale.to_s
196
- slug_translations.each do |lang, slug|
197
- return slug if lang == locale
196
+ slug_translations.each do |lang, localized_slug|
197
+ return localized_slug || super if lang == locale
198
198
  end
199
- slug.is_a?(Array) ? slug.first : slug
199
+ (slug.is_a?(Array) ? slug.first : slug) || super
200
200
  end
201
201
 
202
202
  private
@@ -49,6 +49,14 @@ module Mongoid
49
49
  book.to_param.should eql 'platero-y-yo'
50
50
  end
51
51
 
52
+ it "allow nil traslation" do
53
+ I18n.locale = :en
54
+ book.to_param.should eql 'a-thousand-plateaus'
55
+ I18n.locale = :es
56
+ book.update_attribute :title, nil
57
+ book.to_param.should eql book.id.to_s
58
+ end
59
+
52
60
  it "finds by slug" do
53
61
  Book.find_by_slug(book.to_param).should eql book
54
62
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongoid_localized_slug
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-07-17 00:00:00.000000000 Z
12
+ date: 2012-07-20 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: mongoid
16
- requirement: &70099467384760 !ruby/object:Gem::Requirement
16
+ requirement: &70228521979540 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '2.0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70099467384760
24
+ version_requirements: *70228521979540
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: stringex
27
- requirement: &70099467384100 !ruby/object:Gem::Requirement
27
+ requirement: &70228521978980 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '1.3'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70099467384100
35
+ version_requirements: *70228521978980
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: bson_ext
38
- requirement: &70099467383620 !ruby/object:Gem::Requirement
38
+ requirement: &70228521978500 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '1.6'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70099467383620
46
+ version_requirements: *70228521978500
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: pry
49
- requirement: &70099467382960 !ruby/object:Gem::Requirement
49
+ requirement: &70228521977920 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0.9'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70099467382960
57
+ version_requirements: *70228521977920
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: rake
60
- requirement: &70099467382300 !ruby/object:Gem::Requirement
60
+ requirement: &70228521977320 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '0.9'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70099467382300
68
+ version_requirements: *70228521977320
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rspec
71
- requirement: &70099467381820 !ruby/object:Gem::Requirement
71
+ requirement: &70228521976600 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ~>
@@ -76,7 +76,7 @@ dependencies:
76
76
  version: '2.8'
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *70099467381820
79
+ version_requirements: *70228521976600
80
80
  description: ! " a \n a ."
81
81
  email:
82
82
  - js@comenta-tv
@@ -111,7 +111,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
111
111
  version: '0'
112
112
  segments:
113
113
  - 0
114
- hash: 3378191774790040413
114
+ hash: 2152473175651165545
115
115
  required_rubygems_version: !ruby/object:Gem::Requirement
116
116
  none: false
117
117
  requirements:
@@ -120,7 +120,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
120
120
  version: '0'
121
121
  segments:
122
122
  - 0
123
- hash: 3378191774790040413
123
+ hash: 2152473175651165545
124
124
  requirements: []
125
125
  rubyforge_project: mongoid_localized_slug
126
126
  rubygems_version: 1.8.11