slugalicious 1.2.1 → 2.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.
- data/README.textile +9 -1
- data/lib/slugalicious.rb +14 -4
- data/slugalicious.gemspec +3 -3
- metadata +52 -17
data/README.textile
CHANGED
@@ -3,9 +3,17 @@ h1. Slugalicious -- Easy and powerful URL slugging for Rails 3
|
|
3
3
|
_*(no monkey-patching required)*_
|
4
4
|
|
5
5
|
| *Author* | Tim Morgan |
|
6
|
-
| *Version* |
|
6
|
+
| *Version* | 2.0 (Jun 5, 2012) |
|
7
7
|
| *License* | Released under the MIT license. |
|
8
8
|
|
9
|
+
h3. Note about version 2.0
|
10
|
+
|
11
|
+
Version 2.0 is so-versioned because it breaks the API for previous versions.
|
12
|
+
Previously, where you would have used
|
13
|
+
{Slugalicious::ClassMethods#find_from_slug find_from_slug}, you would now use
|
14
|
+
{Slugalicious::ClassMethods#find_from_slug! find_from_slug!}. The old method now
|
15
|
+
returns @nil@ when an object is not found, rather than raising an exception.
|
16
|
+
|
9
17
|
h2. About
|
10
18
|
|
11
19
|
Slugalicious is an easy-to-use slugging library that helps you generate pretty
|
data/lib/slugalicious.rb
CHANGED
@@ -26,18 +26,28 @@ module Slugalicious
|
|
26
26
|
|
27
27
|
module ClassMethods
|
28
28
|
|
29
|
+
# Identical to {#find_from_slug}, but raises an exception if the object is
|
30
|
+
# not found.
|
31
|
+
#
|
32
|
+
# @raise [ActiveRecord::RecordNotFound] If no object with that slug is
|
33
|
+
# found.
|
34
|
+
# @see #find_from_slug
|
35
|
+
|
36
|
+
def find_from_slug!(*args)
|
37
|
+
find_from_slug(*args) || raise(ActiveRecord::RecordNotFound)
|
38
|
+
end
|
39
|
+
|
29
40
|
# Locates a record matching a given slug.
|
30
41
|
#
|
31
42
|
# @param [String] slug The slug to locate.
|
32
43
|
# @param [String] scope The scope to search in (for use with scoped-unique
|
33
44
|
# slugs). This should be a string equal to the portion of the URL path
|
34
45
|
# preceding the slug.
|
35
|
-
# @return [ActiveRecord::Base] The object with that slug
|
36
|
-
#
|
37
|
-
# found.
|
46
|
+
# @return [ActiveRecord::Base, nil] The object with that slug, or `nil` if
|
47
|
+
# not found.
|
38
48
|
|
39
49
|
def find_from_slug(slug, scope=nil)
|
40
|
-
Slug.from_slug(self, scope, slug).first.try(:sluggable)
|
50
|
+
Slug.from_slug(self, scope, slug).first.try(:sluggable)
|
41
51
|
end
|
42
52
|
|
43
53
|
# Locates a record from a given path, that consists of a slug and its scope,
|
data/slugalicious.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "slugalicious"
|
8
|
-
s.version = "
|
8
|
+
s.version = "2.0.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Tim Morgan"]
|
12
|
-
s.date = "2012-
|
12
|
+
s.date = "2012-06-06"
|
13
13
|
s.description = "Slugalicious adds simple and powerful slugging to your ActiveRecord models."
|
14
14
|
s.email = "git@timothymorgan.info"
|
15
15
|
s.extra_rdoc_files = [
|
@@ -28,7 +28,7 @@ Gem::Specification.new do |s|
|
|
28
28
|
s.homepage = "http://github.com/riscfuture/slugalicious"
|
29
29
|
s.require_paths = ["lib"]
|
30
30
|
s.required_ruby_version = Gem::Requirement.new(">= 1.9")
|
31
|
-
s.rubygems_version = "1.8.
|
31
|
+
s.rubygems_version = "1.8.24"
|
32
32
|
s.summary = "Easy-to-use and powerful slugging for Rails 3"
|
33
33
|
|
34
34
|
if s.respond_to? :specification_version then
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: slugalicious
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-06-06 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,15 @@ dependencies:
|
|
21
21
|
version: '3.1'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '3.1'
|
25
30
|
- !ruby/object:Gem::Dependency
|
26
31
|
name: stringex
|
27
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
28
33
|
none: false
|
29
34
|
requirements:
|
30
35
|
- - ! '>='
|
@@ -32,10 +37,15 @@ dependencies:
|
|
32
37
|
version: '0'
|
33
38
|
type: :runtime
|
34
39
|
prerelease: false
|
35
|
-
version_requirements:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
36
46
|
- !ruby/object:Gem::Dependency
|
37
47
|
name: jeweler
|
38
|
-
requirement:
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
39
49
|
none: false
|
40
50
|
requirements:
|
41
51
|
- - ! '>='
|
@@ -43,10 +53,15 @@ dependencies:
|
|
43
53
|
version: '0'
|
44
54
|
type: :development
|
45
55
|
prerelease: false
|
46
|
-
version_requirements:
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
47
62
|
- !ruby/object:Gem::Dependency
|
48
63
|
name: yard
|
49
|
-
requirement:
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
50
65
|
none: false
|
51
66
|
requirements:
|
52
67
|
- - ! '>='
|
@@ -54,10 +69,15 @@ dependencies:
|
|
54
69
|
version: '0'
|
55
70
|
type: :development
|
56
71
|
prerelease: false
|
57
|
-
version_requirements:
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
58
78
|
- !ruby/object:Gem::Dependency
|
59
79
|
name: RedCloth
|
60
|
-
requirement:
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
61
81
|
none: false
|
62
82
|
requirements:
|
63
83
|
- - ! '>='
|
@@ -65,10 +85,15 @@ dependencies:
|
|
65
85
|
version: '0'
|
66
86
|
type: :development
|
67
87
|
prerelease: false
|
68
|
-
version_requirements:
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
69
94
|
- !ruby/object:Gem::Dependency
|
70
95
|
name: sqlite3
|
71
|
-
requirement:
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
72
97
|
none: false
|
73
98
|
requirements:
|
74
99
|
- - ! '>='
|
@@ -76,10 +101,15 @@ dependencies:
|
|
76
101
|
version: '0'
|
77
102
|
type: :development
|
78
103
|
prerelease: false
|
79
|
-
version_requirements:
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
80
110
|
- !ruby/object:Gem::Dependency
|
81
111
|
name: rspec
|
82
|
-
requirement:
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
83
113
|
none: false
|
84
114
|
requirements:
|
85
115
|
- - ! '>='
|
@@ -87,7 +117,12 @@ dependencies:
|
|
87
117
|
version: '0'
|
88
118
|
type: :development
|
89
119
|
prerelease: false
|
90
|
-
version_requirements:
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ! '>='
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '0'
|
91
126
|
description: Slugalicious adds simple and powerful slugging to your ActiveRecord models.
|
92
127
|
email: git@timothymorgan.info
|
93
128
|
executables: []
|
@@ -123,7 +158,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
123
158
|
version: '0'
|
124
159
|
requirements: []
|
125
160
|
rubyforge_project:
|
126
|
-
rubygems_version: 1.8.
|
161
|
+
rubygems_version: 1.8.24
|
127
162
|
signing_key:
|
128
163
|
specification_version: 3
|
129
164
|
summary: Easy-to-use and powerful slugging for Rails 3
|