uniqueable 0.0.4 → 0.0.5

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.
@@ -17,10 +17,10 @@ module Uniqueable
17
17
  key = key.keys.first
18
18
  end
19
19
  if options[:case_sensitive]
20
- result = klass.where(["#{key} = ?", value]).where(conditions).all
20
+ result = klass.unscoped.where(["#{key} = ?", value]).where(conditions).all
21
21
  else
22
22
  value = value.downcase if value.kind_of?(String)
23
- result = klass.where(["lower(#{key}) = ?", value]).where(conditions).all
23
+ result = klass.unscoped.where(["lower(#{key}) = ?", value]).where(conditions).all
24
24
  end
25
25
 
26
26
  unless result.empty?
@@ -1,3 +1,3 @@
1
1
  module Uniqueable
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
@@ -194,5 +194,32 @@ describe Uniqueable::UniqueableValidator do
194
194
  user.should_not be_valid
195
195
  end
196
196
  end
197
+
198
+ context "default_scope should not affect the outcome" do
199
+ before(:each) do
200
+ Uniqueable.instance_variable_set(:@uniqueable_checks, nil)
201
+ class User < ActiveRecord::Base
202
+ include Uniqueable
203
+ uniqueable :username
204
+ validates :username, :uniqueable => {:case_sensitive => false}
205
+ end
206
+
207
+ class Organisation < ActiveRecord::Base
208
+ default_scope where(:public => true)
209
+ include Uniqueable
210
+ uniqueable :alias
211
+ validates :alias, :uniqueable => {:case_sensitive => false}
212
+ end
213
+ User.delete_all
214
+ Organisation.delete_all
215
+ end
216
+
217
+ it "should validate even when an organisation is not public" do
218
+ organisation = Organisation.create(:name => "Gazler", :alias => "Gazler", :public => false)
219
+ organisation.should be_valid
220
+ user = User.create(:name => "Gazler", :username => "Gazler")
221
+ user.should_not be_valid
222
+ end
223
+ end
197
224
 
198
225
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: uniqueable
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -127,7 +127,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
127
127
  version: '0'
128
128
  segments:
129
129
  - 0
130
- hash: -2039842943075345764
130
+ hash: -2704558754954571647
131
131
  required_rubygems_version: !ruby/object:Gem::Requirement
132
132
  none: false
133
133
  requirements:
@@ -136,7 +136,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
136
136
  version: '0'
137
137
  segments:
138
138
  - 0
139
- hash: -2039842943075345764
139
+ hash: -2704558754954571647
140
140
  requirements: []
141
141
  rubyforge_project:
142
142
  rubygems_version: 1.8.24