lib/railroady/app_diagram.rb in railroady-1.3.0 vs lib/railroady/app_diagram.rb in railroady-1.3.1
- old
+ new
@@ -6,18 +6,16 @@
require 'railroady/diagram_graph'
# Root class for RailRoady diagrams
class AppDiagram
-
def initialize(options = OptionsStruct.new)
@options = options
@graph = DiagramGraph.new
@graph.show_label = @options.label
@graph.alphabetize = @options.alphabetize
end
-
# Print diagram
def print
if @options.output
old_stdout = STDOUT.dup
@@ -26,32 +24,30 @@
rescue
STDERR.print "Error: Cannot write diagram to #{@options.output}\n\n"
exit 2
end
end
-
- if @options.xmi
- STDERR.print "Generating XMI diagram\n" if @options.verbose
- STDOUT.print @graph.to_xmi
+
+ if @options.xmi
+ STDERR.print "Generating XMI diagram\n" if @options.verbose
+ STDOUT.print @graph.to_xmi
else
- STDERR.print "Generating DOT graph\n" if @options.verbose
- STDOUT.print @graph.to_dot
+ STDERR.print "Generating DOT graph\n" if @options.verbose
+ STDOUT.print @graph.to_dot
end
- if @options.output
- STDOUT.reopen(old_stdout)
- end
+ STDOUT.reopen(old_stdout) if @options.output
end # print
def process
load_environment
end
# get all engines
def engines
engines = []
-
+
if defined?(Rails)
engines = if Rails::Application::Railties.respond_to?(:engines)
Rails::Application::Railties.engines
else
# rails 4 way of getting engines
@@ -59,52 +55,49 @@
end
end
engines
end
+ private
- private
-
# Load Rails application's environment
def load_environment
STDERR.print "Loading application environment\n" if @options.verbose
begin
disable_stdout
l = File.join(Dir.pwd.to_s, @options.config_file)
require l
enable_stdout
rescue LoadError
enable_stdout
- print_error "application environment"
+ print_error 'application environment'
raise
end
STDERR.print "Loading application classes as we go\n" if @options.verbose
end
# Prevents Rails application from writing to STDOUT
def disable_stdout
@old_stdout = STDOUT.dup
- #via Tomas Matousek, http://www.ruby-forum.com/topic/205887
- STDOUT.reopen(::RUBY_PLATFORM =~ /djgpp|(cyg|ms|bcc)win|mingw/? "NUL" : "/dev/null")
+ # via Tomas Matousek, http://www.ruby-forum.com/topic/205887
+ STDOUT.reopen(::RUBY_PLATFORM =~ /djgpp|(cyg|ms|bcc)win|mingw/ ? 'NUL' : '/dev/null')
end
- # Restore STDOUT
+ # Restore STDOUT
def enable_stdout
STDOUT.reopen(@old_stdout)
end
-
# Print error when loading Rails application
def print_error(type)
- STDERR.print "Error loading #{type}.\n (Are you running " +
+ STDERR.print "Error loading #{type}.\n (Are you running " \
"#{@options.app_name} on the aplication's root directory?)\n\n"
end
# Extract class name from filename
def extract_class_name(filename)
- #filename.split('/')[2..-1].join('/').split('.').first.camelize
+ # filename.split('/')[2..-1].join('/').split('.').first.camelize
# Fixed by patch from ticket #12742
# File.basename(filename).chomp(".rb").camelize
- filename.split('/')[2..-1].collect { |i| i.camelize }.join('::').chomp(".rb")
+ filename.split('/')[2..-1].collect(&:camelize).join('::').chomp('.rb')
end
-
end # class AppDiagram