Module: LightModels::ModelBuilding
- Defined in:
- lib/lightmodels/model_building.rb
Class Attribute Summary collapse
-
.verbose ⇒ Object
Returns the value of attribute verbose.
Class Method Summary collapse
- .generate_model_per_file(src, dest, max_nesting = 500, error_handler = nil, &models_generator) ⇒ Object
- .generate_models_in_dir(src, dest, src_extension, dest_extension, max_nesting = 500, error_handler = nil, &model_creator) ⇒ Object
Class Attribute Details
.verbose ⇒ Object
Returns the value of attribute verbose.
8 9 10 |
# File 'lib/lightmodels/model_building.rb', line 8 def verbose @verbose end |
Class Method Details
.generate_model_per_file(src, dest, max_nesting = 500, error_handler = nil, &models_generator) ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/lightmodels/model_building.rb', line 28 def self.generate_model_per_file(src,dest,max_nesting=500,error_handler=nil,&models_generator) if not File.exist? dest puts "<Model from #{src}>" if error_handler begin m = models_generator.call(src) LightModels::Serialization.save_model(m,dest,max_nesting) rescue Exception => e error_handler.call(src,e) rescue error_handler.call(src,nil) end else m = models_generator.call(src) LightModels::Serialization.save_model(m,dest,max_nesting) end else puts "skipping #{src} because #{dest} found" if LightModels::ModelBuilding.verbose end end |
.generate_models_in_dir(src, dest, src_extension, dest_extension, max_nesting = 500, error_handler = nil, &model_creator) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/lightmodels/model_building.rb', line 11 def self.generate_models_in_dir(src,dest,src_extension,dest_extension,max_nesting=500,error_handler=nil,&model_creator) puts "== #{src} -> #{dest} ==" if LightModels::ModelBuilding.verbose Dir["#{src}/*"].each do |fd| if File.directory? fd basename = File.basename(fd) generate_models_in_dir("#{src}/#{basename}","#{dest}/#{basename}",src_extension,dest_extension,max_nesting,error_handler,&model_creator) else if File.extname(fd)==".#{src_extension}" translated_simple_name = "#{File.basename(fd, ".#{src_extension}")}.#{dest_extension}" translated_name = "#{dest}/#{translated_simple_name}" puts "* #{fd} --> #{translated_name}" if LightModels::ModelBuilding.verbose generate_model_per_file(fd,translated_name,max_nesting,error_handler,&model_creator) end end end end |