Class: AasmDiagram
- Inherits:
-
AppDiagram
- Object
- AppDiagram
- AasmDiagram
- Defined in:
- lib/railroady/aasm_diagram.rb
Overview
Diagram for Acts As State Machine
Instance Method Summary collapse
-
#generate ⇒ Object
Process model files.
- #get_files(prefix = '') ⇒ Object
-
#initialize(options = OptionsStruct.new) ⇒ AasmDiagram
constructor
A new instance of AasmDiagram.
Methods inherited from AppDiagram
Constructor Details
#initialize(options = OptionsStruct.new) ⇒ AasmDiagram
Returns a new instance of AasmDiagram.
13 14 15 16 17 18 19 |
# File 'lib/railroady/aasm_diagram.rb', line 13 def initialize( = OptionsStruct.new) # options.exclude.map! {|e| e = "app/models/" + e} super @graph.diagram_type = 'Models' # Processed habtm associations @habtm = [] end |
Instance Method Details
#generate ⇒ Object
Process model files
22 23 24 25 26 27 |
# File 'lib/railroady/aasm_diagram.rb', line 22 def generate STDERR.print "Generating AASM diagram\n" if @options.verbose get_files.each do |f| process_class extract_class_name(f).constantize end end |
#get_files(prefix = '') ⇒ Object
29 30 31 32 33 34 35 |
# File 'lib/railroady/aasm_diagram.rb', line 29 def get_files(prefix = '') files = !@options.specify.empty? ? Dir.glob(@options.specify) : Dir.glob(prefix + 'app/models/**/*.rb') files += Dir.glob('vendor/plugins/**/app/models/*.rb') if @options.plugins_models files -= Dir.glob(prefix + 'app/models/concerns/**/*.rb') unless @options.include_concerns files -= Dir.glob(@options.exclude) files end |