diff --git a/lib/redmine/info.rb b/lib/redmine/info.rb index 0e00e8b85..98df8d20b 100644 --- a/lib/redmine/info.rb +++ b/lib/redmine/info.rb @@ -5,6 +5,25 @@ module Redmine def url; 'http://www.redmine.org/' end def help_url; 'http://www.redmine.org/guide' end def versioned_name; "#{app_name} #{Redmine::VERSION}" end + + def environment + s = "Environment:\n" + s << [ + ["Redmine version", Redmine::VERSION], + ["Ruby version", "#{RUBY_VERSION} (#{RUBY_PLATFORM})"], + ["Rails version", Rails::VERSION::STRING], + ["Environment", Rails.env], + ["Database adapter", ActiveRecord::Base.connection.adapter_name] + ].map {|info| " %-40s %s" % info}.join("\n") + s << "\nRedmine plugins:\n" + + plugins = Redmine::Plugin.all + if plugins.any? + s << plugins.map {|plugin| " %-40s %s" % [plugin.id.to_s, plugin.version.to_s]}.join("\n") + else + s << " no plugin installed" + end + end end end end diff --git a/script/about b/script/about new file mode 100644 index 000000000..cfec3b406 --- /dev/null +++ b/script/about @@ -0,0 +1,6 @@ +#!/usr/bin/env ruby + +ENV["RAILS_ENV"] ||= "production" +require File.expand_path(File.dirname(__FILE__) + "/../config/environment") +puts +puts Redmine::Info.environment diff --git a/test/unit/lib/redmine/info_test.rb b/test/unit/lib/redmine/info_test.rb new file mode 100644 index 000000000..e56e67575 --- /dev/null +++ b/test/unit/lib/redmine/info_test.rb @@ -0,0 +1,27 @@ +# Redmine - project management software +# Copyright (C) 2006-2012 Jean-Philippe Lang +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +require File.expand_path('../../../../test_helper', __FILE__) + +class Redmine::InfoTest < ActiveSupport::TestCase + def test_environment + env = Redmine::Info.environment + + assert_kind_of String, env + assert_match 'Redmine version', env + end +end