speakingurl-rails 4.0.0 → 5.0.0

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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +40 -5
  3. data/lib/speakingurl.js +183 -131
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2be6dbf74b537c58eb2b2bee455d6bead43c621c
4
- data.tar.gz: d5120c189659c1157e22b38c94a6c11f7ef46378
3
+ metadata.gz: 55e3b189f005f070ead1c169b8fc1173b7fbea41
4
+ data.tar.gz: 46c77f1df5444d5069a365d877ec8dd6fe15bbfb
5
5
  SHA512:
6
- metadata.gz: 2a1a01e38c07dccb1df4146f60bbec27491a02ca0d3708ed46ac577d0b14b56891a869d13e1cc179c08e27d55dfc9dc1bb80c3df96edbd8e0163437b35475ac3
7
- data.tar.gz: 4ce9b41245d37925b088a2bcbaf8217ce35eba50a40a33ed8895ee12415b4632b9678dbd61043558aaad6e55888e225f502405a3492b097de47987a7644cc258
6
+ metadata.gz: c9c5a52250a2edfb37393d841f49e2d93c48a4a4342f2e22f22da24fc06494eec50366bf581f23ab4b14b15f3d507d592131b60d1ca11724ed5609ba9179c20d
7
+ data.tar.gz: 6e4eae4f5dd08e4dea7c555f9ae7f800adf0d2bc551e53468c1726ec6378d81ada2bb7635afcc8eb90366d055122a3b0674e7c43492af4a4f08f8b85446aa926
data/README.md CHANGED
@@ -58,14 +58,14 @@ copy the file speakingurl.min.js to your script directory
58
58
  available versions:
59
59
 
60
60
  - [www.cdnjs.com/libraries/speakingurl/](http://cdnjs.com/libraries/speakingurl/)
61
- - use [//cdnjs.cloudflare.com/ajax/libs/speakingurl/4.0.0/speakingurl.min.js](https://cdnjs.cloudflare.com/ajax/libs/speakingurl/4.0.0/speakingurl.min.js)
61
+ - use [//cdnjs.cloudflare.com/ajax/libs/speakingurl/5.0.0/speakingurl.min.js](https://cdnjs.cloudflare.com/ajax/libs/speakingurl/5.0.0/speakingurl.min.js)
62
62
 
63
63
  #### [CDN/maxcdn](https://www.maxcdn.com/)
64
64
 
65
65
  available versions:
66
66
 
67
67
  - [www.jsdelivr.com/#!speakingurl](]http://www.jsdelivr.com/#!speakingurl)
68
- - use [//cdn.jsdelivr.net/speakingurl/4.0.0/speakingurl.min.js](https://cdn.jsdelivr.net/speakingurl/4.0.0/speakingurl.min.js)
68
+ - use [//cdn.jsdelivr.net/speakingurl/5.0.0/speakingurl.min.js](https://cdn.jsdelivr.net/speakingurl/5.0.0/speakingurl.min.js)
69
69
 
70
70
  Usage
71
71
  -----
@@ -80,9 +80,33 @@ Usage
80
80
 
81
81
  - `separator` {string} default: '-'
82
82
  - char that replace the whitespaces
83
- - `lang` {string} default: 'en'
84
- - language specific transliteration ('ar', 'az', 'cs', 'de', 'en', 'es', 'fr', 'hu', 'it', 'lt', 'lv', 'my, 'nl', 'pl', pt', 'ro', 'ru', 'sk', 'tr' and 'vn'; more coming soon, please help!)
85
- - 'symbols' {boolean} default: true
83
+ - `lang` {string} default: 'en' // ISO 639-1 Codes
84
+ - language specific transliteration (
85
+ - 'ar' // Arabic
86
+ - 'az' // Azerbaijani\*
87
+ - 'cs' // Czech
88
+ - 'de' // German
89
+ - 'en' // English
90
+ - 'es' // Spanish
91
+ - 'fr' // French
92
+ - 'gr' // Greek\*
93
+ - 'hu' // Hungarian
94
+ - 'it' // Italian
95
+ - 'lt' // Lithuanian\*
96
+ - 'lv' // Latvian
97
+ - 'my' // Burmese
98
+ - 'mk' // Macedonian\*
99
+ - 'nl' // Dutch
100
+ - 'pl' // Polish
101
+ - 'pt' // Portuguese
102
+ - 'ro' // Romanian
103
+ - 'ru' // Russian
104
+ - 'sk' // Slovak
105
+ - 'sr' // Serbian\*
106
+ - 'tr' // Turkish
107
+ - 'uk' // Ukranian
108
+ - 'vn' // Vietnamese
109
+ - `symbols` {boolean} default: true
86
110
  - false -> don't convert symbols
87
111
  - true -> convert symbols according to the 'lang' setting
88
112
  - `maintainCase` {boolean} default: false
@@ -241,6 +265,17 @@ slug = getSlug('Foo & Bar ♥ Foo < Bar', {
241
265
  lang: false
242
266
  });
243
267
  console.log(slug); // Output: foo-bar-foo-bar
268
+
269
+ slug = getSlug('Foo & Bar ♥ Foo < Bar', {
270
+ symbols: false
271
+ });
272
+ console.log(slug); // Output: foo-bar-foo-bar
273
+
274
+ slug = getSlug('ä♥ä', {
275
+ lang: 'tr',
276
+ symbols: false
277
+ });
278
+ console.log(slug); // Output: a
244
279
  ```
245
280
 
246
281
  ### createSlug([options])
data/lib/speakingurl.js CHANGED
@@ -1,4 +1,4 @@
1
- (function (root) {
1
+ (function (root, undefined) {
2
2
  'use strict';
3
3
 
4
4
  /**
@@ -10,29 +10,29 @@
10
10
  */
11
11
  var getSlug = function getSlug(input, opts) {
12
12
 
13
- var maintainCase = (typeof opts === 'object' && opts.maintainCase) || false;
14
- var titleCase;
15
- var customReplacements = (typeof opts === 'object' && typeof opts.custom === 'object' && opts.custom) ? opts.custom : {};
16
- var separator = (typeof opts === 'object' && opts.separator) || '-';
17
- var truncate = (typeof opts === 'object' && +opts.truncate > 1 && opts.truncate) || false;
18
- var uricFlag = (typeof opts === 'object' && opts.uric) || false;
19
- var uricNoSlashFlag = (typeof opts === 'object' && opts.uricNoSlash) || false;
20
- var markFlag = (typeof opts === 'object' && opts.mark) || false;
21
- var convertSymbols = (typeof opts === 'object' && (opts.symbols === false || opts.lang === false)) ? false : true;
22
- var symbol;
23
- var langChar;
13
+ var separator = '-';
24
14
  var uricChars = [';', '?', ':', '@', '&', '=', '+', '$', ',', '/'];
25
15
  var uricNoSlashChars = [';', '?', ':', '@', '&', '=', '+', '$', ','];
26
16
  var markChars = ['.', '!', '~', '*', '\'', '(', ')'];
27
17
  var result = '';
28
18
  var diatricString = '';
19
+ var convertSymbols = true;
20
+ var customReplacements = {};
21
+ var maintainCase;
22
+ var titleCase;
23
+ var truncate;
24
+ var uricFlag;
25
+ var uricNoSlashFlag;
26
+ var markFlag;
27
+ var symbol;
28
+ var langChar;
29
29
  var lucky;
30
- var allowedChars = separator;
31
30
  var i;
32
31
  var ch;
33
32
  var l;
34
33
  var lastCharWasSymbol;
35
34
  var lastCharWasDiatric;
35
+ var allowedChars;
36
36
 
37
37
  /**
38
38
  * charMap
@@ -174,7 +174,7 @@
174
174
  '٨': '8',
175
175
  '٩': '9',
176
176
 
177
- // burmese consonants
177
+ // Burmese consonants
178
178
  'က': 'k',
179
179
  'ခ': 'kh',
180
180
  'ဂ': 'g',
@@ -241,7 +241,7 @@
241
241
  '့': '',
242
242
  'း': '',
243
243
 
244
- // czech
244
+ // Czech
245
245
  'č': 'c',
246
246
  'ď': 'd',
247
247
  'ě': 'e',
@@ -261,7 +261,7 @@
261
261
  'Ů': 'U',
262
262
  'Ž': 'Z',
263
263
 
264
- // greek
264
+ // Greek
265
265
  'α': 'a',
266
266
  'β': 'v',
267
267
  'γ': 'g',
@@ -332,7 +332,7 @@
332
332
  'Ϊ': 'I',
333
333
  'Ϋ': 'Y',
334
334
 
335
- // latvian
335
+ // Latvian
336
336
  'ā': 'a',
337
337
  // 'č': 'c', // duplicate
338
338
  'ē': 'e',
@@ -356,7 +356,7 @@
356
356
  'Ū': 'U',
357
357
  // 'Ž': 'Z', // duplicate
358
358
 
359
- // macedonian
359
+ // Macedonian
360
360
  'Ќ': 'Kj',
361
361
  'ќ': 'kj',
362
362
  'Љ': 'Lj',
@@ -366,7 +366,7 @@
366
366
  'Тс': 'Ts',
367
367
  'тс': 'ts',
368
368
 
369
- // polish
369
+ // Polish
370
370
  'ą': 'a',
371
371
  'ć': 'c',
372
372
  'ę': 'e',
@@ -385,7 +385,7 @@
385
385
  'Ź': 'Z',
386
386
  'Ż': 'Z',
387
387
 
388
- // ukranian
388
+ // Ukranian
389
389
  'Є': 'Ye',
390
390
  'І': 'I',
391
391
  'Ї': 'Yi',
@@ -407,7 +407,7 @@
407
407
  'ţ': 't',
408
408
  'Ţ': 'T',
409
409
 
410
- // russian
410
+ // Russian
411
411
  'а': 'a',
412
412
  'б': 'b',
413
413
  'в': 'v',
@@ -475,7 +475,7 @@
475
475
  'Ю': 'Yu',
476
476
  'Я': 'Ya',
477
477
 
478
- // serbian
478
+ // Serbian
479
479
  'ђ': 'dj',
480
480
  'ј': 'j',
481
481
  // 'љ': 'lj', // duplicate
@@ -489,7 +489,7 @@
489
489
  'Ћ': 'C',
490
490
  'Џ': 'Dz',
491
491
 
492
- // slovak
492
+ // Slovak
493
493
  'ľ': 'l',
494
494
  'ĺ': 'l',
495
495
  'ŕ': 'r',
@@ -497,7 +497,7 @@
497
497
  'Ĺ': 'L',
498
498
  'Ŕ': 'R',
499
499
 
500
- // turkish
500
+ // Turkish
501
501
  'ş': 's',
502
502
  'Ş': 'S',
503
503
  'ı': 'i',
@@ -683,7 +683,7 @@
683
683
  * @type {Object}
684
684
  */
685
685
  var diatricMap = {
686
- //burmese
686
+ // Burmese
687
687
  // dependent vowels
688
688
  'ာ': 'a',
689
689
  'ါ': 'a',
@@ -743,21 +743,24 @@
743
743
  * @type {Object}
744
744
  */
745
745
  var langCharMap = {
746
+
746
747
  'en': {}, // default language
747
748
 
748
- 'hu': {
749
- 'ä': 'a', // ok
750
- 'Ä': 'A', // ok
751
- // 'á': 'a', duplicate see charMap/latin
752
- // 'Á': 'A', duplicate see charMap/latin
753
- 'ö': 'o', // ok
754
- 'Ö': 'O', // ok
755
- // 'ő': 'o', duplicate see charMap/latin
756
- // 'Ő': 'O', duplicate see charMap/latin
749
+ 'az': { // Azerbaijani
750
+ 'ç': 'c',
751
+ 'ə': 'e',
752
+ 'ğ': 'g',
753
+ 'ı': 'i',
754
+ 'ö': 'o',
755
+ 'ş': 's',
757
756
  'ü': 'u',
758
- 'Ü': 'U',
759
- 'ű': 'u',
760
- 'Ű': 'U'
757
+ 'Ç': 'C',
758
+ 'Ə': 'E',
759
+ 'Ğ': 'G',
760
+ 'İ': 'I',
761
+ 'Ö': 'O',
762
+ 'Ş': 'S',
763
+ 'Ü': 'U'
761
764
  },
762
765
 
763
766
  'cs': { // Czech
@@ -781,30 +784,39 @@
781
784
  'Ž': 'Z'
782
785
  },
783
786
 
784
- 'pl': { // Polish
787
+ 'hu': { // Hungarian
788
+ 'ä': 'a', // ok
789
+ 'Ä': 'A', // ok
790
+ // 'á': 'a', duplicate see charMap/latin
791
+ // 'Á': 'A', duplicate see charMap/latin
792
+ 'ö': 'o', // ok
793
+ 'Ö': 'O', // ok
794
+ // 'ő': 'o', duplicate see charMap/latin
795
+ // 'Ő': 'O', duplicate see charMap/latin
796
+ 'ü': 'u',
797
+ 'Ü': 'U',
798
+ 'ű': 'u',
799
+ 'Ű': 'U'
800
+ },
801
+
802
+ 'lt': { // Lithuanian
785
803
  'ą': 'a',
786
- 'ć': 'c',
804
+ 'č': 'c',
787
805
  'ę': 'e',
788
- 'ł': 'l',
789
- 'ń': 'n',
790
- 'ó': 'o',
791
- 'ś': 's',
792
- 'ź': 'z',
793
- 'ż': 'z',
806
+ 'ė': 'e',
807
+ 'į': 'i',
808
+ 'š': 's',
809
+ 'ų': 'u',
810
+ 'ū': 'u',
811
+ 'ž': 'z',
794
812
  'Ą': 'A',
795
- 'Ć': 'C',
796
- 'Ę': 'e',
797
- 'Ł': 'L',
798
- 'Ń': 'N',
799
- 'Ó': 'O',
800
- 'Ś': 'S',
801
- 'Ź': 'Z',
802
- 'Ż': 'Z'
803
- },
804
-
805
- 'sk': {
806
- 'ä': 'a',
807
- 'Ä': 'A'
813
+ 'Č': 'C',
814
+ 'Ę': 'E',
815
+ 'Ė': 'E',
816
+ 'Į': 'I',
817
+ 'Š': 'S',
818
+ 'Ų': 'U',
819
+ 'Ū': 'U'
808
820
  },
809
821
 
810
822
  'lv': { // Latvian
@@ -832,24 +844,30 @@
832
844
  'Ž': 'Z'
833
845
  },
834
846
 
835
- 'lt': { // Lithuanian
847
+ 'pl': { // Polish
836
848
  'ą': 'a',
837
- 'č': 'c',
849
+ 'ć': 'c',
838
850
  'ę': 'e',
839
- 'ė': 'e',
840
- 'į': 'i',
841
- 'š': 's',
842
- 'ų': 'u',
843
- 'ū': 'u',
844
- 'ž': 'z',
851
+ 'ł': 'l',
852
+ 'ń': 'n',
853
+ 'ó': 'o',
854
+ 'ś': 's',
855
+ 'ź': 'z',
856
+ 'ż': 'z',
845
857
  'Ą': 'A',
846
- 'Č': 'C',
847
- 'Ę': 'E',
848
- 'Ė': 'E',
849
- 'Į': 'I',
850
- 'Š': 'S',
851
- 'Ų': 'U',
852
- 'Ū': 'U'
858
+ 'Ć': 'C',
859
+ 'Ę': 'e',
860
+ 'Ł': 'L',
861
+ 'Ń': 'N',
862
+ 'Ó': 'O',
863
+ 'Ś': 'S',
864
+ 'Ź': 'Z',
865
+ 'Ż': 'Z'
866
+ },
867
+
868
+ 'sk': { // Slovak
869
+ 'ä': 'a',
870
+ 'Ä': 'A'
853
871
  },
854
872
 
855
873
  'sr': { // Serbian
@@ -861,23 +879,6 @@
861
879
  'Đ': 'Dj'
862
880
  },
863
881
 
864
- 'az': { // Azerbaijani
865
- 'ç': 'c',
866
- 'ə': 'e',
867
- 'ğ': 'g',
868
- 'ı': 'i',
869
- 'ö': 'o',
870
- 'ş': 's',
871
- 'ü': 'u',
872
- 'Ç': 'C',
873
- 'Ə': 'E',
874
- 'Ğ': 'G',
875
- 'İ': 'I',
876
- 'Ö': 'O',
877
- 'Ş': 'S',
878
- 'Ü': 'U'
879
- },
880
-
881
882
  'tr': { // Turkish
882
883
  'Ü': 'U',
883
884
  'Ö': 'O',
@@ -905,6 +906,8 @@
905
906
  '¤': 'omla'
906
907
  },
907
908
 
909
+ 'az': {},
910
+
908
911
  'cz': {
909
912
  '∆': 'delta',
910
913
  '∞': 'nekonecno',
@@ -965,6 +968,8 @@
965
968
  '¤': 'monnaie'
966
969
  },
967
970
 
971
+ 'gr': {},
972
+
968
973
  'hu': {
969
974
  '∆': 'delta',
970
975
  '∞': 'vegtelen',
@@ -989,6 +994,20 @@
989
994
  '¤': 'moneta'
990
995
  },
991
996
 
997
+ 'lt': {},
998
+
999
+ 'lv': {
1000
+ '∆': 'delta',
1001
+ '∞': 'bezgaliba',
1002
+ '♥': 'milestiba',
1003
+ '&': 'un',
1004
+ '|': 'vai',
1005
+ '<': 'mazak neka',
1006
+ '>': 'lielaks neka',
1007
+ '∑': 'summa',
1008
+ '¤': 'valuta'
1009
+ },
1010
+
992
1011
  'my': {
993
1012
  '∆': 'kwahkhyaet',
994
1013
  '∞': 'asaonasme',
@@ -1001,6 +1020,8 @@
1001
1020
  '¤': 'ngwekye'
1002
1021
  },
1003
1022
 
1023
+ 'mk': {},
1024
+
1004
1025
  'nl': {
1005
1026
  '∆': 'delta',
1006
1027
  '∞': 'oneindig',
@@ -1073,6 +1094,8 @@
1073
1094
  '¤': 'mena'
1074
1095
  },
1075
1096
 
1097
+ 'sr': {},
1098
+
1076
1099
  'tr': {
1077
1100
  '∆': 'delta',
1078
1101
  '∞': 'sonsuzluk',
@@ -1085,6 +1108,18 @@
1085
1108
  '¤': 'para birimi'
1086
1109
  },
1087
1110
 
1111
+ 'uk': {
1112
+ '∆': 'delta',
1113
+ '∞': 'bezkinechnist',
1114
+ '♥': 'lubov',
1115
+ '&': 'i',
1116
+ '|': 'abo',
1117
+ '<': 'menshe',
1118
+ '>': 'bilshe',
1119
+ '∑': 'suma',
1120
+ '¤': 'valjuta'
1121
+ },
1122
+
1088
1123
  'vn': {
1089
1124
  '∆': 'delta',
1090
1125
  '∞': 'vo cuc',
@@ -1098,39 +1133,27 @@
1098
1133
  }
1099
1134
  };
1100
1135
 
1101
- symbol = (typeof opts === 'object' && opts.lang && symbolMap[opts.lang] && convertSymbols) ?
1102
- symbolMap[opts.lang] : (convertSymbols ? symbolMap.en : {});
1103
-
1104
- langChar = (typeof opts === 'object' && opts.lang && langCharMap[opts.lang]) ?
1105
- langCharMap[opts.lang] : (typeof opts === 'object' && (opts.lang === false || opts.lang === true) ? {} : langCharMap.en);
1106
-
1107
- // if titleCase config is an Array, rewrite to object format
1108
- if (typeof opts === 'object' && opts.titleCase && typeof opts.titleCase.length === "number" && Array.prototype.toString.call(opts.titleCase)) {
1109
-
1110
- opts.titleCase.forEach(function (v) {
1111
- customReplacements[v + ""] = v + "";
1112
- });
1113
-
1114
- titleCase = true;
1115
- } else {
1116
- titleCase = typeof opts === 'object' && !!opts.titleCase;
1117
- }
1118
-
1119
- // if custom config is an Array, rewrite to object format
1120
- if (typeof opts === 'object' && opts.custom && typeof opts.custom.length === "number" && Array.prototype.toString.call(opts.custom)) {
1121
-
1122
- opts.custom.forEach(function (v) {
1123
- customReplacements[v + ""] = v + "";
1124
- });
1125
- }
1126
-
1127
1136
  if (typeof input !== 'string') {
1128
1137
  return '';
1129
1138
  }
1130
1139
 
1131
1140
  if (typeof opts === 'string') {
1132
1141
  separator = opts;
1133
- } else if (typeof opts === 'object') {
1142
+ }
1143
+
1144
+ symbol = symbolMap.en;
1145
+ langChar = langCharMap.en;
1146
+
1147
+ if (typeof opts === 'object') {
1148
+
1149
+ maintainCase = opts.maintainCase || false;
1150
+ customReplacements = (opts.custom && typeof opts.custom === 'object') ? opts.custom : customReplacements;
1151
+ truncate = (+opts.truncate > 1 && opts.truncate) || false;
1152
+ uricFlag = opts.uric || false;
1153
+ uricNoSlashFlag = opts.uricNoSlash || false;
1154
+ markFlag = opts.mark || false;
1155
+ convertSymbols = (opts.symbols === false || opts.lang === false) ? false : true;
1156
+ separator = opts.separator || separator;
1134
1157
 
1135
1158
  if (uricFlag) {
1136
1159
  allowedChars += uricChars.join('');
@@ -1143,28 +1166,57 @@
1143
1166
  if (markFlag) {
1144
1167
  allowedChars += markChars.join('');
1145
1168
  }
1146
- }
1147
1169
 
1148
- // custom replacements
1149
- Object.keys(customReplacements).forEach(function (v) {
1170
+ symbol = (opts.lang && symbolMap[opts.lang] && convertSymbols) ?
1171
+ symbolMap[opts.lang] : (convertSymbols ? symbolMap.en : {});
1172
+
1173
+ langChar = (opts.lang && langCharMap[opts.lang]) ?
1174
+ langCharMap[opts.lang] :
1175
+ opts.lang === false || opts.lang === true ? {} : langCharMap.en;
1150
1176
 
1151
- var r;
1177
+ // if titleCase config is an Array, rewrite to object format
1178
+ if (opts.titleCase && typeof opts.titleCase.length === "number" && Array.prototype.toString.call(opts.titleCase)) {
1152
1179
 
1153
- if (v.length > 1) {
1154
- r = new RegExp('\\b' + escapeChars(v) + '\\b', 'gi');
1180
+ opts.titleCase.forEach(function (v) {
1181
+ customReplacements[v + ""] = v + "";
1182
+ });
1183
+
1184
+ titleCase = true;
1155
1185
  } else {
1156
- r = new RegExp(escapeChars(v), 'gi');
1186
+ titleCase = !!opts.titleCase;
1157
1187
  }
1158
1188
 
1159
- input = input.replace(r, customReplacements[v]);
1160
- });
1189
+ // if custom config is an Array, rewrite to object format
1190
+ if (opts.custom && typeof opts.custom.length === "number" && Array.prototype.toString.call(opts.custom)) {
1161
1191
 
1162
- // add all custom replacement to allowed charlist
1192
+ opts.custom.forEach(function (v) {
1193
+ customReplacements[v + ""] = v + "";
1194
+ });
1195
+ }
1196
+
1197
+ // custom replacements
1198
+ Object.keys(customReplacements).forEach(function (v) {
1199
+
1200
+ var r;
1201
+
1202
+ if (v.length > 1) {
1203
+ r = new RegExp('\\b' + escapeChars(v) + '\\b', 'gi');
1204
+ } else {
1205
+ r = new RegExp(escapeChars(v), 'gi');
1206
+ }
1207
+
1208
+ input = input.replace(r, customReplacements[v]);
1209
+ });
1210
+
1211
+ // add all custom replacement to allowed charlist
1212
+ for (ch in customReplacements) {
1213
+ allowedChars += ch;
1214
+ }
1163
1215
 
1164
- for (ch in customReplacements) {
1165
- allowedChars += ch;
1166
1216
  }
1167
1217
 
1218
+ allowedChars += separator;
1219
+
1168
1220
  if (titleCase) {
1169
1221
 
1170
1222
  input = input.replace(/(\w)(\S*)/g, function (_, i, r) {
@@ -1308,13 +1360,13 @@
1308
1360
  }
1309
1361
  };
1310
1362
 
1311
- if (typeof module !== 'undefined' && module.exports) {
1363
+ if (typeof module !== undefined && module.exports) {
1312
1364
 
1313
1365
  // export functions for use in Node
1314
1366
  module.exports = getSlug;
1315
1367
  module.exports.createSlug = createSlug;
1316
1368
 
1317
- } else if (typeof define !== 'undefined' && define.amd) {
1369
+ } else if (typeof define !== undefined && define.amd) {
1318
1370
 
1319
1371
  // export function for use in AMD
1320
1372
  define([], function () {
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: speakingurl-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.0
4
+ version: 5.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sascha Droste
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-05-14 00:00:00.000000000 Z
11
+ date: 2015-06-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: railties