On this page
module Rails::Info
This module helps build the runtime properties used to display in the Rails::InfoController responses. Including the active Rails version, Ruby version, Rack version, and so on.
Public Class Methods
inspect()
Alias for: to_s
# File railties/lib/rails/info.rb, line 22
def property(name, value = nil)
value ||= yield
properties << [name, value] if value
rescue Exception
end
# File railties/lib/rails/info.rb, line 40
def to_html
'<table>'.tap do |table|
properties.each do |(name, value)|
table << %Q(<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 << %Q(<td class="value">#{formatted_value}</td></tr>)
end
table << '</table>'
end
end
# File railties/lib/rails/info.rb, line 28
def to_s
column_width = properties.names.map {|name| name.length}.max
info = properties.map do |name, value|
value = value.join(", ") if value.is_a?(Array)
"%-#{column_width}s %s" % [name, value]
end
info.unshift "About your application's environment"
info * "\n"
end
Also aliased as: inspect
© 2004–2018 David Heinemeier Hansson
Licensed under the MIT License.