Sha256: f62ab437428016e07ed137650f21be29649d5f64236bee6fd23efba5d90e9a5f

Contents?: true

Size: 1.84 KB

Versions: 4

Compression:

Stored size: 1.84 KB

Contents

import com.google.apphosting.api.ApiProxy;
import java.io.FileInputStream
import java.util.Properties
import java.util.ArrayList
import java.lang.System

class InfoPropertiesController < ApplicationController

  # GET /info/properties
  def doGet(request, response)
    rows =  tr 'Mirah version',      build_info('mirah')
    rows += tr 'Bitescript version', build_info('bitescript')
    rows += tr 'Dubious version',    build_info('dubious')
    rows += tr 'MirahModel version', build_info('model')
    rows += tr 'Java version',    prop('java.specification.version'),
                                  prop('java.vm.version')
    rows += tr 'Java vm name',    prop('java.vm.name')
    rows += tr 'Environment',     prop('runtime.environment').toLowerCase
    rows += tr 'Runtime version', prop('runtime.version')
    rows += tr 'Auth domain',     ApiProxy.getCurrentEnvironment.getAuthDomain
    rows += tr 'App id',          prop('application.id')
    rows += tr 'App version',     prop('application.version')
    response.getWriter.write("<table><tbody>#{rows}</tbody></table>")
  end 

  def build_info(tool:String)
    out = String[2]
    props = Properties.new
    begin
      props.load(FileInputStream.new("config/build.properties"))
      out[0] = props.getProperty("#{tool}.version.commit").substring(0,7)
      out[1] = props.getProperty("#{tool}.version.time").substring(0,10)
    rescue
      out[0] = 'unknown'; out[1] = ""
    end
    out
  end

  def prop(s:String)
    s = "com.google.appengine.#{s}" unless s.startsWith('java.')
    System.getProperty(s) || ""
  end

  def tr(key:String, val:String)
    "<tr><td>#{key}</td><td colspan='2'>#{val}</td></tr>"
  end

  def tr(key:String, val:String, ext:String)
    "<tr><td>#{key}</td><td class='mono'>#{val}</td><td>#{ext}</td></tr>"
  end

  def tr(key:String, val:String[])
    tr(key, val[0], val[1])
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
dubious-0.0.3-java examples/contacts/app/controllers/info_properties_controller.mirah
dubious-0.0.2-java examples/contacts/app/controllers/info_properties_controller.mirah
dubious-0.0.1-java examples/contacts/app/controllers/info_properties_controller.mirah
dubious-0.0.0-java examples/contacts/app/controllers/info_properties_controller.mirah