royw-railroad_xing 0.5.0.2 → 0.5.1
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 +2 -0
- data/AUTHORS +13 -0
- data/INSTALL +66 -0
- data/Rakefile +48 -0
- data/VERSION +1 -0
- data/lib/railroad/merb_framework.rb +8 -1
- data/lib/railroad/rails_framework.rb +7 -1
- data/railroad_xing.gemspec +55 -31
- metadata +17 -12
data/.gitignore
ADDED
data/AUTHORS
ADDED
data/INSTALL
ADDED
@@ -0,0 +1,66 @@
|
|
1
|
+
Installation Instructions
|
2
|
+
|
3
|
+
1) Install railroad-0.5.0 gem:
|
4
|
+
|
5
|
+
sudo gem install railroad
|
6
|
+
|
7
|
+
2) Replace the railroad gem directory with this get repository:
|
8
|
+
|
9
|
+
# clone the repository
|
10
|
+
|
11
|
+
cd path/for/repository
|
12
|
+
git clone git://github.com/royw/railroad.git
|
13
|
+
|
14
|
+
# replace the railroad system gem
|
15
|
+
|
16
|
+
cd path/to/system/gems
|
17
|
+
sudo mv railroad-0.5.0 railroad-0.5.0.orig
|
18
|
+
sudo ln -s /path/for/repository/railroad railroad-0.5.0
|
19
|
+
|
20
|
+
That should do it.
|
21
|
+
|
22
|
+
|
23
|
+
Notes
|
24
|
+
|
25
|
+
1) Tested on Merb 1.0.4 and DataMapper 0.9.7.
|
26
|
+
|
27
|
+
2) Only generation for Models and Controllers is supported. The AASM is a rails plugin so did not support AASM graphs.
|
28
|
+
There is a similar plugin for datamapper (dm-is-state_machine) if anyone wants to tackle it.
|
29
|
+
|
30
|
+
3) One caveat, RailRoad needs to be installed as a system gem, not installed into your application. If you really must
|
31
|
+
have railroad installed as an application gem, then you will need to move:
|
32
|
+
|
33
|
+
from your_app/gems/gems/railroad-x.x.x/lib/railroad/merb_framework.rb:
|
34
|
+
|
35
|
+
require 'merb-core'
|
36
|
+
Merb.start_environment(:testing => true, :adapter => 'runner', :environment => ENV['MERB_ENV'] || 'test')
|
37
|
+
|
38
|
+
to your_app/bin/railroad after the require statements and before the gem directory stuff.
|
39
|
+
|
40
|
+
4) Example merb rake task:
|
41
|
+
|
42
|
+
your_app/lib/tasks/doc.rake:
|
43
|
+
|
44
|
+
namespace :diagram do
|
45
|
+
desc 'generate model diagrams'
|
46
|
+
task :models do
|
47
|
+
sh "railroad -i -l -a -m -M | neato -Tsvg | sed 's/font-size:14.00/font-size:11.00/g' >
|
48
|
+
doc/models.svg"
|
49
|
+
end
|
50
|
+
|
51
|
+
desc 'generate controller diagrams'
|
52
|
+
task :controllers do
|
53
|
+
sh "railroad -i -l -C | neato -Tsvg | sed 's/font-size:14.00/font-size:11.00/g' >
|
54
|
+
doc/controllers.svg"
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
desc 'generate model and controller diagrams'
|
59
|
+
task :diagrams => %w(diagram:models diagram:controllers)
|
60
|
+
|
61
|
+
|
62
|
+
5) The merb environment detection assumes that your application has a merb sub-directory (your_app/merb/). The current version of merb-gen does create this sub-directory but older projects may need to:
|
63
|
+
|
64
|
+
cd your_app
|
65
|
+
touch merb
|
66
|
+
|
data/Rakefile
ADDED
@@ -0,0 +1,48 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'rake'
|
3
|
+
|
4
|
+
begin
|
5
|
+
require 'jeweler'
|
6
|
+
Jeweler::Tasks.new do |gem|
|
7
|
+
gem.name = "railroad_xing"
|
8
|
+
gem.summary = %Q{A DOT diagram generator for Ruby web applications (Rails, Merb)}
|
9
|
+
gem.email = "roy@wright.org"
|
10
|
+
gem.homepage = "http://github.com/royw/railroad_xing"
|
11
|
+
gem.authors = ["royw"]
|
12
|
+
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
|
13
|
+
end
|
14
|
+
|
15
|
+
rescue LoadError
|
16
|
+
puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
|
17
|
+
end
|
18
|
+
|
19
|
+
require 'spec/rake/spectask'
|
20
|
+
Spec::Rake::SpecTask.new(:spec) do |spec|
|
21
|
+
spec.libs << 'lib' << 'spec'
|
22
|
+
spec.spec_files = FileList['spec/**/*_spec.rb']
|
23
|
+
end
|
24
|
+
|
25
|
+
Spec::Rake::SpecTask.new(:rcov) do |spec|
|
26
|
+
spec.libs << 'lib' << 'spec'
|
27
|
+
spec.pattern = 'spec/**/*_spec.rb'
|
28
|
+
spec.rcov = true
|
29
|
+
end
|
30
|
+
|
31
|
+
|
32
|
+
task :default => :spec
|
33
|
+
|
34
|
+
require 'rake/rdoctask'
|
35
|
+
Rake::RDocTask.new do |rdoc|
|
36
|
+
if File.exist?('VERSION.yml')
|
37
|
+
config = YAML.load(File.read('VERSION.yml'))
|
38
|
+
version = "#{config[:major]}.#{config[:minor]}.#{config[:patch]}"
|
39
|
+
else
|
40
|
+
version = ""
|
41
|
+
end
|
42
|
+
|
43
|
+
rdoc.rdoc_dir = 'rdoc'
|
44
|
+
rdoc.title = "spec2merb #{version}"
|
45
|
+
rdoc.rdoc_files.include('README*')
|
46
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
47
|
+
end
|
48
|
+
|
data/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
0.5.1
|
@@ -37,7 +37,14 @@ class MerbFramework
|
|
37
37
|
|
38
38
|
# Extract class name from filename
|
39
39
|
def extract_class_name(filename)
|
40
|
-
|
40
|
+
# handle subdirectories as modules
|
41
|
+
# i.e., app/controllers/foo/bar.rb => Foo::Bar
|
42
|
+
if filename =~ /^app\/controllers\/(.*)\.rb$/
|
43
|
+
class_name = $1.split('/').collect {|part| part.camel_case}.join('::')
|
44
|
+
else
|
45
|
+
class_name = File.basename(filename).chomp(".rb").camel_case
|
46
|
+
end
|
47
|
+
class_name
|
41
48
|
end
|
42
49
|
|
43
50
|
# convert the give string to a constant
|
@@ -28,7 +28,13 @@ class RailsFramework
|
|
28
28
|
|
29
29
|
# Extract class name from filename
|
30
30
|
def extract_class_name(filename)
|
31
|
-
|
31
|
+
# handle subdirectories as modules
|
32
|
+
# i.e., app/controllers/foo/bar.rb => Foo::Bar
|
33
|
+
if filename =~ /^app\/controllers\/(.*)\.rb$/
|
34
|
+
class_name = $1.split('/').collect {|part| part.camel_case}.join('::')
|
35
|
+
else
|
36
|
+
class_name = File.basename(filename).chomp(".rb").camel_case
|
37
|
+
end
|
32
38
|
|
33
39
|
if filename == 'app/controllers/application.rb'
|
34
40
|
# ApplicationController's file is 'application.rb'
|
data/railroad_xing.gemspec
CHANGED
@@ -1,32 +1,56 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
s.
|
5
|
-
s.
|
6
|
-
|
7
|
-
|
8
|
-
s.
|
9
|
-
s.
|
10
|
-
s.
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
|
3
|
+
Gem::Specification.new do |s|
|
4
|
+
s.name = %q{railroad_xing}
|
5
|
+
s.version = "0.5.1"
|
6
|
+
|
7
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
|
+
s.authors = ["royw"]
|
9
|
+
s.date = %q{2009-06-06}
|
10
|
+
s.default_executable = %q{railroad}
|
11
|
+
s.email = %q{roy@wright.org}
|
12
|
+
s.executables = ["railroad"]
|
13
|
+
s.extra_rdoc_files = [
|
14
|
+
"ChangeLog",
|
15
|
+
"README"
|
16
|
+
]
|
17
|
+
s.files = [
|
18
|
+
".gitignore",
|
19
|
+
"AUTHORS",
|
20
|
+
"COPYING",
|
21
|
+
"ChangeLog",
|
22
|
+
"INSTALL",
|
23
|
+
"README",
|
24
|
+
"Rakefile",
|
25
|
+
"VERSION",
|
26
|
+
"bin/railroad",
|
27
|
+
"lib/railroad/aasm_diagram.rb",
|
28
|
+
"lib/railroad/app_diagram.rb",
|
29
|
+
"lib/railroad/ar_model.rb",
|
30
|
+
"lib/railroad/controllers_diagram.rb",
|
31
|
+
"lib/railroad/diagram_graph.rb",
|
32
|
+
"lib/railroad/dm_model.rb",
|
33
|
+
"lib/railroad/framework_factory.rb",
|
34
|
+
"lib/railroad/merb_framework.rb",
|
35
|
+
"lib/railroad/model_factory.rb",
|
36
|
+
"lib/railroad/models_diagram.rb",
|
37
|
+
"lib/railroad/options_struct.rb",
|
38
|
+
"lib/railroad/rails_framework.rb",
|
39
|
+
"railroad_xing.gemspec"
|
40
|
+
]
|
41
|
+
s.homepage = %q{http://github.com/royw/railroad_xing}
|
42
|
+
s.rdoc_options = ["--charset=UTF-8"]
|
43
|
+
s.require_paths = ["lib"]
|
44
|
+
s.rubygems_version = %q{1.3.4}
|
45
|
+
s.summary = %q{A DOT diagram generator for Ruby web applications (Rails, Merb)}
|
46
|
+
|
47
|
+
if s.respond_to? :specification_version then
|
48
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
49
|
+
s.specification_version = 3
|
50
|
+
|
51
|
+
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
52
|
+
else
|
53
|
+
end
|
54
|
+
else
|
55
|
+
end
|
32
56
|
end
|
metadata
CHANGED
@@ -1,16 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: royw-railroad_xing
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
8
|
-
- Roy Wright
|
7
|
+
- royw
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
11
|
|
13
|
-
date: 2009-
|
12
|
+
date: 2009-06-06 00:00:00 -07:00
|
14
13
|
default_executable: railroad
|
15
14
|
dependencies: []
|
16
15
|
|
@@ -21,12 +20,18 @@ executables:
|
|
21
20
|
extensions: []
|
22
21
|
|
23
22
|
extra_rdoc_files:
|
23
|
+
- ChangeLog
|
24
24
|
- README
|
25
|
-
- COPYING
|
26
25
|
files:
|
27
|
-
-
|
26
|
+
- .gitignore
|
27
|
+
- AUTHORS
|
28
28
|
- COPYING
|
29
|
-
-
|
29
|
+
- ChangeLog
|
30
|
+
- INSTALL
|
31
|
+
- README
|
32
|
+
- Rakefile
|
33
|
+
- VERSION
|
34
|
+
- bin/railroad
|
30
35
|
- lib/railroad/aasm_diagram.rb
|
31
36
|
- lib/railroad/app_diagram.rb
|
32
37
|
- lib/railroad/ar_model.rb
|
@@ -39,12 +44,12 @@ files:
|
|
39
44
|
- lib/railroad/models_diagram.rb
|
40
45
|
- lib/railroad/options_struct.rb
|
41
46
|
- lib/railroad/rails_framework.rb
|
42
|
-
-
|
43
|
-
has_rdoc:
|
47
|
+
- railroad_xing.gemspec
|
48
|
+
has_rdoc: false
|
44
49
|
homepage: http://github.com/royw/railroad_xing
|
45
50
|
post_install_message:
|
46
|
-
rdoc_options:
|
47
|
-
|
51
|
+
rdoc_options:
|
52
|
+
- --charset=UTF-8
|
48
53
|
require_paths:
|
49
54
|
- lib
|
50
55
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -64,7 +69,7 @@ requirements: []
|
|
64
69
|
rubyforge_project:
|
65
70
|
rubygems_version: 1.2.0
|
66
71
|
signing_key:
|
67
|
-
specification_version:
|
72
|
+
specification_version: 3
|
68
73
|
summary: A DOT diagram generator for Ruby web applications (Rails, Merb)
|
69
74
|
test_files: []
|
70
75
|
|