dm-is-reflective 1.0.0 → 1.0.1.rc

Sign up to get free protection for your applications and to get access to all the features.
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
 
@@ -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.0"
5
+ s.version = "1.0.1.rc"
6
6
 
7
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
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-06-16}
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[:required] = field.is_nullable != 'YES'
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[:required] = field.is_nullable != 'YES'
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[:required] = field.notnull == 1
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'
@@ -2,7 +2,7 @@
2
2
  module DataMapper
3
3
  module Is
4
4
  module Reflective
5
- VERSION = '0.9.0'
5
+ VERSION = '1.0.1.rc'
6
6
  end
7
7
  end
8
8
  end
@@ -2,7 +2,7 @@
2
2
  module DataMapper
3
3
  module Is
4
4
  module Reflective
5
- VERSION = '1.0.0'
5
+ VERSION = '1.0.1.rc'
6
6
  end
7
7
  end
8
8
  end
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 = {:required => false}
12
- AttrCommonPK = {:serial => true, :key => true, :required => 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
- merge(AttrCommon)],
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.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-06-16 00:00:00.000000000Z
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: &2160101400 !ruby/object:Gem::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: *2160101400
24
+ version_requirements: *2152609200
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: dm-do-adapter
27
- requirement: &2160100780 !ruby/object:Gem::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: *2160100780
35
+ version_requirements: *2152608560
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: dm-migrations
38
- requirement: &2160100040 !ruby/object:Gem::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: *2160100040
46
+ version_requirements: *2152607860
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: dm-sqlite-adapter
49
- requirement: &2160075900 !ruby/object:Gem::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: *2160075900
57
+ version_requirements: *2152607200
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: dm-mysql-adapter
60
- requirement: &2160075200 !ruby/object:Gem::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: *2160075200
68
+ version_requirements: *2152606480
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: dm-postgres-adapter
71
- requirement: &2160074520 !ruby/object:Gem::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: *2160074520
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: '0'
135
+ version: 1.3.1
136
136
  requirements: []
137
137
  rubyforge_project:
138
138
  rubygems_version: 1.8.5