slugged 1.1.0 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 826ed7e245a1ed41d94a1c222fcf413011e27902
4
+ data.tar.gz: 6af346bdc4f70b054a8867ff21cc21e176a14dea
5
+ SHA512:
6
+ metadata.gz: ee0bf448157c8c41a266692ca9a38c4f42d6f38f371fbf29b400ece5c7f1c4be0938c3c4cb9aac1d9ec50d2345b6f674a93da01bb4f7f94c5d50141e1c999c36
7
+ data.tar.gz: 6abeb15565c5b05c2ba6905e1bf13125ef8dda6ee735ba7d7d9c6d0b4f293e30edbbf26b77c1e4acc75a1eb18816c848ddb6bea4b2eab9ed3b3f83ee3d1bc35b
@@ -1,14 +1,11 @@
1
1
  ---
2
2
  language: ruby
3
3
  rvm:
4
- - 1.8.7
5
- - 1.9.2
6
4
  - 1.9.3
7
- # - jruby-18mode
8
- # - jruby-19mode
9
- - ree
5
+ - 2.0.0
10
6
  env:
11
7
  - RAILS_VERSION=""
8
+ - RAILS_VERSION="~>4.0.0"
12
9
  - RAILS_VERSION="~>3.2.0"
13
10
  - RAILS_VERSION="~>3.1.0"
14
11
  - RAILS_VERSION="~>3.0.0"
data/Gemfile CHANGED
@@ -1,4 +1,4 @@
1
- source :gemcutter
1
+ source 'https://rubygems.org'
2
2
 
3
3
  # Allow testing multiple versions with Travis.
4
4
  rails_version = ENV['RAILS_VERSION']
@@ -9,4 +9,4 @@ if rails_version && rails_version.length > 0
9
9
  gem 'activerecord', rails_version
10
10
  end
11
11
 
12
- gemspec
12
+ gemspec
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Slugged [![Build Status](https://secure.travis-ci.org/sutto/slugged.png?branch=master)](http://travis-ci.org/sutto/slugged)
1
+ # Slugged [![Build Status](https://secure.travis-ci.org/Sutto/slugged.png?branch=master)](http://travis-ci.org/Sutto/slugged)
2
2
 
3
3
  ## About ###
4
4
 
@@ -30,7 +30,7 @@ and built to work on Rails 3 from the start.
30
30
 
31
31
  Using Slugged is simple. In Rails, simply drop this in your Gemfile:
32
32
 
33
- gem 'slugged'
33
+ gem 'slugged', '~> 2.0'
34
34
 
35
35
  Optionally restricting the version.
36
36
 
@@ -121,6 +121,10 @@ 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
+ ## Changes
125
+
126
+ * __2.0.0__ - Support Rails 4.
127
+
124
128
  ## Copyright
125
129
 
126
130
  Copyright (c) 2010 Darcy Laycock. See LICENSE for details.
@@ -85,7 +85,7 @@ module Slugged
85
85
  end
86
86
 
87
87
  def slug_scope_relation(record)
88
- has_slug_scope? ? where(slug_scope => record.send(slug_scope)) : scoped
88
+ has_slug_scope? ? where(slug_scope => record.send(slug_scope)) : where(nil)
89
89
  end
90
90
 
91
91
  def slug_value_for(value)
@@ -125,4 +125,4 @@ module Slugged
125
125
  end
126
126
  end
127
127
  end
128
- end
128
+ end
@@ -37,10 +37,10 @@ module Slugged
37
37
  module ClassMethods
38
38
 
39
39
  # Wraps find_using_slug to look in the cache.
40
- def find_using_slug(slug, options = {})
40
+ def find_using_slug(slug)
41
41
  # First, attempt to load an id and then record from the cache.
42
42
  if (cached_id = lookup_cached_id_from_slug(slug)).present?
43
- return find(cached_id, options).tap { |r| r.found_via_slug = slug }
43
+ return find(cached_id).tap { |r| r.found_via_slug = slug }
44
44
  end
45
45
  # Otherwise, fallback to the normal approach.
46
46
  super.tap do |record|
@@ -1,19 +1,19 @@
1
1
  module Slugged
2
2
  module Finders
3
3
 
4
- def find_using_slug(slug, options = {})
4
+ def find_using_slug(slug)
5
5
  slug = slug.to_s
6
6
  value = nil
7
- value ||= find_by_id(slug.to_i, options) if slug =~ /\A\d+\Z/
8
- value ||= with_cached_slug(slug).first(options)
9
- value ||= find_using_slug_history(slug, options) if use_slug_history
7
+ value ||= find_by_id(slug.to_i) if slug =~ /\A\d+\Z/
8
+ value ||= with_cached_slug(slug).first
9
+ value ||= find_using_slug_history(slug) if use_slug_history
10
10
  value.found_via_slug = slug if value.present?
11
11
  value
12
12
  end
13
13
 
14
- def find_using_slug!(slug, options = {})
15
- find_using_slug(slug, options) or raise ActiveRecord::RecordNotFound
14
+ def find_using_slug!(slug)
15
+ find_using_slug(slug) or raise ActiveRecord::RecordNotFound
16
16
  end
17
17
 
18
18
  end
19
- end
19
+ end
@@ -6,8 +6,8 @@ module Slugged
6
6
  end
7
7
 
8
8
  def other_than(record)
9
- record.new_record? ? scoped : where("#{quoted_table_name}.#{connection.quote_column_name(:id)} != ?", record.id)
9
+ record.new_record? ? where(nil) : where("#{quoted_table_name}.#{connection.quote_column_name(:id)} != ?", record.id)
10
10
  end
11
11
 
12
12
  end
13
- end
13
+ end
@@ -4,8 +4,8 @@ module Slugged
4
4
 
5
5
  validates_presence_of :record_id, :slug, :scope
6
6
 
7
- scope :ordered, order('created_at DESC')
8
- scope :only_slug, select(:slug)
7
+ scope :ordered, lambda { order('created_at DESC') }
8
+ scope :only_slug, lambda { select(:slug) }
9
9
  scope :for_record, lambda { |r| where(:record_id => r.id, :scope => Slugged.key_for_scope(r)) }
10
10
  scope :for_slug, lambda { |scope, slug| where(:scope=> scope.to_s, :slug => slug.to_s)}
11
11
 
@@ -48,4 +48,4 @@ module Slugged
48
48
  end
49
49
 
50
50
  end
51
- end
51
+ end
@@ -26,12 +26,12 @@ module Slugged
26
26
 
27
27
  module ClassMethods
28
28
 
29
- def find_using_slug_history(slug, options = {})
29
+ def find_using_slug_history(slug)
30
30
  id = Slugged.last_known_slug_id(self, slug)
31
- id.present? ? find_by_id(id, options) : nil
31
+ id.present? ? find_by_id(id) : nil
32
32
  end
33
33
 
34
34
  end
35
35
 
36
36
  end
37
- end
37
+ end
@@ -1,7 +1,7 @@
1
1
  module Slugged
2
2
  module Version
3
- MAJOR = 1
4
- MINOR = 1
3
+ MAJOR = 2
4
+ MINOR = 0
5
5
  PATCH = 0
6
6
  STRING = [MAJOR, MINOR, PATCH].join(".")
7
7
  end
@@ -19,13 +19,13 @@ Gem::Specification.new do |s|
19
19
  s.rdoc_options = ["--charset=UTF-8"]
20
20
  s.summary = %q{Super simple slugs for ActiveRecord 3.0 and higher, with support for slug history}
21
21
 
22
- s.add_runtime_dependency "activerecord", "~> 3.0"
23
- s.add_runtime_dependency "activesupport", "~> 3.0"
22
+ s.add_runtime_dependency "activerecord", ">= 3.0"
23
+ s.add_runtime_dependency "activesupport", ">= 3.0"
24
24
  s.add_runtime_dependency "uuid"
25
25
 
26
26
  s.add_development_dependency "shoulda"
27
27
  s.add_development_dependency "reversible_data"
28
- s.add_development_dependency "sqlite3-ruby"
28
+ s.add_development_dependency "sqlite3"
29
29
  s.add_development_dependency "redgreen"
30
30
  s.add_development_dependency "rake"
31
31
  s.add_development_dependency "rdoc"
@@ -1,4 +1,5 @@
1
- $KCODE = 'UTF8'
1
+ # encoding: utf-8
2
+ $KCODE = 'UTF8' if RUBY_VERSION < '1.9'
2
3
 
3
4
  require 'rubygems'
4
5
  require 'bundler'
@@ -27,13 +28,13 @@ class Test::Unit::TestCase
27
28
  User.is_sluggable field, options
28
29
  end
29
30
 
30
- def assert_same_as_slug(user, slug, options = {})
31
- found_user = User.find_using_slug(slug, options)
31
+ def assert_same_as_slug(user, slug)
32
+ found_user = User.find_using_slug(slug)
32
33
  assert_equal user, found_user, "#{slug.inspect} should return #{user.inspect}, got #{found_user.inspect}"
33
34
  end
34
35
 
35
- def assert_different_to_slug(user, slug, options = {})
36
- found_user = User.find_using_slug(slug, options)
36
+ def assert_different_to_slug(user, slug)
37
+ found_user = User.find_using_slug(slug)
37
38
  assert_not_equal user, found_user, "#{slug.inspect} should not return #{user.inspect}, got same record."
38
39
  end
39
40
 
metadata CHANGED
@@ -1,160 +1,150 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: slugged
3
- version: !ruby/object:Gem::Version
4
- hash: 19
5
- prerelease:
6
- segments:
7
- - 1
8
- - 1
9
- - 0
10
- version: 1.1.0
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.0.0
11
5
  platform: ruby
12
- authors:
6
+ authors:
13
7
  - Darcy Laycock
14
8
  autorequire:
15
9
  bindir: bin
16
10
  cert_chain: []
17
-
18
- date: 2011-01-01 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
11
+ date: 2011-01-01 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
21
14
  name: activerecord
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
24
- none: false
25
- requirements:
26
- - - ~>
27
- - !ruby/object:Gem::Version
28
- hash: 7
29
- segments:
30
- - 3
31
- - 0
32
- version: "3.0"
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '>='
18
+ - !ruby/object:Gem::Version
19
+ version: '3.0'
33
20
  type: :runtime
34
- version_requirements: *id001
35
- - !ruby/object:Gem::Dependency
36
- name: activesupport
37
21
  prerelease: false
38
- requirement: &id002 !ruby/object:Gem::Requirement
39
- none: false
40
- requirements:
41
- - - ~>
42
- - !ruby/object:Gem::Version
43
- hash: 7
44
- segments:
45
- - 3
46
- - 0
47
- version: "3.0"
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '3.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: activesupport
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '3.0'
48
34
  type: :runtime
49
- version_requirements: *id002
50
- - !ruby/object:Gem::Dependency
51
- name: uuid
52
35
  prerelease: false
53
- requirement: &id003 !ruby/object:Gem::Requirement
54
- none: false
55
- requirements:
56
- - - ">="
57
- - !ruby/object:Gem::Version
58
- hash: 3
59
- segments:
60
- - 0
61
- version: "0"
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '3.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: uuid
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
62
48
  type: :runtime
63
- version_requirements: *id003
64
- - !ruby/object:Gem::Dependency
65
- name: shoulda
66
49
  prerelease: false
67
- requirement: &id004 !ruby/object:Gem::Requirement
68
- none: false
69
- requirements:
70
- - - ">="
71
- - !ruby/object:Gem::Version
72
- hash: 3
73
- segments:
74
- - 0
75
- version: "0"
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: shoulda
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
76
62
  type: :development
77
- version_requirements: *id004
78
- - !ruby/object:Gem::Dependency
79
- name: reversible_data
80
63
  prerelease: false
81
- requirement: &id005 !ruby/object:Gem::Requirement
82
- none: false
83
- requirements:
84
- - - ">="
85
- - !ruby/object:Gem::Version
86
- hash: 3
87
- segments:
88
- - 0
89
- version: "0"
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '>='
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: reversible_data
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
90
76
  type: :development
91
- version_requirements: *id005
92
- - !ruby/object:Gem::Dependency
93
- name: sqlite3-ruby
94
77
  prerelease: false
95
- requirement: &id006 !ruby/object:Gem::Requirement
96
- none: false
97
- requirements:
98
- - - ">="
99
- - !ruby/object:Gem::Version
100
- hash: 3
101
- segments:
102
- - 0
103
- version: "0"
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '>='
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: sqlite3
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - '>='
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
104
90
  type: :development
105
- version_requirements: *id006
106
- - !ruby/object:Gem::Dependency
107
- name: redgreen
108
91
  prerelease: false
109
- requirement: &id007 !ruby/object:Gem::Requirement
110
- none: false
111
- requirements:
112
- - - ">="
113
- - !ruby/object:Gem::Version
114
- hash: 3
115
- segments:
116
- - 0
117
- version: "0"
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '>='
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: redgreen
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - '>='
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
118
104
  type: :development
119
- version_requirements: *id007
120
- - !ruby/object:Gem::Dependency
121
- name: rake
122
105
  prerelease: false
123
- requirement: &id008 !ruby/object:Gem::Requirement
124
- none: false
125
- requirements:
126
- - - ">="
127
- - !ruby/object:Gem::Version
128
- hash: 3
129
- segments:
130
- - 0
131
- version: "0"
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: rake
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
132
118
  type: :development
133
- version_requirements: *id008
134
- - !ruby/object:Gem::Dependency
135
- name: rdoc
136
119
  prerelease: false
137
- requirement: &id009 !ruby/object:Gem::Requirement
138
- none: false
139
- requirements:
140
- - - ">="
141
- - !ruby/object:Gem::Version
142
- hash: 3
143
- segments:
144
- - 0
145
- version: "0"
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - '>='
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: rdoc
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - '>='
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
146
132
  type: :development
147
- version_requirements: *id009
148
- description: Super simple slugs for ActiveRecord 3.0 and higher, with support for slug history
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - '>='
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ description: Super simple slugs for ActiveRecord 3.0 and higher, with support for
140
+ slug history
149
141
  email: sutto@sutto.net
150
142
  executables: []
151
-
152
143
  extensions: []
153
-
154
- extra_rdoc_files:
144
+ extra_rdoc_files:
155
145
  - LICENSE
156
146
  - README.md
157
- files:
147
+ files:
158
148
  - .document
159
149
  - .gitignore
160
150
  - .rvmrc
@@ -188,38 +178,30 @@ files:
188
178
  - test/slugged_test.rb
189
179
  homepage: http://github.com/Sutto/slugged
190
180
  licenses: []
191
-
181
+ metadata: {}
192
182
  post_install_message:
193
- rdoc_options:
183
+ rdoc_options:
194
184
  - --charset=UTF-8
195
- require_paths:
185
+ require_paths:
196
186
  - lib
197
- required_ruby_version: !ruby/object:Gem::Requirement
198
- none: false
199
- requirements:
200
- - - ">="
201
- - !ruby/object:Gem::Version
202
- hash: 3
203
- segments:
204
- - 0
205
- version: "0"
206
- required_rubygems_version: !ruby/object:Gem::Requirement
207
- none: false
208
- requirements:
209
- - - ">="
210
- - !ruby/object:Gem::Version
211
- hash: 3
212
- segments:
213
- - 0
214
- version: "0"
187
+ required_ruby_version: !ruby/object:Gem::Requirement
188
+ requirements:
189
+ - - '>='
190
+ - !ruby/object:Gem::Version
191
+ version: '0'
192
+ required_rubygems_version: !ruby/object:Gem::Requirement
193
+ requirements:
194
+ - - '>='
195
+ - !ruby/object:Gem::Version
196
+ version: '0'
215
197
  requirements: []
216
-
217
198
  rubyforge_project:
218
- rubygems_version: 1.8.21
199
+ rubygems_version: 2.0.3
219
200
  signing_key:
220
- specification_version: 3
221
- summary: Super simple slugs for ActiveRecord 3.0 and higher, with support for slug history
222
- test_files:
201
+ specification_version: 4
202
+ summary: Super simple slugs for ActiveRecord 3.0 and higher, with support for slug
203
+ history
204
+ test_files:
223
205
  - test/caching_test.rb
224
206
  - test/editable_test.rb
225
207
  - test/helper.rb