Sha256: 8512cae68659cbaccdbb5dc3adc63305da33138b873d4c101458f43c41073c88
Contents?: true
Size: 1.41 KB
Versions: 15
Compression:
Stored size: 1.41 KB
Contents
class Lolita::InfoController < ApplicationController @@properties = [] include Lolita::Controllers::AuthenticationHelpers def index if Lolita.mappings.any? available_mapping = Lolita.mappings.detect{|name,mapping| authorization_proxy.can?(:read,mapping.to) } available_mapping &&= available_mapping.last return redirect_to(lolita_resources_path(available_mapping)) if available_mapping end render :layout => false end def properties if request.local? render :inline => to_html else render :text => '<p>For security purposes, this information is only available to local requests.</p>', :status => :forbidden end end def is_lolita_resource? true end private def self.property(name, value = nil) value ||= yield @@properties << [name, value] if value rescue Exception end def to_html (table = '<table>').tap do @@properties.each do |(name, value)| table << %(<tr><td class="name">#{CGI.escapeHTML(name.to_s)}</td>) formatted_value = if value.kind_of?(Array) "<ul>" + value.map { |v| "<li>#{CGI.escapeHTML(v.to_s)}</li>" }.join + "</ul>" else CGI.escapeHTML(value.to_s) end table << %(<td class="value">#{formatted_value}</td></tr>) end table << '</table>' end end property 'Lolita version', "#{Lolita::Version}" end
Version data entries
15 entries across 15 versions & 1 rubygems