wulffeld_slug 0.0.24 → 0.0.25
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.
- data/Gemfile.lock +1 -1
- data/VERSION +1 -1
- data/lib/wulffeld_slug/slug.rb +1 -1
- data/lib/wulffeld_slug/slug_include.rb +15 -3
- data/wulffeld_slug.gemspec +43 -1
- metadata +490 -336
data/Gemfile.lock
CHANGED
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.0.
|
|
1
|
+
0.0.25
|
data/lib/wulffeld_slug/slug.rb
CHANGED
|
@@ -2,7 +2,7 @@ module WulffeldSlug
|
|
|
2
2
|
module Slug
|
|
3
3
|
def has_slug(fields, options = {})
|
|
4
4
|
class_attribute :slug_config
|
|
5
|
-
self.slug_config = {:case => :downcase, :loop_start => 64, :fields => fields}.merge(options)
|
|
5
|
+
self.slug_config = {:case => :downcase, :loop_start => 64, :blank_loop_start => 1024, :fields => fields}.merge(options)
|
|
6
6
|
|
|
7
7
|
include WulffeldSlug::SlugInclude
|
|
8
8
|
end
|
|
@@ -57,7 +57,15 @@ module WulffeldSlug
|
|
|
57
57
|
|
|
58
58
|
# First loop we do some optimistic searching.
|
|
59
59
|
if n.nil?
|
|
60
|
-
|
|
60
|
+
# There's often a difference between adding a number to a slug where the string is present
|
|
61
|
+
# and one where we only have the number for the final slug.
|
|
62
|
+
# :blank_loop_start and :blank_loop_chunk helps speed up the looping on blank slugs.
|
|
63
|
+
if str_part.blank?
|
|
64
|
+
b = slug_config[:blank_loop_start]
|
|
65
|
+
else
|
|
66
|
+
b = slug_config[:loop_start]
|
|
67
|
+
end
|
|
68
|
+
|
|
61
69
|
last_b = nil
|
|
62
70
|
loop do
|
|
63
71
|
slug = [str_part, b].reject(&:blank?).join('-')
|
|
@@ -68,8 +76,12 @@ module WulffeldSlug
|
|
|
68
76
|
n = last_b
|
|
69
77
|
break
|
|
70
78
|
end
|
|
71
|
-
|
|
72
|
-
b
|
|
79
|
+
|
|
80
|
+
if str_part.blank? && slug_config[:blank_loop_chunk] && b - slug_config[:blank_loop_chunk] > slug_config[:blank_loop_chunk]
|
|
81
|
+
b -= slug_config[:blank_loop_chunk]
|
|
82
|
+
else
|
|
83
|
+
b /= 2
|
|
84
|
+
end
|
|
73
85
|
end
|
|
74
86
|
end
|
|
75
87
|
n ||= 0
|
data/wulffeld_slug.gemspec
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
Gem::Specification.new do |s|
|
|
7
7
|
s.name = "wulffeld_slug"
|
|
8
|
-
s.version = "0.0.
|
|
8
|
+
s.version = "0.0.25"
|
|
9
9
|
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
|
11
11
|
s.authors = ["Martin Moen Wulffeld"]
|
|
@@ -209,6 +209,20 @@ Gem::Specification.new do |s|
|
|
|
209
209
|
s.add_development_dependency(%q<jeweler>, [">= 1.6.2"])
|
|
210
210
|
s.add_development_dependency(%q<rdoc>, [">= 3.8"])
|
|
211
211
|
s.add_development_dependency(%q<rspec>, [">= 2.7.0"])
|
|
212
|
+
s.add_development_dependency(%q<mongoid>, ["= 2.2.0"])
|
|
213
|
+
s.add_development_dependency(%q<bson>, ["= 1.3.0"])
|
|
214
|
+
s.add_development_dependency(%q<bson_ext>, ["= 1.3.0"])
|
|
215
|
+
s.add_development_dependency(%q<bundler>, [">= 1.0.21"])
|
|
216
|
+
s.add_development_dependency(%q<jeweler>, [">= 1.6.2"])
|
|
217
|
+
s.add_development_dependency(%q<rdoc>, [">= 3.8"])
|
|
218
|
+
s.add_development_dependency(%q<rspec>, [">= 2.7.0"])
|
|
219
|
+
s.add_development_dependency(%q<mongoid>, ["= 2.2.0"])
|
|
220
|
+
s.add_development_dependency(%q<bson>, ["= 1.3.0"])
|
|
221
|
+
s.add_development_dependency(%q<bson_ext>, ["= 1.3.0"])
|
|
222
|
+
s.add_development_dependency(%q<bundler>, [">= 1.0.21"])
|
|
223
|
+
s.add_development_dependency(%q<jeweler>, [">= 1.6.2"])
|
|
224
|
+
s.add_development_dependency(%q<rdoc>, [">= 3.8"])
|
|
225
|
+
s.add_development_dependency(%q<rspec>, [">= 2.7.0"])
|
|
212
226
|
s.add_runtime_dependency(%q<babosa>, [">= 0.3.7"])
|
|
213
227
|
s.add_runtime_dependency(%q<activesupport>, [">= 3.1.0"])
|
|
214
228
|
else
|
|
@@ -377,6 +391,20 @@ Gem::Specification.new do |s|
|
|
|
377
391
|
s.add_dependency(%q<jeweler>, [">= 1.6.2"])
|
|
378
392
|
s.add_dependency(%q<rdoc>, [">= 3.8"])
|
|
379
393
|
s.add_dependency(%q<rspec>, [">= 2.7.0"])
|
|
394
|
+
s.add_dependency(%q<mongoid>, ["= 2.2.0"])
|
|
395
|
+
s.add_dependency(%q<bson>, ["= 1.3.0"])
|
|
396
|
+
s.add_dependency(%q<bson_ext>, ["= 1.3.0"])
|
|
397
|
+
s.add_dependency(%q<bundler>, [">= 1.0.21"])
|
|
398
|
+
s.add_dependency(%q<jeweler>, [">= 1.6.2"])
|
|
399
|
+
s.add_dependency(%q<rdoc>, [">= 3.8"])
|
|
400
|
+
s.add_dependency(%q<rspec>, [">= 2.7.0"])
|
|
401
|
+
s.add_dependency(%q<mongoid>, ["= 2.2.0"])
|
|
402
|
+
s.add_dependency(%q<bson>, ["= 1.3.0"])
|
|
403
|
+
s.add_dependency(%q<bson_ext>, ["= 1.3.0"])
|
|
404
|
+
s.add_dependency(%q<bundler>, [">= 1.0.21"])
|
|
405
|
+
s.add_dependency(%q<jeweler>, [">= 1.6.2"])
|
|
406
|
+
s.add_dependency(%q<rdoc>, [">= 3.8"])
|
|
407
|
+
s.add_dependency(%q<rspec>, [">= 2.7.0"])
|
|
380
408
|
s.add_dependency(%q<babosa>, [">= 0.3.7"])
|
|
381
409
|
s.add_dependency(%q<activesupport>, [">= 3.1.0"])
|
|
382
410
|
end
|
|
@@ -546,6 +574,20 @@ Gem::Specification.new do |s|
|
|
|
546
574
|
s.add_dependency(%q<jeweler>, [">= 1.6.2"])
|
|
547
575
|
s.add_dependency(%q<rdoc>, [">= 3.8"])
|
|
548
576
|
s.add_dependency(%q<rspec>, [">= 2.7.0"])
|
|
577
|
+
s.add_dependency(%q<mongoid>, ["= 2.2.0"])
|
|
578
|
+
s.add_dependency(%q<bson>, ["= 1.3.0"])
|
|
579
|
+
s.add_dependency(%q<bson_ext>, ["= 1.3.0"])
|
|
580
|
+
s.add_dependency(%q<bundler>, [">= 1.0.21"])
|
|
581
|
+
s.add_dependency(%q<jeweler>, [">= 1.6.2"])
|
|
582
|
+
s.add_dependency(%q<rdoc>, [">= 3.8"])
|
|
583
|
+
s.add_dependency(%q<rspec>, [">= 2.7.0"])
|
|
584
|
+
s.add_dependency(%q<mongoid>, ["= 2.2.0"])
|
|
585
|
+
s.add_dependency(%q<bson>, ["= 1.3.0"])
|
|
586
|
+
s.add_dependency(%q<bson_ext>, ["= 1.3.0"])
|
|
587
|
+
s.add_dependency(%q<bundler>, [">= 1.0.21"])
|
|
588
|
+
s.add_dependency(%q<jeweler>, [">= 1.6.2"])
|
|
589
|
+
s.add_dependency(%q<rdoc>, [">= 3.8"])
|
|
590
|
+
s.add_dependency(%q<rspec>, [">= 2.7.0"])
|
|
549
591
|
s.add_dependency(%q<babosa>, [">= 0.3.7"])
|
|
550
592
|
s.add_dependency(%q<activesupport>, [">= 3.1.0"])
|
|
551
593
|
end
|