rails-schema-validations 0.9 → 0.9.2

Sign up to get free protection for your applications and to get access to all the features.
data/README CHANGED
@@ -9,12 +9,13 @@ validations_from_schema
9
9
  Generated Validations
10
10
  =====================
11
11
 
12
- | schema type | rails validation | extra |
12
+ | schema type | rails validation | extra constraints |
13
13
  |-------------|---------------------------|---------------------------|
14
14
  | non-null | validates_presence_of | |
15
- | string | validates_length_of | :limit |
15
+ | string | validates_length_of | :maximum |
16
16
  | integer | validates_numericality_of | :only_integer, :less_than |
17
17
  | float | validates_numericality_of | |
18
+ | boolean | validates_inclusion_of | |
18
19
 
19
20
  for boolean non-null it uses validates_inclusion_of :in => [true,false]
20
21
 
@@ -24,5 +25,5 @@ To exclude a column use the `:except => ['excluded']` option.
24
25
 
25
26
  Warning
26
27
  =======
27
- Tested on MySQL.
28
+ Tested on MySQL. Rails 2.3 and Rails 3
28
29
  Assume it doesn't work on your database unless you modify the test suite to run against your db and all tests pass
@@ -17,7 +17,7 @@ module ActiveRecord::Validations::ClassMethods
17
17
  validates_numericality_of col.name, :allow_nil => col.null
18
18
  #when :time, :datetime
19
19
  when :string
20
- if col.limit
20
+ if col.limit.to_i > 0 # Mysql enum type shows up as a string with a limit of 0
21
21
  validates_length_of col.name, :maximum => col.limit, :allow_nil => col.null
22
22
  end
23
23
  when :boolean
data/test/test_helper.rb CHANGED
@@ -1,6 +1,5 @@
1
1
  ENV['RAILS_ENV'] = 'test'
2
2
 
3
- #require 'rubygems'
4
3
  require 'active_record'
5
4
  require 'riot'
6
5
  require 'riot/rails'
@@ -21,6 +21,9 @@ def load_schema
21
21
 
22
22
  t.integer :indexed_id, :null => false
23
23
  t.integer :unique_id, :null => false
24
+
25
+ # very edge case of MySQL enum column
26
+ t.string "enum", :limit => 0, :null => false
24
27
  end
25
28
 
26
29
  add_index 'models', ['indexed_id']
@@ -86,4 +89,7 @@ context Model do
86
89
 
87
90
  # ignore
88
91
  asserts_no_error_on :id, nil
92
+
93
+ asserts_no_error_on :enum, 'enum'
94
+ asserts_error_on :enum, nil
89
95
  end
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails-schema-validations
3
3
  version: !ruby/object:Gem::Version
4
- hash: 25
4
+ hash: 63
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 9
9
- version: "0.9"
9
+ - 2
10
+ version: 0.9.2
10
11
  platform: ruby
11
12
  authors:
12
13
  - Greg Weber
@@ -14,7 +15,7 @@ autorequire:
14
15
  bindir: bin
15
16
  cert_chain: []
16
17
 
17
- date: 2010-10-25 00:00:00 -07:00
18
+ date: 2010-11-28 00:00:00 -08:00
18
19
  default_executable:
19
20
  dependencies: []
20
21