sluggi 1.0.1 → 1.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.
- checksums.yaml +4 -4
- data/lib/sluggi/generators/sluggi_generator.rb +1 -1
- data/lib/sluggi/history.rb +2 -2
- data/lib/sluggi/model.rb +2 -2
- data/lib/sluggi/version.rb +1 -1
- metadata +4 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d08b1975e1783cfe2d07bbeb7d3e45d368bd0ecaec8dabdb466cd868a2d238e0
|
4
|
+
data.tar.gz: 181ec99f375eb372f2dd3b4bb0c7e46d91f286b55178226091f4ea81893fc714
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 250f9eed155a66959bc584a5a43b161ca159733618b872f6936b25b9557aa0d0cce35a38b3cb676eb06f5c4d92f0fc4617d70339246949d486998ed4d1b27d7b
|
7
|
+
data.tar.gz: 98f3b93dd2416f574c51f2c743ee6e3b83d726358d1afe8c29ff5202227ecce53e8f254748159ac87a0ed95c292c69b6318e2f9f432b5dda8804f45191a36cff
|
@@ -6,7 +6,7 @@ require "rails/generators/active_record"
|
|
6
6
|
# Copy the migration to create the slugs table.
|
7
7
|
class SluggiGenerator < ActiveRecord::Generators::Base
|
8
8
|
argument :name, type: :string, default: "required_but_not_used"
|
9
|
-
source_root File.expand_path("
|
9
|
+
source_root File.expand_path("../migrations", __dir__)
|
10
10
|
|
11
11
|
# Copy the migration template to db/migrate.
|
12
12
|
def copy_files
|
data/lib/sluggi/history.rb
CHANGED
@@ -16,7 +16,7 @@ module Sluggi
|
|
16
16
|
|
17
17
|
module ClassMethods
|
18
18
|
def find_slug!(slug)
|
19
|
-
object =
|
19
|
+
object = find_by(slug: slug) || find_slugs(slug).first&.sluggable
|
20
20
|
unless object.is_a?(self)
|
21
21
|
raise ActiveRecord::RecordNotFound, "Couldn't find #{name} with 'slug'='#{slug}'"
|
22
22
|
end
|
@@ -41,7 +41,7 @@ module Sluggi
|
|
41
41
|
def create_slug
|
42
42
|
value = clean_slug(slug_value)
|
43
43
|
return if value.blank?
|
44
|
-
return if slugs.first
|
44
|
+
return if slugs.first&.slug == value
|
45
45
|
self.class.find_slugs(value).delete_all # revert to previous slug & put first
|
46
46
|
slugs.create(slug: value)
|
47
47
|
end
|
data/lib/sluggi/model.rb
CHANGED
@@ -5,7 +5,7 @@ module Sluggi
|
|
5
5
|
extend ActiveSupport::Concern
|
6
6
|
|
7
7
|
NOT_IMPLEMENTED_MESSAGE = "You must implement #slug_value_changed? "\
|
8
|
-
"and either #slug_value or #slug_candidates"
|
8
|
+
"and either #slug_value or #slug_candidates"
|
9
9
|
|
10
10
|
included do
|
11
11
|
before_validation :set_slug
|
@@ -18,7 +18,7 @@ module Sluggi
|
|
18
18
|
private
|
19
19
|
|
20
20
|
def clean_slug(value)
|
21
|
-
value
|
21
|
+
value&.parameterize
|
22
22
|
end
|
23
23
|
|
24
24
|
def set_slug
|
data/lib/sluggi/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sluggi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.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: 2018-
|
11
|
+
date: 2018-10-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|
@@ -38,20 +38,6 @@ dependencies:
|
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '5.1'
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: mocha
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - "~>"
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '1.0'
|
48
|
-
type: :development
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - "~>"
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '1.0'
|
55
41
|
- !ruby/object:Gem::Dependency
|
56
42
|
name: rake
|
57
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -112,7 +98,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
112
98
|
requirements:
|
113
99
|
- - ">="
|
114
100
|
- !ruby/object:Gem::Version
|
115
|
-
version: 2.
|
101
|
+
version: 2.3.0
|
116
102
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
117
103
|
requirements:
|
118
104
|
- - ">="
|
@@ -120,7 +106,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
120
106
|
version: '0'
|
121
107
|
requirements: []
|
122
108
|
rubyforge_project:
|
123
|
-
rubygems_version: 2.7.
|
109
|
+
rubygems_version: 2.7.7
|
124
110
|
signing_key:
|
125
111
|
specification_version: 4
|
126
112
|
summary: Rails Slug Generator
|