wulffeld_slug 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
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.