mongoid_slug 3.1.0 → 3.1.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: 7f02a3cbeacca56a521287827c0a7650b8d0b07e
4
- data.tar.gz: 8b9d08075c34fabf26e1f5a27c635626520bf649
3
+ metadata.gz: 8ce4dfe55677a1b8cb8d39718cf595933dd7eae7
4
+ data.tar.gz: 799033738af175e6233c03268c73bafe0d17a259
5
5
  SHA512:
6
- metadata.gz: 175e6e37b7072bc78fe66959bc3990e7c095091d14ea100df80ace7d1312ff1b019503818797b5ae9a82451e261cf75976917fdfa583f9a5d8929cafb16ed744
7
- data.tar.gz: 77e501773a14a495ae9103623ca5375ea33e93f0973f50523c7161958b0c5fd1a0d4526a405fe137cf4260a02a708422669baba17860c350f2e780ca952ae912
6
+ metadata.gz: 50ff4db23d6243bb38678fc957d369ff8277607503a1c301d4841a8c835c93925100187549451d550cf4fea6b27b698e700de48962d12b9c5d0d3497fbb0c218
7
+ data.tar.gz: 56d4bb715d1977746ebcf7c7ca94f58040e3d083028dcaeff7b15fc9963ef256fd20fafbdcf2d9ccff51596a21da53b96efee562be13666b68d9777bad87f814
@@ -131,13 +131,21 @@ module Mongoid
131
131
  # @return [true]
132
132
  def build_slug
133
133
  _new_slug = find_unique_slug
134
+
135
+ #skip slug generation and use Mongoid id
136
+ #to find document instead
137
+ return true if _new_slug.size == 0
138
+
134
139
  self._slugs.delete(_new_slug) if self._slugs
140
+
135
141
  if !!self.history && self._slugs.is_a?(Array)
136
142
  self._slugs << _new_slug
137
143
  else
138
144
  self._slugs = [_new_slug]
139
145
  end
146
+
140
147
  true
148
+
141
149
  end
142
150
 
143
151
  # Finds a unique slug, were specified string used to generate a slug.
@@ -1,5 +1,5 @@
1
1
  module Mongoid #:nodoc:
2
2
  module Slug
3
- VERSION = '3.1.0'
3
+ VERSION = '3.1.1'
4
4
  end
5
5
  end
@@ -17,14 +17,19 @@ module Mongoid
17
17
  #I believe this will now fail
18
18
  x.name = 'te'
19
19
  x.valid?
20
- x.slug.should_not == 'te'
20
+ x.slug.should_not == 'te'
21
21
 
22
- #I believe this will persist the 'te'
22
+ #I believe this will persist the 'te'
23
23
  x.name = 'testb'
24
24
  x.save!
25
25
 
26
26
  end
27
27
 
28
+ it "doesn't persist blank strings" do
29
+ book = Book.create!(:title => "")
30
+ book.reload.slugs.should be_empty
31
+ end
32
+
28
33
  end
29
34
 
30
35
  context "when option skip_id_check is used with UUID _id " do
@@ -646,8 +651,8 @@ module Mongoid
646
651
  let!(:integer_id2) { IntegerId.new(:name => integer_id.id.to_s).tap { |d| d.id = 456; d.save } }
647
652
  let!(:string_id) { StringId.new(:name => "I have string ids").tap { |d| d.id = 'abc'; d.save } }
648
653
  let!(:string_id2) { StringId.new(:name => string_id.id.to_s).tap { |d| d.id = 'def'; d.save } }
649
- let!(:subject) { Subject.create(:title => "A Subject", :book => book) }
650
- let!(:subject2) { Subject.create(:title => "A Subject", :book => book2) }
654
+ let!(:subject) { Subject.create(:name => "A Subject", :book => book) }
655
+ let!(:subject2) { Subject.create(:name => "A Subject", :book => book2) }
651
656
  let!(:without_slug) { WithoutSlug.new().tap { |d| d.id = 456; d.save } }
652
657
 
653
658
  context "when the model does not use mongoid slugs" do
@@ -770,8 +775,8 @@ module Mongoid
770
775
  let!(:integer_id2) { IntegerId.new(:name => integer_id.id.to_s).tap { |d| d.id = 456; d.save } }
771
776
  let!(:string_id) { StringId.new(:name => "I have string ids").tap { |d| d.id = 'abc'; d.save } }
772
777
  let!(:string_id2) { StringId.new(:name => string_id.id.to_s).tap { |d| d.id = 'def'; d.save } }
773
- let!(:subject) { Subject.create(:title => "A Subject", :book => book) }
774
- let!(:subject2) { Subject.create(:title => "A Subject", :book => book2) }
778
+ let!(:subject) { Subject.create(:name => "A Subject", :book => book) }
779
+ let!(:subject2) { Subject.create(:name => "A Subject", :book => book2) }
775
780
 
776
781
  context "(single)" do
777
782
  context "and a document is found" do
@@ -835,18 +840,25 @@ module Mongoid
835
840
  book.to_param
836
841
  book.should_not be_persisted
837
842
  end
843
+
838
844
  end
839
845
 
840
846
  context "when called on an existing record with no slug" do
847
+ let!(:book_no_title) { Book.create() }
848
+
841
849
  before do
842
850
  Book.collection.insert(:title => "Proust and Signs")
843
851
  end
844
852
 
845
- it "should return the id" do
853
+ it "should return the id if there is no slug" do
846
854
  book = Book.first
847
855
  book.to_param.should == book.id.to_s
848
856
  book.reload.slugs.should be_empty
849
857
  end
858
+
859
+ it "should not persist the record" do
860
+ book_no_title.to_param.should == book_no_title._id.to_s
861
+ end
850
862
  end
851
863
  end
852
864
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongoid_slug
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.0
4
+ version: 3.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andreas Saebjoernsen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-04-08 00:00:00.000000000 Z
11
+ date: 2013-04-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mongoid