rober 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 9aaf0dca4d242621a1d1dfa2b7c345e7eb81a7e1
4
+ data.tar.gz: 052fc8f2f2124acec46ea812c96abd20c139eacc
5
+ SHA512:
6
+ metadata.gz: 8c8e95c42d8b8d591c6ef247fa51d405ea889453556df5f8acc9c7daaf680e62fef3cbda8907cadfcbe21a1f875a9dfec8e8eb0e15bdcb31d7166d3e6c49f082
7
+ data.tar.gz: 0aeb349c1c07731b048765fc4252b95b2c4e8656f45e45ac8f65b8ac09b04f9f432b2c62881551b766ecf94fcb2eb3b7d73ad1a17eed1a51fcbbde2fb7e2595e
data/.gitignore ADDED
@@ -0,0 +1,18 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
18
+ vendor
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --format documentation
2
+ --color
data/.travis.yml ADDED
@@ -0,0 +1,3 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.1.0
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in rober.gemspec
4
+ gemspec
data/LICENSE.txt ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2013 aoyagikouhei
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,34 @@
1
+ # Rober
2
+
3
+ TODO: Write a gem description
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+
9
+ gem 'rober'
10
+
11
+ And then execute:
12
+
13
+ $ bundle
14
+
15
+ Or install it yourself as:
16
+
17
+ $ gem install rober
18
+
19
+ ## Usage
20
+
21
+ TODO: Write usage instructions here
22
+
23
+ ## Contributing
24
+
25
+ 1. Fork it
26
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
27
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
28
+ 4. Push to the branch (`git push origin my-new-feature`)
29
+ 5. Create new Pull Request
30
+
31
+ ## Changes
32
+
33
+ 2013-12-27 0.0.1
34
+ first release
data/Rakefile ADDED
@@ -0,0 +1,6 @@
1
+ require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task :default => :spec
data/lib/rober.rb ADDED
@@ -0,0 +1,8 @@
1
+ require "rober/version"
2
+ require "rober/reader"
3
+ require "rober/entity"
4
+ require "rober/attribute"
5
+
6
+ module Rober
7
+ # Your code goes here...
8
+ end
@@ -0,0 +1,7 @@
1
+ module Rober
2
+ class Attribute
3
+ attr_accessor :logical_name, :physical_name, :comment, :datatype, :length, :scale, :null, :def, :pk
4
+ def initialize
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,13 @@
1
+ module Rober
2
+ class Entity
3
+ attr_accessor :logical_name, :physical_name, :comment
4
+ attr_reader :attributes
5
+ def initialize
6
+ @attributes = []
7
+ end
8
+
9
+ def add(attribute)
10
+ @attributes << attribute
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,30 @@
1
+ require 'nokogiri'
2
+
3
+ module Rober
4
+ class Reader
5
+ def self.read(path)
6
+ doc = Nokogiri::XML(File.read(path))
7
+ entities = []
8
+ doc.xpath('/ERD/ENTITY').each do |it|
9
+ entity = Rober::Entity.new
10
+ entity.logical_name = it[:"L-NAME"]
11
+ entity.physical_name = it[:"P-NAME"]
12
+ entity.comment = it[:"COMMENT"]
13
+ it.xpath('ATTR').each do |attr|
14
+ attribute = Rober::Attribute.new
15
+ attribute.logical_name = attr[:"L-NAME"]
16
+ attribute.physical_name = attr[:"P-NAME"]
17
+ attribute.datatype = attr[:"DATATYPE"]
18
+ attribute.length = attr[:"LENGTH"]
19
+ attribute.scale = attr[:"SCALE"]
20
+ attribute.null = attr[:"NULL"]
21
+ attribute.def = attr[:"DEF"]
22
+ attribute.pk = attr[:"PK"]
23
+ entity.add(attribute)
24
+ end
25
+ entities << entity
26
+ end
27
+ {entities: entities}
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,3 @@
1
+ module Rober
2
+ VERSION = "0.0.1"
3
+ end
data/rober.gemspec ADDED
@@ -0,0 +1,25 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'rober/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "rober"
8
+ spec.version = Rober::VERSION
9
+ spec.authors = ["aoyagikouhei"]
10
+ spec.email = ["aoyagi.kouhei@gmail.com"]
11
+ spec.description = %q{object browser er file reader}
12
+ spec.summary = %q{ober reader}
13
+ spec.homepage = ""
14
+ spec.license = "MIT"
15
+
16
+ spec.files = `git ls-files`.split($/)
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+ spec.require_paths = ["lib"]
20
+
21
+ spec.add_development_dependency "bundler", "~> 1.3"
22
+ spec.add_development_dependency "rake"
23
+ spec.add_development_dependency "rspec"
24
+ spec.add_dependency "nokogiri"
25
+ end
@@ -0,0 +1,15 @@
1
+ require 'spec_helper'
2
+
3
+ describe Rober do
4
+ it 'should have a version number' do
5
+ Rober::VERSION.should_not be_nil
6
+ end
7
+
8
+ it 'read edm' do
9
+ ober = Rober::Reader.read(FILE)
10
+ entities = ober[:entities]
11
+ expect(entities.size).to eq(2)
12
+ expect(entities[0].attributes.size).to eq(3)
13
+ expect(entities[1].attributes.size).to eq(2)
14
+ end
15
+ end
@@ -0,0 +1,3 @@
1
+ $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
2
+ require 'rober'
3
+ FILE = 'spec/test.edm'
data/spec/test.edm ADDED
@@ -0,0 +1,153 @@
1
+ <ERD ERD-VERSION="5" ACTIVE-VIEW="メインモデル" ID="0" MAXID="17" L-NAME="" AUTHOR="" VERSION="" COMMENT="">
2
+ <DBOPTION DBTYPE="0" USER="" DBSERVER="" NAME="" PORT="0" VERSION="999999" E-NAME="0" E-DEF="0" T-COMMENT="0" T-STR="" A-NAME="0" A-DEF="0" C-COMMENT="0" C-STR="" INF-DOMAIN="0" INF-PK="0" INF-INDEX="0" INF-NAME="0" SHOW-PK="1" SHOW-AK="1" SHOW-FK="1" SHOW-EXTENT="0" SHOW-PCT="1" SHOW-TRN="1" SHOW-TBS="1" SHOW-STORAGE="1" SHOW-CACHELOG="1" D-QUOTE="0" DROP-SQL="0" SHOW-SCHEMA="0" PRE-POSTSQL="1"/>
3
+ <NAMETABLE/>
4
+ <TYPETABLE DBTYPE="0" NAME="BFILE" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
5
+ <TYPETABLE DBTYPE="0" NAME="BINARY_DOUBLE" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
6
+ <TYPETABLE DBTYPE="0" NAME="BINARY_FLOAT" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
7
+ <TYPETABLE DBTYPE="0" NAME="BLOB" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
8
+ <TYPETABLE DBTYPE="0" NAME="CHAR" LEN-TYPE="2" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
9
+ <TYPETABLE DBTYPE="0" NAME="CLOB" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
10
+ <TYPETABLE DBTYPE="0" NAME="DATE" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
11
+ <TYPETABLE DBTYPE="0" NAME="LONG RAW" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
12
+ <TYPETABLE DBTYPE="0" NAME="LONG" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
13
+ <TYPETABLE DBTYPE="0" NAME="NCHAR" LEN-TYPE="2" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
14
+ <TYPETABLE DBTYPE="0" NAME="NCLOB" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
15
+ <TYPETABLE DBTYPE="0" NAME="NUMBER" LEN-TYPE="1" SCL-TYPE="1" LENGTH="0" SCALE="0"/>
16
+ <TYPETABLE DBTYPE="0" NAME="NVARCHAR2" LEN-TYPE="2" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
17
+ <TYPETABLE DBTYPE="0" NAME="RAW" LEN-TYPE="2" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
18
+ <TYPETABLE DBTYPE="0" NAME="ROWID" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
19
+ <TYPETABLE DBTYPE="0" NAME="UROWID" LEN-TYPE="1" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
20
+ <TYPETABLE DBTYPE="0" NAME="VARCHAR2" LEN-TYPE="2" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
21
+ <TYPETABLE DBTYPE="1" NAME="BIGINT" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
22
+ <TYPETABLE DBTYPE="1" NAME="BINARY" LEN-TYPE="1" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
23
+ <TYPETABLE DBTYPE="1" NAME="BIT" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
24
+ <TYPETABLE DBTYPE="1" NAME="CHAR" LEN-TYPE="1" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
25
+ <TYPETABLE DBTYPE="1" NAME="DATETIME" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
26
+ <TYPETABLE DBTYPE="1" NAME="DECIMAL" LEN-TYPE="1" SCL-TYPE="1" LENGTH="0" SCALE="0"/>
27
+ <TYPETABLE DBTYPE="1" NAME="FLOAT" LEN-TYPE="1" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
28
+ <TYPETABLE DBTYPE="1" NAME="IMAGE" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
29
+ <TYPETABLE DBTYPE="1" NAME="INT" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
30
+ <TYPETABLE DBTYPE="1" NAME="MONEY" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
31
+ <TYPETABLE DBTYPE="1" NAME="NCHAR" LEN-TYPE="1" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
32
+ <TYPETABLE DBTYPE="1" NAME="NTEXT" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
33
+ <TYPETABLE DBTYPE="1" NAME="NUMERIC" LEN-TYPE="1" SCL-TYPE="1" LENGTH="0" SCALE="0"/>
34
+ <TYPETABLE DBTYPE="1" NAME="NVARCHAR" LEN-TYPE="1" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
35
+ <TYPETABLE DBTYPE="1" NAME="NVARCHAR(MAX)" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
36
+ <TYPETABLE DBTYPE="1" NAME="REAL" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
37
+ <TYPETABLE DBTYPE="1" NAME="SMALLDATETIME" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
38
+ <TYPETABLE DBTYPE="1" NAME="SMALLINT" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
39
+ <TYPETABLE DBTYPE="1" NAME="SMALLMONEY" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
40
+ <TYPETABLE DBTYPE="1" NAME="SQL_VARIANT" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
41
+ <TYPETABLE DBTYPE="1" NAME="TEXT" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
42
+ <TYPETABLE DBTYPE="1" NAME="TINYINT" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
43
+ <TYPETABLE DBTYPE="1" NAME="UNIQUEIDENTIFIER" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
44
+ <TYPETABLE DBTYPE="1" NAME="VARBINARY" LEN-TYPE="1" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
45
+ <TYPETABLE DBTYPE="1" NAME="VARBINARY(MAX)" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
46
+ <TYPETABLE DBTYPE="1" NAME="VARCHAR" LEN-TYPE="1" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
47
+ <TYPETABLE DBTYPE="1" NAME="VARCHAR(MAX)" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
48
+ <TYPETABLE DBTYPE="1" NAME="DATETIME2" LEN-TYPE="1" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
49
+ <TYPETABLE DBTYPE="1" NAME="TIME" LEN-TYPE="1" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
50
+ <TYPETABLE DBTYPE="1" NAME="GEOGRAPHY" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
51
+ <TYPETABLE DBTYPE="1" NAME="GEOMETRY" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
52
+ <TYPETABLE DBTYPE="1" NAME="HIERARCHYID" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
53
+ <TYPETABLE DBTYPE="2" NAME="BIGINT" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
54
+ <TYPETABLE DBTYPE="2" NAME="BIGSERIAL" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
55
+ <TYPETABLE DBTYPE="2" NAME="BIT" LEN-TYPE="1" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
56
+ <TYPETABLE DBTYPE="2" NAME="VARBIT" LEN-TYPE="1" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
57
+ <TYPETABLE DBTYPE="2" NAME="BOOL" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
58
+ <TYPETABLE DBTYPE="2" NAME="BOX" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
59
+ <TYPETABLE DBTYPE="2" NAME="BYTEA" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
60
+ <TYPETABLE DBTYPE="2" NAME="VARCHAR" LEN-TYPE="1" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
61
+ <TYPETABLE DBTYPE="2" NAME="CHAR" LEN-TYPE="1" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
62
+ <TYPETABLE DBTYPE="2" NAME="CIDR" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
63
+ <TYPETABLE DBTYPE="2" NAME="CIRCLE" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
64
+ <TYPETABLE DBTYPE="2" NAME="DATE" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
65
+ <TYPETABLE DBTYPE="2" NAME="FLOAT8" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
66
+ <TYPETABLE DBTYPE="2" NAME="INET" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
67
+ <TYPETABLE DBTYPE="2" NAME="INTEGER" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
68
+ <TYPETABLE DBTYPE="2" NAME="INTERVAL" LEN-TYPE="1" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
69
+ <TYPETABLE DBTYPE="2" NAME="LINE" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
70
+ <TYPETABLE DBTYPE="2" NAME="LSEG" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
71
+ <TYPETABLE DBTYPE="2" NAME="MACADDR" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
72
+ <TYPETABLE DBTYPE="2" NAME="MONEY" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
73
+ <TYPETABLE DBTYPE="2" NAME="NUMERIC" LEN-TYPE="1" SCL-TYPE="1" LENGTH="0" SCALE="0"/>
74
+ <TYPETABLE DBTYPE="2" NAME="PATH" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
75
+ <TYPETABLE DBTYPE="2" NAME="POINT" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
76
+ <TYPETABLE DBTYPE="2" NAME="POLYGON" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
77
+ <TYPETABLE DBTYPE="2" NAME="REAL" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
78
+ <TYPETABLE DBTYPE="2" NAME="SMALLINT" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
79
+ <TYPETABLE DBTYPE="2" NAME="SERIAL" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
80
+ <TYPETABLE DBTYPE="2" NAME="TEXT" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
81
+ <TYPETABLE DBTYPE="2" NAME="TIME" LEN-TYPE="1" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
82
+ <TYPETABLE DBTYPE="2" NAME="TIMESTAMP" LEN-TYPE="1" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
83
+ <TYPETABLE DBTYPE="3" NAME="TINYINT" LEN-TYPE="1" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
84
+ <TYPETABLE DBTYPE="3" NAME="SMALLINT" LEN-TYPE="1" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
85
+ <TYPETABLE DBTYPE="3" NAME="MEDIUMINT" LEN-TYPE="1" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
86
+ <TYPETABLE DBTYPE="3" NAME="INT" LEN-TYPE="1" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
87
+ <TYPETABLE DBTYPE="3" NAME="BIGINT" LEN-TYPE="1" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
88
+ <TYPETABLE DBTYPE="3" NAME="TINYINT UNSIGNED" LEN-TYPE="1" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
89
+ <TYPETABLE DBTYPE="3" NAME="SMALLINT UNSIGNED" LEN-TYPE="1" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
90
+ <TYPETABLE DBTYPE="3" NAME="MEDIUMINT UNSIGNED" LEN-TYPE="1" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
91
+ <TYPETABLE DBTYPE="3" NAME="INT UNSIGNED" LEN-TYPE="1" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
92
+ <TYPETABLE DBTYPE="3" NAME="BIGINT UNSIGNED" LEN-TYPE="1" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
93
+ <TYPETABLE DBTYPE="3" NAME="FLOAT" LEN-TYPE="1" SCL-TYPE="1" LENGTH="0" SCALE="0"/>
94
+ <TYPETABLE DBTYPE="3" NAME="DOUBLE" LEN-TYPE="1" SCL-TYPE="1" LENGTH="0" SCALE="0"/>
95
+ <TYPETABLE DBTYPE="3" NAME="FLOAT UNSIGNED" LEN-TYPE="1" SCL-TYPE="1" LENGTH="0" SCALE="0"/>
96
+ <TYPETABLE DBTYPE="3" NAME="DOUBLE UNSIGNED" LEN-TYPE="1" SCL-TYPE="1" LENGTH="0" SCALE="0"/>
97
+ <TYPETABLE DBTYPE="3" NAME="DECIMAL" LEN-TYPE="1" SCL-TYPE="1" LENGTH="0" SCALE="0"/>
98
+ <TYPETABLE DBTYPE="3" NAME="DECIMAL UNSIGNED" LEN-TYPE="1" SCL-TYPE="1" LENGTH="0" SCALE="0"/>
99
+ <TYPETABLE DBTYPE="3" NAME="CHAR" LEN-TYPE="1" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
100
+ <TYPETABLE DBTYPE="3" NAME="VARCHAR" LEN-TYPE="1" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
101
+ <TYPETABLE DBTYPE="3" NAME="TINYBLOB" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
102
+ <TYPETABLE DBTYPE="3" NAME="TINYTEXT" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
103
+ <TYPETABLE DBTYPE="3" NAME="BLOB" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
104
+ <TYPETABLE DBTYPE="3" NAME="TEXT" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
105
+ <TYPETABLE DBTYPE="3" NAME="MEDIUMBLOB" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
106
+ <TYPETABLE DBTYPE="3" NAME="MEDIUMTEXT" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
107
+ <TYPETABLE DBTYPE="3" NAME="LONGBLOB" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
108
+ <TYPETABLE DBTYPE="3" NAME="LONGTEXT" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
109
+ <TYPETABLE DBTYPE="3" NAME="DATETIME" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
110
+ <TYPETABLE DBTYPE="3" NAME="DATE" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
111
+ <TYPETABLE DBTYPE="3" NAME="TIMESTAMP" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
112
+ <TYPETABLE DBTYPE="3" NAME="TIME" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
113
+ <TYPETABLE DBTYPE="3" NAME="YEAR" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
114
+ <TYPETABLE DBTYPE="3" NAME="ENUM" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
115
+ <TYPETABLE DBTYPE="3" NAME="SET" LEN-TYPE="0" SCL-TYPE="0" LENGTH="0" SCALE="0"/>
116
+ <GROUP ID="1" NAME="ID" L-NAME="ID" P-NAME="id" DATATYPE="BIGINT" LENGTH="0" SCALE="0" NULL="0" DEFID="0" DEF="" RULEID="0" RULE="" CODEDEFINEID="0" COMMENT=""/>
117
+ <GROUP ID="3" NAME="名前" L-NAME="名前" P-NAME="nm" DATATYPE="TEXT" LENGTH="0" SCALE="0" NULL="1" DEFID="0" DEF="''" RULEID="0" RULE="" CODEDEFINEID="0" COMMENT=""/>
118
+ <GROUP ID="5" NAME="数" L-NAME="数" P-NAME="count" DATATYPE="BIGINT" LENGTH="0" SCALE="0" NULL="1" DEFID="0" DEF="0" RULEID="0" RULE="" CODEDEFINEID="0" COMMENT=""/>
119
+ <DOMAIN ID="2" L-NAME="テストID" P-NAME="test_id" DATATYPE="BIGINT" LENGTH="0" SCALE="0" NULL="0" DEFID="0" DEF="" RULEID="0" CODEDEFINEID="0" RULE="" COMMENT="description: &quot;This is a id.&quot;" GROUP="1"/>
120
+ <DOMAIN ID="4" L-NAME="テスト名前" P-NAME="test_nm" DATATYPE="TEXT" LENGTH="0" SCALE="0" NULL="1" DEFID="0" DEF="''" RULEID="0" CODEDEFINEID="0" RULE="" COMMENT="description: &quot;This is a nm.&quot;" GROUP="3"/>
121
+ <DOMAIN ID="6" L-NAME="テスト数" P-NAME="test_count" DATATYPE="BIGINT" LENGTH="0" SCALE="0" NULL="1" DEFID="0" DEF="0" RULEID="0" CODEDEFINEID="0" RULE="" COMMENT="description: &quot;this is a count.&quot;" GROUP="5"/>
122
+ <DOMAIN ID="14" L-NAME="ユーザID" P-NAME="user_id" DATATYPE="BIGINT" LENGTH="0" SCALE="0" NULL="0" DEFID="0" DEF="" RULEID="0" CODEDEFINEID="0" RULE="" COMMENT="" GROUP="1"/>
123
+ <DOMAIN ID="16" L-NAME="ユーザ名前" P-NAME="user_nm" DATATYPE="TEXT" LENGTH="0" SCALE="0" NULL="1" DEFID="0" DEF="''" RULEID="0" CODEDEFINEID="0" RULE="" COMMENT="" GROUP="3"/>
124
+ <ENTITY ID="7" L-NAME="テスト" DEPENDENT="0" P-NAME="t_test" SCHEMA="" COMMENT="description: &quot;This is a test.&quot;" SHOWTYPE="0" PRE-SQL="" POST-SQL="" EstInit="0" EstInc="0">
125
+ <ATTR ID="9" L-NAME="テストID" P-NAME="test_id" DDOMAINID="2" DATATYPE="BIGINT" LENGTH="0" SCALE="0" NULL="1" DEFID="0" DEF="" RULEID="0" RULE="" CODEDEFINEID="0" COMMENT="description: &quot;This is a id.&quot;" PK="1" FKCRT="0" COLUMNTYPE="0"/>
126
+ <ATTR ID="10" L-NAME="テスト数" P-NAME="test_count" DDOMAINID="6" DATATYPE="BIGINT" LENGTH="0" SCALE="0" NULL="1" DEFID="0" DEF="0" RULEID="0" RULE="" CODEDEFINEID="0" COMMENT="description: &quot;this is a count.&quot;" PK="0" FKCRT="0" COLUMNTYPE="0"/>
127
+ <ATTR ID="11" L-NAME="テスト名前" P-NAME="test_nm" DDOMAINID="4" DATATYPE="TEXT" LENGTH="0" SCALE="0" NULL="0" DEFID="0" DEF="''" RULEID="0" RULE="" CODEDEFINEID="0" COMMENT="description: &quot;This is a nm.&quot;" PK="0" FKCRT="0" COLUMNTYPE="0"/>
128
+ <INDEX ID="8" L-NAME="主キー" P-NAME="PK_エンティティ1" SCHEMA="" I-TYPE="0" COMMENT="" CLUSTER="0" DEFERRABLE="0">
129
+ <COLUMN ID="9"/>
130
+ <STORAGE S-TYPE="0" TBS="" LOG="0" PCTFREE="" PCTUSED="" INITRANS="" MAXTRANS="" INIT="" NEXT="" PCTINC="" MIN="" MAX="" FLIST="" FGROUP="" BUF="0" CACHE="0" PART-KEY="" ONCOMMIT="0"/>
131
+ </INDEX>
132
+ <STORAGE S-TYPE="0" TBS="" LOG="0" PCTFREE="" PCTUSED="" INITRANS="" MAXTRANS="" INIT="" NEXT="" PCTINC="" MIN="" MAX="" FLIST="" FGROUP="" BUF="0" CACHE="0" PART-KEY="" ONCOMMIT="0"/>
133
+ </ENTITY>
134
+ <ENTITY ID="12" L-NAME="ユーザ" DEPENDENT="0" P-NAME="t_user" SCHEMA="" COMMENT="description: &quot;これはユーザです。&quot;" SHOWTYPE="0" PRE-SQL="" POST-SQL="" EstInit="0" EstInc="0">
135
+ <ATTR ID="15" L-NAME="ユーザID" P-NAME="user_id" DDOMAINID="14" DATATYPE="BIGINT" LENGTH="0" SCALE="0" NULL="1" DEFID="0" DEF="" RULEID="0" RULE="" CODEDEFINEID="0" COMMENT="" PK="1" FKCRT="0" COLUMNTYPE="0"/>
136
+ <ATTR ID="17" L-NAME="ユーザ名前" P-NAME="user_nm" DDOMAINID="16" DATATYPE="TEXT" LENGTH="0" SCALE="0" NULL="1" DEFID="0" DEF="''" RULEID="0" RULE="" CODEDEFINEID="0" COMMENT="" PK="0" FKCRT="0" COLUMNTYPE="0"/>
137
+ <INDEX ID="13" L-NAME="主キー" P-NAME="PK_t_test2" SCHEMA="" I-TYPE="0" COMMENT="" CLUSTER="0" DEFERRABLE="0">
138
+ <COLUMN ID="15"/>
139
+ <STORAGE S-TYPE="0" TBS="" LOG="0" PCTFREE="" PCTUSED="" INITRANS="" MAXTRANS="" INIT="" NEXT="" PCTINC="" MIN="" MAX="" FLIST="" FGROUP="" BUF="0" CACHE="0" PART-KEY="" ONCOMMIT="0"/>
140
+ </INDEX>
141
+ <STORAGE S-TYPE="0" TBS="" LOG="0" PCTFREE="" PCTUSED="" INITRANS="" MAXTRANS="" INIT="" NEXT="" PCTINC="" MIN="" MAX="" FLIST="" FGROUP="" BUF="0" CACHE="0" PART-KEY="" ONCOMMIT="0"/>
142
+ </ENTITY>
143
+ <COLORS>
144
+ <ENTITY BRUSHCOLOR="-16777211" PENCOLOR="-16777208" BRUSHCOLORL="-16777211" PENCOLORL="16711680" BRUSHCOLORP="-16777211" PENCOLORP="255" NAMEFONTNAME="MS Pゴシック" NAMEFONTSIZE="9" NAMEFONTCOLOR="-16777208" NAMEFONTBL="0" NAMEFONTIT="0" NAMEFONTUL="0" NAMEFONTSO="0" ATTRFONTNAME="MS Pゴシック" ATTRFONTSIZE="9" ATTRFONTCOLOR="-16777208" ATTRFONTBL="0" ATTRFONTIT="0" ATTRFONTUL="0" ATTRFONTSO="0" FKFONTNAME="MS Pゴシック" FKFONTSIZE="9" FKFONTCOLOR="-16777208" FKFONTBL="1" FKFONTIT="0" FKFONTUL="0" FKFONTSO="0"/>
145
+ <VIEW BRUSHCOLOR="-16777211" PENCOLOR="-16777208" BRUSHCOLORL="-16777211" PENCOLORL="16711680" BRUSHCOLORP="-16777211" PENCOLORP="255" NAMEFONTNAME="MS Pゴシック" NAMEFONTSIZE="9" NAMEFONTCOLOR="-16777208" NAMEFONTBL="0" NAMEFONTIT="0" NAMEFONTUL="0" NAMEFONTSO="0" ATTRFONTNAME="MS Pゴシック" ATTRFONTSIZE="9" ATTRFONTCOLOR="-16777208" ATTRFONTBL="0" ATTRFONTIT="0" ATTRFONTUL="0" ATTRFONTSO="0"/>
146
+ <RELATION BRUSHCOLOR="-16777211" PENCOLOR="-16777208" BRUSHCOLORL="-16777211" PENCOLORL="16711680" BRUSHCOLORP="-16777211" PENCOLORP="255" FONTNAME="MS Pゴシック" FONTSIZE="9" FONTCOLOR="-16777208" FONTBL="0" FONTIT="0" FONTUL="0" FONTSO="0"/>
147
+ <SHAPE BRUSHCOLOR="16777215" BRUSHSTYLE="0" PENCOLOR="0" PENSTYLE="0" PENWIDTH="1" FONTNAME="MS Pゴシック" FONTSIZE="9" FONTCOLOR="-16777208" FONTBL="0" FONTIT="0" FONTUL="0" FONTSO="0"/>
148
+ </COLORS>
149
+ <MODELVIEW L-NAME="メインモデル" SHOWGRID="0" AJUSTGRID="0" GRIDX="16" GRIDY="16" MODELTYPE="0" SHOWLEVEL="2" LCOLOR="16777215" PCOLOR="16777215" LERDTYPE="0" PERDTYPE="0" SHOWSHADOW="1" SHOWPAGE="0" SHOWCARDINALITY="1" SHOWVERB="1" SHOWVRELATION="1" ZOOM="1" PAPERSIZE="9" ORIENTATION="0" L-MARGIN="20" T-MARGIN="20" R-MARGIN="20" HEADER-POS="15" HEADER-L="" HEADER-C="&amp;ファイル名 - &amp;タイトル &lt; &amp;モデル名 &gt; " HEADER-R="" Footer-POS="15" Footer-L="" Footer-C="&amp;ページ番号 / &amp;総ページ数" Footer-R="" HEADER-LFONTNAME="Tahoma" HEADER-LFONTSIZE="8" HEADER-LFONTCOLOR="-16777208" HEADER-LFONTBL="0" HEADER-LFONTIT="0" HEADER-LFONTUL="0" HEADER-LFONTSO="0" HEADER-CFONTNAME="Tahoma" HEADER-CFONTSIZE="8" HEADER-CFONTCOLOR="-16777208" HEADER-CFONTBL="0" HEADER-CFONTIT="0" HEADER-CFONTUL="0" HEADER-CFONTSO="0" HEADER-RFONTNAME="Tahoma" HEADER-RFONTSIZE="8" HEADER-RFONTCOLOR="-16777208" HEADER-RFONTBL="0" HEADER-RFONTIT="0" HEADER-RFONTUL="0" HEADER-RFONTSO="0" Footer-LFONTNAME="Tahoma" Footer-LFONTSIZE="8" Footer-LFONTCOLOR="-16777208" Footer-LFONTBL="0" Footer-LFONTIT="0" Footer-LFONTUL="0" Footer-LFONTSO="0" Footer-CFONTNAME="Tahoma" Footer-CFONTSIZE="8" Footer-CFONTCOLOR="-16777208" Footer-CFONTBL="0" Footer-CFONTIT="0" Footer-CFONTUL="0" Footer-CFONTSO="0" Footer-RFONTNAME="Tahoma" Footer-RFONTSIZE="8" Footer-RFONTCOLOR="-16777208" Footer-RFONTBL="0" Footer-RFONTIT="0" Footer-RFONTUL="0" Footer-RFONTSO="0" B-MARGIN="20" BORDER="1" BORDERCOLOR="0" BORDERSTYLE="0" BORDERWIDTH="1">
150
+ <ENTITY ID="7" LEFT="188" TOP="220" RIGHT="288" BOTTOM="294" BRUSHCOLOR="-16777211" PENCOLOR="-16777208" NAMEFONTNAME="MS Pゴシック" NAMEFONTSIZE="9" NAMEFONTCOLOR="-16777208" NAMEFONTBL="0" NAMEFONTIT="0" NAMEFONTUL="0" NAMEFONTSO="0" ATTRFONTNAME="MS Pゴシック" ATTRFONTSIZE="9" ATTRFONTCOLOR="-16777208" ATTRFONTBL="0" ATTRFONTIT="0" ATTRFONTUL="0" ATTRFONTSO="0" FKFONTNAME="MS Pゴシック" FKFONTSIZE="9" FKFONTCOLOR="-16777208" FKFONTBL="1" FKFONTIT="0" FKFONTUL="0" FKFONTSO="0"/>
151
+ <ENTITY ID="12" LEFT="381" TOP="281" RIGHT="481" BOTTOM="355" BRUSHCOLOR="-16777211" PENCOLOR="-16777208" NAMEFONTNAME="MS Pゴシック" NAMEFONTSIZE="9" NAMEFONTCOLOR="-16777208" NAMEFONTBL="0" NAMEFONTIT="0" NAMEFONTUL="0" NAMEFONTSO="0" ATTRFONTNAME="MS Pゴシック" ATTRFONTSIZE="9" ATTRFONTCOLOR="-16777208" ATTRFONTBL="0" ATTRFONTIT="0" ATTRFONTUL="0" ATTRFONTSO="0" FKFONTNAME="MS Pゴシック" FKFONTSIZE="9" FKFONTCOLOR="-16777208" FKFONTBL="1" FKFONTIT="0" FKFONTUL="0" FKFONTSO="0"/>
152
+ </MODELVIEW>
153
+ </ERD>
metadata ADDED
@@ -0,0 +1,119 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rober
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - aoyagikouhei
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-12-27 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.3'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.3'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: nokogiri
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ description: object browser er file reader
70
+ email:
71
+ - aoyagi.kouhei@gmail.com
72
+ executables: []
73
+ extensions: []
74
+ extra_rdoc_files: []
75
+ files:
76
+ - ".gitignore"
77
+ - ".rspec"
78
+ - ".travis.yml"
79
+ - Gemfile
80
+ - LICENSE.txt
81
+ - README.md
82
+ - Rakefile
83
+ - lib/rober.rb
84
+ - lib/rober/attribute.rb
85
+ - lib/rober/entity.rb
86
+ - lib/rober/reader.rb
87
+ - lib/rober/version.rb
88
+ - rober.gemspec
89
+ - spec/rober_spec.rb
90
+ - spec/spec_helper.rb
91
+ - spec/test.edm
92
+ homepage: ''
93
+ licenses:
94
+ - MIT
95
+ metadata: {}
96
+ post_install_message:
97
+ rdoc_options: []
98
+ require_paths:
99
+ - lib
100
+ required_ruby_version: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - ">="
103
+ - !ruby/object:Gem::Version
104
+ version: '0'
105
+ required_rubygems_version: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ requirements: []
111
+ rubyforge_project:
112
+ rubygems_version: 2.2.0
113
+ signing_key:
114
+ specification_version: 4
115
+ summary: ober reader
116
+ test_files:
117
+ - spec/rober_spec.rb
118
+ - spec/spec_helper.rb
119
+ - spec/test.edm