uniqueable 0.0.2 → 0.0.3

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/.travis.yml ADDED
@@ -0,0 +1,5 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.8.7
4
+ - 1.9.2
5
+ - 1.9.3
data/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # Uniqueable
2
2
 
3
+ [![Build Status](https://secure.travis-ci.org/Gazler/githug.png?branch=master)](http://travis-ci.org/Gazler/githug)
4
+
3
5
  Uniqueable allows the checking of cross-model and cross-attribute uniqueness check. For example, if you have users and organisations, both of which have a name that is used in the url, then you will want to check uniqueness across both of the models.
4
6
 
5
7
  ## Installation
@@ -14,7 +14,8 @@ module Uniqueable
14
14
  if options[:case_sensitive]
15
15
  result = klass.where(key => value)
16
16
  else
17
- result = klass.find(:all, :conditions => ["lower(#{key}) = ?", value.downcase])
17
+ value = value.downcase if value.kind_of?(String)
18
+ result = klass.find(:all, :conditions => ["lower(#{key}) = ?", value])
18
19
  end
19
20
 
20
21
  unless result.empty?
@@ -1,3 +1,3 @@
1
1
  module Uniqueable
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -72,6 +72,11 @@ describe Uniqueable::UniqueableValidator do
72
72
  user2.should_not be_valid
73
73
  end
74
74
 
75
+ it "should not raise an exception when a value is nil" do
76
+ lambda { User.create(:name => nil, :username => nil) }.should_not raise_error
77
+
78
+ end
79
+
75
80
  it "should not affect an organisation with a unique alias" do
76
81
  organisation = Organisation.create(:name => "Organisation", :alias => "org")
77
82
  organisation.should be_valid
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.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -100,6 +100,7 @@ extra_rdoc_files: []
100
100
  files:
101
101
  - .gitignore
102
102
  - .rspec
103
+ - .travis.yml
103
104
  - Gemfile
104
105
  - LICENSE
105
106
  - README.md
@@ -126,7 +127,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
126
127
  version: '0'
127
128
  segments:
128
129
  - 0
129
- hash: 1837060293483589432
130
+ hash: -753480171143598750
130
131
  required_rubygems_version: !ruby/object:Gem::Requirement
131
132
  none: false
132
133
  requirements:
@@ -135,7 +136,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
135
136
  version: '0'
136
137
  segments:
137
138
  - 0
138
- hash: 1837060293483589432
139
+ hash: -753480171143598750
139
140
  requirements: []
140
141
  rubyforge_project:
141
142
  rubygems_version: 1.8.24