godfat-dm-mapping 0.6.1 → 0.6.2
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 +4 -0
- data/README +2 -2
- data/dm-mapping.gemspec +2 -2
- data/lib/dm-mapping/adapters/abstract_adapter.rb +2 -0
- data/lib/dm-mapping/adapters/mysql_adapter.rb +11 -10
- data/lib/dm-mapping/adapters/sqlite3_adapter.rb +0 -1
- data/lib/dm-mapping/type_map.rb +3 -1
- data/lib/dm-mapping/version.rb +1 -1
- data/test/test_dm-mapping.rb +6 -3
- metadata +2 -2
data/CHANGES
CHANGED
data/README
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
= dm-mapping 0.6.
|
1
|
+
= dm-mapping 0.6.2
|
2
2
|
by Lin Jen-Shin (a.k.a. godfat-真常[http://godfat.org])
|
3
3
|
godfat (XD) godfat.org
|
4
4
|
|
@@ -94,7 +94,7 @@ by Lin Jen-Shin (a.k.a. godfat-真常[http://godfat.org])
|
|
94
94
|
|
95
95
|
== REQUIREMENTS:
|
96
96
|
|
97
|
-
* dm-core 0.9.3
|
97
|
+
* dm-core 0.9.3 or later
|
98
98
|
* at least one do_* adapter (currently supports sqlite3 and mysql)
|
99
99
|
|
100
100
|
== INSTALL:
|
data/dm-mapping.gemspec
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
|
2
2
|
Gem::Specification.new do |s|
|
3
3
|
s.name = %q{dm-mapping}
|
4
|
-
s.version = "0.6.
|
4
|
+
s.version = "0.6.2"
|
5
5
|
|
6
6
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
7
7
|
s.authors = ["Lin Jen-Shin (a.k.a. godfat \347\234\237\345\270\270)"]
|
8
|
-
s.date = %q{2008-08-
|
8
|
+
s.date = %q{2008-08-30}
|
9
9
|
s.description = %q{DataMapper plugin that helps you manipulate an existing database. It creates mappings between existing columns and model's properties.}
|
10
10
|
s.email = %q{godfat (XD) godfat.org}
|
11
11
|
s.extra_rdoc_files = ["CHANGES", "LICENSE", "NOTICE", "README", "TODO", "dm-mapping.gemspec"]
|
@@ -1,6 +1,5 @@
|
|
1
1
|
|
2
2
|
require 'dm-mapping/adapters/abstract_adapter'
|
3
|
-
require 'dm-mapping/type_map'
|
4
3
|
|
5
4
|
module DataMapper
|
6
5
|
module Adapters
|
@@ -43,15 +42,17 @@ module DataMapper
|
|
43
42
|
end
|
44
43
|
|
45
44
|
def dmm_lookup_primitive primitive
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
45
|
+
p = primitive.upcase
|
46
|
+
|
47
|
+
return Integer if p == 'YEAR'
|
48
|
+
return Integer if p =~ /\w*INT(EGER)?( SIGNED| UNSIGNED)?( ZEROFILL)?/
|
49
|
+
return BigDecimal if p =~ /(DOUBLE|FLOAT|DECIMAL)( SIGNED| UNSIGNED)?( ZEROFILL)?/
|
50
|
+
return String if p =~ /\w*BLOB|\w*BINARY|ENUM|SET|CHAR/
|
51
|
+
return DM::Text if p =~ /\w*TEXT/
|
52
|
+
return TrueClass if %w[BOOL BOOLEAN].member?(p)
|
53
|
+
return Time if p == 'TIME'
|
54
|
+
|
55
|
+
super(primitive)
|
55
56
|
end
|
56
57
|
end
|
57
58
|
end
|
data/lib/dm-mapping/type_map.rb
CHANGED
@@ -13,7 +13,9 @@ module DataMapper
|
|
13
13
|
[Integer, Float, BigDecimal,
|
14
14
|
String, TrueClass, FalseClass,
|
15
15
|
DateTime, Date, Time,
|
16
|
-
DM::Text, DM::Boolean].member?(type)
|
16
|
+
DM::Text, DM::Boolean].member?(type) &&
|
17
|
+
# TINYINT size 1 shouldn't map to TrueClass
|
18
|
+
chain.attributes[:size] != 1
|
17
19
|
} or lookup_primitive(primitive, type_map.parent)
|
18
20
|
end
|
19
21
|
end
|
data/lib/dm-mapping/version.rb
CHANGED
data/test/test_dm-mapping.rb
CHANGED
@@ -2,9 +2,12 @@
|
|
2
2
|
require 'test/unit'
|
3
3
|
require 'test/abstract'
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
require
|
5
|
+
%w[sqlite3 mysql postgres].each{ |adapter|
|
6
|
+
begin
|
7
|
+
require "dm-core/adapters/#{adapter}_adapter"
|
8
|
+
rescue LoadError
|
9
|
+
end
|
10
|
+
}
|
8
11
|
|
9
12
|
class Sqlite3Test < Test::Unit::TestCase
|
10
13
|
include Abstract
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: godfat-dm-mapping
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- "Lin Jen-Shin (a.k.a. godfat \xE7\x9C\x9F\xE5\xB8\xB8)"
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2008-08-
|
12
|
+
date: 2008-08-30 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|