mongoid_slug 0.6.2 → 0.6.3

Sign up to get free protection for your applications and to get access to all the features.
data/lib/mongoid/slug.rb CHANGED
@@ -62,10 +62,8 @@ module Mongoid #:nodoc:
62
62
  # This method should come in handy when generating slugs for an existing
63
63
  # collection.
64
64
  def slug!
65
- return if new_record?
66
-
67
65
  self.send(:generate_slug!)
68
- save if self.send("#{self.slug_name}_changed?")
66
+ save if self.send("#{slug_name}_changed?")
69
67
  end
70
68
 
71
69
  def to_param
@@ -134,8 +132,8 @@ module Mongoid #:nodoc:
134
132
  inverse = metadata.inverse_of || collection_name
135
133
  parent.respond_to?(inverse) ? parent.send(inverse) : self.class
136
134
  elsif embedded?
137
- metadata = reflect_on_all_associations(:embedded_in).first
138
- _parent.send(metadata.inverse_of)
135
+ parent_metadata = reflect_on_all_associations(:embedded_in).first
136
+ _parent.send(parent_metadata.inverse_of || self.metadata.name)
139
137
  else
140
138
  appropriate_class = self.class
141
139
  while (appropriate_class.superclass.include?(Mongoid::Document))
@@ -1,5 +1,5 @@
1
1
  module Mongoid #:nodoc:
2
2
  module Slug
3
- VERSION = "0.6.2"
3
+ VERSION = '0.6.3'
4
4
  end
5
5
  end
@@ -3,5 +3,5 @@ class Partner
3
3
  include Mongoid::Slug
4
4
  field :name
5
5
  slug :name
6
- embedded_in :relationship, :inverse_of => :partners
6
+ embedded_in :relationship
7
7
  end
@@ -4,5 +4,5 @@ class Relationship
4
4
  field :name
5
5
  slug :name
6
6
  embeds_many :partners
7
- embedded_in :person, :inverse_of => :relationships
7
+ embedded_in :person
8
8
  end
@@ -3,5 +3,5 @@ class Subject
3
3
  include Mongoid::Slug
4
4
  field :name
5
5
  slug :name
6
- embedded_in :book, :inverse_of => :subjects
6
+ embedded_in :book
7
7
  end
@@ -239,6 +239,10 @@ module Mongoid
239
239
  book.title = "中文"
240
240
  book.save
241
241
  book.to_param.should eql 'zhong-wen'
242
+
243
+ book.title = 'Paul Cézanne'
244
+ book.save
245
+ book.to_param.should eql 'paul-cezanne'
242
246
  end
243
247
 
244
248
  it "deprecates the :scoped option" do
metadata CHANGED
@@ -1,12 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongoid_slug
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 0
7
- - 6
8
- - 2
9
- version: 0.6.2
4
+ prerelease:
5
+ version: 0.6.3
10
6
  platform: ruby
11
7
  authors:
12
8
  - Paper Cavalier
@@ -14,7 +10,7 @@ autorequire:
14
10
  bindir: bin
15
11
  cert_chain: []
16
12
 
17
- date: 2011-02-03 00:00:00 +00:00
13
+ date: 2011-02-17 00:00:00 +00:00
18
14
  default_executable:
19
15
  dependencies:
20
16
  - !ruby/object:Gem::Dependency
@@ -25,12 +21,6 @@ dependencies:
25
21
  requirements:
26
22
  - - ~>
27
23
  - !ruby/object:Gem::Version
28
- segments:
29
- - 2
30
- - 0
31
- - 0
32
- - rc
33
- - 7
34
24
  version: 2.0.0.rc.7
35
25
  type: :runtime
36
26
  version_requirements: *id001
@@ -42,10 +32,6 @@ dependencies:
42
32
  requirements:
43
33
  - - ~>
44
34
  - !ruby/object:Gem::Version
45
- segments:
46
- - 1
47
- - 2
48
- - 0
49
35
  version: 1.2.0
50
36
  type: :runtime
51
37
  version_requirements: *id002
@@ -57,10 +43,6 @@ dependencies:
57
43
  requirements:
58
44
  - - ~>
59
45
  - !ruby/object:Gem::Version
60
- segments:
61
- - 1
62
- - 2
63
- - 0
64
46
  version: 1.2.0
65
47
  type: :development
66
48
  version_requirements: *id003
@@ -72,10 +54,6 @@ dependencies:
72
54
  requirements:
73
55
  - - ~>
74
56
  - !ruby/object:Gem::Version
75
- segments:
76
- - 0
77
- - 6
78
- - 0
79
57
  version: 0.6.0
80
58
  type: :development
81
59
  version_requirements: *id004
@@ -87,10 +65,6 @@ dependencies:
87
65
  requirements:
88
66
  - - ~>
89
67
  - !ruby/object:Gem::Version
90
- segments:
91
- - 2
92
- - 4
93
- - 0
94
68
  version: 2.4.0
95
69
  type: :development
96
70
  version_requirements: *id005
@@ -102,10 +76,6 @@ dependencies:
102
76
  requirements:
103
77
  - - ~>
104
78
  - !ruby/object:Gem::Version
105
- segments:
106
- - 0
107
- - 11
108
- - 0
109
79
  version: 0.11.0
110
80
  type: :development
111
81
  version_requirements: *id006
@@ -146,21 +116,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
146
116
  requirements:
147
117
  - - ">="
148
118
  - !ruby/object:Gem::Version
149
- segments:
150
- - 0
151
119
  version: "0"
152
120
  required_rubygems_version: !ruby/object:Gem::Requirement
153
121
  none: false
154
122
  requirements:
155
123
  - - ">="
156
124
  - !ruby/object:Gem::Version
157
- segments:
158
- - 0
159
125
  version: "0"
160
126
  requirements: []
161
127
 
162
128
  rubyforge_project: mongoid_slug
163
- rubygems_version: 1.3.7
129
+ rubygems_version: 1.5.0
164
130
  signing_key:
165
131
  specification_version: 3
166
132
  summary: Generates a URL slug