gtl-sluggable 0.0.0 → 0.1.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 (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/gtl-sluggable.rb +27 -2
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0b1e125ace6888e5dcf5bc3b66007a1972fcb947
4
- data.tar.gz: 35db62799fbc8c1a2f412de013b879f4a0e1e5c8
3
+ metadata.gz: 67a0b5d73d3a09358887500464bf123e9422480b
4
+ data.tar.gz: 87596dbad0a70863bbb5a2134b1bf2cda2bc7a96
5
5
  SHA512:
6
- metadata.gz: 9204366df87b0482623f88ccc63779df557fb8389f3206e72e3185f4555837f04205498027772bcd4e5dd33ffcf78c8115eaed684c7b849ac860681aa3988d84
7
- data.tar.gz: b6fe5c9ffdbf6d5ebe52075f319ac75396bc9eda018f00ee6e7d88fae8fb2db0451a9abc0a772ea36b67c0b43b24602cc5ba49542f5418797e34199bba75b7b6
6
+ metadata.gz: 5d95067b0d2368c7e1a411a7ecd4fed39508e6794ec92362e4598a92833d02f09bab033abb73b0bdc11f8ca0a3aba671e3c2c55e94622813026608a8762a681f
7
+ data.tar.gz: 83ee3a3ede3fa5d66f63fd306b10e8458cf5a2daa797b21c4731732cc6dfac9ffa98063473c2a69d7debc1f19a387bc479e2faeb3df8bbb7813ed806b2618938
data/lib/gtl-sluggable.rb CHANGED
@@ -9,9 +9,34 @@ module Sluggable
9
9
  end
10
10
 
11
11
  module InstanceMethods
12
- def generate_slug
13
- self.slug = self.sluggable.gsub(' ', '-').downcase
12
+
13
+ def generate_slug
14
+ self.slug = to_slug(self.sluggable)
15
+ end
16
+
17
+ def to_slug(name)
18
+ #strip the string
19
+ ret = name.strip
20
+
21
+ #blow away apostrophes
22
+ ret.gsub! /['`]/,""
23
+
24
+ # @ --> at, and & --> and
25
+ ret.gsub! /\s*@\s*/, " at "
26
+ ret.gsub! /\s*&\s*/, " and "
27
+
28
+ #replace all non alphanumeric with dash
29
+ ret.gsub! /\s*[^A-Za-z0-9]\s*/, '-'
30
+
31
+ #convert double dashes to single
32
+ ret.gsub! /-+/,"-"
33
+
34
+ #strip off leading/trailing dash
35
+ ret.gsub! /\A[-\.]+|[-\.]+\z/,""
36
+
37
+ ret.downcase
14
38
  end
39
+
15
40
  end
16
41
 
17
42
  module ClassMethods
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gtl-sluggable
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.0
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Craig Tran
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2103-09-27 00:00:00.000000000 Z
11
+ date: 2103-09-30 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: A slug creation gem
14
14
  email: cntran@gmail.com