slugged 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.
- data/.gitignore +1 -0
- data/.travis.yml +17 -0
- data/Gemfile +9 -0
- data/README.md +5 -5
- data/Rakefile +0 -60
- data/lib/slugged/slug.rb +6 -1
- data/lib/slugged/version.rb +2 -2
- data/slugged.gemspec +22 -33
- metadata +13 -110
- data/Gemfile.lock +0 -90
data/.gitignore
CHANGED
data/.travis.yml
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
---
|
2
|
+
language: ruby
|
3
|
+
rvm:
|
4
|
+
- 1.8.7
|
5
|
+
- 1.9.2
|
6
|
+
- 1.9.3
|
7
|
+
# - jruby-18mode
|
8
|
+
# - jruby-19mode
|
9
|
+
- ree
|
10
|
+
env:
|
11
|
+
- RAILS_VERSION=""
|
12
|
+
- RAILS_VERSION="~>3.2.0"
|
13
|
+
- RAILS_VERSION="~>3.1.0"
|
14
|
+
- RAILS_VERSION="~>3.0.0"
|
15
|
+
notifications:
|
16
|
+
email:
|
17
|
+
- sutto@sutto.net
|
data/Gemfile
CHANGED
@@ -1,3 +1,12 @@
|
|
1
1
|
source :gemcutter
|
2
2
|
|
3
|
+
# Allow testing multiple versions with Travis.
|
4
|
+
rails_version = ENV['RAILS_VERSION']
|
5
|
+
if rails_version && rails_version.length > 0
|
6
|
+
puts "Testing Rails Version = #{rails_version}"
|
7
|
+
# Override the specific versions
|
8
|
+
gem 'activesupport', rails_version
|
9
|
+
gem 'activerecord', rails_version
|
10
|
+
end
|
11
|
+
|
3
12
|
gemspec
|
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Slugged
|
1
|
+
# Slugged [](http://travis-ci.org/sutto/slugged)
|
2
2
|
|
3
3
|
## About ###
|
4
4
|
|
@@ -98,7 +98,7 @@ Generates a slug if not already present.
|
|
98
98
|
When found via Model.find\_using\_slug, it will return try
|
99
99
|
if there is a better slug available. Intended for use in redirects etc.
|
100
100
|
|
101
|
-
## Working on Slugged
|
101
|
+
## Working on Slugged
|
102
102
|
|
103
103
|
To run tests, simply do the following:
|
104
104
|
|
@@ -107,13 +107,13 @@ To run tests, simply do the following:
|
|
107
107
|
|
108
108
|
And it's ready!
|
109
109
|
|
110
|
-
## Contributors
|
110
|
+
## Contributors
|
111
111
|
|
112
112
|
Thanks to the following who contributed functionality / bug fixes:
|
113
113
|
|
114
114
|
* [Matt Pruitt](http://github.com/guitsaru)
|
115
115
|
|
116
|
-
## Note on Patches/Pull Requests
|
116
|
+
## Note on Patches/Pull Requests
|
117
117
|
|
118
118
|
* Fork the project.
|
119
119
|
* Make your feature addition or bug fix.
|
@@ -121,6 +121,6 @@ Thanks to the following who contributed functionality / bug fixes:
|
|
121
121
|
* Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
|
122
122
|
* Send me a pull request. Bonus points for topic branches.
|
123
123
|
|
124
|
-
## Copyright
|
124
|
+
## Copyright
|
125
125
|
|
126
126
|
Copyright (c) 2010 Darcy Laycock. See LICENSE for details.
|
data/Rakefile
CHANGED
@@ -9,66 +9,6 @@ end
|
|
9
9
|
|
10
10
|
task :default => :test
|
11
11
|
|
12
|
-
begin
|
13
|
-
require 'rcov/rcovtask'
|
14
|
-
Rcov::RcovTask.new do |test|
|
15
|
-
test.libs << 'test'
|
16
|
-
test.pattern = 'test/**/*_test.rb'
|
17
|
-
test.verbose = true
|
18
|
-
test.rcov_opts << '--exclude /gems/,/Library/,/usr/,lib/tasks,.bundle,config,/lib/rspec/,/lib/rspec-'
|
19
|
-
test.output_dir = "metrics/coverage"
|
20
|
-
end
|
21
|
-
rescue LoadError
|
22
|
-
task :rcov do
|
23
|
-
abort "Rcov isn't installed, please run via bundle exec after bundle installing"
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
task :metrics => [:rcov, :saikuro, :reek, :flay, :flog, :roodi]
|
28
|
-
|
29
|
-
task :flog do
|
30
|
-
system "flog lib"
|
31
|
-
end
|
32
|
-
|
33
|
-
task :saikuro do
|
34
|
-
system "rm -rf metrics/saikuro && mkdir -p metrics/saikuro && saikuro -c -t -i lib/ -y 0 -w 11 -e 16 -o metrics/saikuro/"
|
35
|
-
end
|
36
|
-
|
37
|
-
begin
|
38
|
-
require 'flay'
|
39
|
-
require 'flay_task'
|
40
|
-
FlayTask.new
|
41
|
-
rescue LoadError
|
42
|
-
task :flay do
|
43
|
-
abort "Flay isn't installed, please run via bundle exec after bundle installing"
|
44
|
-
end
|
45
|
-
end
|
46
|
-
|
47
|
-
begin
|
48
|
-
require 'reek/rake/task'
|
49
|
-
Reek::Rake::Task.new do |t|
|
50
|
-
t.fail_on_error = true
|
51
|
-
t.verbose = false
|
52
|
-
t.source_files = 'lib/**/*.rb'
|
53
|
-
end
|
54
|
-
rescue LoadError
|
55
|
-
task :reek do
|
56
|
-
abort "Reek isn't installed, please run via bundle exec after bundle installing"
|
57
|
-
end
|
58
|
-
end
|
59
|
-
|
60
|
-
begin
|
61
|
-
require 'roodi'
|
62
|
-
require 'roodi_task'
|
63
|
-
RoodiTask.new do |t|
|
64
|
-
t.verbose = false
|
65
|
-
end
|
66
|
-
rescue LoadError
|
67
|
-
task :roodi do
|
68
|
-
abort "Roodi isn't installed, please run via bundle exec after bundle installing"
|
69
|
-
end
|
70
|
-
end
|
71
|
-
|
72
12
|
require 'rdoc/task'
|
73
13
|
Rake::RDocTask.new do |rdoc|
|
74
14
|
version = File.exist?('VERSION') ? File.read('VERSION') : ""
|
data/lib/slugged/slug.rb
CHANGED
@@ -31,7 +31,12 @@ module Slugged
|
|
31
31
|
scope = Slugged.key_for_scope(record)
|
32
32
|
# Clear slug history in this scope before recording the new slug
|
33
33
|
for_slug(scope, slug).delete_all
|
34
|
-
|
34
|
+
new.tap do |history|
|
35
|
+
history.scope = scope
|
36
|
+
history.record_id = record.id
|
37
|
+
history.slug = slug.to_s
|
38
|
+
history.save
|
39
|
+
end
|
35
40
|
end
|
36
41
|
|
37
42
|
def self.remove_history_for(record)
|
data/lib/slugged/version.rb
CHANGED
data/slugged.gemspec
CHANGED
@@ -4,41 +4,30 @@ $:.push File.expand_path("../lib", __FILE__)
|
|
4
4
|
require 'slugged/version'
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
|
-
s.name
|
8
|
-
s.version
|
9
|
-
|
7
|
+
s.name = "slugged"
|
8
|
+
s.version = Slugged::VERSION
|
10
9
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
-
s.authors
|
12
|
-
s.date
|
13
|
-
s.description
|
14
|
-
s.email
|
15
|
-
s.extra_rdoc_files
|
16
|
-
|
17
|
-
|
18
|
-
]
|
19
|
-
s.
|
20
|
-
s.
|
21
|
-
s.
|
10
|
+
s.authors = ["Darcy Laycock"]
|
11
|
+
s.date = %q{2011-01-01}
|
12
|
+
s.description = %q{Super simple slugs for ActiveRecord 3.0 and higher, with support for slug history}
|
13
|
+
s.email = %q{sutto@sutto.net}
|
14
|
+
s.extra_rdoc_files = ["LICENSE", "README.md"]
|
15
|
+
s.files = `git ls-files`.split("\n")
|
16
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
17
|
+
s.require_paths = ["lib"]
|
18
|
+
s.homepage = %q{http://github.com/Sutto/slugged}
|
19
|
+
s.rdoc_options = ["--charset=UTF-8"]
|
20
|
+
s.summary = %q{Super simple slugs for ActiveRecord 3.0 and higher, with support for slug history}
|
22
21
|
|
23
|
-
s.
|
24
|
-
s.
|
25
|
-
s.
|
22
|
+
s.add_runtime_dependency "activerecord", "~> 3.0"
|
23
|
+
s.add_runtime_dependency "activesupport", "~> 3.0"
|
24
|
+
s.add_runtime_dependency "uuid"
|
26
25
|
|
27
|
-
s.
|
28
|
-
s.
|
29
|
-
s.
|
30
|
-
s.add_development_dependency
|
31
|
-
s.add_development_dependency
|
32
|
-
s.add_development_dependency
|
33
|
-
s.add_development_dependency(%q<redgreen>) if RUBY_VERSION < "1.9"
|
34
|
-
s.add_development_dependency(%q<rcov>)
|
35
|
-
s.add_development_dependency(%q<reek>)
|
36
|
-
s.add_development_dependency(%q<roodi>)
|
37
|
-
s.add_development_dependency(%q<flay>)
|
38
|
-
s.add_development_dependency(%q<flog>)
|
39
|
-
s.add_development_dependency(%q<Saikuro>)
|
40
|
-
s.add_development_dependency(%q<ruby-debug>)
|
41
|
-
s.add_development_dependency(%q<rdoc>)
|
42
|
-
s.add_development_dependency(%q<rake>, '> 0.9')
|
26
|
+
s.add_development_dependency "shoulda"
|
27
|
+
s.add_development_dependency "reversible_data"
|
28
|
+
s.add_development_dependency "sqlite3-ruby"
|
29
|
+
s.add_development_dependency "redgreen"
|
30
|
+
s.add_development_dependency "rake"
|
31
|
+
s.add_development_dependency "rdoc"
|
43
32
|
end
|
44
33
|
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: slugged
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 19
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
|
-
- 0
|
9
8
|
- 1
|
10
|
-
|
9
|
+
- 0
|
10
|
+
version: 1.1.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Darcy Laycock
|
@@ -25,10 +25,11 @@ dependencies:
|
|
25
25
|
requirements:
|
26
26
|
- - ~>
|
27
27
|
- !ruby/object:Gem::Version
|
28
|
-
hash:
|
28
|
+
hash: 7
|
29
29
|
segments:
|
30
30
|
- 3
|
31
|
-
|
31
|
+
- 0
|
32
|
+
version: "3.0"
|
32
33
|
type: :runtime
|
33
34
|
version_requirements: *id001
|
34
35
|
- !ruby/object:Gem::Dependency
|
@@ -39,10 +40,11 @@ dependencies:
|
|
39
40
|
requirements:
|
40
41
|
- - ~>
|
41
42
|
- !ruby/object:Gem::Version
|
42
|
-
hash:
|
43
|
+
hash: 7
|
43
44
|
segments:
|
44
45
|
- 3
|
45
|
-
|
46
|
+
- 0
|
47
|
+
version: "3.0"
|
46
48
|
type: :runtime
|
47
49
|
version_requirements: *id002
|
48
50
|
- !ruby/object:Gem::Dependency
|
@@ -116,7 +118,7 @@ dependencies:
|
|
116
118
|
type: :development
|
117
119
|
version_requirements: *id007
|
118
120
|
- !ruby/object:Gem::Dependency
|
119
|
-
name:
|
121
|
+
name: rake
|
120
122
|
prerelease: false
|
121
123
|
requirement: &id008 !ruby/object:Gem::Requirement
|
122
124
|
none: false
|
@@ -130,7 +132,7 @@ dependencies:
|
|
130
132
|
type: :development
|
131
133
|
version_requirements: *id008
|
132
134
|
- !ruby/object:Gem::Dependency
|
133
|
-
name:
|
135
|
+
name: rdoc
|
134
136
|
prerelease: false
|
135
137
|
requirement: &id009 !ruby/object:Gem::Requirement
|
136
138
|
none: false
|
@@ -143,105 +145,6 @@ dependencies:
|
|
143
145
|
version: "0"
|
144
146
|
type: :development
|
145
147
|
version_requirements: *id009
|
146
|
-
- !ruby/object:Gem::Dependency
|
147
|
-
name: roodi
|
148
|
-
prerelease: false
|
149
|
-
requirement: &id010 !ruby/object:Gem::Requirement
|
150
|
-
none: false
|
151
|
-
requirements:
|
152
|
-
- - ">="
|
153
|
-
- !ruby/object:Gem::Version
|
154
|
-
hash: 3
|
155
|
-
segments:
|
156
|
-
- 0
|
157
|
-
version: "0"
|
158
|
-
type: :development
|
159
|
-
version_requirements: *id010
|
160
|
-
- !ruby/object:Gem::Dependency
|
161
|
-
name: flay
|
162
|
-
prerelease: false
|
163
|
-
requirement: &id011 !ruby/object:Gem::Requirement
|
164
|
-
none: false
|
165
|
-
requirements:
|
166
|
-
- - ">="
|
167
|
-
- !ruby/object:Gem::Version
|
168
|
-
hash: 3
|
169
|
-
segments:
|
170
|
-
- 0
|
171
|
-
version: "0"
|
172
|
-
type: :development
|
173
|
-
version_requirements: *id011
|
174
|
-
- !ruby/object:Gem::Dependency
|
175
|
-
name: flog
|
176
|
-
prerelease: false
|
177
|
-
requirement: &id012 !ruby/object:Gem::Requirement
|
178
|
-
none: false
|
179
|
-
requirements:
|
180
|
-
- - ">="
|
181
|
-
- !ruby/object:Gem::Version
|
182
|
-
hash: 3
|
183
|
-
segments:
|
184
|
-
- 0
|
185
|
-
version: "0"
|
186
|
-
type: :development
|
187
|
-
version_requirements: *id012
|
188
|
-
- !ruby/object:Gem::Dependency
|
189
|
-
name: Saikuro
|
190
|
-
prerelease: false
|
191
|
-
requirement: &id013 !ruby/object:Gem::Requirement
|
192
|
-
none: false
|
193
|
-
requirements:
|
194
|
-
- - ">="
|
195
|
-
- !ruby/object:Gem::Version
|
196
|
-
hash: 3
|
197
|
-
segments:
|
198
|
-
- 0
|
199
|
-
version: "0"
|
200
|
-
type: :development
|
201
|
-
version_requirements: *id013
|
202
|
-
- !ruby/object:Gem::Dependency
|
203
|
-
name: ruby-debug
|
204
|
-
prerelease: false
|
205
|
-
requirement: &id014 !ruby/object:Gem::Requirement
|
206
|
-
none: false
|
207
|
-
requirements:
|
208
|
-
- - ">="
|
209
|
-
- !ruby/object:Gem::Version
|
210
|
-
hash: 3
|
211
|
-
segments:
|
212
|
-
- 0
|
213
|
-
version: "0"
|
214
|
-
type: :development
|
215
|
-
version_requirements: *id014
|
216
|
-
- !ruby/object:Gem::Dependency
|
217
|
-
name: rdoc
|
218
|
-
prerelease: false
|
219
|
-
requirement: &id015 !ruby/object:Gem::Requirement
|
220
|
-
none: false
|
221
|
-
requirements:
|
222
|
-
- - ">="
|
223
|
-
- !ruby/object:Gem::Version
|
224
|
-
hash: 3
|
225
|
-
segments:
|
226
|
-
- 0
|
227
|
-
version: "0"
|
228
|
-
type: :development
|
229
|
-
version_requirements: *id015
|
230
|
-
- !ruby/object:Gem::Dependency
|
231
|
-
name: rake
|
232
|
-
prerelease: false
|
233
|
-
requirement: &id016 !ruby/object:Gem::Requirement
|
234
|
-
none: false
|
235
|
-
requirements:
|
236
|
-
- - ">"
|
237
|
-
- !ruby/object:Gem::Version
|
238
|
-
hash: 25
|
239
|
-
segments:
|
240
|
-
- 0
|
241
|
-
- 9
|
242
|
-
version: "0.9"
|
243
|
-
type: :development
|
244
|
-
version_requirements: *id016
|
245
148
|
description: Super simple slugs for ActiveRecord 3.0 and higher, with support for slug history
|
246
149
|
email: sutto@sutto.net
|
247
150
|
executables: []
|
@@ -255,8 +158,8 @@ files:
|
|
255
158
|
- .document
|
256
159
|
- .gitignore
|
257
160
|
- .rvmrc
|
161
|
+
- .travis.yml
|
258
162
|
- Gemfile
|
259
|
-
- Gemfile.lock
|
260
163
|
- LICENSE
|
261
164
|
- README.md
|
262
165
|
- Rakefile
|
@@ -312,7 +215,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
312
215
|
requirements: []
|
313
216
|
|
314
217
|
rubyforge_project:
|
315
|
-
rubygems_version: 1.8.
|
218
|
+
rubygems_version: 1.8.21
|
316
219
|
signing_key:
|
317
220
|
specification_version: 3
|
318
221
|
summary: Super simple slugs for ActiveRecord 3.0 and higher, with support for slug history
|
data/Gemfile.lock
DELETED
@@ -1,90 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
slugged (1.0.0)
|
5
|
-
activerecord (~> 3)
|
6
|
-
activesupport (~> 3)
|
7
|
-
uuid
|
8
|
-
|
9
|
-
GEM
|
10
|
-
remote: http://rubygems.org/
|
11
|
-
specs:
|
12
|
-
Saikuro (1.1.0)
|
13
|
-
activemodel (3.1.1)
|
14
|
-
activesupport (= 3.1.1)
|
15
|
-
builder (~> 3.0.0)
|
16
|
-
i18n (~> 0.6)
|
17
|
-
activerecord (3.1.1)
|
18
|
-
activemodel (= 3.1.1)
|
19
|
-
activesupport (= 3.1.1)
|
20
|
-
arel (~> 2.2.1)
|
21
|
-
tzinfo (~> 0.3.29)
|
22
|
-
activesupport (3.1.1)
|
23
|
-
multi_json (~> 1.0)
|
24
|
-
arel (2.2.1)
|
25
|
-
builder (3.0.0)
|
26
|
-
columnize (0.3.4)
|
27
|
-
flay (1.4.3)
|
28
|
-
ruby_parser (~> 2.0)
|
29
|
-
sexp_processor (~> 3.0)
|
30
|
-
flog (2.5.3)
|
31
|
-
ruby_parser (~> 2.0)
|
32
|
-
sexp_processor (~> 3.0)
|
33
|
-
i18n (0.6.0)
|
34
|
-
json (1.6.1)
|
35
|
-
linecache (0.46)
|
36
|
-
rbx-require-relative (> 0.0.4)
|
37
|
-
macaddr (1.4.0)
|
38
|
-
systemu (~> 2.2.0)
|
39
|
-
multi_json (1.0.3)
|
40
|
-
rake (0.9.2)
|
41
|
-
rbx-require-relative (0.0.5)
|
42
|
-
rcov (0.9.11)
|
43
|
-
rdoc (3.10)
|
44
|
-
json (~> 1.4)
|
45
|
-
redgreen (1.2.2)
|
46
|
-
reek (1.2.8)
|
47
|
-
ruby2ruby (~> 1.2)
|
48
|
-
ruby_parser (~> 2.0)
|
49
|
-
sexp_processor (~> 3.0)
|
50
|
-
reversible_data (0.1.0)
|
51
|
-
roodi (2.1.0)
|
52
|
-
ruby_parser
|
53
|
-
ruby-debug (0.10.4)
|
54
|
-
columnize (>= 0.1)
|
55
|
-
ruby-debug-base (~> 0.10.4.0)
|
56
|
-
ruby-debug-base (0.10.4)
|
57
|
-
linecache (>= 0.3)
|
58
|
-
ruby2ruby (1.3.1)
|
59
|
-
ruby_parser (~> 2.0)
|
60
|
-
sexp_processor (~> 3.0)
|
61
|
-
ruby_parser (2.3.1)
|
62
|
-
sexp_processor (~> 3.0)
|
63
|
-
sexp_processor (3.0.7)
|
64
|
-
shoulda (2.11.3)
|
65
|
-
sqlite3 (1.3.4)
|
66
|
-
sqlite3-ruby (1.3.3)
|
67
|
-
sqlite3 (>= 1.3.3)
|
68
|
-
systemu (2.2.0)
|
69
|
-
tzinfo (0.3.30)
|
70
|
-
uuid (2.3.4)
|
71
|
-
macaddr (~> 1.0)
|
72
|
-
|
73
|
-
PLATFORMS
|
74
|
-
ruby
|
75
|
-
|
76
|
-
DEPENDENCIES
|
77
|
-
Saikuro
|
78
|
-
flay
|
79
|
-
flog
|
80
|
-
rake (> 0.9)
|
81
|
-
rcov
|
82
|
-
rdoc
|
83
|
-
redgreen
|
84
|
-
reek
|
85
|
-
reversible_data
|
86
|
-
roodi
|
87
|
-
ruby-debug
|
88
|
-
shoulda
|
89
|
-
slugged!
|
90
|
-
sqlite3-ruby
|