couchrest-uniqueness-validation 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.0
1
+ 0.2.1
@@ -24,7 +24,7 @@ module CouchRest
24
24
 
25
25
  def unique?(target)
26
26
  value = target.validation_property_value(@field_name)
27
- value.downcase! if @options[:downcase] && !value.blank?
27
+ value = value.downcase if @options[:downcase] && !value.blank?
28
28
  existing_docs = target.class.view(@options[:view].to_sym, :key => value, :limit => 1, :include_docs => false)['rows']
29
29
 
30
30
  # normal case when target.new_document? == true and
@@ -92,11 +92,19 @@ describe CouchRest::Validation::UniquenessValidator do
92
92
  @some_doc.should be_valid
93
93
  end
94
94
 
95
- it "works for nil values" do
95
+ it "should work for nil values" do
96
96
  @some_doc.another_prop = nil
97
97
  YetAnotherUniqueDoc.should_receive(:view).
98
98
  with(:by_another_prop, hash_including(:key => nil, :limit => 1, :include_docs => false))
99
99
  lambda{@some_doc.valid?}.should_not raise_error
100
100
  end
101
+
102
+ it "should not have a side effect of the field being left downcased afterwards" do
103
+ YetAnotherUniqueDoc.should_receive(:view).
104
+ with(:by_another_prop, hash_including(:key => @some_doc.another_prop.downcase, :limit => 1, :include_docs => false))
105
+ @some_doc.should be_valid
106
+ @some_doc.another_prop.should == 'Some Property Value'
107
+ @some_doc.another_prop.should_not == 'some property value'
108
+ end
101
109
  end
102
110
  end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 2
8
- - 0
9
- version: 0.2.0
8
+ - 1
9
+ version: 0.2.1
10
10
  platform: ruby
11
11
  authors:
12
12
  - alex