Module: CodeModels::Serialization

Defined in:
lib/codemodels/serialization.rb

Defined Under Namespace

Modules: SerializationFunctionalities

Class Method Summary collapse

Class Method Details

.load_file(path, max_nesting = 500) ⇒ Object



110
111
112
# File 'lib/codemodels/serialization.rb', line 110

def self.load_file(path,max_nesting=500)
	JSON.parse(File.read(path),{max_nesting: max_nesting})
end

.rgenobject_to_model(root, adapters = {}) ⇒ Object



123
124
125
126
127
128
129
130
131
132
133
134
# File 'lib/codemodels/serialization.rb', line 123

def self.rgenobject_to_model(root,adapters={})
	model = {}
	external_elements = []

	sm = SerializationFunctionalities::SerializationMemory.new
	model['root'] = root.to_json(sm,adapters)
	model['external_elements'] = []
	external_elements.each do |ee|
		model['external_elements'] << ee.to_json(sm,adapters)
	end
	model
end

.save_as_model(root, model_path) ⇒ Object



136
137
138
139
# File 'lib/codemodels/serialization.rb', line 136

def self.save_as_model(root,model_path)
	model = to_model(root)
	save_model(model,model_path)
end

.save_model(model, model_path, max_nesting = 500) ⇒ Object



114
115
116
117
118
119
120
121
# File 'lib/codemodels/serialization.rb', line 114

def self.save_model(model,model_path, max_nesting=500)
	dir = File.dirname(model_path)
	FileUtils.mkdir_p(dir) 

	File.open(model_path, 'w') do |file| 		
		file.write(JSON.pretty_generate(model, :max_nesting => max_nesting))
	end
end