Sha256: 063bdbdabc0d2c5b06a3a2f2982ce36e1927b483b6dd6224754978c65059fa1f
Contents?: true
Size: 1.6 KB
Versions: 2
Compression:
Stored size: 1.6 KB
Contents
class ExpressTranslate::ServicesController < ExpressTranslate::BaseController require 'redis' include ExpressTranslate # SERVICE def service_languages respond_to do |format| format.json do package = Package.find(params[:package]) render :json => package.present? ? {success: true, languages: package["language"], name: package["text"], id: package["id"]} : {success: false, error: "Package is not found!"} end end end def service_language respond_to do |format| format.json do @data = {} keys = Database.redis.keys("#{params[:packages]}#{params[:language]}.*") keys.sort! keys.each do |key| service_language_detail(key) end render :json => @data end end end private def service_language_detail(key) path = key.split(".") i = path.count - 1 items = [i] items[i-1] = {"#{path[i]}"=> Database.redis.get(key)} i-=1 while i > 0 do items[i-1] = {"#{path[i]}"=> items[i]} i-=1 end extendObjects(@data, items[0]) end def extendObjects(obj1, obj2) if obj1.is_a?(String) if obj2.is_a?(String) obj1 = obj2 elsif obj2.is_a?(Object) obj2.each do |key2, val2| obj1 = {} obj1[key2] = val2 end end elsif obj1.is_a?(Object) and obj2.is_a?(Object) obj2.each do |key2, val2| if obj1[key2].nil? obj1[key2] = obj2[key2] else obj1[key2] = extendObjects(obj1[key2], obj2[key2]) end end end return obj1 end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
express_translate-1.0 | app/controllers/express_translate/services_controller.rb |
express_translate-1.0.0.0 | app/controllers/express_translate/services_controller.rb |