sluggi 0.5.1 → 1.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.
- checksums.yaml +4 -4
- data/README.md +9 -1
- data/lib/sluggi/history.rb +5 -1
- data/lib/sluggi/version.rb +1 -1
- metadata +6 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4a906de5f60daffb61a57c0e8082ee2357b7260c
|
4
|
+
data.tar.gz: 38284d68e3f3126f2a4883852fe0d314511ed2c2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 02ea97e4b7b745a8c6d40929cbcc7165c5b01850dbb75f09d1ad4020abd0a68fc8a9592d48a281918feee09a5692f4db07dff8a9de3e0507328d88adbe2424ee
|
7
|
+
data.tar.gz: 15f1e3cb0e54be7a363f3f916e55e197b1111e0f27fe88fa40c5a35b69f1b96418c5db3d80b95da508641b7fb920e1229e74205af31ab73bfc15ba4dd9430a50
|
data/README.md
CHANGED
@@ -7,7 +7,9 @@ Sluggi is a simple [friendly_id](https://github.com/norman/friendly_id)-inspired
|
|
7
7
|
|
8
8
|
It provides basic slugs, slug history, and the ability to define multiple slug candidates.
|
9
9
|
|
10
|
-
Sluggi works with Rails
|
10
|
+
Sluggi 1.x works with Rails 5.1+.
|
11
|
+
Sluggi 0.5.x works with Rails 4.0-5.0.x. Make sure to view the 0.5-stable branch's Readme for
|
12
|
+
those versions.
|
11
13
|
|
12
14
|
## Install
|
13
15
|
|
@@ -77,6 +79,8 @@ Cat.find_by_slug('tuxedo-stan')
|
|
77
79
|
To save slug history, include `Sluggi::History`. You get a `slugs` association. You can search for any
|
78
80
|
slug in the history using `.find_slug!`.
|
79
81
|
|
82
|
+
You must also implement `#saved_change_to_slug_value?`.
|
83
|
+
|
80
84
|
```ruby
|
81
85
|
class Cat < ActiveRecord::Base
|
82
86
|
include Sluggi::Slugged
|
@@ -89,6 +93,10 @@ class Cat < ActiveRecord::Base
|
|
89
93
|
def slug_value_changed?
|
90
94
|
name_changed?
|
91
95
|
end
|
96
|
+
|
97
|
+
def saved_change_to_slug_value?
|
98
|
+
saved_change_to_name?
|
99
|
+
end
|
92
100
|
end
|
93
101
|
```
|
94
102
|
|
data/lib/sluggi/history.rb
CHANGED
@@ -9,7 +9,7 @@ module Sluggi
|
|
9
9
|
as: :sluggable,
|
10
10
|
dependent: :destroy
|
11
11
|
|
12
|
-
after_save :create_slug, if: :
|
12
|
+
after_save :create_slug, if: :saved_change_to_slug_value?
|
13
13
|
end
|
14
14
|
|
15
15
|
module ClassMethods
|
@@ -32,6 +32,10 @@ module Sluggi
|
|
32
32
|
|
33
33
|
private
|
34
34
|
|
35
|
+
def saved_change_to_slug_value?
|
36
|
+
raise NotImplementedError, "You must implement #saved_change_to_slug_value?"
|
37
|
+
end
|
38
|
+
|
35
39
|
def create_slug
|
36
40
|
value = clean_slug(slug_value)
|
37
41
|
return if value.blank?
|
data/lib/sluggi/version.rb
CHANGED
metadata
CHANGED
@@ -1,53 +1,41 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sluggi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tee Parham
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-06-
|
11
|
+
date: 2017-06-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '4.0'
|
20
|
-
- - "<"
|
17
|
+
- - "~>"
|
21
18
|
- !ruby/object:Gem::Version
|
22
19
|
version: '5.1'
|
23
20
|
type: :runtime
|
24
21
|
prerelease: false
|
25
22
|
version_requirements: !ruby/object:Gem::Requirement
|
26
23
|
requirements:
|
27
|
-
- - "
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: '4.0'
|
30
|
-
- - "<"
|
24
|
+
- - "~>"
|
31
25
|
- !ruby/object:Gem::Version
|
32
26
|
version: '5.1'
|
33
27
|
- !ruby/object:Gem::Dependency
|
34
28
|
name: railties
|
35
29
|
requirement: !ruby/object:Gem::Requirement
|
36
30
|
requirements:
|
37
|
-
- - "
|
38
|
-
- !ruby/object:Gem::Version
|
39
|
-
version: '4.0'
|
40
|
-
- - "<"
|
31
|
+
- - "~>"
|
41
32
|
- !ruby/object:Gem::Version
|
42
33
|
version: '5.1'
|
43
34
|
type: :runtime
|
44
35
|
prerelease: false
|
45
36
|
version_requirements: !ruby/object:Gem::Requirement
|
46
37
|
requirements:
|
47
|
-
- - "
|
48
|
-
- !ruby/object:Gem::Version
|
49
|
-
version: '4.0'
|
50
|
-
- - "<"
|
38
|
+
- - "~>"
|
51
39
|
- !ruby/object:Gem::Version
|
52
40
|
version: '5.1'
|
53
41
|
- !ruby/object:Gem::Dependency
|