agnostic_slugs 0.0.2 → 0.0.3

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a727c621171eafe0e9a81d34dc63c1e9f67b789f
4
- data.tar.gz: ec13fdb7d13c83cab6ee103bafe46cb5ab453ca7
3
+ metadata.gz: fa10cf987c7480af0bd58640ea23c4ec2d0bcafd
4
+ data.tar.gz: 37d67d2dc2f2ebad912e4dfe7cc773f9c5c3b569
5
5
  SHA512:
6
- metadata.gz: efffd84b8efa869d40b9c39b9943cadb849640f1ae87b5a6801a00901ce27686ead42abc558ffbbfa2dccc523bd0dde8b2fab48a20a6c95a70651c7ac46eb3f2
7
- data.tar.gz: a0c078d024f7766e67a4db03adcc853c988ce95571dd81857b3a3358ef72b638bec530e716a142aa69897dfea6e3c564bee339b2c40bb8587238064d00f9269e
6
+ metadata.gz: 574973a8d53a4a43c79a241de481073f67ac239c1e1e2db6f8e8e945e42df192ec11a3a34bfcb111576d984efe3548e5727a43e8948bd0257b5b27322fc7974e
7
+ data.tar.gz: e9d047f189d87ea4556f26dcbbfb76cc48f2723930ae6bc8c5c613066024916c5e0e48d68fdafd9581a68b1feaf3864856c5ef39c33bde9187c7c9226997c345
@@ -1,3 +1,7 @@
1
+ # 0.0.3
2
+
3
+ Handle Danish chars better
4
+
1
5
  # 0.0.2
2
6
 
3
7
  * Can handle leading and trailing dashes
@@ -19,9 +19,9 @@ module AgnosticSlugs
19
19
 
20
20
  def generate
21
21
  result = original
22
+ result = result.downcase
22
23
  result = replace_accents(result)
23
24
  result = result.gsub(/[\s_\-]+/, '-')
24
- result = result.downcase
25
25
  result = result.gsub(/[^a-z0-9\-]/, '')
26
26
 
27
27
  # Remove leading and trailing dash
@@ -35,43 +35,13 @@ module AgnosticSlugs
35
35
  end
36
36
 
37
37
  def replace_accents(string)
38
- # This was taken directly from https://github.com/ericboehs/to_slug
38
+ # This was originally taken from https://github.com/ericboehs/to_slug
39
39
  # Thanks, ericboehs :)
40
40
 
41
41
  # Define which accents map to which ascii characters
42
42
  accents = {
43
- # Uppercase
44
- 'A' => %w(À Á Â Ã Ā Ă Ȧ Ä Å Ǎ Ȁ Ȃ Ą Ǡ Ǟ Ǻ ),
45
- 'AE' => %w(Æ Ǽ Ǣ),
46
- 'B' => %w(Ḃ Ɓ Ḅ Ḇ Ƃ Ƅ),
47
- 'C' => %w(C Ć Ĉ Ċ Č Ƈ Ç Ḉ),
48
- 'D' => %w(D Ḋ Ɗ Ḍ Ḏ Ḑ Ḓ Ď Đ Ɖ Ƌ),
49
- 'E' => %w(È É Ê Ẽ Ē Ĕ Ė Ë Ẻ Ě Ȅ Ȇ Ẹ Ȩ Ę Ḙ Ḛ Ề Ế Ễ Ể Ḕ Ḗ Ệ Ḝ Ǝ Ɛ),
50
- 'F' => %w(Ḟ Ƒ),
51
- 'G' => %w(Ǵ Ĝ Ḡ Ğ Ġ Ǧ Ɠ Ģ Ǥ),
52
- 'H' => %w(Ĥ Ḣ Ḧ Ȟ Ƕ Ḥ Ḩ Ḫ Ħ),
53
- 'I' => %w(Ì Í Î Ĩ Ī Ĭ İ Ï Ỉ Ǐ Ị Į Ȉ Ȋ Ḭ Ɨ Ḯ),
54
- 'IJ' => %w(IJ),
55
- 'J' => %w(Ĵ),
56
- 'K' => %w(Ḱ Ǩ Ḵ Ƙ Ḳ Ķ),
57
- 'L' => %w(Ĺ Ḻ Ḷ Ļ Ḽ Ľ Ŀ Ł Ḹ),
58
- 'M' => %w(Ḿ Ṁ Ṃ Ɯ),
59
- 'N' => %w(Ǹ Ń Ñ Ṅ Ň Ŋ Ɲ Ṇ Ņ Ṋ Ṉ Ƞ),
60
- 'O' => %w(Ò Ó Ô Õ Ō Ŏ Ȯ Ö Ỏ Ő Ǒ Ȍ Ȏ Ơ Ǫ Ọ Ɵ Ø Ồ Ố Ỗ Ổ Ȱ Ȫ Ȭ Ṍ Ṏ Ṑ Ṓ Ờ Ớ Ỡ Ở Ợ Ǭ Ộ Ǿ Ɔ),
61
- 'OE' => %w(Œ),
62
- 'P' => %w(Ṕ Ṗ Ƥ),
63
- 'R' => %w(Ŕ Ṙ Ř Ȑ Ȓ Ṛ Ŗ Ṟ Ṝ Ʀ),
64
- 'S' => %w(Ś Ŝ Ṡ Š Ṣ Ș Ş Ṥ Ṧ Ṩ),
65
- 'T' => %w(Ṫ Ť Ƭ Ʈ Ṭ Ț Ţ Ṱ Ṯ Ŧ),
66
- 'U' => %w(Ù Ú Û Ũ Ū Ŭ Ü Ủ Ů Ű Ǔ Ȕ Ȗ Ư Ụ Ṳ Ų Ṷ Ṵ Ṹ Ṻ Ǜ Ǘ Ǖ Ǚ Ừ Ứ Ữ Ử Ự),
67
- 'V' => %w(Ṽ Ṿ Ʋ),
68
- 'W' => %w(Ẁ Ẃ Ŵ Ẇ Ẅ Ẉ),
69
- 'X' => %w(Ẋ Ẍ),
70
- 'Y' => %w(Ỳ Ý Ŷ Ỹ Ȳ Ẏ Ÿ Ỷ Ƴ Ỵ),
71
- 'Z' => %w(Ź Ẑ Ż Ž Ȥ Ẓ Ẕ Ƶ),
72
-
73
- # Lowercase
74
- 'a' => %w(à á â ã ā ă ȧ ä ả å ǎ ȁ ȃ ą ạ ḁ ẚ ầ ấ ẫ ẩ ằ ắ ẵ ẳ ǡ ǟ ǻ ậ ặ),
43
+ 'aa' => %w(å),
44
+ 'a' => %w(à á â ã ā ă ȧ ä ǎ ȁ ȃ ą ǡ ǟ ǻ ),
75
45
  'ae' => %w(æ ǽ ǣ),
76
46
  'b' => %w(ḃ ɓ ḅ ḇ ƀ ƃ ƅ),
77
47
  'c' => %w(ć ĉ ċ č ƈ ç ḉ),
@@ -87,8 +57,8 @@ module AgnosticSlugs
87
57
  'l' => %w(ĺ ḻ ḷ ļ ḽ ľ ŀ ł ƚ ḹ ȴ),
88
58
  'm' => %w(ḿ ṁ ṃ ɯ),
89
59
  'n' => %w(ǹ ń ñ ṅ ň ŋ ɲ ṇ ņ ṋ ṉ ʼn ȵ),
90
- 'o' => %w(ò ó ô õ ō ŏ ȯ ö ỏ ő ǒ ȍ ȏ ơ ǫ ọ ɵ ø ồ ố ỗ ổ ȱ ȫ ȭ ṍ ṏ ṑ ṓ ờ ớ ỡ ở ợ ǭ ộ ǿ ɔ),
91
- 'oe' => %w(œ),
60
+ 'o' => %w(ò ó ô õ ō ŏ ȯ ö ỏ ő ǒ ȍ ȏ ơ ǫ ọ ɵ ồ ố ỗ ổ ȱ ȫ ȭ ṍ ṏ ṑ ṓ ờ ớ ỡ ở ợ ǭ ộ ǿ ɔ),
61
+ 'oe' => %w(œ ø),
92
62
  'p' => %w(ṕ ṗ ƥ),
93
63
  'r' => %w(ŕ ṙ ř ȑ ȓ ṛ ŗ ṟ ṝ),
94
64
  's' => %w(ś ŝ ṡ š ṣ ș ş ṥ ṧ ṩ ß ſ ẛ),
@@ -1,3 +1,3 @@
1
1
  module AgnosticSlugs
2
- VERSION = '0.0.2'
2
+ VERSION = '0.0.3'
3
3
  end
@@ -13,7 +13,7 @@ module AgnosticSlugs
13
13
  end
14
14
 
15
15
  describe 'accented input' do
16
- let(:input) { 'Hellø Wårld' }
16
+ let(:input) { 'Hellő Wárld' }
17
17
  it { should eq('hello-warld') }
18
18
  end
19
19
 
@@ -32,6 +32,11 @@ module AgnosticSlugs
32
32
  let(:input) { ' Hello world ' }
33
33
  it { should eq('hello-world') }
34
34
  end
35
+
36
+ describe 'Danish chars' do
37
+ let(:input) { 'Rør på næse' }
38
+ it { should eq('roer-paa-naese') }
39
+ end
35
40
  end
36
41
 
37
42
  describe '#next' do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: agnostic_slugs
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lasse Skindstad Ebert