Class: Statemachine::Generate::DotGraph::DotGraphStatemachine

Inherits:
Object
  • Object
show all
Includes:
Util
Defined in:
lib/statemachine/generate/dot_graph/dot_graph_statemachine.rb

Instance Method Summary collapse

Methods included from Util

#create_file, #endl, #establish_directory, #say, #timestamp

Constructor Details

#initialize(sm, options) ⇒ DotGraphStatemachine

Returns a new instance of DotGraphStatemachine.



23
24
25
26
27
28
# File 'lib/statemachine/generate/dot_graph/dot_graph_statemachine.rb', line 23

def initialize(sm, options)
  @sm = sm
  @output_dir = options[:output]
  raise "Please specify an output directory. (:output => 'where/you/want/your/code')" if @output_dir.nil?
  raise "Output dir '#{@output_dir}' doesn't exist." if !File.exist?(@output_dir)
end

Instance Method Details

#generate!Object



30
31
32
33
34
35
36
# File 'lib/statemachine/generate/dot_graph/dot_graph_statemachine.rb', line 30

def generate!
  explore_sm
  save_output(src_file("main"), build_full_graph)
  @sm.states.values.each do |state|
    save_output(src_file("#{state.id}"), build_state_graph(state))
  end
end