gtl-sluggable 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/gtl-sluggable.rb +12 -2
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 67a0b5d73d3a09358887500464bf123e9422480b
4
- data.tar.gz: 87596dbad0a70863bbb5a2134b1bf2cda2bc7a96
3
+ metadata.gz: fd250eecc929116edd3cf6055bacadc5d1d6c327
4
+ data.tar.gz: ef4d9b3068297ca522f549732e9aef5fbabf490a
5
5
  SHA512:
6
- metadata.gz: 5d95067b0d2368c7e1a411a7ecd4fed39508e6794ec92362e4598a92833d02f09bab033abb73b0bdc11f8ca0a3aba671e3c2c55e94622813026608a8762a681f
7
- data.tar.gz: 83ee3a3ede3fa5d66f63fd306b10e8458cf5a2daa797b21c4731732cc6dfac9ffa98063473c2a69d7debc1f19a387bc479e2faeb3df8bbb7813ed806b2618938
6
+ metadata.gz: 6a2c5ee37a01612d4414c3a04c50dd63cbff344994c5dbfb62570ff943b29336edfe677770b614662544ad6eda152b8049313845bbd91761aec7deec4fff260d
7
+ data.tar.gz: 7ddecb8b52097a23e271ce5224fa799b39920af990b81914193bc74ae9a6123703b3552cf45848c8e406a08aab7f1d3be2b37679d495000c2c8fbbe23a76c070
data/lib/gtl-sluggable.rb CHANGED
@@ -11,7 +11,17 @@ module Sluggable
11
11
  module InstanceMethods
12
12
 
13
13
  def generate_slug
14
- self.slug = to_slug(self.sluggable)
14
+ str = to_slug(self.sluggable)
15
+
16
+ count = 2
17
+ obj = self.class.where(slug: str).first
18
+ while obj && obj != self
19
+ str = str + "-" + count.to_s
20
+ obj = self.class.where(slug: str).first
21
+ count += 1
22
+ end
23
+
24
+ self.slug = str.downcase
15
25
  end
16
26
 
17
27
  def to_slug(name)
@@ -34,7 +44,7 @@ module Sluggable
34
44
  #strip off leading/trailing dash
35
45
  ret.gsub! /\A[-\.]+|[-\.]+\z/,""
36
46
 
37
- ret.downcase
47
+ ret
38
48
  end
39
49
 
40
50
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gtl-sluggable
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Craig Tran