module DrawMe
Constants
- VERSION
Public Instance Methods
draw_all()
click to toggle source
# File lib/draw_me.rb, line 36 def draw_all ["#{Rails.root}/app/models"].each do |path| Dir.foreach(path) do |model_path| namez = model_path.split("_").map{|x| x.capitalize}.join.gsub(".rb", "") if (namez =~ /[a-zA-Z]/) != nil && (model_path =~ /.rb/) != nil namez = "Rfq::" + namez if (path =~ /rfq/) != nil puts namez # Looking for model with AASM only hm = "#{namez}.try(:aasm)" puts hm tmp = eval(hm) if tmp puts model_path puts namez tmp = eval(namez) tmp = tmp.new tmp.draw_me end end end end end
draw_me()
click to toggle source
# File lib/draw_me.rb, line 7 def draw_me self_class = self.class.name.gsub("Rfq::", "") tmp = "class #{(self_class.downcase).capitalize}Graph < ApplicationRecord \n" tmp << " self.table_name = '#{self.class.table_name}' \n" tmp << " enum aasm_state: {#{self.aasm.states.map.with_index{|x,i| "#{x.name}: #{i}" }.join(', ')}} do \n" self.class.aasm.events.each_with_index do |event,i| # puts event.inspect # next if i > 0 next if event.transitions.count == 0 tmp << " event :#{event.name} do \n" event.transitions.each do |transition| tmp << " transition :#{transition.from} => :#{transition.to} \n" end tmp << " end \n\n" end tmp << " end \n" tmp << "end" # File.open("/lib/graph/") # IO.write("#{Rails.root}/lib/graph/#{self_class}.rb", tmp) file = "#{Rails.root}/app/models/#{self_class.downcase}_graph.rb" File.open("#{file}", 'w+') {|f| f.write(tmp) } puts "#{self_class.downcase}_graph" %x[ DEST_DIR=doc rails g stateful_enum:graph #{(self_class.downcase).capitalize}_graph ] File.delete(file) # puts tmp end