dm-visualizer 0.2.1 → 0.2.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/.gitignore +5 -0
- data/ChangeLog.md +9 -0
- data/Gemfile +4 -4
- data/LICENSE.txt +1 -1
- data/README.md +8 -8
- data/Rakefile +4 -4
- data/dm-visualizer.gemspec +56 -11
- data/gemspec.yml +6 -6
- data/lib/dm-visualizer/graphviz.rb +7 -7
- data/lib/dm-visualizer/project.rb +2 -2
- data/lib/dm-visualizer/rake/graphviz_task.rb +6 -10
- data/lib/dm-visualizer/rake/task.rb +4 -4
- data/lib/dm-visualizer/visualization.rb +4 -4
- data/spec/project_examples.rb +5 -5
- data/spec/project_spec.rb +18 -19
- data/spec/spec_helper.rb +5 -0
- data/spec/visualization_spec.rb +28 -42
- metadata +106 -124
data/ChangeLog.md
CHANGED
@@ -1,3 +1,12 @@
|
|
1
|
+
### 0.2.2 / 2012-08-03
|
2
|
+
|
3
|
+
* Relax version requirements for dependencies.
|
4
|
+
* Fixed ruby-graphviz deprecation warnings (thanks Martin Mauch).
|
5
|
+
* Use `Bundler.require` instead of `Bundler.setup`.
|
6
|
+
* Require `rake/tasklib` instead of just `rake`.
|
7
|
+
* Aliased the `db:doc` task to `dm:doc`.
|
8
|
+
* Replaced ore-tasks with [rubygems-tasks](https://github.com/postmodern/rubygems-tasks#readme).
|
9
|
+
|
1
10
|
### 0.2.1 / 2011-02-12
|
2
11
|
|
3
12
|
* Added {DataMapper::Visualizer::Project#each_relationship_for}.
|
data/Gemfile
CHANGED
@@ -3,9 +3,9 @@ source :rubygems
|
|
3
3
|
gemspec
|
4
4
|
|
5
5
|
group(:development) do
|
6
|
-
gem 'rake', '~> 0.8
|
7
|
-
gem 'kramdown', '~> 0.12
|
6
|
+
gem 'rake', '~> 0.8'
|
7
|
+
gem 'kramdown', '~> 0.12'
|
8
8
|
|
9
|
-
gem '
|
10
|
-
gem 'rspec',
|
9
|
+
gem 'rubygems-tasks', '~> 0.1'
|
10
|
+
gem 'rspec', '~> 2.4'
|
11
11
|
end
|
data/LICENSE.txt
CHANGED
data/README.md
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
# dm-visualizer
|
2
2
|
|
3
|
-
* [Source](
|
4
|
-
* [Issues](
|
3
|
+
* [Source](https://github.com/postmodern/dm-visualizer/)
|
4
|
+
* [Issues](https://github.com/postmodern/dm-visualizer/issues)
|
5
5
|
* [Documentation](http://rubydoc.info/gems/dm-visualizer/frames)
|
6
|
-
* [Email](postmodern.mod3 at gmail.com)
|
6
|
+
* [Email](mailto:postmodern.mod3 at gmail.com)
|
7
7
|
|
8
8
|
## Description
|
9
9
|
|
@@ -31,22 +31,22 @@ Add the `dm:doc:graphviz` rake tasks to a Ruby library:
|
|
31
31
|
:require => ['my_library/models']
|
32
32
|
)
|
33
33
|
|
34
|
-
Add the `
|
34
|
+
Add the `dm:doc:graphviz` rake tasks to a [dm-rails](http://github.com/datamapper/dm-rails) app:
|
35
35
|
|
36
36
|
require 'dm-visualizer/rake/rails/graphviz_task'
|
37
37
|
DataMapper::Visualizer::Rake::Rails::GraphVizTask.new
|
38
38
|
|
39
39
|
## Requirements
|
40
40
|
|
41
|
-
* [ruby-graphviz](http://rubygems.org/gems/ruby-graphviz)
|
42
|
-
* [dm-core](http://github.com/datamapper/dm-core)
|
41
|
+
* [ruby-graphviz](http://rubygems.org/gems/ruby-graphviz) ~> 1.0
|
42
|
+
* [dm-core](http://github.com/datamapper/dm-core) ~> 1.0
|
43
43
|
|
44
44
|
## Install
|
45
45
|
|
46
|
-
$
|
46
|
+
$ gem install dm-visualizer
|
47
47
|
|
48
48
|
## License
|
49
49
|
|
50
|
-
Copyright (c) 2010-
|
50
|
+
Copyright (c) 2010-2012 Hal Brodigan
|
51
51
|
|
52
52
|
See {file:LICENSE.txt} for license information.
|
data/Rakefile
CHANGED
@@ -4,15 +4,15 @@ require 'bundler'
|
|
4
4
|
begin
|
5
5
|
Bundler.setup(:development, :doc)
|
6
6
|
rescue Bundler::BundlerError => e
|
7
|
-
|
8
|
-
|
7
|
+
warn e.message
|
8
|
+
warn "Run `bundle install` to install missing gems"
|
9
9
|
exit e.status_code
|
10
10
|
end
|
11
11
|
|
12
12
|
require 'rake'
|
13
13
|
|
14
|
-
require '
|
15
|
-
|
14
|
+
require 'rubygems/tasks'
|
15
|
+
Gem::Tasks.new
|
16
16
|
|
17
17
|
require 'rspec/core/rake_task'
|
18
18
|
RSpec::Core::RakeTask.new
|
data/dm-visualizer.gemspec
CHANGED
@@ -1,15 +1,60 @@
|
|
1
|
-
#
|
1
|
+
# encoding: utf-8
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
3
|
+
require 'yaml'
|
4
|
+
|
5
|
+
Gem::Specification.new do |gem|
|
6
|
+
gemspec = YAML.load_file('gemspec.yml')
|
7
|
+
|
8
|
+
gem.name = gemspec.fetch('name')
|
9
|
+
gem.version = gemspec.fetch('version') do
|
10
|
+
lib_dir = File.join(File.dirname(__FILE__),'lib')
|
11
|
+
$LOAD_PATH << lib_dir unless $LOAD_PATH.include?(lib_dir)
|
12
|
+
|
13
|
+
require 'dm/visualizer/version'
|
14
|
+
DataMapper::Visualizer::VERSION
|
15
|
+
end
|
16
|
+
|
17
|
+
gem.summary = gemspec['summary']
|
18
|
+
gem.description = gemspec['description']
|
19
|
+
gem.licenses = Array(gemspec['license'])
|
20
|
+
gem.authors = Array(gemspec['authors'])
|
21
|
+
gem.email = gemspec['email']
|
22
|
+
gem.homepage = gemspec['homepage']
|
23
|
+
|
24
|
+
glob = lambda { |patterns| gem.files & Dir[*patterns] }
|
25
|
+
|
26
|
+
gem.files = `git ls-files`.split($/)
|
27
|
+
gem.files = glob[gemspec['files']] if gemspec['files']
|
28
|
+
|
29
|
+
gem.executables = gemspec.fetch('executables') do
|
30
|
+
glob['bin/*'].map { |path| File.basename(path) }
|
6
31
|
end
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
32
|
+
gem.default_executable = gem.executables.first if Gem::VERSION < '1.7.'
|
33
|
+
|
34
|
+
gem.extensions = glob[gemspec['extensions'] || 'ext/**/extconf.rb']
|
35
|
+
gem.test_files = glob[gemspec['test_files'] || '{test/{**/}*_test.rb']
|
36
|
+
gem.extra_rdoc_files = glob[gemspec['extra_doc_files'] || '*.{txt,md}']
|
37
|
+
|
38
|
+
gem.require_paths = Array(gemspec.fetch('require_paths') {
|
39
|
+
%w[ext lib].select { |dir| File.directory?(dir) }
|
40
|
+
})
|
41
|
+
|
42
|
+
gem.requirements = gemspec['requirements']
|
43
|
+
gem.required_ruby_version = gemspec['required_ruby_version']
|
44
|
+
gem.required_rubygems_version = gemspec['required_rubygems_version']
|
45
|
+
gem.post_install_message = gemspec['post_install_message']
|
46
|
+
|
47
|
+
split = lambda { |string| string.split(/,\s*/) }
|
48
|
+
|
49
|
+
if gemspec['dependencies']
|
50
|
+
gemspec['dependencies'].each do |name,versions|
|
51
|
+
gem.add_dependency(name,split[versions])
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
if gemspec['development_dependencies']
|
56
|
+
gemspec['development_dependencies'].each do |name,versions|
|
57
|
+
gem.add_development_dependency(name,split[versions])
|
58
|
+
end
|
14
59
|
end
|
15
60
|
end
|
data/gemspec.yml
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
name: dm-visualizer
|
2
|
-
version: 0.2.
|
2
|
+
version: 0.2.2
|
3
3
|
summary:
|
4
4
|
Visualizes the Models, Properties and Relationships defined in a
|
5
5
|
DataMapper based Ruby project.
|
@@ -11,13 +11,13 @@ description:
|
|
11
11
|
license: MIT
|
12
12
|
authors: Postmodern
|
13
13
|
email: postmodern.mod3@gmail.com
|
14
|
-
homepage:
|
14
|
+
homepage: https://github.com/postmodern/dm-visualizer
|
15
15
|
has_yard: true
|
16
16
|
|
17
17
|
dependencies:
|
18
|
-
ruby-graphviz:
|
19
|
-
dm-core:
|
18
|
+
ruby-graphviz: ~> 1.0
|
19
|
+
dm-core: ~> 1.0
|
20
20
|
|
21
21
|
development_dependencies:
|
22
|
-
bundler: ~> 1.0
|
23
|
-
yard: ~> 0.6
|
22
|
+
bundler: ~> 1.0
|
23
|
+
yard: ~> 0.6
|
@@ -5,7 +5,7 @@ begin
|
|
5
5
|
rescue Gem::LoadError => e
|
6
6
|
raise(e)
|
7
7
|
rescue ::LoadError
|
8
|
-
|
8
|
+
warn "GraphViz not available. Install it with: gem install ruby-graphviz"
|
9
9
|
end
|
10
10
|
|
11
11
|
module DataMapper
|
@@ -55,12 +55,12 @@ module DataMapper
|
|
55
55
|
|
56
56
|
@colors = {
|
57
57
|
:one_to_many => 'blue',
|
58
|
-
:one_to_one
|
58
|
+
:one_to_one => 'red',
|
59
59
|
:inheritence => 'cyan'
|
60
60
|
}
|
61
61
|
@labels = {
|
62
62
|
:one_to_many => '1:m',
|
63
|
-
:one_to_one
|
63
|
+
:one_to_one => '1:1'
|
64
64
|
}
|
65
65
|
|
66
66
|
if options[:file]
|
@@ -118,7 +118,7 @@ module DataMapper
|
|
118
118
|
columns = (properties + foreign_keys)
|
119
119
|
label = "{ #{model_name(model)} | #{columns.join("\n")} }"
|
120
120
|
|
121
|
-
graph.
|
121
|
+
graph.add_nodes(
|
122
122
|
model_name(model),
|
123
123
|
:shape => 'record',
|
124
124
|
:label => label
|
@@ -132,14 +132,14 @@ module DataMapper
|
|
132
132
|
|
133
133
|
case relationship
|
134
134
|
when DataMapper::Associations::OneToMany::Relationship
|
135
|
-
graph.
|
135
|
+
graph.add_edges(
|
136
136
|
source_node,
|
137
137
|
target_node,
|
138
138
|
:color => @colors[:one_to_many],
|
139
139
|
:label => " #{@labels[:one_to_many]}"
|
140
140
|
)
|
141
141
|
when DataMapper::Associations::OneToOne::Relationship
|
142
|
-
graph.
|
142
|
+
graph.add_edges(
|
143
143
|
source_node,
|
144
144
|
target_node,
|
145
145
|
:color => @colors[:one_to_one],
|
@@ -153,7 +153,7 @@ module DataMapper
|
|
153
153
|
source_node = graph.get_node(model_name(ancestor))
|
154
154
|
target_node = graph.get_node(model_name(model))
|
155
155
|
|
156
|
-
graph.
|
156
|
+
graph.add_edges(
|
157
157
|
source_node,
|
158
158
|
target_node,
|
159
159
|
:color => @colors[:inheritence]
|
@@ -88,7 +88,7 @@ module DataMapper
|
|
88
88
|
end
|
89
89
|
|
90
90
|
begin
|
91
|
-
Bundler.
|
91
|
+
Bundler.require(*@bundle)
|
92
92
|
rescue Bundler::BundleError => error
|
93
93
|
log error.message
|
94
94
|
log "Run `bundle install` to install missing gems"
|
@@ -307,7 +307,7 @@ module DataMapper
|
|
307
307
|
# The message to print.
|
308
308
|
#
|
309
309
|
def log(message)
|
310
|
-
|
310
|
+
warn "dm-visualizer: #{message}"
|
311
311
|
end
|
312
312
|
|
313
313
|
#
|
@@ -56,7 +56,7 @@ module DataMapper
|
|
56
56
|
}
|
57
57
|
|
58
58
|
@diagrams = extract_options[DIAGRAMS]
|
59
|
-
@formats
|
59
|
+
@formats = extract_options[FORMATS]
|
60
60
|
|
61
61
|
super(options,&block)
|
62
62
|
end
|
@@ -65,14 +65,6 @@ module DataMapper
|
|
65
65
|
# Defines the `dm:doc:graphviz` namespace.
|
66
66
|
#
|
67
67
|
def define
|
68
|
-
graphviz = lambda { |type,format|
|
69
|
-
GraphViz.new(@options.merge(
|
70
|
-
:naming => type,
|
71
|
-
:file => "doc/#{type}_diagram",
|
72
|
-
:format => format
|
73
|
-
))
|
74
|
-
}
|
75
|
-
|
76
68
|
super do
|
77
69
|
namespace(:graphviz) do
|
78
70
|
@diagrams.each do |type|
|
@@ -80,7 +72,11 @@ module DataMapper
|
|
80
72
|
@formats.each do |format|
|
81
73
|
desc "Generates a #{format.to_s.upcase} GraphViz #{type} diagram of the DataMapper Models"
|
82
74
|
task(format) do
|
83
|
-
|
75
|
+
GraphViz.new(@options.merge(
|
76
|
+
:naming => type,
|
77
|
+
:file => "doc/#{type}_diagram",
|
78
|
+
:format => format
|
79
|
+
)).visualize!
|
84
80
|
end
|
85
81
|
end
|
86
82
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
require 'rake'
|
1
|
+
require 'rake/tasklib'
|
2
2
|
|
3
3
|
module DataMapper
|
4
4
|
module Visualizer
|
@@ -21,9 +21,7 @@ module DataMapper
|
|
21
21
|
# The new Task.
|
22
22
|
#
|
23
23
|
def initialize(options={})
|
24
|
-
@options = {
|
25
|
-
:bundle => File.file?('Gemfile')
|
26
|
-
}
|
24
|
+
@options = {:bundle => File.file?('Gemfile')}
|
27
25
|
@options.merge!(options)
|
28
26
|
|
29
27
|
yield self if block_given?
|
@@ -38,6 +36,8 @@ module DataMapper
|
|
38
36
|
namespace :dm do
|
39
37
|
namespace(:doc,&block)
|
40
38
|
end
|
39
|
+
|
40
|
+
task 'db:doc' => 'dm:doc'
|
41
41
|
end
|
42
42
|
|
43
43
|
end
|
@@ -44,10 +44,11 @@ module DataMapper
|
|
44
44
|
def initialize(options={})
|
45
45
|
@project = Project.new(options)
|
46
46
|
|
47
|
-
@
|
48
|
-
@naming = :relational
|
47
|
+
@naming = :relational
|
49
48
|
@full_names = false
|
50
49
|
|
50
|
+
@repository_names = {}
|
51
|
+
|
51
52
|
if options[:repository_names]
|
52
53
|
options[:repository_names].each do |name,db_name|
|
53
54
|
@repository_names[name.to_sym] = db_name.to_s
|
@@ -84,7 +85,6 @@ module DataMapper
|
|
84
85
|
end
|
85
86
|
|
86
87
|
name = DataMapper::Inflector.demodulize(name) unless @full_names
|
87
|
-
|
88
88
|
return name
|
89
89
|
end
|
90
90
|
|
@@ -154,7 +154,7 @@ module DataMapper
|
|
154
154
|
#
|
155
155
|
def model_name(model)
|
156
156
|
if @naming == :schema
|
157
|
-
name
|
157
|
+
name = model_repository_name(model)
|
158
158
|
storage_name = model.storage_names[:default]
|
159
159
|
storage_name ||= NamingConventions::Resource::UnderscoredAndPluralized.call(model.name)
|
160
160
|
|
data/spec/project_examples.rb
CHANGED
@@ -1,18 +1,18 @@
|
|
1
|
-
require '
|
1
|
+
require 'spec_helper'
|
2
2
|
|
3
3
|
shared_examples_for "a Ruby project" do
|
4
4
|
it "should add the include directories to the $LOAD_PATH" do
|
5
|
-
|
5
|
+
subject.activate!
|
6
6
|
|
7
|
-
|
7
|
+
subject.include_dirs.all? { |dir|
|
8
8
|
$LOAD_PATH.include?(dir)
|
9
9
|
}.should == true
|
10
10
|
end
|
11
11
|
|
12
12
|
it "should remove the include directories to the $LOAD_PATH" do
|
13
|
-
|
13
|
+
subject.deactivate!
|
14
14
|
|
15
|
-
|
15
|
+
subject.include_dirs.all? { |dir|
|
16
16
|
$LOAD_PATH.include?(dir)
|
17
17
|
}.should == false
|
18
18
|
end
|
data/spec/project_spec.rb
CHANGED
@@ -1,17 +1,15 @@
|
|
1
|
-
require 'dm-visualizer/project'
|
2
|
-
|
3
1
|
require 'spec_helper'
|
4
|
-
require 'helpers/project'
|
5
2
|
require 'project_examples'
|
6
3
|
|
7
|
-
|
8
|
-
include Helpers::Project
|
4
|
+
require 'dm-visualizer/project'
|
9
5
|
|
6
|
+
describe DataMapper::Visualizer::Project do
|
10
7
|
context "library" do
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
8
|
+
let(:dir) { project_dir('library') }
|
9
|
+
|
10
|
+
subject do
|
11
|
+
described_class.new(
|
12
|
+
:include => [File.join(dir,'lib')],
|
15
13
|
:require => ['blog']
|
16
14
|
)
|
17
15
|
end
|
@@ -19,17 +17,18 @@ describe DataMapper::Visualizer::Project do
|
|
19
17
|
it_should_behave_like "a Ruby project"
|
20
18
|
|
21
19
|
it "should require the specified paths" do
|
22
|
-
|
20
|
+
subject.load!
|
23
21
|
|
24
|
-
Object.
|
22
|
+
Object.should be_const_defined('Blog')
|
25
23
|
end
|
26
24
|
end
|
27
25
|
|
28
26
|
context "rails" do
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
27
|
+
let(:dir) { project_dir('rails') }
|
28
|
+
|
29
|
+
subject do
|
30
|
+
described_class.new(
|
31
|
+
:include => [dir],
|
33
32
|
:require_all => ['app/models/*.rb']
|
34
33
|
)
|
35
34
|
end
|
@@ -37,11 +36,11 @@ describe DataMapper::Visualizer::Project do
|
|
37
36
|
it_should_behave_like "a Ruby project"
|
38
37
|
|
39
38
|
it "should require all paths that match the specified glob patterns" do
|
40
|
-
|
39
|
+
subject.load!
|
41
40
|
|
42
|
-
Object.
|
43
|
-
Object.
|
44
|
-
Object.
|
41
|
+
Object.should be_const_defined('User')
|
42
|
+
Object.should be_const_defined('Post')
|
43
|
+
Object.should be_const_defined('Comment')
|
45
44
|
end
|
46
45
|
end
|
47
46
|
end
|
data/spec/spec_helper.rb
CHANGED
data/spec/visualization_spec.rb
CHANGED
@@ -1,90 +1,76 @@
|
|
1
|
-
require 'dm-visualizer/visualization'
|
2
|
-
|
3
1
|
require 'spec_helper'
|
4
2
|
require 'helpers/project'
|
5
3
|
|
4
|
+
require 'dm-visualizer/visualization'
|
5
|
+
|
6
6
|
describe DataMapper::Visualizer::Visualization do
|
7
|
-
|
7
|
+
let(:lib_dir) { File.join(project_dir('library'),'lib') }
|
8
8
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
:require => ['blog']
|
14
|
-
)
|
15
|
-
end
|
9
|
+
before(:all) do
|
10
|
+
$LOAD_PATH << lib_dir
|
11
|
+
require 'blog'
|
12
|
+
end
|
16
13
|
|
14
|
+
context "defaults" do
|
17
15
|
it "should return the class names of Classes" do
|
18
|
-
|
16
|
+
subject.class_name(Blog::User).should == 'User'
|
19
17
|
end
|
20
18
|
|
21
19
|
it "should return the class names of Objects" do
|
22
|
-
|
20
|
+
subject.class_name(Blog::Post.body).should == 'Text'
|
23
21
|
end
|
24
22
|
|
25
23
|
it "should return the names of properties" do
|
26
|
-
|
24
|
+
subject.property_name(Blog::Post.body).should == 'body'
|
27
25
|
end
|
28
26
|
|
29
27
|
it "should return the names of models" do
|
30
|
-
|
28
|
+
subject.model_name(Blog::User).should == 'User'
|
31
29
|
end
|
32
30
|
end
|
33
31
|
|
34
|
-
|
35
|
-
|
36
|
-
@vis = DataMapper::Visualizer::Visualization.new(
|
37
|
-
:include => [File.join(project_dir('library'),'lib')],
|
38
|
-
:require => ['blog'],
|
39
|
-
:repository_names => {:default => 'blogdb'}
|
40
|
-
)
|
41
|
-
end
|
32
|
+
context "with repository names" do
|
33
|
+
subject { described_class.new(:repository_names => {:default => 'blogdb'}) }
|
42
34
|
|
43
35
|
it "should map the DataMapper repository names" do
|
44
|
-
|
36
|
+
subject.model_repository_name(Blog::User).should == 'blogdb'
|
45
37
|
end
|
46
38
|
end
|
47
39
|
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
:include => [File.join(project_dir('library'),'lib')],
|
52
|
-
:require => ['blog'],
|
40
|
+
context "with schema naming convention" do
|
41
|
+
subject do
|
42
|
+
described_class.new(
|
53
43
|
:repository_names => {:default => 'blogdb'},
|
54
|
-
:naming
|
44
|
+
:naming => :schema
|
55
45
|
)
|
56
46
|
end
|
57
47
|
|
58
48
|
it "should return the database and table names for a model name" do
|
59
|
-
|
49
|
+
subject.model_name(Blog::User).should == 'blogdb.blog_users'
|
60
50
|
end
|
61
51
|
end
|
62
52
|
|
63
|
-
|
64
|
-
|
65
|
-
@vis = DataMapper::Visualizer::Visualization.new(
|
66
|
-
:include => [File.join(project_dir('library'),'lib')],
|
67
|
-
:require => ['blog'],
|
68
|
-
:full_names => true
|
69
|
-
)
|
70
|
-
end
|
53
|
+
context "with full names" do
|
54
|
+
subject { described_class.new(:full_names => true) }
|
71
55
|
|
72
56
|
it "should not demodulize the names of Classes" do
|
73
|
-
|
57
|
+
subject.class_name(Blog::User).should == 'Blog::User'
|
74
58
|
end
|
75
59
|
|
76
60
|
it "should not demodulize the names of Objects" do
|
77
61
|
object = Blog::Post.new
|
78
62
|
|
79
|
-
|
63
|
+
subject.class_name(object).should == 'Blog::Post'
|
80
64
|
end
|
81
65
|
|
82
66
|
it "should not demodulize property type names" do
|
83
|
-
|
67
|
+
subject.property_type_name(Blog::Post.body).should =~ /::Text$/
|
84
68
|
end
|
85
69
|
|
86
70
|
it "should not demodulize model names" do
|
87
|
-
|
71
|
+
subject.model_name(Blog::User).should == 'Blog::User'
|
88
72
|
end
|
89
73
|
end
|
74
|
+
|
75
|
+
after(:all) { $LOAD_PATH.delete(lib_dir) }
|
90
76
|
end
|
metadata
CHANGED
@@ -1,164 +1,146 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: dm-visualizer
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 2
|
9
|
-
- 1
|
10
|
-
version: 0.2.1
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.2.2
|
5
|
+
prerelease:
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Postmodern
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
dependencies:
|
21
|
-
- !ruby/object:Gem::Dependency
|
22
|
-
prerelease: false
|
12
|
+
date: 2012-08-04 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
23
15
|
name: ruby-graphviz
|
24
|
-
|
25
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
26
17
|
none: false
|
27
|
-
requirements:
|
28
|
-
- -
|
29
|
-
- !ruby/object:Gem::Version
|
30
|
-
|
31
|
-
|
32
|
-
- 0
|
33
|
-
- 9
|
34
|
-
- 10
|
35
|
-
version: 0.9.10
|
36
|
-
version_requirements: *id001
|
37
|
-
- !ruby/object:Gem::Dependency
|
18
|
+
requirements:
|
19
|
+
- - ~>
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '1.0'
|
22
|
+
type: :runtime
|
38
23
|
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ~>
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '1.0'
|
30
|
+
- !ruby/object:Gem::Dependency
|
39
31
|
name: dm-core
|
40
|
-
|
41
|
-
requirement: &id002 !ruby/object:Gem::Requirement
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
42
33
|
none: false
|
43
|
-
requirements:
|
44
|
-
- -
|
45
|
-
- !ruby/object:Gem::Version
|
46
|
-
|
47
|
-
|
48
|
-
- 1
|
49
|
-
- 0
|
50
|
-
- 0
|
51
|
-
version: 1.0.0
|
52
|
-
version_requirements: *id002
|
53
|
-
- !ruby/object:Gem::Dependency
|
34
|
+
requirements:
|
35
|
+
- - ~>
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '1.0'
|
38
|
+
type: :runtime
|
54
39
|
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ~>
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '1.0'
|
46
|
+
- !ruby/object:Gem::Dependency
|
55
47
|
name: bundler
|
56
|
-
|
57
|
-
requirement: &id003 !ruby/object:Gem::Requirement
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
58
49
|
none: false
|
59
|
-
requirements:
|
50
|
+
requirements:
|
60
51
|
- - ~>
|
61
|
-
- !ruby/object:Gem::Version
|
62
|
-
|
63
|
-
|
64
|
-
- 1
|
65
|
-
- 0
|
66
|
-
- 0
|
67
|
-
version: 1.0.0
|
68
|
-
version_requirements: *id003
|
69
|
-
- !ruby/object:Gem::Dependency
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '1.0'
|
54
|
+
type: :development
|
70
55
|
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '1.0'
|
62
|
+
- !ruby/object:Gem::Dependency
|
71
63
|
name: yard
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ~>
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0.6'
|
72
70
|
type: :development
|
73
|
-
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
74
73
|
none: false
|
75
|
-
requirements:
|
74
|
+
requirements:
|
76
75
|
- - ~>
|
77
|
-
- !ruby/object:Gem::Version
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
version: 0.6.0
|
84
|
-
version_requirements: *id004
|
85
|
-
description: DataMapper Visualizer is both a library and a command-line utility for visualizing the Models, Properties and Relationships defined in a DataMapper based Ruby project.
|
86
|
-
email:
|
87
|
-
- postmodern.mod3@gmail.com
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0.6'
|
78
|
+
description: DataMapper Visualizer is both a library and a command-line utility for
|
79
|
+
visualizing the Models, Properties and Relationships defined in a DataMapper based
|
80
|
+
Ruby project.
|
81
|
+
email: postmodern.mod3@gmail.com
|
88
82
|
executables: []
|
89
|
-
|
90
83
|
extensions: []
|
91
|
-
|
92
|
-
extra_rdoc_files:
|
93
|
-
- README.md
|
94
|
-
files:
|
95
|
-
- lib/dm-visualizer/rake/graphviz_task.rb
|
96
|
-
- spec/dm_visualizer_spec.rb
|
97
|
-
- spec/helpers/projects/library/lib/blog/user.rb
|
84
|
+
extra_rdoc_files:
|
98
85
|
- ChangeLog.md
|
99
|
-
-
|
100
|
-
-
|
101
|
-
|
102
|
-
-
|
103
|
-
-
|
86
|
+
- LICENSE.txt
|
87
|
+
- README.md
|
88
|
+
files:
|
89
|
+
- .gitignore
|
90
|
+
- .rspec
|
104
91
|
- .yardopts
|
105
|
-
-
|
106
|
-
-
|
107
|
-
-
|
108
|
-
- dm-visualizer.gemspec
|
109
|
-
- lib/dm-visualizer/visualization.rb
|
92
|
+
- ChangeLog.md
|
93
|
+
- Gemfile
|
94
|
+
- LICENSE.txt
|
110
95
|
- README.md
|
111
96
|
- Rakefile
|
97
|
+
- dm-visualizer.gemspec
|
98
|
+
- gemspec.yml
|
112
99
|
- lib/dm-visualizer.rb
|
113
|
-
- Gemfile
|
114
|
-
- spec/helpers/projects/rails/app/models/comment.rb
|
115
100
|
- lib/dm-visualizer/graphviz.rb
|
116
|
-
-
|
117
|
-
-
|
101
|
+
- lib/dm-visualizer/project.rb
|
102
|
+
- lib/dm-visualizer/rake/graphviz_task.rb
|
103
|
+
- lib/dm-visualizer/rake/rails/graphviz_task.rb
|
104
|
+
- lib/dm-visualizer/rake/rails/tasks.rb
|
105
|
+
- lib/dm-visualizer/rake/task.rb
|
106
|
+
- lib/dm-visualizer/visualization.rb
|
107
|
+
- spec/dm_visualizer_spec.rb
|
118
108
|
- spec/helpers/project.rb
|
119
|
-
- spec/
|
109
|
+
- spec/helpers/projects/library/lib/blog.rb
|
120
110
|
- spec/helpers/projects/library/lib/blog/comment.rb
|
121
|
-
- .
|
122
|
-
-
|
123
|
-
-
|
111
|
+
- spec/helpers/projects/library/lib/blog/post.rb
|
112
|
+
- spec/helpers/projects/library/lib/blog/user.rb
|
113
|
+
- spec/helpers/projects/rails/app/models/comment.rb
|
114
|
+
- spec/helpers/projects/rails/app/models/post.rb
|
115
|
+
- spec/helpers/projects/rails/app/models/user.rb
|
124
116
|
- spec/project_examples.rb
|
125
|
-
|
126
|
-
|
127
|
-
|
117
|
+
- spec/project_spec.rb
|
118
|
+
- spec/spec_helper.rb
|
119
|
+
- spec/visualization_spec.rb
|
120
|
+
homepage: https://github.com/postmodern/dm-visualizer
|
121
|
+
licenses:
|
128
122
|
- MIT
|
129
123
|
post_install_message:
|
130
124
|
rdoc_options: []
|
131
|
-
|
132
|
-
require_paths:
|
125
|
+
require_paths:
|
133
126
|
- lib
|
134
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
127
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
135
128
|
none: false
|
136
|
-
requirements:
|
137
|
-
- -
|
138
|
-
- !ruby/object:Gem::Version
|
139
|
-
|
140
|
-
|
141
|
-
- 0
|
142
|
-
version: "0"
|
143
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
129
|
+
requirements:
|
130
|
+
- - ! '>='
|
131
|
+
- !ruby/object:Gem::Version
|
132
|
+
version: '0'
|
133
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
144
134
|
none: false
|
145
|
-
requirements:
|
146
|
-
- -
|
147
|
-
- !ruby/object:Gem::Version
|
148
|
-
|
149
|
-
segments:
|
150
|
-
- 1
|
151
|
-
- 3
|
152
|
-
- 6
|
153
|
-
version: 1.3.6
|
135
|
+
requirements:
|
136
|
+
- - ! '>='
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
154
139
|
requirements: []
|
155
|
-
|
156
|
-
|
157
|
-
rubygems_version: 1.3.7
|
140
|
+
rubyforge_project:
|
141
|
+
rubygems_version: 1.8.24
|
158
142
|
signing_key:
|
159
143
|
specification_version: 3
|
160
|
-
summary: Visualizes the Models, Properties and Relationships defined in a DataMapper
|
161
|
-
|
162
|
-
|
163
|
-
- spec/dm_visualizer_spec.rb
|
164
|
-
- spec/visualization_spec.rb
|
144
|
+
summary: Visualizes the Models, Properties and Relationships defined in a DataMapper
|
145
|
+
based Ruby project.
|
146
|
+
test_files: []
|