Module: CodeModels::ModelBuilding

Defined in:
lib/codemodels/model_building.rb

Constant Summary collapse

@@verbose =
false
@@max_nesting =
500

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.max_nestingObject

Returns the value of attribute max_nesting.



39
40
41
# File 'lib/codemodels/model_building.rb', line 39

def max_nesting
  @max_nesting
end

.verboseObject

Returns the value of attribute verbose.



38
39
40
# File 'lib/codemodels/model_building.rb', line 38

def verbose
  @verbose
end

Class Method Details

.generate_model_per_file(src, dest, &models_generator) ⇒ Object



65
66
67
68
69
70
71
72
73
# File 'lib/codemodels/model_building.rb', line 65

def self.generate_model_per_file(src,dest,&models_generator)
	if not File.exist? dest 
		verbose_warn "<Model from #{src}>"				
		m = models_generator.call(src)
		LightModels::Serialization.save_model(m,dest,@@max_nesting) if m			
	else
		verbose_warn "skipping #{src} because #{dest} found"
	end
end

.generate_models_in_dir(src, dest, src_extension, dest_extension, &model_creator) ⇒ Object



49
50
51
52
53
54
55
56
# File 'lib/codemodels/model_building.rb', line 49

def self.generate_models_in_dir(src,dest,src_extension,dest_extension,&model_creator)
	verbose_warn "== #{src} -> #{dest} =="
	FilesSource.new(src,src_extension).each do |f|		
		dest_name = FileMapper.new(src,dest,src_extension,dest_extension).map(f)
		verbose_warn "* #{f} --> #{dest_name}"
		generate_model_per_file(f,dest_name,&model_creator)
	end
end

.handle_model_per_file(src, model_handler, &models_generator) ⇒ Object



58
59
60
61
62
63
# File 'lib/codemodels/model_building.rb', line 58

def self.handle_model_per_file(src,model_handler,&models_generator)
	verbose_warn "<Model from #{src}>"
	
	m = models_generator.call(src)
	model_handler.call(src,m) if m
end

.verbose_warn(msg) ⇒ Object



45
46
47
# File 'lib/codemodels/model_building.rb', line 45

def self.verbose_warn(msg)
	warn(msg) if verbose
end