class Ar2gostruct::Gostruct
Attributes
model_dir[RW]
models[RW]
Public Class Methods
new(model_dir)
click to toggle source
# File lib/ar2gostruct/gostruct.rb 3 def initialize(model_dir) 4 @model_dir = model_dir 5 get_models 6 puts "package #{ENV["package"]}\n\n" unless ENV["package"].blank? 7 end
Public Instance Methods
convert!()
click to toggle source
# File lib/ar2gostruct/gostruct.rb 10 def convert! 11 self.models.each do |m| 12 class_name = m.sub(/\.rb$/,'').camelize 13 begin 14 klass = class_name.split('::').inject(Object){ |klass,part| klass.const_get(part) } 15 if klass < ActiveRecord::Base && !klass.abstract_class? 16 convert_to_gostruct!(klass) 17 end 18 rescue Exception => e 19 puts "// Unable to convert #{class_name}: #{e.message}" 20 end 21 end 22 end
Private Instance Methods
convert_to_gostruct!(klass)
click to toggle source
# File lib/ar2gostruct/gostruct.rb 32 def convert_to_gostruct!(klass) 33 converter = Converter.new klass, :plural => ENV["plural"], :orm => ENV["orm"], :association => ENV["association"] 34 info = converter.convert! 35 model_file_name = File.join(self.model_dir, klass.name.underscore + ".rb") 36 puts "// #{model_file_name}" 37 puts info 38 end
get_models()
click to toggle source
# File lib/ar2gostruct/gostruct.rb 26 def get_models 27 Dir.chdir(self.model_dir) do 28 self.models = Dir["**/*.rb"] 29 end 30 end