mongoid_slug 2.0.1 → 3.0.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ ODMzODllM2NkMGQ3ZjJiYjFjNDdjMzUwYWU4ZWJkYjg2NTI0NTkyZg==
5
+ data.tar.gz: !binary |-
6
+ YmQ3MTlmYjZlMmRmZWNkZWEyY2I5NGU1OGM0ZmE4NDlhYjRjMmYxMg==
7
+ !binary "U0hBNTEy":
8
+ metadata.gz: !binary |-
9
+ NTVhOGRjYzBlOTc2MTYwMTgzNzdhNjQ4NjRhNGQyZWFhOWU5ZTlhZTJmMzgz
10
+ Y2QwYjM3ZDhhZGI2MWQ2OTZiZDQ0OTBkNmU3YmM5ODE2NmJlM2Q2Y2ZjN2Qy
11
+ NWE5M2I1YTk0YzFkYWE4ZGE0MDgxZjNhOTBjZmQwZTBkYWJlODc=
12
+ data.tar.gz: !binary |-
13
+ MjE2ZjA5MGIyYjkzYmNjM2MzMzZmYmMwNDU4MjlhZjU1NDRlZWU2YWUwNTRi
14
+ ZWNmMzU2ZjM3ZTMyOGI3MzUwMjg3YWRmOWUxNzY1NmY0ZTY4OTY2OTQwMjVj
15
+ NjcwZjQ4NmViNjgzODA0MzZiNDBkOTAyZTA2Y2Y5MjQ5MGE4MDg=
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- *IMPORTANT:* If you are upgrading to Mongoid Slug 1.0.0 please migrate in accordance with the instructions in https://github.com/digitalplaywright/mongoid-slug/wiki/How-to-upgrade-to-1.0.0.
1
+ *IMPORTANT:* If you are upgrading to Mongoid Slug 1.0.0 please migrate in accordance with the instructions in https://github.com/digitalplaywright/mongoid-slug/wiki/How-to-upgrade-to-1.0.0-or-newer.
2
2
  Mongoid Slug 1.0.0 stores the slugs in a single field _slugs of array type, and all previous slugs must be migrated.
3
3
 
4
4
  Mongoid Slug
@@ -69,7 +69,7 @@ Post.fields['_id'].type
69
69
  => String
70
70
  post = Post.find 'a-thousand-plateaus' # Finds by slugs
71
71
  => ...
72
- post = Post.find '....1000/Plateus' # Finds by ids
72
+ post = Post.find '50b1386a0482939864000001' # Finds by bson ids
73
73
  => ...
74
74
  ```
75
75
  [Read here] [4] for all available options.
@@ -80,7 +80,7 @@ Custom Slug Generation
80
80
  By default Mongoid Slug generates slugs with stringex. If this is not desired you can
81
81
  define your own slug generator like this:
82
82
 
83
- ```
83
+ ```ruby
84
84
  class Caption
85
85
  include Mongoid::Document
86
86
  include Mongoid::Slug
@@ -91,8 +91,8 @@ class Caption
91
91
  cur_object.slug_builder.to_url
92
92
  end
93
93
  end
94
-
95
94
  ```
95
+ You can call stringex `to_url` method.
96
96
 
97
97
  Scoping
98
98
  -------
@@ -102,17 +102,17 @@ To scope a slug by a reference association, pass `:scope`:
102
102
  ```ruby
103
103
  class Company
104
104
  include Mongoid::Document
105
-
105
+
106
106
  references_many :employees
107
107
  end
108
108
 
109
109
  class Employee
110
110
  include Mongoid::Document
111
111
  include Mongoid::Slug
112
-
112
+
113
113
  field :name
114
114
  referenced_in :company
115
-
115
+
116
116
  slug :name, :scope => :company
117
117
  end
118
118
  ```
@@ -131,10 +131,10 @@ The value of `:scope` can alternatively be a field within the model itself:
131
131
  class Employee
132
132
  include Mongoid::Document
133
133
  include Mongoid::Slug
134
-
134
+
135
135
  field :name
136
136
  field :company_id
137
-
137
+
138
138
  slug :name, :scope => :company_id
139
139
  end
140
140
  ```
@@ -149,9 +149,9 @@ To specify that the history of a document should be kept track of, pass
149
149
  class Page
150
150
  include Mongoid::Document
151
151
  include Mongoid::Slug
152
-
152
+
153
153
  field :title
154
-
154
+
155
155
  slug :title, history: true
156
156
  end
157
157
  ```
@@ -184,6 +184,39 @@ Friend.find('admin') # => nil
184
184
  friend.slug # => 'admin-1'
185
185
  ```
186
186
 
187
+ When reserved words are not specified, the words 'new' and 'edit' are considered reserved by default.
188
+ Specifying an array of custom reserved words will overwrite these defaults.
189
+
190
+ Custom Find Strategies
191
+ --------------
192
+
193
+ By default find will search for the document by the id field if the provided id
194
+ looks like a BSON ObjectId, and it will otherwise find by the _slugs field. However,
195
+ custom strategies can ovveride the default behavior, like e.g:
196
+
197
+ ```ruby
198
+ module Mongoid::Slug::UuidIdStrategy
199
+ def self.call id
200
+ id =~ /\A([0-9a-fA-F]){8}-(([0-9a-fA-F]){4}-){3}([0-9a-fA-F]){12}\z/
201
+ end
202
+ end
203
+ ```
204
+
205
+ Use a custom strategy by adding the slug_id_strategy annotation to the _id field:
206
+
207
+ ```ruby
208
+ class Entity
209
+ include Mongoid::Document
210
+ include Mongoid::Slug
211
+
212
+ field :_id, type: String, slug_id_strategy: UuidIdStrategy
213
+
214
+ field :user_edited_variation
215
+ slug :user_edited_variation, :history => true
216
+ end
217
+ ```
218
+
219
+
187
220
  Adhoc checking whether a string is unique on a per Model basis
188
221
  --------------------------------------------------------------
189
222
 
@@ -201,4 +234,4 @@ unique = Mongoid::Slug::UniqueSlug.new(Book.new).find_unique(title)
201
234
  [1]: https://github.com/rsl/stringex/
202
235
  [2]: https://secure.travis-ci.org/hakanensari/mongoid-slug.png
203
236
  [3]: http://travis-ci.org/hakanensari/mongoid-slug
204
- [4]: https://github.com/hakanensari/mongoid-slug/blob/master/lib/mongoid/slug.rb
237
+ [4]: https://github.com/digitalplaywright/mongoid-slug/blob/master/lib/mongoid/slug.rb
@@ -79,7 +79,15 @@ module Mongoid
79
79
 
80
80
 
81
81
  def for_slugs(slugs)
82
- where({ _slugs: { '$in' => slugs } }).limit(slugs.length)
82
+ #_translations
83
+ localized = (@klass.fields['_slugs'].options[:localize] rescue false)
84
+ if localized
85
+ def_loc = I18n.default_locale
86
+ query = { '$in' => slugs }
87
+ where({'$or' => [{ _slugs: query }, { "_slugs.#{def_loc}" => query }]}).limit(slugs.length)
88
+ else
89
+ where({ _slugs: { '$in' => slugs } }).limit(slugs.length)
90
+ end
83
91
  end
84
92
 
85
93
  def execute_or_raise_for_slugs(slugs, multi)
@@ -1,5 +1,5 @@
1
1
  module Mongoid #:nodoc:
2
2
  module Slug
3
- VERSION = '2.0.1'
3
+ VERSION = '3.0.0.rc1'
4
4
  end
5
5
  end
data/lib/mongoid/slug.rb CHANGED
@@ -10,8 +10,8 @@ module Mongoid
10
10
  :url_builder,
11
11
  :history
12
12
 
13
- field :_slugs, type: Array, default: []
14
- alias_attribute :slugs, :_slugs
13
+ # field :_slugs, type: Array, default: [], localize: false
14
+ # alias_attribute :slugs, :_slugs
15
15
  end
16
16
 
17
17
  module ClassMethods
@@ -50,10 +50,13 @@ module Mongoid
50
50
  options = fields.extract_options!
51
51
 
52
52
  self.slug_scope = options[:scope]
53
- self.reserved_words = options[:reserve] || Set.new([:new, :edit])
53
+ self.reserved_words = options[:reserve] || Set.new(["new", "edit"])
54
54
  self.slugged_attributes = fields.map &:to_s
55
55
  self.history = options[:history]
56
56
 
57
+ field :_slugs, type: Array, default: [], localize: options[:localize]
58
+ alias_attribute :slugs, :_slugs
59
+
57
60
  unless embedded?
58
61
  if slug_scope
59
62
  scope_key = (metadata = self.reflect_on_association(slug_scope)) ? metadata.key : slug_scope
@@ -115,8 +118,8 @@ module Mongoid
115
118
  # @return [true]
116
119
  def build_slug
117
120
  _new_slug = find_unique_slug
118
- self._slugs.delete(_new_slug)
119
- if !!self.history
121
+ self._slugs.delete(_new_slug) if self._slugs
122
+ if !!self.history && self._slugs.is_a?(Array)
120
123
  self._slugs << _new_slug
121
124
  else
122
125
  self._slugs = [_new_slug]
@@ -151,7 +154,8 @@ module Mongoid
151
154
 
152
155
  # @return [String] the slug, or nil if the document does not have a slug.
153
156
  def slug
154
- _slugs.last
157
+ return _slugs.last if _slugs
158
+ return _id.to_s
155
159
  end
156
160
 
157
161
  def slug_builder
@@ -0,0 +1,9 @@
1
+ class PageLocalize
2
+ include Mongoid::Document
3
+ include Mongoid::Slug
4
+ field :title, localize: true
5
+ field :content
6
+ field :order, :type => Integer
7
+ slug :title
8
+ default_scope asc(:order)
9
+ end
@@ -0,0 +1,9 @@
1
+ class PageSlugLocalize
2
+ include Mongoid::Document
3
+ include Mongoid::Slug
4
+ field :title, localize: true
5
+ field :content
6
+ field :order, :type => Integer
7
+ slug :title, localize: true
8
+ default_scope asc(:order)
9
+ end
@@ -0,0 +1,9 @@
1
+ class PageSlugLocalizeHistory
2
+ include Mongoid::Document
3
+ include Mongoid::Slug
4
+ field :title, localize: true
5
+ field :content
6
+ field :order, :type => Integer
7
+ slug :title, localize: true, history: true
8
+ default_scope asc(:order)
9
+ end
@@ -0,0 +1,8 @@
1
+ class ParanoidDocument
2
+ include Mongoid::Document
3
+ include Mongoid::Paranoia
4
+ include Mongoid::Slug
5
+
6
+ field :title
7
+ slug :title
8
+ end
@@ -507,26 +507,44 @@ module Mongoid
507
507
  end
508
508
  end
509
509
 
510
- context "when :reserve is passed" do
511
- it "does not use the the reserved slugs" do
512
- friend1 = Friend.create(:name => "foo")
513
- friend1.slugs.should_not eql("foo")
514
- friend1.slugs.should include("foo-1")
510
+ context "for reserved words" do
511
+ context "when the :reserve option is used on the model" do
512
+ it "does not use the reserved slugs" do
513
+ friend1 = Friend.create(:name => "foo")
514
+ friend1.slugs.should_not include("foo")
515
+ friend1.slugs.should include("foo-1")
516
+
517
+ friend2 = Friend.create(:name => "bar")
518
+ friend2.slugs.should_not include("bar")
519
+ friend2.slugs.should include("bar-1")
520
+
521
+ friend3 = Friend.create(:name => "en")
522
+ friend3.slugs.should_not include("en")
523
+ friend3.slugs.should include("en-1")
524
+ end
515
525
 
516
- friend2 = Friend.create(:name => "bar")
517
- friend2.slugs.should_not eql("bar")
518
- friend2.slugs.should include("bar-1")
526
+ it "should start with concatenation -1" do
527
+ friend1 = Friend.create(:name => "foo")
528
+ friend1.slugs.should include("foo-1")
529
+ friend2 = Friend.create(:name => "foo")
530
+ friend2.slugs.should include("foo-2")
531
+ end
519
532
 
520
- friend3 = Friend.create(:name => "en")
521
- friend3.slugs.should_not eql("en")
522
- friend3.slugs.should include("en-1")
533
+ ["new", "edit"].each do |word|
534
+ it "should overwrite the default reserved words allowing the word '#{word}'" do
535
+ friend = Friend.create(:name => word)
536
+ friend.slugs.should include word
537
+ end
538
+ end
523
539
  end
524
-
525
- it "should start with concatenation -1" do
526
- friend1 = Friend.create(:name => "foo")
527
- friend1.slugs.should include("foo-1")
528
- friend2 = Friend.create(:name => "foo")
529
- friend2.slugs.should include("foo-2")
540
+ context "when the model does not have any reserved words set" do
541
+ ["new", "edit"].each do |word|
542
+ it "does not use the default reserved word '#{word}'" do
543
+ book = Book.create(:title => word)
544
+ book.slugs.should_not include word
545
+ book.slugs.should include("#{word}-1")
546
+ end
547
+ end
530
548
  end
531
549
  end
532
550
 
@@ -832,5 +850,178 @@ module Mongoid
832
850
  end
833
851
  end
834
852
  end
853
+
854
+ context "slug can be localized" do
855
+ it "generate a new slug for each localization" do
856
+ old_locale = I18n.locale
857
+
858
+ # Using a default locale of en.
859
+ page = PageSlugLocalize.new
860
+ page.title = "Title on English"
861
+ page.save
862
+ page.slug.should eql "title-on-english"
863
+ I18n.locale = :nl
864
+ page.title = "Title on Netherlands"
865
+ page.save
866
+ page.slug.should eql "title-on-netherlands"
867
+
868
+ # Set locale back to english
869
+ I18n.locale = old_locale
870
+ end
871
+
872
+ it "returns _id if no slug" do
873
+ old_locale = I18n.locale
874
+
875
+ # Using a default locale of en.
876
+ page = PageSlugLocalize.new
877
+ page.title = "Title on English"
878
+ page.save
879
+ page.slug.should eql "title-on-english"
880
+ I18n.locale = :nl
881
+ page.slug.should eql page._id.to_s
882
+
883
+ # Set locale back to english
884
+ I18n.locale = old_locale
885
+ end
886
+
887
+ it "fallbacks if slug not localized yet" do
888
+ old_locale = I18n.locale
889
+
890
+ # Using a default locale of en.
891
+ page = PageSlugLocalize.new
892
+ page.title = "Title on English"
893
+ page.save
894
+ page.slug.should eql "title-on-english"
895
+ I18n.locale = :nl
896
+ page.slug.should eql page._id.to_s
897
+
898
+ # Turn on i18n fallback
899
+ require "i18n/backend/fallbacks"
900
+ I18n::Backend::Simple.send(:include, I18n::Backend::Fallbacks)
901
+ ::I18n.fallbacks[:nl] = [ :nl, :en ]
902
+ page.slug.should eql "title-on-english"
903
+ fallback_slug = page.slug
904
+
905
+ fallback_page = PageSlugLocalize.find(fallback_slug) rescue nil
906
+ fallback_page.should eq(page)
907
+
908
+ # Set locale back to english
909
+ I18n.locale = old_locale
910
+
911
+ # Restore fallback for next tests
912
+ ::I18n.fallbacks[:nl] = [ :nl ]
913
+ end
914
+
915
+ it "returns default slug if not localized" do
916
+ old_locale = I18n.locale
917
+
918
+ # Using a default locale of en.
919
+ page = PageLocalize.new
920
+ page.title = "Title on English"
921
+ page.save
922
+ page.slug.should eql "title-on-english"
923
+ I18n.locale = :nl
924
+ page.title = "Title on Netherlands"
925
+ page.slug.should eql "title-on-english"
926
+ page.save
927
+ page.slug.should eql "title-on-netherlands"
928
+
929
+
930
+ # Set locale back to english
931
+ I18n.locale = old_locale
932
+ end
933
+ end
934
+
935
+ context "slug can be localized when using history" do
936
+ it "generate a new slug for each localization and keep history" do
937
+ old_locale = I18n.locale
938
+
939
+ # Using a default locale of en.
940
+ page = PageSlugLocalizeHistory.new
941
+ page.title = "Title on English"
942
+ page.save
943
+ page.slug.should eql "title-on-english"
944
+ I18n.locale = :nl
945
+ page.title = "Title on Netherlands"
946
+ page.save
947
+ page.slug.should eql "title-on-netherlands"
948
+ I18n.locale = old_locale
949
+ page.title = "Modified title on English"
950
+ page.save
951
+ page.slug.should eql "modified-title-on-english"
952
+ page.slug.should include("title-on-english")
953
+ I18n.locale = :nl
954
+ page.title = "Modified title on Netherlands"
955
+ page.save
956
+ page.slug.should eql "modified-title-on-netherlands"
957
+ page.slug.should include("title-on-netherlands")
958
+
959
+ # Set locale back to english
960
+ I18n.locale = old_locale
961
+ end
962
+
963
+ it "returns _id if no slug" do
964
+ old_locale = I18n.locale
965
+
966
+ # Using a default locale of en.
967
+ page = PageSlugLocalizeHistory.new
968
+ page.title = "Title on English"
969
+ page.save
970
+ page.slug.should eql "title-on-english"
971
+ I18n.locale = :nl
972
+ page.slug.should eql page._id.to_s
973
+
974
+ # Set locale back to english
975
+ I18n.locale = old_locale
976
+ end
977
+
978
+ it "fallbacks if slug not localized yet" do
979
+ old_locale = I18n.locale
980
+
981
+ # Using a default locale of en.
982
+ page = PageSlugLocalizeHistory.new
983
+ page.title = "Title on English"
984
+ page.save
985
+ page.slug.should eql "title-on-english"
986
+ I18n.locale = :nl
987
+ page.slug.should eql page._id.to_s
988
+
989
+ # Turn on i18n fallback
990
+ require "i18n/backend/fallbacks"
991
+ I18n::Backend::Simple.send(:include, I18n::Backend::Fallbacks)
992
+ ::I18n.fallbacks[:nl] = [ :nl, :en ]
993
+ page.slug.should eql "title-on-english"
994
+ fallback_slug = page.slug
995
+
996
+ fallback_page = PageSlugLocalizeHistory.find(fallback_slug) rescue nil
997
+ fallback_page.should eq(page)
998
+
999
+ # Set locale back to english
1000
+ I18n.locale = old_locale
1001
+ end
1002
+ end
1003
+
1004
+ context "Mongoid paranoia with mongoid slug model" do
1005
+
1006
+ let(:paranoid_doc) {ParanoidDocument.create!(:title => "slug")}
1007
+
1008
+ it "returns paranoid_doc for correct slug" do
1009
+ expect(ParanoidDocument.find(paranoid_doc.slug)).to eq(paranoid_doc)
1010
+ end
1011
+
1012
+ it "raises for deleted slug" do
1013
+ paranoid_doc.delete
1014
+ expect{ParanoidDocument.find(paranoid_doc.slug)}.to raise_error(Mongoid::Errors::DocumentNotFound)
1015
+ end
1016
+
1017
+ it "returns paranoid_doc for correct restored slug" do
1018
+ paranoid_doc.delete
1019
+ ParanoidDocument.deleted.first.restore
1020
+ expect(ParanoidDocument.find(paranoid_doc.slug)).to eq(paranoid_doc)
1021
+ end
1022
+
1023
+
1024
+
1025
+ end
835
1026
  end
836
1027
  end
data/spec/spec_helper.rb CHANGED
@@ -7,6 +7,7 @@ require 'uuid'
7
7
  require "awesome_print"
8
8
 
9
9
  require File.expand_path '../../lib/mongoid_slug', __FILE__
10
+ require 'mongoid/paranoia'
10
11
 
11
12
  module Mongoid::Slug::UuidIdStrategy
12
13
  def self.call id
metadata CHANGED
@@ -1,36 +1,32 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongoid_slug
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.1
5
- prerelease:
4
+ version: 3.0.0.rc1
6
5
  platform: ruby
7
6
  authors:
8
7
  - Andreas Saebjoernsen
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-11-10 00:00:00.000000000 Z
11
+ date: 2013-02-25 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: mongoid
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ~>
17
+ - - ! '>'
20
18
  - !ruby/object:Gem::Version
21
19
  version: '3.0'
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ~>
24
+ - - ! '>'
28
25
  - !ruby/object:Gem::Version
29
26
  version: '3.0'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: stringex
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - ~>
36
32
  - !ruby/object:Gem::Version
@@ -38,7 +34,6 @@ dependencies:
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
38
  - - ~>
44
39
  - !ruby/object:Gem::Version
@@ -46,7 +41,6 @@ dependencies:
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: guard-rspec
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
45
  - - ! '>='
52
46
  - !ruby/object:Gem::Version
@@ -54,7 +48,6 @@ dependencies:
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
52
  - - ! '>='
60
53
  - !ruby/object:Gem::Version
@@ -62,7 +55,6 @@ dependencies:
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: rake
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
59
  - - ! '>='
68
60
  - !ruby/object:Gem::Version
@@ -70,7 +62,6 @@ dependencies:
70
62
  type: :development
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
66
  - - ! '>='
76
67
  - !ruby/object:Gem::Version
@@ -78,7 +69,6 @@ dependencies:
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: rspec
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
73
  - - ! '>='
84
74
  - !ruby/object:Gem::Version
@@ -86,7 +76,6 @@ dependencies:
86
76
  type: :development
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
80
  - - ! '>='
92
81
  - !ruby/object:Gem::Version
@@ -94,7 +83,6 @@ dependencies:
94
83
  - !ruby/object:Gem::Dependency
95
84
  name: awesome_print
96
85
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
86
  requirements:
99
87
  - - ! '>='
100
88
  - !ruby/object:Gem::Version
@@ -102,7 +90,6 @@ dependencies:
102
90
  type: :development
103
91
  prerelease: false
104
92
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
93
  requirements:
107
94
  - - ! '>='
108
95
  - !ruby/object:Gem::Version
@@ -110,7 +97,6 @@ dependencies:
110
97
  - !ruby/object:Gem::Dependency
111
98
  name: uuid
112
99
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
100
  requirements:
115
101
  - - ! '>='
116
102
  - !ruby/object:Gem::Version
@@ -118,7 +104,20 @@ dependencies:
118
104
  type: :development
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
107
+ requirements:
108
+ - - ! '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: pry
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ! '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
122
121
  requirements:
123
122
  - - ! '>='
124
123
  - !ruby/object:Gem::Version
@@ -148,6 +147,10 @@ files:
148
147
  - spec/models/integer_id.rb
149
148
  - spec/models/magazine.rb
150
149
  - spec/models/page.rb
150
+ - spec/models/page_localize.rb
151
+ - spec/models/page_slug_localized.rb
152
+ - spec/models/page_slug_localized_history.rb
153
+ - spec/models/paranoid_document.rb
151
154
  - spec/models/partner.rb
152
155
  - spec/models/person.rb
153
156
  - spec/models/relationship.rb
@@ -158,27 +161,26 @@ files:
158
161
  - spec/spec_helper.rb
159
162
  homepage: https://github.com/digitalplaywright/mongoid-slug
160
163
  licenses: []
164
+ metadata: {}
161
165
  post_install_message:
162
166
  rdoc_options: []
163
167
  require_paths:
164
168
  - lib
165
169
  required_ruby_version: !ruby/object:Gem::Requirement
166
- none: false
167
170
  requirements:
168
171
  - - ! '>='
169
172
  - !ruby/object:Gem::Version
170
173
  version: '0'
171
174
  required_rubygems_version: !ruby/object:Gem::Requirement
172
- none: false
173
175
  requirements:
174
- - - ! '>='
176
+ - - ! '>'
175
177
  - !ruby/object:Gem::Version
176
- version: '0'
178
+ version: 1.3.1
177
179
  requirements: []
178
180
  rubyforge_project: mongoid_slug
179
- rubygems_version: 1.8.24
181
+ rubygems_version: 2.0.0
180
182
  signing_key:
181
- specification_version: 3
183
+ specification_version: 4
182
184
  summary: Mongoid URL slugs
183
185
  test_files:
184
186
  - spec/models/alias.rb
@@ -191,6 +193,10 @@ test_files:
191
193
  - spec/models/integer_id.rb
192
194
  - spec/models/magazine.rb
193
195
  - spec/models/page.rb
196
+ - spec/models/page_localize.rb
197
+ - spec/models/page_slug_localized.rb
198
+ - spec/models/page_slug_localized_history.rb
199
+ - spec/models/paranoid_document.rb
194
200
  - spec/models/partner.rb
195
201
  - spec/models/person.rb
196
202
  - spec/models/relationship.rb