wulffeld_slug 0.0.5 → 0.0.6

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/Rakefile CHANGED
@@ -10,6 +10,7 @@ begin
10
10
  gem.email = "martin@wulffeld.org"
11
11
  gem.homepage = "http://www.wulffeld.org/"
12
12
  gem.authors = ["Martin Moen Wulffeld"]
13
+ gem.add_dependency(%q<babosa>, "= 0.3.3")
13
14
  end
14
15
  Jeweler::GemcutterTasks.new
15
16
  rescue LoadError
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.5
1
+ 0.0.6
data/lib/wulffeld_slug.rb CHANGED
@@ -1,2 +1,3 @@
1
+ require 'babosa'
1
2
  require 'wulffeld_slug/slug'
2
3
  require 'wulffeld_slug/slug_include'
@@ -75,69 +75,15 @@ module WulffeldSlug
75
75
  s.gsub! /\s*@\s*/, " at "
76
76
  s.gsub! /\s*&\s*/, " and "
77
77
 
78
- [
79
- [/[+]/, 'plus'],
80
- [/[ÀÁÂÃÅĀĂĄǍ]/, 'A'],
81
- [/[āăąàáâãǎ]/, 'a'],
82
- [/[ĆĈĊČÇ]/, 'C'],
83
- [/[ćĉċčç]/, 'c'],
84
- [/[ĎĐ]/, 'D'],
85
- [/[ďđ]/, 'd'],
86
- [/[ĒĔĖĘĚÈÉÊË]/, 'E'],
87
- [/[èéêëēĕėęě]/, 'e'],
88
- [/[ĜĞĠĢǤǦǴ]/, 'G'],
89
- [/[ĝğġģǥǧ]/, 'g'],
90
- [/[Ĥ]/, 'H'],
91
- [/[ĥĦħ]/, 'h'],
92
- [/[ĨĪĬĮİǏÌÍÎÏ]/, 'I'],
93
- [/[ĩīĭįıǐìíîï]/, 'i'],
94
- [/[Ĵ]/, 'J'],
95
- [/[ĵ]/, 'j'],
96
- [/[ĶǨК]/, 'K'],
97
- [/[ķĸǩ]/, 'k'],
98
- [/[ĹĻĽĿŁ]/, 'L'],
99
- [/[ĺļľŀł]/, 'l'],
100
- [/[ŃŅŇŊÑǸП]/, 'N'],
101
- [/[ńņňʼnŋñǹ]/, 'n'],
102
- [/[ŌŎŐǑÒÓÔÕÖ]/, 'O'],
103
- [/[ōŏőǒðòóôõ]/, 'o'],
104
- [/[ŔŖŘ]/, 'R'],
105
- [/[ŕŗř]/, 'r'],
106
- [/[ŚŜŞŠ]/, 'S'],
107
- [/[śŝşš]/, 's'],
108
- [/[ŢŤŦ]/, 'T'],
109
- [/[ţťŧ]/, 't'],
110
- [/[ŨŪŬŮŰŲÙÚÛÜ]/, 'U'],
111
- [/[ũūŭůűųùúûü]/, 'u'],
112
- [/[Ŵ]/, 'W'],
113
- [/[ŵ]/, 'w'],
114
- [/[ŶŸÝ]/, 'Y'],
115
- [/[ýÿŷ]/, 'y'],
116
- [/[ŹŻŽ]/, 'Z'],
117
- [/[źżž]/, 'z'],
118
- [/[ǓǕǗǙǛ]/, 'U'],
119
- [/[ǔǖǘǚǜ]/, 'u'],
120
- [/[ǢÆǼ]/, 'AE'],
121
- [/[ǣäæǽ]/, 'ae'],
122
- [/[ØǾ]/, 'OE'],
123
- [/[øǿö]/, 'oe'],
124
- [/[ÄÅ]/, 'AA'],
125
- [/[å]/, 'aa'],
126
- [/[ǪǬ]/, 'O'],
127
- [/[ǫǭ]/, 'o'],
128
- [/[^a-zA-Z0-9]+/i, '-']
129
- ].each do |regex, ch|
130
- s.gsub! regex, ch
131
- end
132
-
78
+ s = s.to_slug.transliterate.to_s
133
79
  s.strip!
134
- s = s.split('-').each { |word| word.sub!(/^[a-z]/) {|m| slug_config[:capitalize] ? m.tr('a-z', 'A-Z') : m} }.join('-')
80
+ # Convert spaces to dashes.
81
+ s.gsub!(/[^a-zA-Z0-9]+/i, '-')
82
+ words = s.split('-').reject {|w| w.blank? }
83
+ s = words.each { |word| word.sub!(/^[a-z]/) {|m| slug_config[:capitalize] ? m.tr('a-z', 'A-Z') : m} }.join('-')
84
+
135
85
  new_slug = s.blank? ? orig : s
136
- if new_slug.length > 240
137
- new_slug = new_slug[0..239]
138
- else
139
- new_slug
140
- end
86
+ new_slug = new_slug[0..239]
141
87
  end
142
88
  end
143
89
  end
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{wulffeld_slug}
8
- s.version = "0.0.5"
8
+ s.version = "0.0.6"
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"]
12
- s.date = %q{2011-05-29}
12
+ s.date = %q{2011-05-31}
13
13
  s.description = %q{}
14
14
  s.email = %q{martin@wulffeld.org}
15
15
  s.extra_rdoc_files = [
@@ -26,16 +26,19 @@ Gem::Specification.new do |s|
26
26
  ]
27
27
  s.homepage = %q{http://www.wulffeld.org/}
28
28
  s.require_paths = ["lib"]
29
- s.rubygems_version = %q{1.5.0}
29
+ s.rubygems_version = %q{1.7.2}
30
30
  s.summary = %q{Slug generation.}
31
31
 
32
32
  if s.respond_to? :specification_version then
33
33
  s.specification_version = 3
34
34
 
35
35
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
36
+ s.add_runtime_dependency(%q<babosa>, ["= 0.3.3"])
36
37
  else
38
+ s.add_dependency(%q<babosa>, ["= 0.3.3"])
37
39
  end
38
40
  else
41
+ s.add_dependency(%q<babosa>, ["= 0.3.3"])
39
42
  end
40
43
  end
41
44
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wulffeld_slug
3
3
  version: !ruby/object:Gem::Version
4
- hash: 21
4
+ hash: 19
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 5
10
- version: 0.0.5
9
+ - 6
10
+ version: 0.0.6
11
11
  platform: ruby
12
12
  authors:
13
13
  - Martin Moen Wulffeld
@@ -15,10 +15,24 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-05-29 00:00:00 +02:00
19
- default_executable:
20
- dependencies: []
21
-
18
+ date: 2011-05-31 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: babosa
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ none: false
25
+ requirements:
26
+ - - "="
27
+ - !ruby/object:Gem::Version
28
+ hash: 21
29
+ segments:
30
+ - 0
31
+ - 3
32
+ - 3
33
+ version: 0.3.3
34
+ type: :runtime
35
+ version_requirements: *id001
22
36
  description: ""
23
37
  email: martin@wulffeld.org
24
38
  executables: []
@@ -35,7 +49,6 @@ files:
35
49
  - lib/wulffeld_slug/slug.rb
36
50
  - lib/wulffeld_slug/slug_include.rb
37
51
  - wulffeld_slug.gemspec
38
- has_rdoc: true
39
52
  homepage: http://www.wulffeld.org/
40
53
  licenses: []
41
54
 
@@ -65,7 +78,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
65
78
  requirements: []
66
79
 
67
80
  rubyforge_project:
68
- rubygems_version: 1.5.0
81
+ rubygems_version: 1.7.2
69
82
  signing_key:
70
83
  specification_version: 3
71
84
  summary: Slug generation.