friendly_id 5.5.0 → 5.5.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/.github/workflows/test.yml +5 -1
- data/.yardopts +2 -0
- data/Changelog.md +4 -0
- data/friendly_id.gemspec +1 -1
- data/guide.rb +9 -2
- data/lib/friendly_id/base.rb +4 -2
- data/lib/friendly_id/finders.rb +6 -3
- data/lib/friendly_id/history.rb +7 -4
- data/lib/friendly_id/reserved.rb +3 -1
- data/lib/friendly_id/scoped.rb +6 -4
- data/lib/friendly_id/simple_i18n.rb +8 -5
- data/lib/friendly_id/slugged.rb +14 -12
- data/lib/friendly_id/version.rb +1 -1
- data/lib/friendly_id.rb +6 -4
- data/test/helper.rb +2 -2
- data.tar.gz.sig +0 -0
- metadata +5 -5
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5fd869be5d6d4518b4928f41284ec56c4eca0162a3d0683369ed6789b87206ed
|
4
|
+
data.tar.gz: b349d6f8cbb6d1289c768cf6d38c55ad864b472fc39f08e98baf2389af96e85d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 07ca31c8fc194a8a3b336a8e2fdf63cb69f2ac84f1e8cb3781e35beabd392c8b8100495b9fc07e42a548d4e91d1bbf35aed2f9b51c5d5f65cf59d32cb4f25732
|
7
|
+
data.tar.gz: 776d4a15ae8c7144dbff2b9bc2b9d8f745f22858db397617a58af1bc61bacbdb9cc6e52477dfa7ee88e5457f9bda775a892292c3fe51b49060743e783b74e317
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/.github/workflows/test.yml
CHANGED
@@ -11,10 +11,14 @@ jobs:
|
|
11
11
|
matrix:
|
12
12
|
database: [ mysql, postgresql ]
|
13
13
|
gemfile: [ '7.0', '6.1', '6.0' ]
|
14
|
-
ruby: [ '2.6', '2.7', '3.0', '3.1' ]
|
14
|
+
ruby: [ '2.6', '2.7', '3.0', '3.1', '3.2' ]
|
15
15
|
exclude:
|
16
16
|
- ruby: '2.6'
|
17
17
|
gemfile: '7.0'
|
18
|
+
- ruby: '3.2'
|
19
|
+
gemfile: '6.0'
|
20
|
+
- ruby: '3.2'
|
21
|
+
gemfile: '6.1'
|
18
22
|
fail-fast: false
|
19
23
|
runs-on: ubuntu-latest
|
20
24
|
|
data/.yardopts
CHANGED
data/Changelog.md
CHANGED
@@ -5,6 +5,10 @@ suggestions, ideas and improvements to FriendlyId.
|
|
5
5
|
|
6
6
|
## Unreleased
|
7
7
|
|
8
|
+
## 5.5.1 (2023-11-13)
|
9
|
+
|
10
|
+
* Fix YARD doc generation. ([#1006](https://github.com/norman/friendly_id/pull/1006))
|
11
|
+
|
8
12
|
## 5.5.0 (2022-11-16)
|
9
13
|
|
10
14
|
* SimpleI18n: Handle regional locales ([#965](https://github.com/norman/friendly_id/pull/965))
|
data/friendly_id.gemspec
CHANGED
@@ -19,7 +19,7 @@ Gem::Specification.new do |s|
|
|
19
19
|
s.add_development_dependency "coveralls"
|
20
20
|
s.add_development_dependency "railties", ">= 4.0"
|
21
21
|
s.add_development_dependency "minitest", "~> 5.3"
|
22
|
-
s.add_development_dependency "mocha", "~>
|
22
|
+
s.add_development_dependency "mocha", "~> 2.1"
|
23
23
|
s.add_development_dependency "yard"
|
24
24
|
s.add_development_dependency "i18n"
|
25
25
|
s.add_development_dependency "ffaker"
|
data/guide.rb
CHANGED
@@ -4,8 +4,15 @@
|
|
4
4
|
|
5
5
|
def comments_from path
|
6
6
|
path = File.expand_path("../lib/friendly_id/#{path}", __FILE__)
|
7
|
-
|
8
|
-
|
7
|
+
matches = File.read(path).match(/\n\s*# @guide begin\n(.*)\s*# @guide end/m)
|
8
|
+
|
9
|
+
return if matches.nil?
|
10
|
+
|
11
|
+
match = matches[1].to_s
|
12
|
+
match.split("\n")
|
13
|
+
.map { |x| x.sub(/^\s*#\s?/, "") } # Strip off the comment, leading whitespace, and the space after the comment
|
14
|
+
.reject { |x| x =~ /^@/ } # Ignore yarddoc tags for the guide
|
15
|
+
.join("\n").strip
|
9
16
|
end
|
10
17
|
|
11
18
|
File.open(File.expand_path("../Guide.md", __FILE__), "w:utf-8") do |guide|
|
data/lib/friendly_id/base.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
module FriendlyId
|
2
|
+
# @guide begin
|
2
3
|
#
|
3
|
-
## Setting Up FriendlyId in Your Model
|
4
|
+
# ## Setting Up FriendlyId in Your Model
|
4
5
|
#
|
5
6
|
# To use FriendlyId in your ActiveRecord models, you must first either extend or
|
6
7
|
# include the FriendlyId module (it makes no difference), then invoke the
|
@@ -21,7 +22,7 @@ module FriendlyId
|
|
21
22
|
# all classes that participate in STI, both your parent classes and their
|
22
23
|
# children.*
|
23
24
|
#
|
24
|
-
### The Default Setup: Simple Models
|
25
|
+
# ### The Default Setup: Simple Models
|
25
26
|
#
|
26
27
|
# The simplest way to use FriendlyId is with a model that has a uniquely indexed
|
27
28
|
# column with no spaces or special characters, and that is seldom or never
|
@@ -53,6 +54,7 @@ module FriendlyId
|
|
53
54
|
# in a URL can be repetitive and surprisingly tricky, so for this reason it's
|
54
55
|
# often better and easier to use {FriendlyId::Slugged slugs}.
|
55
56
|
#
|
57
|
+
# @guide end
|
56
58
|
module Base
|
57
59
|
# Configure FriendlyId's behavior in a model.
|
58
60
|
#
|
data/lib/friendly_id/finders.rb
CHANGED
@@ -1,4 +1,6 @@
|
|
1
1
|
module FriendlyId
|
2
|
+
# @guide begin
|
3
|
+
#
|
2
4
|
# ## Performing Finds with FriendlyId
|
3
5
|
#
|
4
6
|
# FriendlyId offers enhanced finders which will search for your record by
|
@@ -12,7 +14,7 @@ module FriendlyId
|
|
12
14
|
# Restaurant.find(23) #=> still works
|
13
15
|
# Restaurant.find('plaza-diner') #=> will not work
|
14
16
|
#
|
15
|
-
### Restoring FriendlyId 4.0-style finders
|
17
|
+
# ### Restoring FriendlyId 4.0-style finders
|
16
18
|
#
|
17
19
|
# Prior to version 5.0, FriendlyId overrode the default finder methods to perform
|
18
20
|
# friendly finds all the time. This required modifying parts of Rails that did
|
@@ -34,7 +36,7 @@ module FriendlyId
|
|
34
36
|
# Restaurant.find('plaza-diner') #=> now also works
|
35
37
|
# Restaurant.active.find('plaza-diner') #=> now also works
|
36
38
|
#
|
37
|
-
### Updating your application to use FriendlyId's finders
|
39
|
+
# ### Updating your application to use FriendlyId's finders
|
38
40
|
#
|
39
41
|
# Unless you've chosen to use the `:finders` addon, be sure to modify the finders
|
40
42
|
# in your controllers to use the `friendly` scope. For example:
|
@@ -49,7 +51,7 @@ module FriendlyId
|
|
49
51
|
# @restaurant = Restaurant.friendly.find(params[:id])
|
50
52
|
# end
|
51
53
|
#
|
52
|
-
#### Active Admin
|
54
|
+
# #### Active Admin
|
53
55
|
#
|
54
56
|
# Unless you use the `:finders` addon, you should modify your admin controllers
|
55
57
|
# for models that use FriendlyId with something similar to the following:
|
@@ -60,6 +62,7 @@ module FriendlyId
|
|
60
62
|
# end
|
61
63
|
# end
|
62
64
|
#
|
65
|
+
# @guide end
|
63
66
|
module Finders
|
64
67
|
module ClassMethods
|
65
68
|
if (ActiveRecord::VERSION::MAJOR == 4) && (ActiveRecord::VERSION::MINOR == 0)
|
data/lib/friendly_id/history.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
module FriendlyId
|
2
|
+
# @guide begin
|
2
3
|
#
|
3
|
-
## History: Avoiding 404's When Slugs Change
|
4
|
+
# ## History: Avoiding 404's When Slugs Change
|
4
5
|
#
|
5
6
|
# FriendlyId's {FriendlyId::History History} module adds the ability to store a
|
6
7
|
# log of a model's slugs, so that when its friendly id changes, it's still
|
@@ -8,7 +9,7 @@ module FriendlyId
|
|
8
9
|
#
|
9
10
|
# The primary use case for this is avoiding broken URLs.
|
10
11
|
#
|
11
|
-
### Setup
|
12
|
+
# ### Setup
|
12
13
|
#
|
13
14
|
# In order to use this module, you must add a table to your database schema to
|
14
15
|
# store the slug records. FriendlyId provides a generator for this purpose:
|
@@ -19,13 +20,13 @@ module FriendlyId
|
|
19
20
|
# This will add a table named `friendly_id_slugs`, used by the {FriendlyId::Slug}
|
20
21
|
# model.
|
21
22
|
#
|
22
|
-
### Considerations
|
23
|
+
# ### Considerations
|
23
24
|
#
|
24
25
|
# Because recording slug history requires creating additional database records,
|
25
26
|
# this module has an impact on the performance of the associated model's `create`
|
26
27
|
# method.
|
27
28
|
#
|
28
|
-
### Example
|
29
|
+
# ### Example
|
29
30
|
#
|
30
31
|
# class Post < ActiveRecord::Base
|
31
32
|
# extend FriendlyId
|
@@ -49,6 +50,8 @@ module FriendlyId
|
|
49
50
|
# end
|
50
51
|
# end
|
51
52
|
# end
|
53
|
+
#
|
54
|
+
# @guide end
|
52
55
|
module History
|
53
56
|
module Configuration
|
54
57
|
def dependent_value
|
data/lib/friendly_id/reserved.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
module FriendlyId
|
2
|
+
# @guide begin
|
2
3
|
#
|
3
|
-
## Reserved Words
|
4
|
+
# ## Reserved Words
|
4
5
|
#
|
5
6
|
# The {FriendlyId::Reserved Reserved} module adds the ability to exclude a list of
|
6
7
|
# words from use as FriendlyId slugs.
|
@@ -26,6 +27,7 @@ module FriendlyId
|
|
26
27
|
# end
|
27
28
|
# end
|
28
29
|
#
|
30
|
+
# @guide end
|
29
31
|
module Reserved
|
30
32
|
# When included, this module adds configuration options to the model class's
|
31
33
|
# friendly_id_config.
|
data/lib/friendly_id/scoped.rb
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
require "friendly_id/slugged"
|
2
2
|
|
3
3
|
module FriendlyId
|
4
|
+
# @guide begin
|
4
5
|
#
|
5
|
-
## Unique Slugs by Scope
|
6
|
+
# ## Unique Slugs by Scope
|
6
7
|
#
|
7
8
|
# The {FriendlyId::Scoped} module allows FriendlyId to generate unique slugs
|
8
9
|
# within a scope.
|
@@ -53,7 +54,7 @@ module FriendlyId
|
|
53
54
|
#
|
54
55
|
# All supplied values will be used to determine scope.
|
55
56
|
#
|
56
|
-
### Finding Records by Friendly ID
|
57
|
+
# ### Finding Records by Friendly ID
|
57
58
|
#
|
58
59
|
# If you are using scopes your friendly ids may not be unique, so a simple find
|
59
60
|
# like:
|
@@ -70,13 +71,13 @@ module FriendlyId
|
|
70
71
|
# Restaurant.where(:city_id => @city.id).friendly.find("joes-diner")
|
71
72
|
#
|
72
73
|
#
|
73
|
-
### Finding All Records That Match a Scoped ID
|
74
|
+
# ### Finding All Records That Match a Scoped ID
|
74
75
|
#
|
75
76
|
# Query the slug column directly:
|
76
77
|
#
|
77
78
|
# Restaurant.where(:slug => "joes-diner")
|
78
79
|
#
|
79
|
-
### Routes for Scoped Models
|
80
|
+
# ### Routes for Scoped Models
|
80
81
|
#
|
81
82
|
# Recall that FriendlyId is a database-centric library, and does not set up any
|
82
83
|
# routes for scoped models. You must do this yourself in your application. Here's
|
@@ -98,6 +99,7 @@ module FriendlyId
|
|
98
99
|
# http://example.org/cities/seattle/restaurants/joes-diner
|
99
100
|
# http://example.org/cities/chicago/restaurants/joes-diner
|
100
101
|
#
|
102
|
+
# @guide end
|
101
103
|
module Scoped
|
102
104
|
# FriendlyId::Config.use will invoke this method when present, to allow
|
103
105
|
# loading dependent modules prior to overriding them when necessary.
|
@@ -1,8 +1,9 @@
|
|
1
1
|
require "i18n"
|
2
2
|
|
3
3
|
module FriendlyId
|
4
|
+
# @guide begin
|
4
5
|
#
|
5
|
-
## Translating Slugs Using Simple I18n
|
6
|
+
# ## Translating Slugs Using Simple I18n
|
6
7
|
#
|
7
8
|
# The {FriendlyId::SimpleI18n SimpleI18n} module adds very basic i18n support to
|
8
9
|
# FriendlyId.
|
@@ -17,7 +18,7 @@ module FriendlyId
|
|
17
18
|
# If you need to support two or more locales, you may wish to use the
|
18
19
|
# friendly_id_globalize gem instead.
|
19
20
|
#
|
20
|
-
### Example migration
|
21
|
+
# ### Example migration
|
21
22
|
#
|
22
23
|
# def self.up
|
23
24
|
# create_table :posts do |t|
|
@@ -32,7 +33,7 @@ module FriendlyId
|
|
32
33
|
# add_index :posts, :slug_pt_br
|
33
34
|
# end
|
34
35
|
#
|
35
|
-
### Finds
|
36
|
+
# ### Finds
|
36
37
|
#
|
37
38
|
# Finds will take into consideration the current locale:
|
38
39
|
#
|
@@ -50,11 +51,11 @@ module FriendlyId
|
|
50
51
|
# Post.friendly.find("la-guerra-de-las-galaxias")
|
51
52
|
# end
|
52
53
|
#
|
53
|
-
### Creating Records
|
54
|
+
# ### Creating Records
|
54
55
|
#
|
55
56
|
# When new records are created, the slug is generated for the current locale only.
|
56
57
|
#
|
57
|
-
### Translating Slugs
|
58
|
+
# ### Translating Slugs
|
58
59
|
#
|
59
60
|
# To translate an existing record's friendly_id, use
|
60
61
|
# {FriendlyId::SimpleI18n::Model#set_friendly_id}. This will ensure that the slug
|
@@ -69,6 +70,8 @@ module FriendlyId
|
|
69
70
|
# I18n.with_locale(:es) do
|
70
71
|
# post.set_friendly_id("La guerra de las galaxias")
|
71
72
|
# end
|
73
|
+
#
|
74
|
+
# @guide end
|
72
75
|
module SimpleI18n
|
73
76
|
# FriendlyId::Config.use will invoke this method when present, to allow
|
74
77
|
# loading dependent modules prior to overriding them when necessary.
|
data/lib/friendly_id/slugged.rb
CHANGED
@@ -2,8 +2,9 @@ require "friendly_id/slug_generator"
|
|
2
2
|
require "friendly_id/candidates"
|
3
3
|
|
4
4
|
module FriendlyId
|
5
|
+
# @guide begin
|
5
6
|
#
|
6
|
-
## Slugged Models
|
7
|
+
# ## Slugged Models
|
7
8
|
#
|
8
9
|
# FriendlyId can use a separate column to store slugs for models which require
|
9
10
|
# some text processing.
|
@@ -34,7 +35,7 @@ module FriendlyId
|
|
34
35
|
# unique. You may also wish to constrain it to NOT NULL, but this depends on your
|
35
36
|
# app's behavior and requirements.
|
36
37
|
#
|
37
|
-
### Example Setup
|
38
|
+
# ### Example Setup
|
38
39
|
#
|
39
40
|
# # your model
|
40
41
|
# class Post < ActiveRecord::Base
|
@@ -60,9 +61,9 @@ module FriendlyId
|
|
60
61
|
# end
|
61
62
|
# end
|
62
63
|
#
|
63
|
-
### Working With Slugs
|
64
|
+
# ### Working With Slugs
|
64
65
|
#
|
65
|
-
#### Formatting
|
66
|
+
# #### Formatting
|
66
67
|
#
|
67
68
|
# By default, FriendlyId uses Active Support's
|
68
69
|
# [parameterize](http://api.rubyonrails.org/classes/ActiveSupport/Inflector.html#method-i-parameterize)
|
@@ -72,7 +73,7 @@ module FriendlyId
|
|
72
73
|
# movie = Movie.create! :title => "Der Preis fürs Überleben"
|
73
74
|
# movie.slug #=> "der-preis-furs-uberleben"
|
74
75
|
#
|
75
|
-
#### Column or Method?
|
76
|
+
# #### Column or Method?
|
76
77
|
#
|
77
78
|
# FriendlyId always uses a method as the basis of the slug text - not a column. At
|
78
79
|
# first glance, this may sound confusing, but remember that Active Record provides
|
@@ -95,7 +96,7 @@ module FriendlyId
|
|
95
96
|
#
|
96
97
|
# FriendlyId refers to this internally as the "base" method.
|
97
98
|
#
|
98
|
-
#### Uniqueness
|
99
|
+
# #### Uniqueness
|
99
100
|
#
|
100
101
|
# When you try to insert a record that would generate a duplicate friendly id,
|
101
102
|
# FriendlyId will append a UUID to the generated slug to ensure uniqueness:
|
@@ -109,7 +110,7 @@ module FriendlyId
|
|
109
110
|
# Previous versions of FriendlyId appended a numeric sequence to make slugs
|
110
111
|
# unique, but this was removed to simplify using FriendlyId in concurrent code.
|
111
112
|
#
|
112
|
-
#### Candidates
|
113
|
+
# #### Candidates
|
113
114
|
#
|
114
115
|
# Since UUIDs are ugly, FriendlyId provides a "slug candidates" functionality to
|
115
116
|
# let you specify alternate slugs to use in the event the one you want to use is
|
@@ -147,20 +148,20 @@ module FriendlyId
|
|
147
148
|
# unique slug, then FriendlyId will append a UUID to the first candidate as a
|
148
149
|
# last resort.
|
149
150
|
#
|
150
|
-
#### Sequence Separator
|
151
|
+
# #### Sequence Separator
|
151
152
|
#
|
152
153
|
# By default, FriendlyId uses a dash to separate the slug from a sequence.
|
153
154
|
#
|
154
155
|
# You can change this with the {FriendlyId::Slugged::Configuration#sequence_separator
|
155
156
|
# sequence_separator} configuration option.
|
156
157
|
#
|
157
|
-
#### Providing Your Own Slug Processing Method
|
158
|
+
# #### Providing Your Own Slug Processing Method
|
158
159
|
#
|
159
160
|
# You can override {FriendlyId::Slugged#normalize_friendly_id} in your model for
|
160
161
|
# total control over the slug format. It will be invoked for any generated slug,
|
161
162
|
# whether for a single slug or for slug candidates.
|
162
163
|
#
|
163
|
-
#### Deciding When to Generate New Slugs
|
164
|
+
# #### Deciding When to Generate New Slugs
|
164
165
|
#
|
165
166
|
# As of FriendlyId 5.0, slugs are only generated when the `slug` field is nil. If
|
166
167
|
# you want a slug to be regenerated,set the slug field to nil:
|
@@ -198,7 +199,7 @@ module FriendlyId
|
|
198
199
|
# end
|
199
200
|
# end
|
200
201
|
#
|
201
|
-
#### Locale-specific Transliterations
|
202
|
+
# #### Locale-specific Transliterations
|
202
203
|
#
|
203
204
|
# Active Support's `parameterize` uses
|
204
205
|
# [transliterate](http://api.rubyonrails.org/classes/ActiveSupport/Inflector.html#method-i-transliterate),
|
@@ -219,7 +220,7 @@ module FriendlyId
|
|
219
220
|
#
|
220
221
|
# This functionality was in fact taken from earlier versions of FriendlyId.
|
221
222
|
#
|
222
|
-
#### Gotchas: Common Problems
|
223
|
+
# #### Gotchas: Common Problems
|
223
224
|
#
|
224
225
|
# FriendlyId uses a before_validation callback to generate and set the slug. This
|
225
226
|
# means that if you create two model instances before saving them, it's possible
|
@@ -233,6 +234,7 @@ module FriendlyId
|
|
233
234
|
# creating more than one nested record for a model that uses FriendlyId. See [this
|
234
235
|
# Github issue](https://github.com/norman/friendly_id/issues/185) for discussion.
|
235
236
|
#
|
237
|
+
# @guide end
|
236
238
|
module Slugged
|
237
239
|
# Sets up behavior and configuration options for FriendlyId's slugging
|
238
240
|
# feature.
|
data/lib/friendly_id/version.rb
CHANGED
data/lib/friendly_id.rb
CHANGED
@@ -4,8 +4,9 @@ require "friendly_id/object_utils"
|
|
4
4
|
require "friendly_id/configuration"
|
5
5
|
require "friendly_id/finder_methods"
|
6
6
|
|
7
|
+
# @guide begin
|
7
8
|
#
|
8
|
-
## About FriendlyId
|
9
|
+
# ## About FriendlyId
|
9
10
|
#
|
10
11
|
# FriendlyId is an add-on to Ruby's Active Record that allows you to replace ids
|
11
12
|
# in your URLs with strings:
|
@@ -19,9 +20,9 @@ require "friendly_id/finder_methods"
|
|
19
20
|
# It requires few changes to your application code and offers flexibility,
|
20
21
|
# performance and a well-documented codebase.
|
21
22
|
#
|
22
|
-
### Core Concepts
|
23
|
+
# ### Core Concepts
|
23
24
|
#
|
24
|
-
#### Slugs
|
25
|
+
# #### Slugs
|
25
26
|
#
|
26
27
|
# The concept of *slugs* is at the heart of FriendlyId.
|
27
28
|
#
|
@@ -29,7 +30,7 @@ require "friendly_id/finder_methods"
|
|
29
30
|
# keywords, rather than an opaque identifier such as a numeric id. This can make
|
30
31
|
# your application more friendly both for users and search engines.
|
31
32
|
#
|
32
|
-
#### Finders: Slugs Act Like Numeric IDs
|
33
|
+
# #### Finders: Slugs Act Like Numeric IDs
|
33
34
|
#
|
34
35
|
# To the extent possible, FriendlyId lets you treat text-based identifiers like
|
35
36
|
# normal IDs. This means that you can perform finds with slugs just like you do
|
@@ -38,6 +39,7 @@ require "friendly_id/finder_methods"
|
|
38
39
|
# Person.find(82542335)
|
39
40
|
# Person.friendly.find("joe")
|
40
41
|
#
|
42
|
+
# @guide end
|
41
43
|
module FriendlyId
|
42
44
|
autoload :History, "friendly_id/history"
|
43
45
|
autoload :Slug, "friendly_id/slug"
|
data/test/helper.rb
CHANGED
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: friendly_id
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.5.
|
4
|
+
version: 5.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Norman Clarke
|
@@ -37,7 +37,7 @@ cert_chain:
|
|
37
37
|
fw1cbj95g7OPe0feGK8+afXh/L38vx/hIIOGlUEZ+HaWL2Dki/7vRGvda8dfOpG5
|
38
38
|
bJfaoyKbVsrK+gGKFJv860zsO8lg6BGLsUw=
|
39
39
|
-----END CERTIFICATE-----
|
40
|
-
date:
|
40
|
+
date: 2023-11-12 00:00:00.000000000 Z
|
41
41
|
dependencies:
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
43
|
name: activerecord
|
@@ -101,14 +101,14 @@ dependencies:
|
|
101
101
|
requirements:
|
102
102
|
- - "~>"
|
103
103
|
- !ruby/object:Gem::Version
|
104
|
-
version: '
|
104
|
+
version: '2.1'
|
105
105
|
type: :development
|
106
106
|
prerelease: false
|
107
107
|
version_requirements: !ruby/object:Gem::Requirement
|
108
108
|
requirements:
|
109
109
|
- - "~>"
|
110
110
|
- !ruby/object:Gem::Version
|
111
|
-
version: '
|
111
|
+
version: '2.1'
|
112
112
|
- !ruby/object:Gem::Dependency
|
113
113
|
name: yard
|
114
114
|
requirement: !ruby/object:Gem::Requirement
|
@@ -258,7 +258,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
258
258
|
- !ruby/object:Gem::Version
|
259
259
|
version: '0'
|
260
260
|
requirements: []
|
261
|
-
rubygems_version: 3.
|
261
|
+
rubygems_version: 3.4.22
|
262
262
|
signing_key:
|
263
263
|
specification_version: 4
|
264
264
|
summary: A comprehensive slugging and pretty-URL plugin.
|
metadata.gz.sig
CHANGED
Binary file
|