voraz-dr_nic_magic_models 0.9.2 → 0.9.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/Manifest.txt +0 -2
- data/README.rdoc +11 -0
- data/lib/dr_nic_magic_models/validations.rb +31 -18
- metadata +3 -4
- data/README +0 -0
- data/test/fixtures/.DS_Store +0 -0
data/Manifest.txt
CHANGED
|
@@ -19,14 +19,12 @@ lib/module.rb
|
|
|
19
19
|
lib/rails.rb
|
|
20
20
|
scripts/txt2html
|
|
21
21
|
scripts/txt2js
|
|
22
|
-
test.db
|
|
23
22
|
test/abstract_unit.rb
|
|
24
23
|
test/connections/native_mysql/connection.rb
|
|
25
24
|
test/connections/native_postgresql/connection.rb
|
|
26
25
|
test/connections/native_sqlite/connection.rb
|
|
27
26
|
test/dummy_test.rb
|
|
28
27
|
test/env_test.rb
|
|
29
|
-
test/fixtures/.DS_Store
|
|
30
28
|
test/fixtures/adjectives.yml
|
|
31
29
|
test/fixtures/adjectives_fun_users.yml
|
|
32
30
|
test/fixtures/db_definitions/mysql.drop.sql
|
data/README.rdoc
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
= Magic Models
|
|
2
|
+
-Added the validates_associated (it´s fixed a object_daddy crash)
|
|
3
|
+
-fixed this bug: http://groups.google.com/group/magicmodels/browse_thread/thread/14e1d1fb2d
|
|
4
|
+
abfdf0
|
|
5
|
+
|
|
6
|
+
== Install
|
|
7
|
+
gem sources -a http://gems.github.com
|
|
8
|
+
gem install voraz-dr_nic_magic_models
|
|
9
|
+
|
|
10
|
+
== Readme
|
|
11
|
+
See http://magicmodels.rubyforge.org/dr_nic_magic_models for pretty README
|
|
@@ -14,27 +14,40 @@ module DrNicMagicModels
|
|
|
14
14
|
# NOT NULL constraints
|
|
15
15
|
self.columns.reject { |column| column.name =~ /(?i)^(((created|updated)_(at|on))|position|type|id)$/ }.each do |column|
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
end
|
|
17
|
+
inheritable = false
|
|
18
|
+
self.inheritable_attributes[:reflections].each_value{ |t|
|
|
19
|
+
if "#{t.name}_id" == column.name
|
|
20
|
+
inheritable = true
|
|
21
|
+
logger.debug "validates_associated #{t.name}"
|
|
22
|
+
self.validates_associated t.name, :allow_nil=>column.null, :allow_blank=>column.null
|
|
23
|
+
break
|
|
24
|
+
end
|
|
25
|
+
}rescue 0
|
|
27
26
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
27
|
+
if !inheritable
|
|
28
|
+
if column.type == :integer
|
|
29
|
+
logger.debug "validates_numericality_of #{column.name}, :allow_nil => #{column.null.inspect}, :only_integer => true"
|
|
30
|
+
self.validates_numericality_of column.name, :allow_nil => column.null, :only_integer => true
|
|
31
|
+
elsif column.number?
|
|
32
|
+
logger.debug "validates_numericality_of #{column.name}, :allow_nil => #{column.null.inspect}"
|
|
33
|
+
self.validates_numericality_of column.name, :allow_nil => column.null
|
|
34
|
+
elsif column.text? && column.limit
|
|
35
|
+
logger.debug "validates_length_of #{column.name}, :allow_nil => #{column.null.inspect}, :maximum => #{column.limit}"
|
|
36
|
+
self.validates_length_of column.name, :allow_nil => column.null, :maximum => column.limit
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
# Active record seems to interpolate booleans anyway to either true, false or nil...
|
|
40
|
+
if column.type == :boolean
|
|
41
|
+
logger.debug "validates_inclusion_of #{column.name}, :in => [true, false], :allow_nil => #{column.null}, :message => ActiveRecord::Errors.default_error_messages[:blank]"
|
|
42
|
+
self.validates_inclusion_of column.name, :in => [true, false], :allow_nil => column.null, :message => ActiveRecord::Errors.default_error_messages[:blank]
|
|
43
|
+
elsif !column.null
|
|
44
|
+
#test if the column have a belongs_to association
|
|
45
|
+
logger.debug "validates_presence_of #{column.name}"
|
|
46
|
+
self.validates_presence_of column.name
|
|
47
|
+
end
|
|
35
48
|
end
|
|
36
49
|
end
|
|
37
|
-
|
|
50
|
+
|
|
38
51
|
# Single-column UNIQUE indexes
|
|
39
52
|
get_unique_index_columns.each do |col|
|
|
40
53
|
logger.debug "validates_uniqueness_of #{col}"
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: voraz-dr_nic_magic_models
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.9.
|
|
4
|
+
version: 0.9.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- nicwilliams
|
|
@@ -38,7 +38,7 @@ files:
|
|
|
38
38
|
- CHANGELOG
|
|
39
39
|
- History.txt
|
|
40
40
|
- Manifest.txt
|
|
41
|
-
- README
|
|
41
|
+
- README.rdoc
|
|
42
42
|
- Rakefile
|
|
43
43
|
- install.rb
|
|
44
44
|
- lib/base.rb
|
|
@@ -63,7 +63,6 @@ files:
|
|
|
63
63
|
- test/connections/native_sqlite/connection.rb
|
|
64
64
|
- test/dummy_test.rb
|
|
65
65
|
- test/env_test.rb
|
|
66
|
-
- test/fixtures/.DS_Store
|
|
67
66
|
- test/fixtures/adjectives.yml
|
|
68
67
|
- test/fixtures/adjectives_fun_users.yml
|
|
69
68
|
- test/fixtures/db_definitions/mysql.drop.sql
|
|
@@ -97,7 +96,7 @@ licenses:
|
|
|
97
96
|
post_install_message:
|
|
98
97
|
rdoc_options:
|
|
99
98
|
- --main
|
|
100
|
-
- README.
|
|
99
|
+
- README.rdoc
|
|
101
100
|
require_paths:
|
|
102
101
|
- lib
|
|
103
102
|
required_ruby_version: !ruby/object:Gem::Requirement
|
data/README
DELETED
|
File without changes
|
data/test/fixtures/.DS_Store
DELETED
|
File without changes
|