ddollar-railroad 0.7.1.1 → 0.7.3

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.
@@ -6,7 +6,7 @@
6
6
 
7
7
  # RailRoad controllers diagram
8
8
  class ControllersDiagram < AppDiagram
9
-
9
+
10
10
  def initialize(options)
11
11
  #options.exclude.map! {|e| "app/controllers/" + e}
12
12
  super options
@@ -18,13 +18,10 @@ class ControllersDiagram < AppDiagram
18
18
  STDERR.print "Generating controllers diagram\n" if @options.verbose
19
19
 
20
20
  files = Dir.glob("app/controllers/**/*_controller.rb") - @options.exclude
21
- files << 'app/controllers/application.rb'
22
21
  files.each do |f|
23
22
  class_name = extract_class_name('app/controllers/', f)
24
- # ApplicationController's file is 'application.rb'
25
- class_name += 'Controller' if class_name == 'Application'
26
23
  process_class class_name.constantize
27
- end
24
+ end
28
25
  end # generate
29
26
 
30
27
  private
@@ -34,7 +31,7 @@ class ControllersDiagram < AppDiagram
34
31
  begin
35
32
  disable_stdout
36
33
  # ApplicationController must be loaded first
37
- require "app/controllers/application.rb"
34
+ require "app/controllers/application_controller.rb"
38
35
  files = Dir.glob("app/controllers/**/*_controller.rb") - @options.exclude
39
36
  files.each {|c| require c }
40
37
  enable_stdout
@@ -52,19 +49,19 @@ class ControllersDiagram < AppDiagram
52
49
 
53
50
  if @options.brief
54
51
  @graph.add_node ['controller-brief', current_class.name]
55
- elsif current_class.is_a? Class
52
+ elsif current_class.is_a? Class
56
53
  # Collect controller's methods
57
- node_attribs = {:public => [],
58
- :protected => [],
54
+ node_attribs = {:public => [],
55
+ :protected => [],
59
56
  :private => []}
60
57
  current_class.public_instance_methods(false).sort.each { |m|
61
- node_attribs[:public] << m
58
+ process_method(node_attribs[:public], m)
62
59
  } unless @options.hide_public
63
60
  current_class.protected_instance_methods(false).sort.each { |m|
64
- node_attribs[:protected] << m
61
+ process_method(node_attribs[:protected], m)
65
62
  } unless @options.hide_protected
66
63
  current_class.private_instance_methods(false).sort.each { |m|
67
- node_attribs[:private] << m
64
+ process_method(node_attribs[:private], m)
68
65
  } unless @options.hide_private
69
66
  @graph.add_node ['controller', current_class.name, node_attribs]
70
67
  elsif @options.modules && current_class.is_a?(Module)
@@ -72,10 +69,16 @@ class ControllersDiagram < AppDiagram
72
69
  end
73
70
 
74
71
  # Generate the inheritance edge (only for ApplicationControllers)
75
- if @options.inheritance &&
72
+ if @options.inheritance &&
76
73
  (ApplicationController.subclasses.include? current_class.name)
77
74
  @graph.add_edge ['is-a', current_class.superclass.name, current_class.name]
78
75
  end
79
76
  end # process_class
80
77
 
78
+ # Process a method
79
+ def process_method(attribs, method)
80
+ return if @options.hide_underscore && method[0..0] == '_'
81
+ attribs << method
82
+ end
83
+
81
84
  end # class ControllersDiagram
@@ -62,7 +62,6 @@ class ModelsDiagram < AppDiagram
62
62
  disable_stdout
63
63
  files = Dir.glob("app/models/**/*.rb")
64
64
  files += Dir.glob("vendor/plugins/**/app/models/*.rb") if @options.plugins_models
65
- files += ["lib/search.rb"]
66
65
  files -= @options.exclude
67
66
  files.each do |m|
68
67
  require m
@@ -25,6 +25,7 @@ class OptionsStruct < OpenStruct
25
25
  :hide_public => false,
26
26
  :hide_protected => false,
27
27
  :hide_private => false,
28
+ :hide_underscore => false,
28
29
  :plugins_models => false,
29
30
  :libraries => false,
30
31
  :root => '',
@@ -110,6 +111,9 @@ class OptionsStruct < OpenStruct
110
111
  opts.on("--hide-private", "Hide private methods") do |h|
111
112
  self.hide_private = h
112
113
  end
114
+ opts.on("--hide-underscore", "Hide methods that begin with an underscore") do |h|
115
+ self.hide_underscore = h
116
+ end
113
117
  opts.separator ""
114
118
  opts.separator "Other options:"
115
119
  opts.on("-h", "--help", "Show this message") do
data/lib/railroad.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  APP_NAME = "railroad"
2
2
  APP_HUMAN_NAME = "RailRoad"
3
- APP_VERSION = [0,7,1]
3
+ APP_VERSION = [0,7,3]
4
4
  COPYRIGHT = "Copyright (C) 2007-2008 Javier Smaldone"
5
5
 
6
6
  require 'railroad/options_struct'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ddollar-railroad
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.1.1
4
+ version: 0.7.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Javier Smaldone
@@ -10,16 +10,17 @@ authors:
10
10
  - Factory Design Labs
11
11
  - Mike Mondragon
12
12
  - Tero Tilus
13
+ - David Dollar
13
14
  autorequire:
14
15
  bindir: bin
15
16
  cert_chain: []
16
17
 
17
- date: 2009-02-13 00:00:00 -08:00
18
+ date: 2009-02-18 00:00:00 -08:00
18
19
  default_executable: railroad
19
20
  dependencies:
20
21
  - !ruby/object:Gem::Dependency
21
22
  name: hoe
22
- type: :runtime
23
+ type: :development
23
24
  version_requirement:
24
25
  version_requirements: !ruby/object:Gem::Requirement
25
26
  requirements: