class Mobiorm
Constants
- HTTP_SERVICE
- MOBIORM_VERSION
- VERTABELO_API_XML
Public Class Methods
downloadModel(token, id, tag)
click to toggle source
# File lib/mobiorm.rb, line 14 def self.downloadModel(token, id, tag) RestClient::Resource.new(VERTABELO_API_XML + id + (tag ? "/" + tag : ""), token, "") { |response, request, result, &block| case response.code when 200 response else abort "Could not download you model, HTTP request ended with code: " + response.code.to_s + "." end } end
generateOrm(file, platform, classPrefix, propertyPrefix, package)
click to toggle source
# File lib/mobiorm.rb, line 26 def self.generateOrm(file, platform, classPrefix, propertyPrefix, package) parameters = Hash.new parameters['vertabeloXML'] = file if platform == "objectivec" if propertyPrefix parameters['propertyPrefix'] = propertyPrefix end if classPrefix parameters['classPrefix'] = classPrefix end elsif platform == "android" if package parameters['package'] = package end end RestClient.post(HTTP_SERVICE + platform, parameters) { |response, request, result, &block| case response.code when 200 response else abort "Generation unsuccessful, HTTP request ended with code: " + response.code.to_s + "." end } end
getOrm(file, path, platform, classPrefix, propertyPrefix, package)
click to toggle source
# File lib/mobiorm.rb, line 67 def self.getOrm(file, path, platform, classPrefix, propertyPrefix, package) response = JSON.parse(generateOrm(file, platform, classPrefix, propertyPrefix, package)) if response["status"] == "OK" response["result"]["errors"].each do |error| puts "ERROR: " + error end response["result"]["warnings"].each do |warning| puts "WARNING: " + warning end self.saveOrm(response["result"]["content"], path) puts puts "Generation successful, files saved in: " + path puts elsif response["status"] == "ERROR" abort "Error during ORM generation: " + response["result"]["error"] else abort "Error during ORM generation" end end
getOrmFromFile(dest, platform, xml, classPrefix, propertyPrefix, package)
click to toggle source
# File lib/mobiorm.rb, line 97 def self.getOrmFromFile(dest, platform, xml, classPrefix, propertyPrefix, package) path = "" + dest + "/" File.open(xml) do |f| self.getOrm(f, path, platform, classPrefix, propertyPrefix, package) end end
getOrmFromVertabelo(dest, platform, token, id, tag, classPrefix, propertyPrefix, package)
click to toggle source
# File lib/mobiorm.rb, line 87 def self.getOrmFromVertabelo(dest, platform, token, id, tag, classPrefix, propertyPrefix, package) path = "" + dest + "/" resource = self.downloadModel(token, id, tag) Tempfile.open("temp.xml") do |f| f.write(resource.get) f.rewind self.getOrm(f, path, platform, classPrefix, propertyPrefix, package) end end
saveOrm(response, path)
click to toggle source
# File lib/mobiorm.rb, line 55 def self.saveOrm(response, path) Zip::Archive.open_buffer(Base64.decode64(response)) do |archive| archive.each do |entry| if not entry.directory? open(path + File.basename(entry.name), "wb") do |f| f << entry.read end end end end end