kwatable 0.1.0 → 0.2.0

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.
Files changed (41) hide show
  1. data/ChangeLog.txt +15 -3
  2. data/README.txt +1 -1
  3. data/bin/kwatable +3 -9
  4. data/examples/ex1/Makefile +18 -26
  5. data/examples/ex1/example1.yaml +9 -6
  6. data/examples/ex2/Makefile +15 -24
  7. data/kwatable.gemspec +2 -2
  8. data/lib/kwatable.rb +1 -1
  9. data/lib/kwatable/error-msg.rb +1 -1
  10. data/lib/kwatable/kwatable.schema.yaml +12 -2
  11. data/lib/kwatable/main-program.rb +18 -7
  12. data/lib/kwatable/manipulator.rb +3 -3
  13. data/lib/kwatable/templates/ddl-mysql.eruby +1 -1
  14. data/lib/kwatable/templates/ddl-postgresql.eruby +3 -3
  15. data/lib/kwatable/templates/defaults.yaml +1 -1
  16. data/lib/kwatable/templates/dto-java.eruby +75 -9
  17. data/lib/kwatable/templates/dto-ruby.eruby +27 -15
  18. data/lib/kwatable/templates/validator-ruby.eruby +97 -0
  19. data/test/assert-diff.rb +1 -1
  20. data/test/test.rb +80 -151
  21. metadata +4 -25
  22. data/test/test1/test1.ddl-mysql.expected +0 -23
  23. data/test/test1/test1.ddl-postgresql.expected +0 -23
  24. data/test/test1/test1.dto-java.Group.expected +0 -35
  25. data/test/test1/test1.dto-java.User.expected +0 -57
  26. data/test/test1/test1.dto-ruby.Group.expected +0 -20
  27. data/test/test1/test1.dto-ruby.User.expected +0 -33
  28. data/test/test1/test1.yaml +0 -96
  29. data/test/test2/test2.ddl-mysql.expected +0 -49
  30. data/test/test2/test2.ddl-postgresql.expected +0 -49
  31. data/test/test2/test2.dto-java.Address.expected +0 -40
  32. data/test/test2/test2.dto-java.Customer.expected +0 -47
  33. data/test/test2/test2.dto-java.Item.expected +0 -35
  34. data/test/test2/test2.dto-java.SalesOrder.expected +0 -48
  35. data/test/test2/test2.dto-java.SalesOrderLine.expected +0 -54
  36. data/test/test2/test2.dto-ruby.Address.expected +0 -22
  37. data/test/test2/test2.dto-ruby.Customer.expected +0 -29
  38. data/test/test2/test2.dto-ruby.Item.expected +0 -20
  39. data/test/test2/test2.dto-ruby.SalesOrder.expected +0 -29
  40. data/test/test2/test2.dto-ruby.SalesOrderLine.expected +0 -36
  41. data/test/test2/test2.yaml +0 -94
metadata CHANGED
@@ -1,10 +1,10 @@
1
- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  rubygems_version: 0.8.11
3
3
  specification_version: 1
4
4
  name: kwatable
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.1.0
7
- date: 2005-10-14 00:00:00 +09:00
6
+ version: 0.2.0
7
+ date: 2006-03-06 00:00:00 +09:00
8
8
  summary: SQL and DTO generator from table definition
9
9
  require_paths:
10
10
  - lib
@@ -40,6 +40,7 @@ files:
40
40
  - lib/kwatable/templates/defaults.yaml
41
41
  - lib/kwatable/templates/dto-java.eruby
42
42
  - lib/kwatable/templates/dto-ruby.eruby
43
+ - lib/kwatable/templates/validator-ruby.eruby
43
44
  - bin/kwatable
44
45
  - examples/ex1
45
46
  - examples/ex2
@@ -49,28 +50,6 @@ files:
49
50
  - examples/ex2/Makefile
50
51
  - test/assert-diff.rb
51
52
  - test/test.rb
52
- - test/test1
53
- - test/test2
54
- - test/test1/test1.ddl-mysql.expected
55
- - test/test1/test1.ddl-postgresql.expected
56
- - test/test1/test1.dto-java.Group.expected
57
- - test/test1/test1.dto-java.User.expected
58
- - test/test1/test1.dto-ruby.Group.expected
59
- - test/test1/test1.dto-ruby.User.expected
60
- - test/test1/test1.yaml
61
- - test/test2/test2.ddl-mysql.expected
62
- - test/test2/test2.ddl-postgresql.expected
63
- - test/test2/test2.dto-java.Address.expected
64
- - test/test2/test2.dto-java.Customer.expected
65
- - test/test2/test2.dto-java.Item.expected
66
- - test/test2/test2.dto-java.SalesOrder.expected
67
- - test/test2/test2.dto-java.SalesOrderLine.expected
68
- - test/test2/test2.dto-ruby.Address.expected
69
- - test/test2/test2.dto-ruby.Customer.expected
70
- - test/test2/test2.dto-ruby.Item.expected
71
- - test/test2/test2.dto-ruby.SalesOrder.expected
72
- - test/test2/test2.dto-ruby.SalesOrderLine.expected
73
- - test/test2/test2.yaml
74
53
  - README.txt
75
54
  - ChangeLog.txt
76
55
  - COPYING
@@ -1,23 +0,0 @@
1
- ----------------------------------------------------------------------
2
- -- DDL for MySQL
3
- -- generated by kwatable with template 'ddl-mysql.eruby'
4
- ----------------------------------------------------------------------
5
-
6
- -- Group master table
7
- create table groups (
8
- id integer auto_increment primary key,
9
- name varchar(63) not null,
10
- `desc` varchar(255) ,
11
- class enum('ADMIN', 'SYSTEM', 'USER', 'UNUSED')
12
- );
13
-
14
- -- User master table
15
- create table users (
16
- id integer auto_increment primary key,
17
- name varchar(63) not null,
18
- `desc` varchar(255) ,
19
- email varchar(63) ,
20
- group_id integer , -- references groups(id)
21
- account varchar(31) not null,
22
- password varchar(31) not null
23
- );
@@ -1,23 +0,0 @@
1
- ----------------------------------------------------------------------
2
- -- DDL for PostgreSQL
3
- -- generated by kwatable with template 'ddl-postgresql.eruby'
4
- ----------------------------------------------------------------------
5
-
6
- -- Group master table
7
- create table groups (
8
- id serial primary key,
9
- name varchar(63) not null,
10
- "desc" varchar(255) ,
11
- class varchar(6) -- ADMIN,SYSTEM,USER,UNUSED
12
- );
13
-
14
- -- User master table
15
- create table users (
16
- id serial primary key,
17
- name varchar(63) not null,
18
- "desc" varchar(255) ,
19
- email varchar(63) ,
20
- group_id integer references groups(id),
21
- account varchar(31) not null,
22
- password varchar(31) not null
23
- );
@@ -1,35 +0,0 @@
1
- /*
2
- * DTO for Java
3
- * generated by kwatable with template 'dto-java.eruby'
4
- */
5
-
6
- /**
7
- * Group master table
8
- */
9
- public class Group implements java.io.Serializable {
10
-
11
- private int id; /* group id */
12
- private String name; /* group name */
13
- private String desc; /* group description */
14
- private String _class; /* group class */
15
-
16
- public void populate(java.sql.ResultSet resultset) {
17
- setId(resultset.getInt("id"));
18
- setName(resultset.getString("name"));
19
- setDesc(resultset.getString("desc"));
20
- setClass(resultset.getString("class"));
21
- }
22
-
23
- public int getId() { return id }
24
- public void setId(int id) { this.id = id; }
25
-
26
- public String getName() { return name }
27
- public void setName(String name) { this.name = name; }
28
-
29
- public String getDesc() { return desc }
30
- public void setDesc(String desc) { this.desc = desc; }
31
-
32
- public String getClass() { return _class }
33
- public void setClass(String _class) { this._class = _class; }
34
-
35
- }
@@ -1,57 +0,0 @@
1
- /*
2
- * DTO for Java
3
- * generated by kwatable with template 'dto-java.eruby'
4
- */
5
-
6
- /**
7
- * User master table
8
- */
9
- public class User implements java.io.Serializable {
10
-
11
- private int id; /* user id */
12
- private String name; /* user name */
13
- private String desc; /* description about user */
14
- private String email; /* */
15
- private int group_id; /* group id to which user belongs */
16
- private String account; /* */
17
- private String password; /* */
18
-
19
- public void populate(java.sql.ResultSet resultset) {
20
- setId(resultset.getInt("id"));
21
- setName(resultset.getString("name"));
22
- setDesc(resultset.getString("desc"));
23
- setEmail(resultset.getString("email"));
24
- setGroupId(resultset.getInt("group_id"));
25
- setAccount(resultset.getString("account"));
26
- setPassword(resultset.getString("password"));
27
- }
28
-
29
- public int getId() { return id }
30
- public void setId(int id) { this.id = id; }
31
-
32
- public String getName() { return name }
33
- public void setName(String name) { this.name = name; }
34
-
35
- public String getDesc() { return desc }
36
- public void setDesc(String desc) { this.desc = desc; }
37
-
38
- public String getEmail() { return email }
39
- public void setEmail(String email) { this.email = email; }
40
-
41
- public int getGroupId() { return group_id }
42
- public void setGroupId(int group_id) { this.group_id = group_id; }
43
-
44
- public String getAccount() { return account }
45
- public void setAccount(String account) { this.account = account; }
46
-
47
- public String getPassword() { return password }
48
- public void setPassword(String password) { this.password = password; }
49
-
50
- private Group group;
51
- public Group getGroup() { return group; }
52
- public void setGroup(Group group) {
53
- this.group = group;
54
- this.group_id = group.getId();
55
- }
56
-
57
- }
@@ -1,20 +0,0 @@
1
- ##
2
- ## DTO for Ruby
3
- ## generated by kwatable with template 'dto-ruby.eruby'
4
- ##
5
-
6
- ## Group master table
7
- class Group
8
- def populate(values={})
9
- self.id = values['id']
10
- self.name = values['name']
11
- self.desc = values['desc']
12
- self.class = values['class']
13
- end
14
-
15
- attr_accessor :id # group id
16
- attr_accessor :name # group name
17
- attr_accessor :desc # group description
18
- attr_accessor :class # group class
19
-
20
- end
@@ -1,33 +0,0 @@
1
- ##
2
- ## DTO for Ruby
3
- ## generated by kwatable with template 'dto-ruby.eruby'
4
- ##
5
- require 'Group'
6
-
7
- ## User master table
8
- class User
9
- def populate(values={})
10
- self.id = values['id']
11
- self.name = values['name']
12
- self.desc = values['desc']
13
- self.email = values['email']
14
- self.group_id = values['group_id']
15
- self.account = values['account']
16
- self.password = values['password']
17
- end
18
-
19
- attr_accessor :id # user id
20
- attr_accessor :name # user name
21
- attr_accessor :desc # description about user
22
- attr_accessor :email #
23
- attr_accessor :group_id # group id to which user belongs
24
- attr_accessor :account #
25
- attr_accessor :password #
26
-
27
- attr_reader :group
28
- def group=(group)
29
- @group = group
30
- @group_id = group.id
31
- end
32
-
33
- end
@@ -1,96 +0,0 @@
1
- ##
2
- ## example data file for kwatable
3
- ##
4
- ## copyright(c) 2005 kuwata-lab.com all rights reserved.
5
- ## $Release: 0.1.0 $
6
- ## $Rev: 13 $
7
- ##
8
-
9
- columns:
10
- - name: id
11
- type: integer
12
- ident: yes
13
- serial: yes
14
-
15
- - name: name
16
- type: string
17
- required: yes
18
- width: 63
19
-
20
- - name: desc
21
- type: string
22
-
23
- - name: email
24
- type: string
25
- width: 63
26
-
27
- - name: status
28
- type: string
29
- width: 15
30
-
31
- - name: username
32
- type: string
33
- width: 31
34
-
35
- - name: password
36
- type: string
37
- width: 31
38
-
39
- - name: memo
40
- type: text
41
-
42
- - name: text
43
- type: text
44
-
45
- - name: birth
46
- type: date
47
-
48
- - name: age
49
- type: integer
50
-
51
- - name: last_update
52
- type: timestamp
53
-
54
- - name: gender
55
- type: string
56
- enum:
57
- - M
58
- - F
59
-
60
- tables:
61
- - name: groups
62
- class: Group
63
- desc: Group master table
64
- columns:
65
- - name: id
66
- desc: group id
67
- - name: name
68
- desc: group name
69
- - name: desc
70
- desc: group description
71
- - name: class
72
- desc: group class
73
- type: string
74
- enum: [ ADMIN, SYSTEM, USER, UNUSED ]
75
-
76
- - name: users
77
- class: User
78
- desc: User master table
79
- columns:
80
- - name: id
81
- desc: user id
82
- - name: name
83
- desc: user name
84
- - name: desc
85
- desc: description about user
86
- - name: email
87
- - name: group_id
88
- ref: groups.id
89
- desc: group id to which user belongs
90
- - name: account
91
- type: string
92
- width: 31
93
- required: yes
94
- - name: password
95
- required: yes
96
-
@@ -1,49 +0,0 @@
1
- ----------------------------------------------------------------------
2
- -- DDL for MySQL
3
- -- generated by kwatable with template 'ddl-mysql.eruby'
4
- ----------------------------------------------------------------------
5
-
6
- -- Address master table
7
- create table addresses (
8
- id integer auto_increment primary key,
9
- zipcode varchar(8) ,
10
- addr1 varchar(255) ,
11
- addr2 varchar(255) ,
12
- addr3 varchar(255)
13
- );
14
-
15
- -- Customer master table
16
- create table customers (
17
- id integer auto_increment primary key,
18
- name varchar(255) not null,
19
- tel varchar(255) ,
20
- email varchar(255) ,
21
- address_id integer not null -- references addresses(id)
22
- );
23
-
24
- -- Item master table
25
- create table items (
26
- id integer auto_increment primary key,
27
- name varchar(255) not null,
28
- `desc` varchar(255) ,
29
- price decimal not null
30
- );
31
-
32
- -- Sales order master table
33
- create table sales_orders (
34
- id integer auto_increment primary key,
35
- customer_id integer not null, -- references customers(id)
36
- ordered_date date not null,
37
- delivery_date date ,
38
- amount decimal
39
- );
40
-
41
- -- Sales Order detail lines
42
- create table sales_order_lines (
43
- num integer not null,
44
- order_id integer not null, -- references sales_orders(id)
45
- item_id integer not null, -- references items(id)
46
- price decimal not null,
47
- quantity integer not null
48
- , primary key (order_id, item_id)
49
- );
@@ -1,49 +0,0 @@
1
- ----------------------------------------------------------------------
2
- -- DDL for PostgreSQL
3
- -- generated by kwatable with template 'ddl-postgresql.eruby'
4
- ----------------------------------------------------------------------
5
-
6
- -- Address master table
7
- create table addresses (
8
- id serial primary key,
9
- zipcode varchar(8) ,
10
- addr1 varchar(255) ,
11
- addr2 varchar(255) ,
12
- addr3 varchar(255)
13
- );
14
-
15
- -- Customer master table
16
- create table customers (
17
- id serial primary key,
18
- name varchar(255) not null,
19
- tel varchar(255) ,
20
- email varchar(255) ,
21
- address_id integer not null references addresses(id)
22
- );
23
-
24
- -- Item master table
25
- create table items (
26
- id serial primary key,
27
- name varchar(255) not null,
28
- "desc" varchar(255) ,
29
- price decimal not null
30
- );
31
-
32
- -- Sales order master table
33
- create table sales_orders (
34
- id serial primary key,
35
- customer_id integer not null references customers(id),
36
- ordered_date date not null,
37
- delivery_date date ,
38
- amount decimal
39
- );
40
-
41
- -- Sales Order detail lines
42
- create table sales_order_lines (
43
- num integer not null,
44
- order_id integer not null references sales_orders(id),
45
- item_id integer not null references items(id),
46
- price decimal not null,
47
- quantity integer not null
48
- , primary key (order_id, item_id)
49
- );