dm-is-reflective 1.0.0 → 1.0.1.rc
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/CHANGES +5 -0
- data/dm-is-reflective.gemspec +3 -3
- data/lib/dm-is-reflective/is/adapters/mysql_adapter.rb +1 -1
- data/lib/dm-is-reflective/is/adapters/postgres_adapter.rb +1 -1
- data/lib/dm-is-reflective/is/adapters/sqlite_adapter.rb +1 -1
- data/lib/dm-is-reflective/is/version.rb +1 -1
- data/lib/dm-is-reflective/version.rb +1 -1
- data/test/abstract.rb +10 -5
- metadata +17 -17
data/CHANGES
CHANGED
@@ -1,5 +1,10 @@
|
|
1
1
|
= dm-is-reflective changes history
|
2
2
|
|
3
|
+
=== dm-is-reflective 1.0.1, ?
|
4
|
+
* allow_nil is more close to db's semantics, not required. Thanks miaout17.
|
5
|
+
`:allow_nil` allows empty value, but `:required` does not. So here we
|
6
|
+
always use `:allow_nil` to match db's semantics.
|
7
|
+
|
3
8
|
=== dm-is-reflective 1.0.0, 2011-06-16
|
4
9
|
* updated against dm-core 1.1.0
|
5
10
|
|
data/dm-is-reflective.gemspec
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{dm-is-reflective}
|
5
|
-
s.version = "1.0.
|
5
|
+
s.version = "1.0.1.rc"
|
6
6
|
|
7
|
-
s.required_rubygems_version = Gem::Requirement.new("
|
7
|
+
s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = [%q{Lin Jen-Shin (godfat)}]
|
9
|
-
s.date = %q{2011-
|
9
|
+
s.date = %q{2011-07-19}
|
10
10
|
s.description = %q{DataMapper plugin that helps you manipulate an existing database. It creates mappings between existing columns and model's properties.}
|
11
11
|
s.email = [%q{godfat (XD) godfat.org}]
|
12
12
|
s.extra_rdoc_files = [
|
@@ -34,7 +34,7 @@ module DataMapper
|
|
34
34
|
attrs[:serial] = true if field.extra == 'auto_increment'
|
35
35
|
attrs[:key] = true if field.column_key == 'PRI'
|
36
36
|
|
37
|
-
attrs[:
|
37
|
+
attrs[:allow_nil] = field.is_nullable == 'YES'
|
38
38
|
attrs[:default] = field.column_default if
|
39
39
|
field.column_default
|
40
40
|
|
@@ -53,7 +53,7 @@ module DataMapper
|
|
53
53
|
|
54
54
|
attrs[:serial] = true if field.column_default =~ /nextval\('\w+'\)/
|
55
55
|
attrs[:key] = true if field.key?
|
56
|
-
attrs[:
|
56
|
+
attrs[:allow_nil] = field.is_nullable == 'YES'
|
57
57
|
# strip string quotation
|
58
58
|
attrs[:default] = field.column_default.gsub(/^'(.*?)'$/, '\1') if
|
59
59
|
field.column_default && !attrs[:serial]
|
@@ -32,7 +32,7 @@ module DataMapper
|
|
32
32
|
attrs[:key] = true
|
33
33
|
attrs[:serial] = true if supports_serial?
|
34
34
|
end
|
35
|
-
attrs[:
|
35
|
+
attrs[:allow_nil] = field.notnull == 0
|
36
36
|
attrs[:default] = field.dflt_value[1..-2] if field.dflt_value
|
37
37
|
|
38
38
|
if field.type.upcase == 'TEXT'
|
data/test/abstract.rb
CHANGED
@@ -8,8 +8,8 @@ module Abstract
|
|
8
8
|
raise 'please provide a clean database because it is a destructive test!!'
|
9
9
|
end
|
10
10
|
|
11
|
-
AttrCommon = {:
|
12
|
-
AttrCommonPK = {:serial => true, :key => true, :
|
11
|
+
AttrCommon = {:allow_nil => true}
|
12
|
+
AttrCommonPK = {:serial => true, :key => true, :allow_nil => false}
|
13
13
|
AttrText = {:length => 65535}.merge(AttrCommon)
|
14
14
|
|
15
15
|
def user_fields
|
@@ -22,8 +22,8 @@ module Abstract
|
|
22
22
|
def comment_fields
|
23
23
|
[[:body, DataMapper::Property::Text, AttrText],
|
24
24
|
[:id, DataMapper::Property::Serial, AttrCommonPK],
|
25
|
-
[:title, String, {:length => 50, :default => 'default title'
|
26
|
-
|
25
|
+
[:title, String, {:length => 50, :default => 'default title',
|
26
|
+
:allow_nil => false}],
|
27
27
|
[:user_id, Integer, AttrCommon]]
|
28
28
|
end
|
29
29
|
|
@@ -67,7 +67,8 @@ module Abstract
|
|
67
67
|
belongs_to :user, :required => false
|
68
68
|
|
69
69
|
property :id, Serial
|
70
|
-
property :title, String, :length => 50, :default => 'default title'
|
70
|
+
property :title, String, :length => 50, :default => 'default title',
|
71
|
+
:allow_nil => false
|
71
72
|
property :body, Text
|
72
73
|
|
73
74
|
is :reflective
|
@@ -196,6 +197,10 @@ module Abstract
|
|
196
197
|
}
|
197
198
|
end
|
198
199
|
|
200
|
+
def test_allow_empty_string
|
201
|
+
assert Comment.new(:title => '').save
|
202
|
+
end
|
203
|
+
|
199
204
|
def test_auto_genclasses
|
200
205
|
scope = new_scope
|
201
206
|
assert_equal ["#{scope == Object ? '' : "#{scope}::"}AbstractComment",
|
metadata
CHANGED
@@ -1,19 +1,19 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dm-is-reflective
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
5
|
-
prerelease:
|
4
|
+
version: 1.0.1.rc
|
5
|
+
prerelease: 6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Lin Jen-Shin (godfat)
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-
|
12
|
+
date: 2011-07-19 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: dm-core
|
16
|
-
requirement: &
|
16
|
+
requirement: &2152609200 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *2152609200
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: dm-do-adapter
|
27
|
-
requirement: &
|
27
|
+
requirement: &2152608560 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *2152608560
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: dm-migrations
|
38
|
-
requirement: &
|
38
|
+
requirement: &2152607860 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *2152607860
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: dm-sqlite-adapter
|
49
|
-
requirement: &
|
49
|
+
requirement: &2152607200 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *2152607200
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: dm-mysql-adapter
|
60
|
-
requirement: &
|
60
|
+
requirement: &2152606480 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *2152606480
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: dm-postgres-adapter
|
71
|
-
requirement: &
|
71
|
+
requirement: &2152605820 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,7 +76,7 @@ dependencies:
|
|
76
76
|
version: '0'
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *2152605820
|
80
80
|
description: DataMapper plugin that helps you manipulate an existing database. It
|
81
81
|
creates mappings between existing columns and model's properties.
|
82
82
|
email:
|
@@ -130,9 +130,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
130
130
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
131
131
|
none: false
|
132
132
|
requirements:
|
133
|
-
- - ! '
|
133
|
+
- - ! '>'
|
134
134
|
- !ruby/object:Gem::Version
|
135
|
-
version:
|
135
|
+
version: 1.3.1
|
136
136
|
requirements: []
|
137
137
|
rubyforge_project:
|
138
138
|
rubygems_version: 1.8.5
|