aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Brandhof <simon.brandhof@gmail.com>2012-09-06 09:33:36 +0200
committerSimon Brandhof <simon.brandhof@gmail.com>2012-09-06 09:34:30 +0200
commit1bae22140048e9d48f686ff3a0bd8388b3d016a8 (patch)
tree42dc1ae2dfb845cbfb205fcc837a932488cd69e7
parent6fa3003cc351eef3c7a9f525f2a323f8730b8048 (diff)
downloadsonarqube-1bae22140048e9d48f686ff3a0bd8388b3d016a8.tar.gz
sonarqube-1bae22140048e9d48f686ff3a0bd8388b3d016a8.zip
Upgrade JRuby on Rails stack
* SONAR-3780 drop support of servlet 2.4 servers * SONAR-3435 upgrade jruby from 1.6.1 to 1.6.7.2 * SONAR-3737 upgrade rails from 2.3.5 to 2.3.14
-rw-r--r--pom.xml19
-rw-r--r--sonar-plugin-api/pom.xml1
-rw-r--r--sonar-server/pom.xml3
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/config/environment.rb11
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/config/environments/production.rb2
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/CHANGELOG (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/CHANGELOG)70
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/MIT-LICENSE (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/MIT-LICENSE)2
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/README (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/README)14
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/Rakefile (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/Rakefile)14
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/install.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/install.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller.rb)4
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/assertions/dom_assertions.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/assertions/dom_assertions.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/assertions/model_assertions.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/assertions/model_assertions.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/assertions/response_assertions.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/assertions/response_assertions.rb)27
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/assertions/routing_assertions.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/assertions/routing_assertions.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/assertions/selector_assertions.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/assertions/selector_assertions.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/assertions/tag_assertions.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/assertions/tag_assertions.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/base.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/base.rb)34
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/benchmarking.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/benchmarking.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/caching.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/caching.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/caching/actions.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/caching/actions.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/caching/fragments.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/caching/fragments.rb)10
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/caching/pages.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/caching/pages.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/caching/sweeper.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/caching/sweeper.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/caching/sweeping.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/caching/sweeping.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/cgi_ext.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/cgi_ext.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/cgi_ext/cookie.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/cgi_ext/cookie.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/cgi_ext/query_extension.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/cgi_ext/query_extension.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/cgi_ext/stdinput.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/cgi_ext/stdinput.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/cgi_process.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/cgi_process.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/cookies.rb197
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/dispatcher.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/dispatcher.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/failsafe.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/failsafe.rb)1
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/filters.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/filters.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/flash.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/flash.rb)42
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/headers.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/headers.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/helpers.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/helpers.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/http_authentication.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/http_authentication.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/integration.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/integration.rb)32
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/layout.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/layout.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/middleware_stack.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/middleware_stack.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/middlewares.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/middlewares.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/mime_responds.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/mime_responds.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/mime_type.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/mime_type.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/mime_types.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/mime_types.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/params_parser.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/params_parser.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/performance_test.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/performance_test.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/polymorphic_routes.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/polymorphic_routes.rb)2
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/rack_lint_patch.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/rack_lint_patch.rb)2
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/record_identifier.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/record_identifier.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/reloader.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/reloader.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/request.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/request.rb)6
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/request_forgery_protection.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/request_forgery_protection.rb)15
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/rescue.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/rescue.rb)4
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/resources.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/resources.rb)2
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/response.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/response.rb)14
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/routing.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/routing.rb)2
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/routing/builder.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/routing/builder.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/routing/optimisations.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/routing/optimisations.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/routing/recognition_optimisation.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/routing/recognition_optimisation.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/routing/route.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/routing/route.rb)6
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/routing/route_set.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/routing/route_set.rb)1
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/routing/routing_ext.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/routing/routing_ext.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/routing/segments.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/routing/segments.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/session/abstract_store.rb276
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/session/cookie_store.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/session/cookie_store.rb)91
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/session/mem_cache_store.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/session/mem_cache_store.rb)11
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/session_management.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/session_management.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/status_codes.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/status_codes.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/streaming.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/streaming.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/string_coercion.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/string_coercion.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/templates/rescues/_request_and_response.erb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/templates/rescues/_request_and_response.erb)22
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/templates/rescues/_trace.erb26
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/templates/rescues/diagnostics.erb11
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/templates/rescues/layout.erb29
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/templates/rescues/missing_template.erb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/templates/rescues/missing_template.erb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/templates/rescues/routing_error.erb10
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/templates/rescues/template_error.erb21
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/templates/rescues/unknown_action.erb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/templates/rescues/unknown_action.erb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/test_case.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/test_case.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/test_process.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/test_process.rb)2
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/translation.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/translation.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/uploaded_file.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/uploaded_file.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/url_rewriter.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/url_rewriter.rb)17
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/vendor/html-scanner.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/vendor/html-scanner/html/document.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/document.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/vendor/html-scanner/html/node.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/node.rb)2
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/vendor/html-scanner/html/sanitizer.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/sanitizer.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/vendor/html-scanner/html/selector.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/selector.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/vendor/html-scanner/html/tokenizer.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/tokenizer.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/vendor/html-scanner/html/version.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/version.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/verification.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/verification.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_pack.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_pack.rb)2
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_pack/version.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_pack/version.rb)2
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view.rb)6
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/base.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/base.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers.rb)2
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/active_record_helper.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/active_record_helper.rb)22
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/asset_tag_helper.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/asset_tag_helper.rb)5
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/atom_feed_helper.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/atom_feed_helper.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/benchmark_helper.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/benchmark_helper.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/cache_helper.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/cache_helper.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/capture_helper.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/capture_helper.rb)4
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/csrf_helper.rb14
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/date_helper.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/date_helper.rb)23
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/debug_helper.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/debug_helper.rb)4
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/form_helper.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/form_helper.rb)96
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/form_options_helper.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/form_options_helper.rb)9
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/form_tag_helper.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/form_tag_helper.rb)13
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/javascript_helper.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/javascript_helper.rb)2
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/number_helper.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/number_helper.rb)4
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/prototype_helper.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/prototype_helper.rb)10
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/raw_output_helper.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/raw_output_helper.rb)4
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/record_identification_helper.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/record_identification_helper.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/record_tag_helper.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/record_tag_helper.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/sanitize_helper.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/sanitize_helper.rb)12
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/scriptaculous_helper.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/scriptaculous_helper.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/tag_helper.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/tag_helper.rb)11
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/text_helper.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/text_helper.rb)52
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/translation_helper.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/translation_helper.rb)46
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/url_helper.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/url_helper.rb)21
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/inline_template.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/inline_template.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/locale/en.yml (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/locale/en.yml)2
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/partials.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/partials.rb)3
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/paths.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/paths.rb)8
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/reloadable_template.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/reloadable_template.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/renderable.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/renderable.rb)18
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/renderable_partial.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/renderable_partial.rb)8
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/template.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/template.rb)4
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/template_error.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/template_error.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/template_handler.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/template_handler.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/template_handlers.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/template_handlers.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/template_handlers/builder.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/template_handlers/builder.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/template_handlers/erb.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/template_handlers/erb.rb)11
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/template_handlers/rjs.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/template_handlers/rjs.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/test_case.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/test_case.rb)2
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/actionpack.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/actionpack.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/CHANGELOG (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/CHANGELOG)46
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/README (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/README)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/Rakefile (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/Rakefile)12
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/install.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/install.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record.rb)3
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/aggregations.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/aggregations.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/association_preload.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/association_preload.rb)134
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/associations.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/associations.rb)86
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/associations/association_collection.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/associations/association_collection.rb)90
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/associations/association_proxy.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/associations/association_proxy.rb)22
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/associations/belongs_to_association.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/associations/belongs_to_association.rb)12
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/associations/belongs_to_polymorphic_association.rb77
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/associations/has_and_belongs_to_many_association.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/associations/has_and_belongs_to_many_association.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/associations/has_many_association.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/associations/has_many_association.rb)5
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/associations/has_many_through_association.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/associations/has_many_through_association.rb)10
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/associations/has_one_association.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/associations/has_one_association.rb)11
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/associations/has_one_through_association.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/associations/has_one_through_association.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/attribute_methods.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/attribute_methods.rb)2
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/autosave_association.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/autosave_association.rb)105
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/base.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/base.rb)151
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/batches.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/batches.rb)22
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/calculations.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/calculations.rb)40
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/callbacks.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/callbacks.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/connection_pool.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/connection_specification.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb)6
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/database_limits.rb57
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/database_statements.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/query_cache.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb)2
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/quoting.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/quoting.rb)10
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/schema_definitions.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb)2
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/schema_statements.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb)78
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract_adapter.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb)8
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/connection_adapters/mysql_adapter.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb)36
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/connection_adapters/postgresql_adapter.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb)97
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/connection_adapters/sqlite3_adapter.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb)2
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/connection_adapters/sqlite_adapter.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb)15
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/dirty.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/dirty.rb)6
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/dynamic_finder_match.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/dynamic_finder_match.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/dynamic_scope_match.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/dynamic_scope_match.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/fixtures.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/fixtures.rb)1
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/locale/en.yml (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/locale/en.yml)22
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/locking/optimistic.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/locking/optimistic.rb)36
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/locking/pessimistic.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/locking/pessimistic.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/migration.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/migration.rb)7
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/named_scope.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/named_scope.rb)25
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/nested_attributes.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/nested_attributes.rb)116
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/observer.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/observer.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/query_cache.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/query_cache.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/reflection.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/reflection.rb)67
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/schema.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/schema.rb)6
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/schema_dumper.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/schema_dumper.rb)3
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/serialization.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/serialization.rb)2
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/serializers/json_serializer.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/serializers/json_serializer.rb)2
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/serializers/xml_serializer.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/serializers/xml_serializer.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/session_store.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/session_store.rb)10
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/test_case.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/test_case.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/timestamp.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/timestamp.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/transactions.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/transactions.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/validations.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/validations.rb)39
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/version.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/version.rb)2
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/activerecord.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/activerecord.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/.gemtest (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/.gemtest)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/.specification (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/.specification)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/History.txt (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/History.txt)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/LICENSE.txt (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/LICENSE.txt)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/Manifest.txt (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/Manifest.txt)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/README.txt (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/README.txt)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/Rakefile (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/Rakefile)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/derby_adapter.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/derby_adapter.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/h2_adapter.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/h2_adapter.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/hsqldb_adapter.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/hsqldb_adapter.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/informix_adapter.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/informix_adapter.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/jdbc_adapter.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/jdbc_adapter.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/jndi_adapter.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/jndi_adapter.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/mssql_adapter.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/mssql_adapter.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/mysql2_adapter.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/mysql2_adapter.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/mysql_adapter.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/mysql_adapter.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/oracle_adapter.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/oracle_adapter.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/postgresql_adapter.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/postgresql_adapter.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/sqlite3_adapter.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/sqlite3_adapter.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/activerecord-jdbc-adapter.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/activerecord-jdbc-adapter.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/engines/sql/compilers/db2_compiler.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/engines/sql/compilers/db2_compiler.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/engines/sql/compilers/derby_compiler.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/engines/sql/compilers/derby_compiler.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/engines/sql/compilers/h2_compiler.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/engines/sql/compilers/h2_compiler.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/engines/sql/compilers/hsqldb_compiler.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/engines/sql/compilers/hsqldb_compiler.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/engines/sql/compilers/jdbc_compiler.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/engines/sql/compilers/jdbc_compiler.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/engines/sql/compilers/mssql_compiler.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/engines/sql/compilers/mssql_compiler.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/visitors/compat.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/visitors/compat.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/visitors/db2.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/visitors/db2.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/visitors/derby.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/visitors/derby.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/visitors/firebird.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/visitors/firebird.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/visitors/hsqldb.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/visitors/hsqldb.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/visitors/sql_server.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/visitors/sql_server.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/db2.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/db2.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/db2/adapter.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/db2/adapter.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/derby.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/derby.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/derby/adapter.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/derby/adapter.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/derby/connection_methods.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/derby/connection_methods.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/discover.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/discover.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/firebird.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/firebird.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/firebird/adapter.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/firebird/adapter.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/h2.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/h2.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/h2/adapter.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/h2/adapter.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/h2/connection_methods.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/h2/connection_methods.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/hsqldb.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/hsqldb.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/hsqldb/adapter.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/hsqldb/adapter.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/hsqldb/connection_methods.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/hsqldb/connection_methods.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/informix.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/informix.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/informix/adapter.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/informix/adapter.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/informix/connection_methods.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/informix/connection_methods.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/adapter.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/adapter.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/adapter_java.jar (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/adapter_java.jar)bin53644 -> 53644 bytes
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/callbacks.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/callbacks.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/column.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/column.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/compatibility.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/compatibility.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/connection.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/connection.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/connection_methods.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/connection_methods.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/core_ext.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/core_ext.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/discover.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/discover.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/driver.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/driver.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/extension.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/extension.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/java.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/java.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/jdbc.rake (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/jdbc.rake)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/missing_functionality_helper.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/missing_functionality_helper.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/quoted_primary_key.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/quoted_primary_key.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/railtie.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/railtie.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/rake_tasks.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/rake_tasks.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/require_driver.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/require_driver.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/type_converter.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/type_converter.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mimer.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mimer.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mimer/adapter.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mimer/adapter.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mssql.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mssql.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mssql/adapter.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mssql/adapter.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mssql/connection_methods.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mssql/connection_methods.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mssql/limit_helpers.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mssql/limit_helpers.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mssql/tsql_helper.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mssql/tsql_helper.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mysql.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mysql.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mysql/adapter.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mysql/adapter.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mysql/connection_methods.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mysql/connection_methods.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/oracle.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/oracle.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/oracle/adapter.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/oracle/adapter.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/oracle/connection_methods.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/oracle/connection_methods.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/postgresql.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/postgresql.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/postgresql/adapter.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/postgresql/adapter.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/postgresql/connection_methods.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/postgresql/connection_methods.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/sqlite3.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/sqlite3.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/sqlite3/adapter.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/sqlite3/adapter.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/sqlite3/connection_methods.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/sqlite3/connection_methods.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/sybase.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/sybase.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/sybase/adapter.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/sybase/adapter.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/version.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/version.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/generators/jdbc/jdbc_generator.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/generators/jdbc/jdbc_generator.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/jdbc_adapter.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/jdbc_adapter.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/jdbc_adapter/rake_tasks.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/jdbc_adapter/rake_tasks.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/jdbc_adapter/version.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/jdbc_adapter/version.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/pg.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/pg.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/.rspec (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/.rspec)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/.specification (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/.specification)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/Gemfile (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/Gemfile)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/History.txt (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/History.txt)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/License.txt (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/License.txt)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/README.md (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/README.md)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/RUNNING_TESTS.md (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/RUNNING_TESTS.md)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/Rakefile (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/Rakefile)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/VERSION (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/VERSION)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/activerecord-oracle_enhanced-adapter.gemspec (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/activerecord-oracle_enhanced-adapter.gemspec)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/emulation/oracle_adapter.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/emulation/oracle_adapter.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced.rake (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced.rake)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_activerecord_patches.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_activerecord_patches.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_adapter.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_adapter.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_base_ext.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_base_ext.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_column.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_column.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_connection.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_connection.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_context_index.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_context_index.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_core_ext.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_core_ext.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_cpk.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_cpk.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_dirty.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_dirty.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_jdbc_connection.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_jdbc_connection.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_oci_connection.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_oci_connection.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_procedures.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_procedures.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_schema_definitions.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_schema_definitions.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_schema_dumper.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_schema_dumper.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_schema_statements.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_schema_statements.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_schema_statements_ext.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_schema_statements_ext.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_structure_dump.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_structure_dump.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_tasks.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_tasks.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_version.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_version.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/activerecord-oracle_enhanced-adapter.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/activerecord-oracle_enhanced-adapter.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activeresource-2.3.14/CHANGELOG (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/CHANGELOG)14
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activeresource-2.3.14/README (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/README)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activeresource-2.3.14/Rakefile (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/Rakefile)12
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activeresource-2.3.14/lib/active_resource.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/lib/active_resource.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activeresource-2.3.14/lib/active_resource/base.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/lib/active_resource/base.rb)13
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activeresource-2.3.14/lib/active_resource/connection.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/lib/active_resource/connection.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activeresource-2.3.14/lib/active_resource/custom_methods.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/lib/active_resource/custom_methods.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activeresource-2.3.14/lib/active_resource/exceptions.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/lib/active_resource/exceptions.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activeresource-2.3.14/lib/active_resource/formats.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/lib/active_resource/formats.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activeresource-2.3.14/lib/active_resource/formats/json_format.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/lib/active_resource/formats/json_format.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activeresource-2.3.14/lib/active_resource/formats/xml_format.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/lib/active_resource/formats/xml_format.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activeresource-2.3.14/lib/active_resource/http_mock.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/lib/active_resource/http_mock.rb)117
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activeresource-2.3.14/lib/active_resource/validations.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/lib/active_resource/validations.rb)6
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activeresource-2.3.14/lib/active_resource/version.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/lib/active_resource/version.rb)2
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activeresource-2.3.14/lib/activeresource.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/lib/activeresource.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/CHANGELOG (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/CHANGELOG)53
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/README (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/README)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support.rb)1
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/all.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/all.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/backtrace_cleaner.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/backtrace_cleaner.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/base64.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/base64.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/basic_object.rb21
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/buffered_logger.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/buffered_logger.rb)4
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/cache.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/cache.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/cache/compressed_mem_cache_store.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/cache/compressed_mem_cache_store.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/cache/drb_store.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/cache/drb_store.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/cache/file_store.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/cache/file_store.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/cache/mem_cache_store.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/cache/mem_cache_store.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/cache/memory_store.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/cache/memory_store.rb)8
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/cache/strategy/local_cache.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/cache/strategy/local_cache.rb)2
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/cache/synchronized_memory_store.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/cache/synchronized_memory_store.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/callbacks.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/callbacks.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/array.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/array.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/array/access.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/array/access.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/array/conversions.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/array/conversions.rb)2
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/array/extract_options.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/array/extract_options.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/array/grouping.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/array/grouping.rb)2
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/array/random_access.rb42
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/array/wrapper.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/array/wrapper.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/base64.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/base64.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/base64/encoding.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/base64/encoding.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/benchmark.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/benchmark.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/bigdecimal.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/bigdecimal.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/bigdecimal/conversions.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/bigdecimal/conversions.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/blank.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/blank.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/cgi.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/cgi.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/cgi/escape_skipping_slashes.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/cgi/escape_skipping_slashes.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/class.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/class.rb)1
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/class/attribute.rb67
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/class/attribute_accessors.rb61
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/class/delegating_attributes.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/class/delegating_attributes.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/class/inheritable_attributes.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/class/inheritable_attributes.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/class/removal.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/class/removal.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/date.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/date.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/date/behavior.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/date/behavior.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/date/calculations.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/date/calculations.rb)18
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/date/conversions.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/date/conversions.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/date_time.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/date_time.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/date_time/calculations.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/date_time/calculations.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/date_time/conversions.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/date_time/conversions.rb)17
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/duplicable.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/duplicable.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/enumerable.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/enumerable.rb)8
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/exception.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/exception.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/file.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/file.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/file/atomic.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/file/atomic.rb)3
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/float.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/float.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/float/rounding.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/float/rounding.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/float/time.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/float/time.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/hash.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/hash.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/hash/conversions.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/hash/conversions.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/hash/deep_merge.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/hash/deep_merge.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/hash/diff.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/hash/diff.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/hash/except.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/hash/except.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/hash/indifferent_access.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/hash/indifferent_access.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/hash/keys.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/hash/keys.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/hash/reverse_merge.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/hash/reverse_merge.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/hash/slice.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/hash/slice.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/integer.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/integer.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/integer/even_odd.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/integer/even_odd.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/integer/inflections.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/integer/inflections.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/integer/time.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/integer/time.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/kernel.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/kernel.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/kernel/agnostics.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/kernel/agnostics.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/kernel/daemonizing.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/kernel/daemonizing.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/kernel/debugger.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/kernel/debugger.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/kernel/reporting.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/kernel/reporting.rb)2
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/kernel/requires.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/kernel/requires.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/kernel/singleton_class.rb13
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/load_error.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/load_error.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/logger.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/logger.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/module.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/module.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/module/aliasing.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/module/aliasing.rb)2
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/module/attr_accessor_with_default.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/module/attr_accessor_with_default.rb)2
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/module/attr_internal.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/module/attr_internal.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/module/attribute_accessors.rb67
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/module/delegation.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/module/delegation.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/module/inclusion.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/module/inclusion.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/module/introspection.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/module/introspection.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/module/loading.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/module/loading.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/module/model_naming.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/module/model_naming.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/module/remove_method.rb6
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/module/synchronization.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/module/synchronization.rb)2
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/name_error.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/name_error.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/numeric.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/numeric.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/numeric/bytes.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/numeric/bytes.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/numeric/conversions.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/numeric/conversions.rb)4
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/numeric/time.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/numeric/time.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/object.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/object.rb)1
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/object/blank.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/object/blank.rb)22
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/object/conversions.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/object/conversions.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/object/extending.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/object/extending.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/object/instance_variables.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/object/instance_variables.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/object/metaclass.rb14
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/object/misc.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/object/misc.rb)3
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/object/singleton_class.rb13
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/pathname.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/pathname.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/pathname/clean_within.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/pathname/clean_within.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/proc.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/proc.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/process.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/process.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/process/daemon.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/process/daemon.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/range.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/range.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/range/blockless_step.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/range/blockless_step.rb)2
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/range/conversions.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/range/conversions.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/range/include_range.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/range/include_range.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/range/overlaps.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/range/overlaps.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/rexml.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/rexml.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/string.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/string.rb)1
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/string/access.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/string/access.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/string/behavior.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/string/behavior.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/string/bytesize.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/string/bytesize.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/string/conversions.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/string/conversions.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/string/filters.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/string/filters.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/string/inflections.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/string/inflections.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/string/iterators.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/string/iterators.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/string/multibyte.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/string/multibyte.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/string/output_safety.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/erb/util.rb)59
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/string/starts_ends_with.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/string/starts_ends_with.rb)6
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/string/xchar.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/string/xchar.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/symbol.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/symbol.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/time.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/time.rb)12
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/time/behavior.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/time/behavior.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/time/calculations.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/time/calculations.rb)15
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/time/conversions.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/time/conversions.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/time/zones.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/time/zones.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/try.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/try.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/uri.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/uri.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/dependencies.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/dependencies.rb)50
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/deprecation.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/deprecation.rb)12
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/duration.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/duration.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/gzip.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/gzip.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/inflections.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/inflections.rb)2
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/inflector.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/inflector.rb)7
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/backends/jsongem.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/backends/jsongem.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/backends/yajl.rb40
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/backends/yaml.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/backends/yaml.rb)17
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/decoding.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/decoding.rb)17
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/encoders/date.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoders/date.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/encoders/date_time.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoders/date_time.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/encoders/enumerable.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoders/enumerable.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/encoders/false_class.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoders/false_class.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/encoders/hash.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoders/hash.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/encoders/nil_class.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoders/nil_class.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/encoders/numeric.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoders/numeric.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/encoders/object.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoders/object.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/encoders/regexp.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoders/regexp.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/encoders/string.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoders/string.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/encoders/symbol.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoders/symbol.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/encoders/time.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoders/time.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/encoders/true_class.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoders/true_class.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/encoding.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoding.rb)13
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/variable.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/variable.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/locale/en.yml (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/locale/en.yml)5
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/memoizable.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/memoizable.rb)4
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/message_encryptor.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/message_encryptor.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/message_verifier.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/message_verifier.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/multibyte.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/multibyte.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/multibyte/chars.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/multibyte/chars.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/multibyte/exceptions.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/multibyte/exceptions.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/multibyte/unicode_database.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/multibyte/unicode_database.rb)4
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/multibyte/utils.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/multibyte/utils.rb)13
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/option_merger.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/option_merger.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/ordered_hash.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/ordered_hash.rb)55
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/ordered_options.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/ordered_options.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/rescuable.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/rescuable.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/secure_random.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/secure_random.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/string_inquirer.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/string_inquirer.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/test_case.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/test_case.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/testing/assertions.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/testing/assertions.rb)14
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/testing/declarative.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/testing/declarative.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/testing/default.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/testing/default.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/testing/deprecation.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/testing/deprecation.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/testing/performance.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/testing/performance.rb)2
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/testing/setup_and_teardown.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/testing/setup_and_teardown.rb)4
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/time_with_zone.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/time_with_zone.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/values/time_zone.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/values/time_zone.rb)164
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/values/unicode_tables.dat (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/values/unicode_tables.dat)bin710734 -> 710734 bytes
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor.rb)12
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/builder-2.1.2/blankslate.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/blankslate.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/builder-2.1.2/builder.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/builder-2.1.2/builder/blankslate.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/blankslate.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/builder-2.1.2/builder/css.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/css.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/builder-2.1.2/builder/xchar.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/xchar.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/builder-2.1.2/builder/xmlbase.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/xmlbase.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/builder-2.1.2/builder/xmlevents.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/xmlevents.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/builder-2.1.2/builder/xmlmarkup.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/xmlmarkup.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n.rb322
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/active_record.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/active_record.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/active_record/missing.rb65
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/active_record/store_procs.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/active_record/store_procs.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/active_record/translation.rb93
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/base.rb237
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/cache.rb77
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/cascade.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/cascade.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/chain.rb77
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/cldr.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/cldr.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/fallbacks.rb69
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/flatten.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/flatten.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/gettext.rb75
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/interpolation_compiler.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/interpolation_compiler.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/key_value.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/key_value.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/memoize.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/memoize.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/metadata.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/metadata.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/pluralization.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/pluralization.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/simple.rb87
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/transliterator.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/transliterator.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/config.rb84
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/core_ext/hash.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/core_ext/hash.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/core_ext/string/interpolate.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/core_ext/string/interpolate.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/exceptions.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/lib/i18n/exceptions.rb)22
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/gettext.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/gettext.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/gettext/helpers.rb65
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/gettext/po_parser.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/gettext/po_parser.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/locale.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/locale.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/locale/fallbacks.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/locale/fallbacks.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/locale/tag.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/locale/tag.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/locale/tag/parents.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/locale/tag/parents.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/locale/tag/rfc4646.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/locale/tag/rfc4646.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/locale/tag/simple.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/locale/tag/simple.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/version.rb3
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/memcache-client-1.7.4/memcache.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/memcache-client-1.7.4/memcache.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/data_timezone.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/data_timezone.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/data_timezone_info.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/data_timezone_info.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Algiers.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Algiers.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Cairo.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Cairo.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Casablanca.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Casablanca.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Harare.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Harare.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Johannesburg.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Johannesburg.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Monrovia.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Monrovia.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Nairobi.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Nairobi.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Argentina/Buenos_Aires.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Argentina/Buenos_Aires.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Argentina/San_Juan.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Argentina/San_Juan.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Bogota.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Bogota.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Caracas.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Caracas.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Chicago.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Chicago.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Chihuahua.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Chihuahua.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Denver.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Denver.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Godthab.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Godthab.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Guatemala.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Guatemala.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Halifax.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Halifax.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Indiana/Indianapolis.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Indiana/Indianapolis.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Juneau.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Juneau.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/La_Paz.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/La_Paz.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Lima.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Lima.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Los_Angeles.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Los_Angeles.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Mazatlan.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Mazatlan.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Mexico_City.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Mexico_City.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Monterrey.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Monterrey.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/New_York.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/New_York.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Phoenix.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Phoenix.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Regina.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Regina.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Santiago.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Santiago.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Sao_Paulo.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Sao_Paulo.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/St_Johns.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/St_Johns.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Tijuana.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Tijuana.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Almaty.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Almaty.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Baghdad.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Baghdad.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Baku.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Baku.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Bangkok.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Bangkok.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Chongqing.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Chongqing.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Colombo.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Colombo.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Dhaka.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Dhaka.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Hong_Kong.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Hong_Kong.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Irkutsk.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Irkutsk.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Jakarta.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Jakarta.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Jerusalem.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Jerusalem.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kabul.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kabul.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kamchatka.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kamchatka.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Karachi.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Karachi.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Katmandu.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Katmandu.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kolkata.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kolkata.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Krasnoyarsk.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Krasnoyarsk.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kuala_Lumpur.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kuala_Lumpur.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kuwait.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kuwait.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Magadan.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Magadan.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Muscat.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Muscat.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Novosibirsk.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Novosibirsk.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Rangoon.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Rangoon.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Riyadh.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Riyadh.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Seoul.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Seoul.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Shanghai.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Shanghai.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Singapore.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Singapore.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Taipei.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Taipei.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Tashkent.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Tashkent.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Tbilisi.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Tbilisi.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Tehran.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Tehran.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Tokyo.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Tokyo.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Ulaanbaatar.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Ulaanbaatar.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Urumqi.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Urumqi.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Vladivostok.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Vladivostok.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Yakutsk.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Yakutsk.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Yekaterinburg.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Yekaterinburg.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Yerevan.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Yerevan.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Atlantic/Azores.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Atlantic/Azores.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Atlantic/Cape_Verde.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Atlantic/Cape_Verde.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Atlantic/South_Georgia.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Atlantic/South_Georgia.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Adelaide.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Adelaide.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Brisbane.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Brisbane.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Darwin.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Darwin.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Hobart.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Hobart.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Melbourne.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Melbourne.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Perth.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Perth.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Sydney.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Sydney.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Etc/UTC.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Etc/UTC.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Amsterdam.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Amsterdam.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Athens.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Athens.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Belgrade.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Belgrade.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Berlin.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Berlin.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Bratislava.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Bratislava.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Brussels.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Brussels.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Bucharest.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Bucharest.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Budapest.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Budapest.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Copenhagen.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Copenhagen.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Dublin.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Dublin.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Helsinki.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Helsinki.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Istanbul.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Istanbul.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Kiev.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Kiev.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Lisbon.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Lisbon.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Ljubljana.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Ljubljana.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/London.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/London.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Madrid.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Madrid.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Minsk.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Minsk.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Moscow.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Moscow.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Paris.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Paris.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Prague.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Prague.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Riga.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Riga.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Rome.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Rome.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Sarajevo.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Sarajevo.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Skopje.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Skopje.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Sofia.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Sofia.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Stockholm.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Stockholm.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Tallinn.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Tallinn.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Vienna.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Vienna.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Vilnius.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Vilnius.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Warsaw.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Warsaw.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Zagreb.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Zagreb.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Auckland.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Auckland.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Fiji.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Fiji.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Guam.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Guam.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Honolulu.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Honolulu.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Majuro.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Majuro.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Midway.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Midway.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Noumea.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Noumea.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Pago_Pago.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Pago_Pago.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Port_Moresby.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Port_Moresby.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Tongatapu.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Tongatapu.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/info_timezone.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/info_timezone.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/linked_timezone.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/linked_timezone.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/linked_timezone_info.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/linked_timezone_info.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/offset_rationals.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/offset_rationals.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/ruby_core_support.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/ruby_core_support.rb)2
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/time_or_datetime.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/time_or_datetime.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_definition.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_definition.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_info.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_info.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_offset_info.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_offset_info.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_period.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_period.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_transition_info.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_transition_info.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/version.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/version.rb)2
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/whiny_nil.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/whiny_nil.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/xml_mini.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/xml_mini.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/xml_mini/jdom.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/xml_mini/jdom.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/xml_mini/libxml.rb73
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/xml_mini/libxmlsax.rb74
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/xml_mini/nokogiri.rb72
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/xml_mini/nokogirisax.rb73
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/xml_mini/rexml.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/xml_mini/rexml.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/activesupport.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/activesupport.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/.specification (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/.specification)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/Changelog (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/Changelog)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/Install (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/Install)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/README (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/README)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/Rakefile (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/Rakefile)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/lib/color.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/lib/color.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/lib/color/cmyk.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/lib/color/cmyk.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/lib/color/css.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/lib/color/css.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/lib/color/grayscale.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/lib/color/grayscale.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/lib/color/hsl.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/lib/color/hsl.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/lib/color/palette.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/lib/color/palette.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/lib/color/palette/gimp.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/lib/color/palette/gimp.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/lib/color/palette/monocontrast.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/lib/color/palette/monocontrast.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/lib/color/rgb-colors.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/lib/color/rgb-colors.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/lib/color/rgb.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/lib/color/rgb.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/lib/color/rgb/metallic.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/lib/color/rgb/metallic.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/lib/color/yiq.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/lib/color/yiq.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/metaconfig (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/metaconfig)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/pre-setup.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/pre-setup.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/setup.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/setup.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/fastercsv-1.4.0/.specification (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/fastercsv-1.4.0/.specification)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/fastercsv-1.4.0/AUTHORS (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/fastercsv-1.4.0/AUTHORS)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/fastercsv-1.4.0/CHANGELOG (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/fastercsv-1.4.0/CHANGELOG)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/fastercsv-1.4.0/COPYING (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/fastercsv-1.4.0/COPYING)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/fastercsv-1.4.0/INSTALL (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/fastercsv-1.4.0/INSTALL)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/fastercsv-1.4.0/LICENSE (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/fastercsv-1.4.0/LICENSE)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/fastercsv-1.4.0/README (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/fastercsv-1.4.0/README)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/fastercsv-1.4.0/Rakefile (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/fastercsv-1.4.0/Rakefile)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/fastercsv-1.4.0/TODO (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/fastercsv-1.4.0/TODO)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/fastercsv-1.4.0/lib/faster_csv.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/fastercsv-1.4.0/lib/faster_csv.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/fastercsv-1.4.0/lib/fastercsv.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/fastercsv-1.4.0/lib/fastercsv.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/fastercsv-1.4.0/setup.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/fastercsv-1.4.0/setup.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/.specification (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/.specification)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/CHANGELOG.textile (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/CHANGELOG.textile)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/MIT-LICENSE (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/MIT-LICENSE)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/README.textile (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/README.textile)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend.rb20
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/active_record.rb61
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/active_record/missing.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/active_record/missing.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/active_record/store_procs.rb38
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/active_record/translation.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/active_record/translation.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/base.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/base.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/cache.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/cache.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/cascade.rb57
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/chain.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/chain.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/cldr.rb100
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/fallbacks.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/fallbacks.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/flatten.rb113
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/gettext.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/gettext.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/interpolation_compiler.rb123
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/key_value.rb102
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/memoize.rb48
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/metadata.rb65
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/pluralization.rb57
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/simple.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/simple.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/transliterator.rb98
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/config.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/config.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/core_ext/hash.rb29
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/core_ext/string/interpolate.rb98
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/exceptions.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/exceptions.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/gettext.rb27
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/gettext/helpers.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/gettext/helpers.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/gettext/po_parser.rb329
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/locale.rb6
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/locale/fallbacks.rb98
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/locale/tag.rb28
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/locale/tag/parents.rb24
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/locale/tag/rfc4646.rb76
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/locale/tag/simple.rb41
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/version.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/version.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/.specification (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/.specification)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/History.txt (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/History.txt)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/License.txt (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/License.txt)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/Manifest.txt (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/Manifest.txt)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/README.txt (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/README.txt)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/Rakefile (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/Rakefile)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/lib/jopenssl.jar (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/lib/jopenssl.jar)bin470203 -> 470203 bytes
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/lib/jopenssl/version.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/lib/jopenssl/version.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/lib/openssl.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/lib/openssl.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/lib/openssl/bn.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/lib/openssl/bn.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/lib/openssl/buffering.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/lib/openssl/buffering.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/lib/openssl/cipher.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/lib/openssl/cipher.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/lib/openssl/config.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/lib/openssl/config.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/lib/openssl/digest.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/lib/openssl/digest.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/lib/openssl/dummy.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/lib/openssl/dummy.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/lib/openssl/dummyssl.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/lib/openssl/dummyssl.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/lib/openssl/pkcs7.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/lib/openssl/pkcs7.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/lib/openssl/ssl.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/lib/openssl/ssl.rb)0
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/lib/openssl/x509.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/lib/openssl/x509.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/json-jruby-1.2.3-universal-java-1.6/.specification (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/.specification)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/json-jruby-1.2.3-universal-java-1.6/lib/json.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/lib/json.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/add/core.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/add/core.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/add/rails.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/add/rails.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/common.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/common.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/ext.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/ext.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/ext/generator.jar (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/ext/generator.jar)bin28787 -> 28787 bytes
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/ext/parser.jar (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/ext/parser.jar)bin24246 -> 24246 bytes
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/pure.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/pure.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/pure/generator.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/pure/generator.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/pure/generator.rb.orig (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/pure/generator.rb.orig)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/pure/parser.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/pure/parser.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/version.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/version.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/version.rb.orig (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/version.rb.orig)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/COPYING (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/COPYING)2
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/KNOWN-ISSUES (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/KNOWN-ISSUES)3
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/RDOX (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/empty.log)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/README (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/README)95
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/SPEC (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/SPEC)9
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/bin/rackup4
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/contrib/rack_logo.svg111
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/example/lobster.ru4
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/example/protectedlobster.rb14
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/example/protectedlobster.ru8
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack.rb)18
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/adapter/camping.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/adapter/camping.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/auth/abstract/handler.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/auth/abstract/handler.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/auth/abstract/request.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/auth/abstract/request.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/auth/basic.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/auth/basic.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/auth/digest/md5.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/auth/digest/md5.rb)3
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/auth/digest/nonce.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/auth/digest/nonce.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/auth/digest/params.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/auth/digest/params.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/auth/digest/request.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/auth/digest/request.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/builder.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/builder.rb)17
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/cascade.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/cascade.rb)29
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/chunked.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/chunked.rb)4
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/commonlogger.rb49
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/conditionalget.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/conditionalget.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/config.rb15
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/content_length.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/content_length.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/content_type.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/content_type.rb)2
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/deflater.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/deflater.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/directory.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/directory.rb)8
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/etag.rb23
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/file.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/file.rb)6
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/handler.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/handler.rb)19
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/handler/cgi.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/handler/cgi.rb)2
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/handler/evented_mongrel.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/handler/evented_mongrel.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/handler/fastcgi.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/handler/fastcgi.rb)5
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/handler/lsws.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/handler/lsws.rb)5
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/handler/mongrel.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/handler/mongrel.rb)13
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/handler/scgi.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/handler/scgi.rb)8
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/handler/swiftiplied_mongrel.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/handler/swiftiplied_mongrel.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/handler/thin.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/handler/thin.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/handler/webrick.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/handler/webrick.rb)6
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/head.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/head.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/lint.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/lint.rb)59
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/lobster.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/lobster.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/lock.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/lock.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/logger.rb20
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/methodoverride.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/methodoverride.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/mime.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/mime.rb)4
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/mock.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/mock.rb)34
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/nulllogger.rb18
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/recursive.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/recursive.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/reloader.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/reloader.rb)5
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/request.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/request.rb)55
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/response.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/response.rb)44
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/rewindable_input.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/rewindable_input.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/runtime.rb27
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/sendfile.rb142
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/server.rb212
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/session/abstract/id.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/session/abstract/id.rb)8
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/session/cookie.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/session/cookie.rb)7
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/session/memcache.rb119
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/session/pool.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/session/pool.rb)2
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/showexceptions.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/showexceptions.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/showstatus.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/showstatus.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/static.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/static.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/urlmap.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/urlmap.rb)17
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/utils.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/utils.rb)300
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/rack.gemspec42
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_auth_basic.rb73
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_auth_digest.rb232
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_builder.rb84
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_camping.rb55
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_cascade.rb48
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_cgi.rb89
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_chunked.rb62
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_commonlogger.rb61
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_conditionalget.rb41
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_config.rb24
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_content_length.rb43
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_content_type.rb30
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_deflater.rb127
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_directory.rb61
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_etag.rb17
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_fastcgi.rb89
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_file.rb75
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_handler.rb43
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_head.rb30
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_lint.rb528
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_lobster.rb45
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_lock.rb38
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_logger.rb21
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_methodoverride.rb60
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_mock.rb243
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_mongrel.rb189
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_nulllogger.rb13
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_recursive.rb77
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_request.rb594
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_response.rb221
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_rewindable_input.rb118
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_runtime.rb35
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_sendfile.rb86
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_session_cookie.rb73
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_session_memcache.rb273
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_session_pool.rb172
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_showexceptions.rb21
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_showstatus.rb72
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_static.rb37
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_thin.rb91
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_urlmap.rb215
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_utils.rb552
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_webrick.rb130
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rackup.rb164
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/CHANGELOG (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/CHANGELOG)25
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/MIT-LICENSE (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/MIT-LICENSE)2
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/README (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/README)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/Rakefile (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/Rakefile)23
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/builtin/rails_info/rails/info.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/builtin/rails_info/rails/info.rb)4
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/builtin/rails_info/rails/info_controller.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/builtin/rails_info/rails/info_controller.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/builtin/rails_info/rails/info_helper.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/builtin/rails_info/rails/info_helper.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/builtin/rails_info/rails_info_controller.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/builtin/rails_info/rails_info_controller.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/configs/databases/frontbase.yml (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/databases/frontbase.yml)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/configs/databases/ibm_db.yml (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/databases/ibm_db.yml)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/configs/databases/mysql.yml (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/databases/mysql.yml)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/configs/databases/oracle.yml (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/databases/oracle.yml)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/configs/databases/postgresql.yml (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/databases/postgresql.yml)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/configs/databases/sqlite2.yml (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/databases/sqlite2.yml)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/configs/databases/sqlite3.yml (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/databases/sqlite3.yml)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/configs/empty.log (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/html/favicon.ico)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/configs/initializers/backtrace_silencers.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/initializers/backtrace_silencers.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/configs/initializers/cookie_verification_secret.rb7
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/configs/initializers/inflections.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/initializers/inflections.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/configs/initializers/mime_types.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/initializers/mime_types.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/configs/initializers/new_rails_defaults.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/initializers/new_rails_defaults.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/configs/initializers/session_store.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/initializers/session_store.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/configs/locales/en.yml (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/locales/en.yml)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/configs/routes.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/routes.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/configs/seeds.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/seeds.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/dispatches/config.ru (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/dispatches/config.ru)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/dispatches/dispatch.fcgi (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/dispatches/dispatch.fcgi)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/dispatches/dispatch.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/dispatches/dispatch.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/dispatches/gateway.cgi (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/dispatches/gateway.cgi)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/environments/boot.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/environments/boot.rb)8
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/environments/development.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/environments/development.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/environments/environment.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/environments/environment.rb)2
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/environments/production.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/environments/production.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/environments/test.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/environments/test.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/fresh_rakefile (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/fresh_rakefile)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/helpers/application_controller.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/helpers/application_controller.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/helpers/application_helper.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/helpers/application_helper.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/helpers/performance_test.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/helpers/performance_test.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/helpers/test_helper.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/helpers/test_helper.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/html/404.html (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/html/404.html)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/html/422.html (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/html/422.html)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/html/500.html (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/html/500.html)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/html/favicon.ico (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/fixture.rhtml)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/html/images/rails.pngbin0 -> 6646 bytes
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/html/index.html (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/html/index.html)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/html/javascripts/application.js (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/html/javascripts/application.js)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/html/javascripts/controls.js (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/html/javascripts/controls.js)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/html/javascripts/dragdrop.js (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/html/javascripts/dragdrop.js)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/html/javascripts/effects.js (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/html/javascripts/effects.js)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/html/javascripts/prototype.js (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/html/javascripts/prototype.js)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/html/robots.txt (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/html/robots.txt)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/code_statistics.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/code_statistics.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/commands.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/commands/about.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands/about.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/commands/console.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands/console.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/commands/dbconsole.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands/dbconsole.rb)2
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/commands/destroy.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands/destroy.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/commands/generate.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands/generate.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/commands/ncgi/listener (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands/ncgi/listener)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/commands/ncgi/tracker (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands/ncgi/tracker)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/commands/performance/benchmarker.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands/performance/benchmarker.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/commands/performance/profiler.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands/performance/profiler.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/commands/plugin.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands/plugin.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/commands/runner.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands/runner.rb)2
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/commands/server.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands/server.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/commands/update.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands/update.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/console_app.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/console_app.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/console_sandbox.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/console_sandbox.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/console_with_helpers.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/console_with_helpers.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/dispatcher.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/dispatcher.rb)2
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/fcgi_handler.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/fcgi_handler.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/initializer.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/initializer.rb)64
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/performance_test_help.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/performance_test_help.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails/backtrace_cleaner.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails/backtrace_cleaner.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails/gem_builder.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails/gem_builder.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails/gem_dependency.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails/gem_dependency.rb)30
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails/plugin.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails/plugin.rb)2
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails/plugin/loader.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails/plugin/loader.rb)6
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails/plugin/locator.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails/plugin/locator.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails/rack.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails/rack.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails/rack/debugger.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails/rack/debugger.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails/rack/log_tailer.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails/rack/log_tailer.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails/rack/metal.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails/rack/metal.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails/rack/static.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails/rack/static.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails/vendor_gem_source_index.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails/vendor_gem_source_index.rb)8
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails/version.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails/version.rb)2
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator.rb)7
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/base.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/base.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/commands.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/commands.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generated_attribute.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generated_attribute.rb)13
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/applications/app/USAGE (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/applications/app/USAGE)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/applications/app/app_generator.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/applications/app/app_generator.rb)3
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/applications/app/scm/git.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/applications/app/scm/git.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/applications/app/scm/scm.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/applications/app/scm/scm.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/applications/app/scm/svn.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/applications/app/scm/svn.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/applications/app/template_runner.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/applications/app/template_runner.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/controller/USAGE (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/controller/USAGE)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/controller/controller_generator.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/controller/controller_generator.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/controller/templates/controller.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/controller/templates/controller.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/controller/templates/functional_test.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/controller/templates/functional_test.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/controller/templates/helper.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/controller/templates/helper.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/controller/templates/helper_test.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/controller/templates/helper_test.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/controller/templates/view.html.erb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/controller/templates/view.html.erb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/helper/USAGE (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/helper/USAGE)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/helper/helper_generator.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/helper/helper_generator.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/helper/templates/helper.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/helper/templates/helper.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/helper/templates/helper_test.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/helper/templates/helper_test.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/integration_test/USAGE (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/integration_test/USAGE)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/integration_test/integration_test_generator.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/integration_test/integration_test_generator.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/integration_test/templates/integration_test.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/integration_test/templates/integration_test.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/mailer/USAGE (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/mailer/USAGE)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/mailer/mailer_generator.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/mailer/mailer_generator.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/mailer/templates/fixture.erb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/fixture.erb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/mailer/templates/fixture.rhtml (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/view.rhtml)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/mailer/templates/mailer.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/mailer.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/mailer/templates/unit_test.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/unit_test.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/mailer/templates/view.erb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/view.erb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/mailer/templates/view.rhtml0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/metal/USAGE (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/metal/USAGE)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/metal/metal_generator.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/metal/metal_generator.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/metal/templates/metal.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/metal/templates/metal.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/migration/USAGE (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/migration/USAGE)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/migration/migration_generator.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/migration/migration_generator.rb)2
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/migration/templates/migration.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/migration/templates/migration.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/model/USAGE (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/model/USAGE)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/model/model_generator.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/model/model_generator.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/model/templates/fixtures.yml (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/model/templates/fixtures.yml)14
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/model/templates/migration.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/model/templates/migration.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/model/templates/model.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/model/templates/model.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/model/templates/unit_test.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/model/templates/unit_test.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/observer/USAGE (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/observer/USAGE)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/observer/observer_generator.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/observer/observer_generator.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/observer/templates/observer.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/observer/templates/observer.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/observer/templates/unit_test.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/observer/templates/unit_test.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/performance_test/USAGE (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/performance_test/USAGE)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/performance_test/performance_test_generator.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/performance_test/performance_test_generator.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/performance_test/templates/performance_test.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/performance_test/templates/performance_test.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/plugin/USAGE (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/USAGE)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/plugin/plugin_generator.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/plugin_generator.rb)4
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/plugin/templates/MIT-LICENSE (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/MIT-LICENSE)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/plugin/templates/README (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/README)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/plugin/templates/Rakefile (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/Rakefile)4
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/plugin/templates/USAGE (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/USAGE)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/plugin/templates/generator.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/generator.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/plugin/templates/init.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/init.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/plugin/templates/install.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/install.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/plugin/templates/plugin.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/plugin.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/plugin/templates/tasks.rake (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/tasks.rake)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/plugin/templates/test_helper.rb4
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/plugin/templates/uninstall.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/uninstall.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/plugin/templates/unit_test.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/unit_test.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/resource/USAGE (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/resource/USAGE)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/resource/resource_generator.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/resource/resource_generator.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/resource/templates/controller.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/resource/templates/controller.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/resource/templates/functional_test.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/resource/templates/functional_test.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/resource/templates/helper.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/resource/templates/helper.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/resource/templates/helper_test.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/resource/templates/helper_test.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/scaffold/USAGE (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/USAGE)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/scaffold/scaffold_generator.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/scaffold_generator.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/scaffold/templates/controller.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/controller.rb)6
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/scaffold/templates/functional_test.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/functional_test.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/scaffold/templates/helper.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/helper.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/scaffold/templates/helper_test.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/helper_test.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/scaffold/templates/layout.html.erb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/layout.html.erb)2
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/scaffold/templates/style.css (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/style.css)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/scaffold/templates/view_edit.html.erb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/view_edit.html.erb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/scaffold/templates/view_index.html.erb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/view_index.html.erb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/scaffold/templates/view_new.html.erb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/view_new.html.erb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/scaffold/templates/view_show.html.erb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/view_show.html.erb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/session_migration/USAGE (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/session_migration/USAGE)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/session_migration/session_migration_generator.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/session_migration/session_migration_generator.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/session_migration/templates/migration.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/session_migration/templates/migration.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/lookup.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/lookup.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/manifest.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/manifest.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/options.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/options.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/scripts.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/scripts.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/scripts/destroy.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/scripts/destroy.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/scripts/generate.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/scripts/generate.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/scripts/update.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/scripts/update.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/secret_key_generator.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/secret_key_generator.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/simple_logger.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/simple_logger.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/spec.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/spec.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/railties_path.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/railties_path.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/ruby_version_check.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/ruby_version_check.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rubyprof_ext.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rubyprof_ext.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/source_annotation_extractor.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/source_annotation_extractor.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/tasks/annotations.rake (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/tasks/annotations.rake)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/tasks/databases.rake (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/tasks/databases.rake)44
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/tasks/documentation.rake (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/tasks/documentation.rake)9
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/tasks/framework.rake (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/tasks/framework.rake)7
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/tasks/gems.rake (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/tasks/gems.rake)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/tasks/log.rake (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/tasks/log.rake)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/tasks/middleware.rake (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/tasks/middleware.rake)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/tasks/misc.rake (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/tasks/misc.rake)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/tasks/rails.rb14
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/tasks/routes.rake (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/tasks/routes.rake)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/tasks/statistics.rake (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/tasks/statistics.rake)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/tasks/testing.rake (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/tasks/testing.rake)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/tasks/tmp.rake (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/tasks/tmp.rake)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/test_help.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/test_help.rb)0
-rwxr-xr-x[-rw-r--r--]sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/webrick_server.rb (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/webrick_server.rb)0
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/tags2260
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/CHANGES522
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/MIT-LICENSE (renamed from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/MIT-LICENSE)5
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/README.rdoc197
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/Rakefile369
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/TODO20
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/install.rb90
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake.rb69
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/alt_system.rb109
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/application.rb595
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/classic_namespace.rb11
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/clean.rb32
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/cloneable.rb25
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/contrib/compositepublisher.rb21
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/contrib/ftptools.rb150
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/contrib/publisher.rb73
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/contrib/rubyforgepublisher.rb16
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/contrib/sshpublisher.rb50
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/contrib/sys.rb191
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/default_loader.rb10
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/dsl_definition.rb176
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/early_time.rb18
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/ext/core.rb27
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/ext/module.rb39
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/ext/string.rb167
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/ext/time.rb14
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/file_creation_task.rb24
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/file_list.rb403
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/file_task.rb47
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/file_utils.rb114
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/file_utils_ext.rb145
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/gempackagetask.rb15
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/invocation_chain.rb51
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/invocation_exception_mixin.rb16
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/loaders/makefile.rb40
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/multi_task.rb16
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/name_space.rb25
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/packagetask.rb185
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/pathmap.rb1
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/pseudo_status.rb24
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/rake_module.rb29
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/rake_test_loader.rb22
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/rdoctask.rb234
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/ruby182_test_unit_fix.rb25
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/rule_recursion_overflow_error.rb20
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/runtest.rb21
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/task.rb327
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/task_argument_error.rb7
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/task_arguments.rb78
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/task_manager.rb307
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/tasklib.rb22
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/testtask.rb191
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/version.rb8
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/win32.rb55
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/specifications/actionmailer-2.3.14.gemspec30
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/specifications/actionpack-2.3.14.gemspec33
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/specifications/activerecord-2.3.14.gemspec32
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/specifications/activerecord-jdbc-adapter-1.1.3.gemspec35
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/specifications/activerecord-oracle_enhanced-adapter-1.4.0.gemspec57
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/specifications/activeresource-2.3.14.gemspec32
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/specifications/activesupport-2.3.14.gemspec26
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/specifications/color-tools-1.3.0.gemspec32
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/specifications/fastercsv-1.4.0.gemspec29
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/specifications/i18n-0.4.2.gemspec26
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/specifications/jruby-openssl-0.7.4.gemspec32
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/specifications/json-jruby-1.2.3-universal-java-1.6.gemspec26
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/specifications/rack-1.1.3.gemspec50
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/gems/specifications/rails-2.3.14.gemspec47
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/gems/specifications/rake-0.9.2.2.gemspec34
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/.specification301
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/RDOX428
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/Rakefile164
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/bin/rackup176
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/auth/openid.rb480
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/commonlogger.rb61
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/session/memcache.rb109
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/rack.gemspec54
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/RUNNING_UNIT_TESTS24
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/cookies.rb95
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/session/abstract_store.rb181
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/templates/rescues/_trace.erb23
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/templates/rescues/diagnostics.erb9
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/templates/rescues/layout.erb24
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/templates/rescues/routing_error.erb10
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/templates/rescues/template_error.erb16
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/safe_buffer.rb28
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/associations/belongs_to_polymorphic_association.rb53
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/i18n_interpolation_deprecation.rb26
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/basic_object.rb24
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/array/random_access.rb12
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/class/attribute_accessors.rb54
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/module/attribute_accessors.rb60
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/object/metaclass.rb13
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/string/output_safety.rb48
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/README.textile20
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/Rakefile5
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/i18n.gemspec27
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/lib/i18n.rb199
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/lib/i18n/backend/simple.rb214
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/test/all.rb5
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/test/i18n_exceptions_test.rb99
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/test/i18n_test.rb124
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/test/locale/en.rb1
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/test/locale/en.yml3
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/test/simple_backend_test.rb567
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/xml_mini/libxml.rb133
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/xml_mini/nokogiri.rb69
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/about4
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/console3
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/dbconsole3
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/destroy3
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/generate3
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/performance/benchmarker3
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/performance/profiler3
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/plugin3
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/rails20
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/runner3
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/server3
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/doc/README_FOR_APP2
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/html/images/rails.pngbin6410 -> 0 bytes
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/test_helper.rb3
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/tasks/rails.rb9
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/web.xml11
1258 files changed, 21599 insertions, 5241 deletions
diff --git a/pom.xml b/pom.xml
index 7a456d5ccff..7bea5285873 100644
--- a/pom.xml
+++ b/pom.xml
@@ -782,18 +782,9 @@
<version>${h2.version}</version>
</dependency>
<dependency>
- <!--
- IMPORTANT: DO NOT UPGRADE THIS LIB. Indeed v.1.0.0.1 is a dedicated branch to support Servlet 2.4. Versions 1.0.5 and greater
- support Servlet 2.5+.
- Note that Servlet 2.4 will be supported until the end of life of Tomcat 5.5, in 2012 Q4.
- See :
- - http://www.tomcatexpert.com/blog/2011/08/10/end-life-announced-apache-tomcat-55
- - http://jira.codehaus.org/browse/SONAR-2212
- - http://kenai.com/jira/browse/JRUBY_RACK-31
- -->
<groupId>org.jruby.rack</groupId>
<artifactId>jruby-rack</artifactId>
- <version>1.0.0.1</version>
+ <version>1.1.10</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
@@ -915,10 +906,9 @@
<version>1.2</version>
</dependency>
<dependency>
- <!-- do not upgrade to 1.6.4 due to Solaris incompatibility. See https://jira.codehaus.org/browse/SONAR-2915 -->
<groupId>org.jruby</groupId>
<artifactId>jruby-complete</artifactId>
- <version>1.6.1</version>
+ <version>1.6.7.2</version>
</dependency>
<dependency>
<groupId>geronimo-spec</groupId>
@@ -931,6 +921,11 @@
<version>3.0.1</version>
</dependency>
<dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ <version>2.5</version>
+ </dependency>
+ <dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-plus</artifactId>
<version>${jetty.version}</version>
diff --git a/sonar-plugin-api/pom.xml b/sonar-plugin-api/pom.xml
index 238dfe524f7..0743ee27526 100644
--- a/sonar-plugin-api/pom.xml
+++ b/sonar-plugin-api/pom.xml
@@ -134,7 +134,6 @@
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
- <version>2.4</version>
<optional>true</optional>
</dependency>
diff --git a/sonar-server/pom.xml b/sonar-server/pom.xml
index 5e94cf94961..1c5dd6cc09f 100644
--- a/sonar-server/pom.xml
+++ b/sonar-server/pom.xml
@@ -21,7 +21,6 @@
<artifactId>sonar-batch-maven-compat</artifactId>
<version>${project.version}</version>
</dependency>
-
<dependency>
<groupId>org.codehaus.sonar</groupId>
<artifactId>sonar-channel</artifactId>
@@ -46,7 +45,6 @@
<groupId>org.codehaus.sonar</groupId>
<artifactId>sonar-markdown</artifactId>
</dependency>
-
<dependency>
<groupId>org.codehaus.sonar</groupId>
<artifactId>sonar-update-center-common</artifactId>
@@ -105,7 +103,6 @@
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
- <version>2.4</version>
<scope>provided</scope>
</dependency>
<dependency>
diff --git a/sonar-server/src/main/webapp/WEB-INF/config/environment.rb b/sonar-server/src/main/webapp/WEB-INF/config/environment.rb
index 46d42cf490b..bd50c954658 100644
--- a/sonar-server/src/main/webapp/WEB-INF/config/environment.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/config/environment.rb
@@ -1,14 +1,19 @@
-# Specifies gem version of Rails to use when vendor/rails is not present
-#RAILS_GEM_VERSION = '2.3.5' unless defined? RAILS_GEM_VERSION
+RAILS_GEM_VERSION = '2.3.14'
# Avoid conflict with local ruby installations
# See http://jira.codehaus.org/browse/SONAR-3579
-ENV["GEM_HOME"] = ENV["GEM_PATH"] = nil
+ENV['GEM_HOME'] = $servlet_context.getRealPath('/WEB-INF/gems')
# Bootstrap the Rails environment, frameworks, and default configuration
require File.join(File.dirname(__FILE__), 'boot')
require 'color'
+# Disable all the warnings :
+# Gem::SourceIndex#initialize called from /xxx/sonar/sonar-application/target/sonar-3.3-SNAPSHOT/war/sonar-server/WEB-INF/gems/gems/rails-2.3.14/lib/rails/vendor_gem_source_index.rb:100.
+# The other solutions are to upgrade to rails 3 or to use gembundler.com
+require 'rubygems'
+Gem::Deprecate.skip = (RAILS_ENV == 'production')
+
#
# Limitation of Rails 2.3 and Rails Engines (plugins) when threadsafe! is enabled in production mode
# See http://groups.google.com/group/rubyonrails-core/browse_thread/thread/9067bce01444fb24?pli=1
diff --git a/sonar-server/src/main/webapp/WEB-INF/config/environments/production.rb b/sonar-server/src/main/webapp/WEB-INF/config/environments/production.rb
index ef45a21c76a..1a5ed49efec 100644
--- a/sonar-server/src/main/webapp/WEB-INF/config/environments/production.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/config/environments/production.rb
@@ -14,7 +14,7 @@ config.threadsafe!
config.action_controller.consider_all_requests_local = false
config.action_controller.perform_caching = true
-config.load_paths += %W( #{RAILS_ROOT}/lib )
+config.autoload_paths += %W( #{RAILS_ROOT}/lib )
# Use a different cache store in production
# config.cache_store = :mem_cache_store
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/CHANGELOG b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/CHANGELOG
index 3875bbe68b4..3270c72fb5a 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/CHANGELOG
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/CHANGELOG
@@ -1,3 +1,69 @@
+*2.3.11 (February 9, 2011)*
+
+* Two security fixes. CVE-2011-0446, CVE-2011-0447
+
+*2.3.10 (October 15, 2010)*
+
+*2.3.9 (September 4, 2010)*
+
+* Version bump.
+
+
+*2.3.8 (May 24, 2010)*
+
+* HTML safety: fix compatibility *without* the optional rails_xss plugin.
+
+
+*2.3.7 (May 24, 2010)*
+
+* HTML safety: fix compatibility with the optional rails_xss plugin. [Nathan Weizenbaum, Santiago Pastorino]
+
+
+*2.3.6 (May 23, 2010)*
+
+* JSON: set Base.include_root_in_json = true to include a root value in the JSON: {"post": {"title": ...}}. Mirrors the Active Record option. #2584 [Matthew Moore, Joe Martinez, Elad Meidar, Santiago Pastorino]
+
+* Ruby 1.9: ERB template encoding using a magic comment at the top of the file. [Jeremy Kemper]
+ <%# encoding: utf-8 %>
+
+* Fixed that default locale templates should be used if the current locale template is missing [DHH]
+
+* Fixed that PrototypeHelper#update_page should return html_safe [DHH]
+
+* Fixed that much of DateHelper wouldn't return html_safe? strings [DHH]
+
+* Fixed that fragment caching should return a cache hit as html_safe (or it would all just get escaped) [DHH]
+
+* Introduce String#html_safe for rails_xss plugin and forward-compatibility with Rails 3. [Michael Koziarski, Santiago Pastorino, José Ignacio Costa]
+
+* Added :alert, :notice, and :flash as options to ActionController::Base#redirect_to that'll automatically set the proper flash before the redirection [DHH]. Examples:
+
+ flash[:notice] = 'Post was created'
+ redirect_to(@post)
+
+ ...becomes:
+
+ redirect_to(@post, :notice => 'Post was created')
+
+* Added ActionController::Base#notice/= and ActionController::Base#alert/= as a convenience accessors in both the controller and the view for flash[:notice]/= and flash[:alert]/= [DHH]
+
+* Added cookies.permanent, cookies.signed, and cookies.permanent.signed accessor for common cookie actions [DHH]. Examples:
+
+ cookies.permanent[:prefers_open_id] = true
+ # => Set-Cookie: prefers_open_id=true; path=/; expires=Sun, 16-Dec-2029 03:24:16 GMT
+
+ cookies.signed[:discount] = 45
+ # => Set-Cookie: discount=BAhpMg==--2c1c6906c90a3bc4fd54a51ffb41dffa4bf6b5f7; path=/
+
+ cookies.signed[:discount]
+ # => 45 (if the cookie was changed, you'll get a InvalidSignature exception)
+
+ cookies.permanent.signed[:remember_me] = current_user.id
+ # => Set-Cookie: discount=BAhU--848956038e692d7046deab32b7131856ab20e14e; path=/; expires=Sun, 16-Dec-2029 03:24:16 GMT
+
+ ...to use the signed cookies, you need to set a secret to ActionController::Base.cookie_verifier_secret (automatically done in config/initializers/cookie_verification_secret.rb for new Rails applications).
+
+
*2.3.5 (November 25, 2009)*
* Minor Bug Fixes and deprecation warnings
@@ -1869,7 +1935,7 @@ superclass' view_paths. [Rick Olson]
* Update documentation for erb trim syntax. #5651 [matt@mattmargolis.net]
-* Pass :id => nil or :class => nil to error_messages_for to supress that html attribute. #3586 [olivier_ansaldi@yahoo.com, sebastien@goetzilla.info]
+* Pass :id => nil or :class => nil to error_messages_for to supress that html attribute. #3586 [olivier_ansaldi@yahoo.com]
* Reset @html_document between requests so assert_tag works. #4810 [Jarkko Laine, easleydp@gmail.com]
@@ -2466,7 +2532,7 @@ superclass' view_paths. [Rick Olson]
* Provide support for decimal columns to form helpers. Closes #5672. [Dave Thomas]
-* Pass :id => nil or :class => nil to error_messages_for to supress that html attribute. #3586 [olivier_ansaldi@yahoo.com, sebastien@goetzilla.info]
+* Pass :id => nil or :class => nil to error_messages_for to supress that html attribute. #3586 [olivier_ansaldi@yahoo.com]
* Reset @html_document between requests so assert_tag works. #4810 [Jarkko Laine, easleydp@gmail.com]
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/MIT-LICENSE b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/MIT-LICENSE
index e7accc5ea11..a345a2419de 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/MIT-LICENSE
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/MIT-LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2004-2009 David Heinemeier Hansson
+Copyright (c) 2004-2010 David Heinemeier Hansson
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/README b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/README
index e4ce4aa0446..1dff37e10dd 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/README
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/README
@@ -155,20 +155,20 @@ A short rundown of the major features:
map.connect 'clients/:client_name/:project_name/:controller/:action'
Accessing /clients/37signals/basecamp/project/dash calls ProjectController#dash with
- { "client_name" => "37signals", "project_name" => "basecamp" } in params[:params]
+ { "client_name" => "37signals", "project_name" => "basecamp" }.
- From that URL, you can rewrite the redirect in a number of ways:
+ From that URL you can redirect providing new parameters in a number of ways:
- redirect_to(:action => "edit") =>
- /clients/37signals/basecamp/project/dash
+ redirect_to :action => "edit"
+ # /clients/37signals/basecamp/project/edit
- redirect_to(:client_name => "nextangle", :project_name => "rails") =>
- /clients/nextangle/rails/project/dash
+ redirect_to :client_name => "nextangle", :project_name => "rails"
+ # /clients/nextangle/rails/project/dash
{Learn more}[link:classes/ActionController/Base.html]
-* Javascript and Ajax integration
+* JavaScript and Ajax integration
link_to_function "Greeting", "alert('Hello world!')"
link_to_remote "Delete this post", :update => "posts",
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/Rakefile b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/Rakefile
index 73f9efef009..ce4c41aaaaf 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/Rakefile
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/Rakefile
@@ -1,9 +1,9 @@
require 'rubygems'
require 'rake'
require 'rake/testtask'
-require 'rake/rdoctask'
+require 'rdoc/task'
require 'rake/packagetask'
-require 'rake/gempackagetask'
+require 'rubygems/package_task'
require File.join(File.dirname(__FILE__), 'lib', 'action_pack', 'version')
PKG_BUILD = ENV['PKG_BUILD'] ? '.' + ENV['PKG_BUILD'] : ''
@@ -45,7 +45,7 @@ end
# Genereate the RDoc documentation
-Rake::RDocTask.new { |rdoc|
+RDoc::Task.new { |rdoc|
rdoc.rdoc_dir = 'doc'
rdoc.title = "Action Pack -- On rails from request to response"
rdoc.options << '--line-numbers' << '--inline-source'
@@ -76,14 +76,12 @@ spec = Gem::Specification.new do |s|
s.rubyforge_project = "actionpack"
s.homepage = "http://www.rubyonrails.org"
- s.has_rdoc = true
s.requirements << 'none'
- s.add_dependency('activesupport', '= 2.3.5' + PKG_BUILD)
- s.add_dependency('rack', '~> 1.0.0')
+ s.add_dependency('activesupport', '= 2.3.14' + PKG_BUILD)
+ s.add_dependency('rack', '~> 1.1.0')
s.require_path = 'lib'
- s.autorequire = 'action_controller'
s.files = [ "Rakefile", "install.rb", "README", "RUNNING_UNIT_TESTS", "CHANGELOG", "MIT-LICENSE" ]
dist_dirs.each do |dir|
@@ -91,7 +89,7 @@ spec = Gem::Specification.new do |s|
end
end
-Rake::GemPackageTask.new(spec) do |p|
+Gem::PackageTask.new(spec) do |p|
p.gem_spec = spec
p.need_tar = true
p.need_zip = true
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/install.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/install.rb
index d3b83c3b00c..d3b83c3b00c 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/install.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/install.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller.rb
index 7072aad9884..262faea64c7 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller.rb
@@ -1,5 +1,5 @@
#--
-# Copyright (c) 2004-2009 David Heinemeier Hansson
+# Copyright (c) 2004-2010 David Heinemeier Hansson
#
# Permission is hereby granted, free of charge, to any person obtaining
# a copy of this software and associated documentation files (the
@@ -31,7 +31,7 @@ rescue LoadError
end
end
-gem 'rack', '~> 1.0.1'
+gem 'rack', '~> 1.1.0'
require 'rack'
require 'action_controller/cgi_ext'
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/assertions/dom_assertions.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/assertions/dom_assertions.rb
index 8dd3f6370f4..8dd3f6370f4 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/assertions/dom_assertions.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/assertions/dom_assertions.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/assertions/model_assertions.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/assertions/model_assertions.rb
index 3a7b39b1067..3a7b39b1067 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/assertions/model_assertions.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/assertions/model_assertions.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/assertions/response_assertions.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/assertions/response_assertions.rb
index 931a03196a0..f29eefca579 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/assertions/response_assertions.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/assertions/response_assertions.rb
@@ -144,16 +144,25 @@ module ActionController
end
def normalize_argument_to_redirection(fragment)
- after_routing = @controller.url_for(fragment)
- if after_routing =~ %r{^\w+://.*}
- after_routing
- else
- # FIXME - this should probably get removed.
- if after_routing.first != '/'
- after_routing = '/' + after_routing
+ case fragment
+ when %r{^\w[\w\d+.-]*:.*}
+ fragment
+ when String
+ if fragment =~ %r{^\w[\w\d+.-]*:.*}
+ fragment
+ else
+ if fragment !~ /^\//
+ ActiveSupport::Deprecation.warn "Omitting the leading slash on a path with assert_redirected_to is deprecated. Use '/#{fragment}' instead.", caller(2)
+ fragment = "/#{fragment}"
+ end
+ @request.protocol + @request.host_with_port + fragment
end
- @request.protocol + @request.host_with_port + after_routing
- end
+ when :back
+ raise RedirectBackError unless refer = @request.headers["Referer"]
+ refer
+ else
+ @controller.url_for(fragment)
+ end.gsub(/[\r\n]/, '')
end
end
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/assertions/routing_assertions.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/assertions/routing_assertions.rb
index 5101751cea0..5101751cea0 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/assertions/routing_assertions.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/assertions/routing_assertions.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/assertions/selector_assertions.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/assertions/selector_assertions.rb
index 280839db58a..280839db58a 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/assertions/selector_assertions.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/assertions/selector_assertions.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/assertions/tag_assertions.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/assertions/tag_assertions.rb
index 80249e0e834..80249e0e834 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/assertions/tag_assertions.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/assertions/tag_assertions.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/base.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/base.rb
index d66e6662285..41a8a64ad26 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/base.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/base.rb
@@ -616,15 +616,6 @@ module ActionController #:nodoc:
# displayed on:
#
# url_for :controller => 'posts', :action => nil
- #
- # If you explicitly want to create a URL that's almost the same as the current URL, you can do so using the
- # <tt>:overwrite_params</tt> options. Say for your posts you have different views for showing and printing them.
- # Then, in the show view, you get the URL for the print view like this
- #
- # url_for :overwrite_params => { :action => 'print' }
- #
- # This takes the current URL as is and only exchanges the action. In contrast, <tt>url_for :action => 'print'</tt>
- # would have slashed-off the path components after the changed action.
def url_for(options = {})
options ||= {}
case options
@@ -1092,13 +1083,24 @@ module ActionController #:nodoc:
# The redirection happens as a "302 Moved" header unless otherwise specified.
#
# Examples:
- # redirect_to post_url(@post), :status=>:found
- # redirect_to :action=>'atom', :status=>:moved_permanently
- # redirect_to post_url(@post), :status=>301
- # redirect_to :action=>'atom', :status=>302
+ # redirect_to post_url(@post), :status => :found
+ # redirect_to :action=>'atom', :status => :moved_permanently
+ # redirect_to post_url(@post), :status => 301
+ # redirect_to :action=>'atom', :status => 302
+ #
+ # The status code can either be a standard {HTTP Status code}[http://www.iana.org/assignments/http-status-codes] as an
+ # integer, or a symbol representing the downcased, underscored and symbolized description.
+ #
+ # It is also possible to assign a flash message as part of the redirection. There are two special accessors for commonly used the flash names
+ # +alert+ and +notice+ as well as a general purpose +flash+ bucket.
+ #
+ # Examples:
+ # redirect_to post_url(@post), :alert => "Watch it, mister!"
+ # redirect_to post_url(@post), :status=> :found, :notice => "Pay attention to the road"
+ # redirect_to post_url(@post), :status => 301, :flash => { :updated_post_id => @post.id }
+ # redirect_to { :action=>'atom' }, :alert => "Something serious happened"
#
- # When using <tt>redirect_to :back</tt>, if there is no referrer,
- # RedirectBackError will be raised. You may specify some fallback
+ # When using <tt>redirect_to :back</tt>, if there is no referrer, RedirectBackError will be raised. You may specify some fallback
# behavior for this case by rescuing RedirectBackError.
def redirect_to(options = {}, response_status = {}) #:doc:
raise ActionControllerError.new("Cannot redirect to nil!") if options.nil?
@@ -1412,7 +1414,7 @@ module ActionController #:nodoc:
end
Base.class_eval do
- [ Filters, Layout, Benchmarking, Rescue, Flash, MimeResponds, Helpers,
+ [ Filters, Layout, Benchmarking, Rescue, MimeResponds, Helpers, Flash,
Cookies, Caching, Verification, Streaming, SessionManagement,
HttpAuthentication::Basic::ControllerMethods, HttpAuthentication::Digest::ControllerMethods,
RecordIdentifier, RequestForgeryProtection, Translation
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/benchmarking.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/benchmarking.rb
index 47377e5fa98..47377e5fa98 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/benchmarking.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/benchmarking.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/caching.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/caching.rb
index a379485cc30..a379485cc30 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/caching.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/caching.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/caching/actions.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/caching/actions.rb
index 21ee9bd309b..21ee9bd309b 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/caching/actions.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/caching/actions.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/caching/fragments.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/caching/fragments.rb
index 95cba0e4110..56ccc4ada19 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/caching/fragments.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/caching/fragments.rb
@@ -37,7 +37,7 @@ module ActionController #:nodoc:
def fragment_for(buffer, name = {}, options = nil, &block) #:nodoc:
if perform_caching
if cache = read_fragment(name, options)
- buffer.concat(cache)
+ buffer.safe_concat(cache.html_safe)
else
pos = buffer.length
block.call
@@ -52,9 +52,9 @@ module ActionController #:nodoc:
def write_fragment(key, content, options = nil)
return content unless cache_configured?
- key = fragment_cache_key(key)
-
self.class.benchmark "Cached fragment miss: #{key}" do
+ key = fragment_cache_key(key)
+ content = content.html_safe.to_str if content.respond_to?(:html_safe)
cache_store.write(key, content, options)
end
@@ -66,9 +66,9 @@ module ActionController #:nodoc:
return unless cache_configured?
key = fragment_cache_key(key)
-
self.class.benchmark "Cached fragment hit: #{key}" do
- cache_store.read(key, options)
+ result = cache_store.read(key, options)
+ result.respond_to?(:html_safe) ? result.html_safe : result
end
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/caching/pages.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/caching/pages.rb
index bd3b5a58755..bd3b5a58755 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/caching/pages.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/caching/pages.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/caching/sweeper.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/caching/sweeper.rb
index 4885d8b2094..4885d8b2094 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/caching/sweeper.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/caching/sweeper.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/caching/sweeping.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/caching/sweeping.rb
index 9b3200211fe..9b3200211fe 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/caching/sweeping.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/caching/sweeping.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/cgi_ext.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/cgi_ext.rb
index 406b6f06d60..406b6f06d60 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/cgi_ext.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/cgi_ext.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/cgi_ext/cookie.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/cgi_ext/cookie.rb
index 9cd19bb12d7..9cd19bb12d7 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/cgi_ext/cookie.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/cgi_ext/cookie.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/cgi_ext/query_extension.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/cgi_ext/query_extension.rb
index 9620fd2873c..9620fd2873c 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/cgi_ext/query_extension.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/cgi_ext/query_extension.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/cgi_ext/stdinput.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/cgi_ext/stdinput.rb
index 5e9b6784afa..5e9b6784afa 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/cgi_ext/stdinput.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/cgi_ext/stdinput.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/cgi_process.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/cgi_process.rb
index 54ff04cfd25..54ff04cfd25 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/cgi_process.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/cgi_process.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/cookies.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/cookies.rb
new file mode 100755
index 00000000000..9eab87b7ae2
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/cookies.rb
@@ -0,0 +1,197 @@
+module ActionController #:nodoc:
+ # Cookies are read and written through ActionController#cookies.
+ #
+ # The cookies being read are the ones received along with the request, the cookies
+ # being written will be sent out with the response. Reading a cookie does not get
+ # the cookie object itself back, just the value it holds.
+ #
+ # Examples for writing:
+ #
+ # # Sets a simple session cookie.
+ # cookies[:user_name] = "david"
+ #
+ # # Sets a cookie that expires in 1 hour.
+ # cookies[:login] = { :value => "XJ-122", :expires => 1.hour.from_now }
+ #
+ # Examples for reading:
+ #
+ # cookies[:user_name] # => "david"
+ # cookies.size # => 2
+ #
+ # Example for deleting:
+ #
+ # cookies.delete :user_name
+ #
+ # Please note that if you specify a :domain when setting a cookie, you must also specify the domain when deleting the cookie:
+ #
+ # cookies[:key] = {
+ # :value => 'a yummy cookie',
+ # :expires => 1.year.from_now,
+ # :domain => 'domain.com'
+ # }
+ #
+ # cookies.delete(:key, :domain => 'domain.com')
+ #
+ # The option symbols for setting cookies are:
+ #
+ # * <tt>:value</tt> - The cookie's value or list of values (as an array).
+ # * <tt>:path</tt> - The path for which this cookie applies. Defaults to the root
+ # of the application.
+ # * <tt>:domain</tt> - The domain for which this cookie applies.
+ # * <tt>:expires</tt> - The time at which this cookie expires, as a Time object.
+ # * <tt>:secure</tt> - Whether this cookie is a only transmitted to HTTPS servers.
+ # Default is +false+.
+ # * <tt>:httponly</tt> - Whether this cookie is accessible via scripting or
+ # only HTTP. Defaults to +false+.
+ module Cookies
+ def self.included(base)
+ base.helper_method :cookies
+ base.cattr_accessor :cookie_verifier_secret
+ end
+
+ protected
+ # Returns the cookie container, which operates as described above.
+ def cookies
+ @cookies ||= CookieJar.new(self)
+ end
+ end
+
+ class CookieJar < Hash #:nodoc:
+ attr_reader :controller
+
+ def initialize(controller)
+ @controller, @cookies, @secure = controller, controller.request.cookies, controller.request.ssl?
+ super()
+ update(@cookies)
+ end
+
+ # Returns the value of the cookie by +name+, or +nil+ if no such cookie exists.
+ def [](name)
+ super(name.to_s)
+ end
+
+ # Sets the cookie named +name+. The second argument may be the very cookie
+ # value, or a hash of options as documented above.
+ def []=(key, options)
+ if options.is_a?(Hash)
+ options.symbolize_keys!
+ else
+ options = { :value => options }
+ end
+
+ options[:path] = "/" unless options.has_key?(:path)
+ super(key.to_s, options[:value])
+ @controller.response.set_cookie(key, options) if write_cookie?(options)
+ end
+
+ # Removes the cookie on the client machine by setting the value to an empty string
+ # and setting its expiration date into the past. Like <tt>[]=</tt>, you can pass in
+ # an options hash to delete cookies with extra data such as a <tt>:path</tt>.
+ def delete(key, options = {})
+ options.symbolize_keys!
+ options[:path] = "/" unless options.has_key?(:path)
+ value = super(key.to_s)
+ @controller.response.delete_cookie(key, options)
+ value
+ end
+
+ # Returns a jar that'll automatically set the assigned cookies to have an expiration date 20 years from now. Example:
+ #
+ # cookies.permanent[:prefers_open_id] = true
+ # # => Set-Cookie: prefers_open_id=true; path=/; expires=Sun, 16-Dec-2029 03:24:16 GMT
+ #
+ # This jar is only meant for writing. You'll read permanent cookies through the regular accessor.
+ #
+ # This jar allows chaining with the signed jar as well, so you can set permanent, signed cookies. Examples:
+ #
+ # cookies.permanent.signed[:remember_me] = current_user.id
+ # # => Set-Cookie: discount=BAhU--848956038e692d7046deab32b7131856ab20e14e; path=/; expires=Sun, 16-Dec-2029 03:24:16 GMT
+ def permanent
+ @permanent ||= PermanentCookieJar.new(self)
+ end
+
+ # Returns a jar that'll automatically generate a signed representation of cookie value and verify it when reading from
+ # the cookie again. This is useful for creating cookies with values that the user is not supposed to change. If a signed
+ # cookie was tampered with by the user (or a 3rd party), an ActiveSupport::MessageVerifier::InvalidSignature exception will
+ # be raised.
+ #
+ # This jar requires that you set a suitable secret for the verification on ActionController::Base.cookie_verifier_secret.
+ #
+ # Example:
+ #
+ # cookies.signed[:discount] = 45
+ # # => Set-Cookie: discount=BAhpMg==--2c1c6906c90a3bc4fd54a51ffb41dffa4bf6b5f7; path=/
+ #
+ # cookies.signed[:discount] # => 45
+ def signed
+ @signed ||= SignedCookieJar.new(self)
+ end
+
+ private
+
+ def write_cookie?(cookie)
+ @secure || !cookie[:secure] || defined?(Rails.env) && Rails.env.development?
+ end
+ end
+
+ class PermanentCookieJar < CookieJar #:nodoc:
+ def initialize(parent_jar)
+ @parent_jar = parent_jar
+ end
+
+ def []=(key, options)
+ if options.is_a?(Hash)
+ options.symbolize_keys!
+ else
+ options = { :value => options }
+ end
+
+ options[:expires] = 20.years.from_now
+ @parent_jar[key] = options
+ end
+
+ def signed
+ @signed ||= SignedCookieJar.new(self)
+ end
+
+ def controller
+ @parent_jar.controller
+ end
+
+ def method_missing(method, *arguments, &block)
+ @parent_jar.send(method, *arguments, &block)
+ end
+ end
+
+ class SignedCookieJar < CookieJar #:nodoc:
+ def initialize(parent_jar)
+ unless parent_jar.controller.class.cookie_verifier_secret
+ raise "You must set ActionController::Base.cookie_verifier_secret to use signed cookies"
+ end
+
+ @parent_jar = parent_jar
+ @verifier = ActiveSupport::MessageVerifier.new(@parent_jar.controller.class.cookie_verifier_secret)
+ end
+
+ def [](name)
+ if value = @parent_jar[name]
+ @verifier.verify(value)
+ end
+ end
+
+ def []=(key, options)
+ if options.is_a?(Hash)
+ options.symbolize_keys!
+ options[:value] = @verifier.generate(options[:value])
+ else
+ options = { :value => @verifier.generate(options) }
+ end
+
+ @parent_jar[key] = options
+ end
+
+ def method_missing(method, *arguments, &block)
+ @parent_jar.send(method, *arguments, &block)
+ end
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/dispatcher.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/dispatcher.rb
index 1932944f607..1932944f607 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/dispatcher.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/dispatcher.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/failsafe.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/failsafe.rb
index 7f8aee82669..42ec5702584 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/failsafe.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/failsafe.rb
@@ -73,6 +73,7 @@ module ActionController
message = "/!\\ FAILSAFE /!\\ #{Time.now}\n Status: 500 Internal Server Error\n"
message << " #{exception}\n #{exception.backtrace.join("\n ")}" if exception
failsafe_logger.fatal(message)
+ failsafe_logger.flush if failsafe_logger.respond_to?(:flush)
end
def failsafe_logger
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/filters.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/filters.rb
index 9022b8b2792..9022b8b2792 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/filters.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/filters.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/flash.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/flash.rb
index 93912073ec7..e15d0d80e76 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/flash.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/flash.rb
@@ -29,8 +29,13 @@ module ActionController #:nodoc:
def self.included(base)
base.class_eval do
include InstanceMethods
+
alias_method_chain :perform_action, :flash
alias_method_chain :reset_session, :flash
+ alias_method_chain :redirect_to, :flash
+
+ helper_method :alert
+ helper_method :notice
end
end
@@ -155,6 +160,22 @@ module ActionController #:nodoc:
remove_instance_variable(:@_flash) if defined? @_flash
end
+ def redirect_to_with_flash(options = {}, response_status_and_flash = {}) #:doc:
+ if alert = response_status_and_flash.delete(:alert)
+ flash[:alert] = alert
+ end
+
+ if notice = response_status_and_flash.delete(:notice)
+ flash[:notice] = notice
+ end
+
+ if other_flashes = response_status_and_flash.delete(:flash)
+ flash.update(other_flashes)
+ end
+
+ redirect_to_without_flash(options, response_status_and_flash)
+ end
+
# Access the contents of the flash. Use <tt>flash["notice"]</tt> to
# read a notice you put there or <tt>flash["notice"] = "hello"</tt>
# to put a new one.
@@ -166,6 +187,27 @@ module ActionController #:nodoc:
@_flash
end
+
+
+ # Convenience accessor for flash[:alert]
+ def alert
+ flash[:alert]
+ end
+
+ # Convenience accessor for flash[:alert]=
+ def alert=(message)
+ flash[:alert] = message
+ end
+
+ # Convenience accessor for flash[:notice]
+ def notice
+ flash[:notice]
+ end
+
+ # Convenience accessor for flash[:notice]=
+ def notice=(message)
+ flash[:notice] = message
+ end
end
end
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/headers.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/headers.rb
index 139669c66fa..139669c66fa 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/headers.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/headers.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/helpers.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/helpers.rb
index ba65032f6a2..ba65032f6a2 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/helpers.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/helpers.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/http_authentication.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/http_authentication.rb
index ede279f596c..ede279f596c 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/http_authentication.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/http_authentication.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/integration.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/integration.rb
index b8c9b604c79..d9de6b8f396 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/integration.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/integration.rb
@@ -287,7 +287,6 @@ module ActionController
"REMOTE_ADDR" => remote_addr,
"CONTENT_TYPE" => "application/x-www-form-urlencoded",
"CONTENT_LENGTH" => data ? data.length.to_s : nil,
- "HTTP_COOKIE" => encode_cookies,
"HTTP_ACCEPT" => accept,
"rack.version" => [0,1],
@@ -298,6 +297,8 @@ module ActionController
"rack.run_once" => false
)
+ env['HTTP_COOKIE'] = encode_cookies if cookies.any?
+
(headers || {}).each do |key, value|
key = key.to_s.upcase.gsub(/-/, "_")
key = "HTTP_#{key}" unless env.has_key?(key) || key =~ /^HTTP_/
@@ -323,7 +324,9 @@ module ActionController
@headers = Rack::Utils::HeaderHash.new(headers)
- (@headers['Set-Cookie'] || "").split("\n").each do |cookie|
+ cookies = @headers['Set-Cookie']
+ cookies = cookies.to_s.split("\n") unless cookies.is_a?(Array)
+ cookies.each do |cookie|
name, value = cookie.match(/^([^=]*)=([^;]*);/)[1,2]
@cookies[name] = value
end
@@ -353,6 +356,8 @@ module ActionController
# used in integration tests.
@response.extend(TestResponseBehavior)
+ body.close if body.respond_to?(:close)
+
return @status
rescue MultiPartNeededException
boundary = "----------XnJLe9ZIbbGUYtzPQJ16u1"
@@ -410,15 +415,25 @@ module ActionController
end
def multipart_requestify(params, first=true)
- returning Hash.new do |p|
+ Array.new.tap do |p|
params.each do |key, value|
k = first ? key.to_s : "[#{key.to_s}]"
if Hash === value
multipart_requestify(value, false).each do |subkey, subvalue|
- p[k + subkey] = subvalue
+ p << [k + subkey, subvalue]
+ end
+ elsif Array === value
+ value.each do |element|
+ if Hash === element || Array === element
+ multipart_requestify(element, false).each do |subkey, subvalue|
+ p << ["#{k}[]#{subkey}", subvalue]
+ end
+ else
+ p << ["#{k}[]", element]
+ end
end
else
- p[k] = value
+ p << [k, value]
end
end
end
@@ -449,6 +464,7 @@ EOF
end
end.join("")+"--#{boundary}--\r"
end
+
end
# A module used to extend ActionController::Base, so that integration tests
@@ -496,7 +512,7 @@ EOF
reset! unless @integration_session
# reset the html_document variable, but only for new get/post calls
@html_document = nil unless %w(cookies assigns).include?(method)
- returning @integration_session.__send__(method, *args) do
+ @integration_session.__send__(method, *args).tap do
copy_session_variables!
end
end
@@ -520,7 +536,7 @@ EOF
if self.class.respond_to?(:fixture_table_names)
self.class.fixture_table_names.each do |table_name|
name = table_name.tr(".", "_")
- next unless respond_to?(name)
+ next unless respond_to?(name, true)
extras.__send__(:define_method, name) { |*args|
delegate.send(name, *args)
}
@@ -552,7 +568,7 @@ EOF
def method_missing(sym, *args, &block)
reset! unless @integration_session
if @integration_session.respond_to?(sym)
- returning @integration_session.__send__(sym, *args, &block) do
+ @integration_session.__send__(sym, *args, &block).tap do
copy_session_variables!
end
else
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/layout.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/layout.rb
index 73fafa6371e..73fafa6371e 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/layout.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/layout.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/middleware_stack.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/middleware_stack.rb
index b739a6d72d6..b739a6d72d6 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/middleware_stack.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/middleware_stack.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/middlewares.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/middlewares.rb
index 16eb363c280..16eb363c280 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/middlewares.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/middlewares.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/mime_responds.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/mime_responds.rb
index b7553638732..b7553638732 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/mime_responds.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/mime_responds.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/mime_type.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/mime_type.rb
index 017626ba272..017626ba272 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/mime_type.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/mime_type.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/mime_types.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/mime_types.rb
index 2d7fba1173c..2d7fba1173c 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/mime_types.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/mime_types.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/params_parser.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/params_parser.rb
index f7e3c54b6f2..f7e3c54b6f2 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/params_parser.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/params_parser.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/performance_test.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/performance_test.rb
index d88180087d3..d88180087d3 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/performance_test.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/performance_test.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/polymorphic_routes.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/polymorphic_routes.rb
index b30d4411b81..612701d4284 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/polymorphic_routes.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/polymorphic_routes.rb
@@ -115,7 +115,7 @@ module ActionController
end
%w(edit new).each do |action|
- module_eval <<-EOT, __FILE__, __LINE__
+ module_eval <<-EOT, __FILE__, __LINE__ + 1
def #{action}_polymorphic_url(record_or_hash, options = {}) # def edit_polymorphic_url(record_or_hash, options = {})
polymorphic_url( # polymorphic_url(
record_or_hash, # record_or_hash,
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/rack_lint_patch.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/rack_lint_patch.rb
index 6938e8ef67d..da9f1684dbe 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/rack_lint_patch.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/rack_lint_patch.rb
@@ -1,4 +1,4 @@
-# Rack 1.0 does not allow string subclass body. This does not play well with our ActionView::SafeBuffer.
+# Rack 1.0 does not allow string subclass body. This does not play well with our ActiveSupport::SafeBuffer.
# The next release of Rack will be allowing string subclass body - http://github.com/rack/rack/commit/de668df02802a0335376a81ba709270e43ba9d55
# TODO : Remove this monkey patch after the next release of Rack
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/record_identifier.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/record_identifier.rb
index 742d290ad6c..742d290ad6c 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/record_identifier.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/record_identifier.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/reloader.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/reloader.rb
index 709d88a37be..709d88a37be 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/reloader.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/reloader.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/request.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/request.rb
index 1c3c1c83fbf..dc46253014d 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/request.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/request.rb
@@ -446,8 +446,10 @@ EOM
end
def reset_session
- @env['rack.session.options'].delete(:id)
- @env['rack.session'] = {}
+ # session may be a hash, if so, we do not want to call destroy
+ # fixes issue 6440
+ session.destroy if session and session.respond_to?(:destroy)
+ self.session = {}
end
def session_options
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/request_forgery_protection.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/request_forgery_protection.rb
index 24821fff9e5..003085792b2 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/request_forgery_protection.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/request_forgery_protection.rb
@@ -76,7 +76,11 @@ module ActionController #:nodoc:
protected
# The actual before_filter that is used. Modify this to change how you handle unverified requests.
def verify_authenticity_token
- verified_request? || raise(ActionController::InvalidAuthenticityToken)
+ verified_request? || handle_unverified_request
+ end
+
+ def handle_unverified_request
+ reset_session
end
# Returns true or false if a request is verified. Checks:
@@ -85,11 +89,10 @@ module ActionController #:nodoc:
# * is it a GET request? Gets should be safe and idempotent
# * Does the form_authenticity_token match the given token value from the params?
def verified_request?
- !protect_against_forgery? ||
- request.method == :get ||
- request.xhr? ||
- !verifiable_request_format? ||
- form_authenticity_token == form_authenticity_param
+ !protect_against_forgery? ||
+ request.get? ||
+ form_authenticity_token == form_authenticity_param ||
+ form_authenticity_token == request.headers['X-CSRF-Token']
end
def form_authenticity_param
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/rescue.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/rescue.rb
index 242c8da9206..81bf2c16994 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/rescue.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/rescue.rb
@@ -15,7 +15,7 @@ module ActionController #:nodoc:
# behavior is achieved by overriding the <tt>rescue_action_in_public</tt>
# and <tt>rescue_action_locally</tt> methods.
module Rescue
- LOCALHOST = '127.0.0.1'.freeze
+ LOCALHOST = [/^127\.0\.0\.\d{1,3}$/, /^::1$/, /^0:0:0:0:0:0:0:1(%.*)?$/].freeze
DEFAULT_RESCUE_RESPONSE = :internal_server_error
DEFAULT_RESCUE_RESPONSES = {
@@ -122,7 +122,7 @@ module ActionController #:nodoc:
# method if you wish to redefine the meaning of a local request to
# include remote IP addresses or other criteria.
def local_request? #:doc:
- request.remote_addr == LOCALHOST && request.remote_ip == LOCALHOST
+ LOCALHOST.any?{ |local_ip| request.remote_addr =~ local_ip && request.remote_ip =~ local_ip }
end
# Render detailed diagnostics for unhandled exceptions rescued from
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/resources.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/resources.rb
index 8c2080e5396..9348ed96632 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/resources.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/resources.rb
@@ -659,7 +659,7 @@ module ActionController
end
def add_conditions_for(conditions, method)
- returning({:conditions => conditions.dup}) do |options|
+ ({:conditions => conditions.dup}).tap do |options|
options[:conditions][:method] = method unless method == :any
end
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/response.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/response.rb
index 192d31457de..ff1702e845e 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/response.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/response.rb
@@ -64,12 +64,13 @@ module ActionController # :nodoc:
# the character set information will also be included in the content type
# information.
def content_type=(mime_type)
- self.headers["Content-Type"] =
+ new_content_type =
if mime_type =~ /charset/ || (c = charset).nil?
mime_type.to_s
else
"#{mime_type}; charset=#{c}"
end
+ self.headers["Content-Type"] = URI.escape(new_content_type, "\r\n")
end
# Returns the response's content MIME type, or nil if content type has been set.
@@ -117,11 +118,7 @@ module ActionController # :nodoc:
end
def etag=(etag)
- if etag.blank?
- headers.delete('ETag')
- else
- headers['ETag'] = %("#{Digest::MD5.hexdigest(ActiveSupport::Cache.expand_cache_key(etag))}")
- end
+ headers['ETag'] = %("#{Digest::MD5.hexdigest(ActiveSupport::Cache.expand_cache_key(etag))}")
end
def redirect(url, status)
@@ -202,7 +199,7 @@ module ActionController # :nodoc:
def nonempty_ok_response?
ok = !status || status.to_s[0..2] == '200'
- ok && body.is_a?(String) && !body.empty?
+ ok && body.is_a?(String) && !body.blank?
end
def set_conditional_cache_control!
@@ -233,7 +230,8 @@ module ActionController # :nodoc:
end
def convert_cookies!
- headers['Set-Cookie'] = Array(headers['Set-Cookie']).compact
+ cookies = Array(headers['Set-Cookie']).compact
+ headers['Set-Cookie'] = cookies unless cookies.empty?
end
end
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/routing.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/routing.rb
index f9b0c4bb215..652fa2f51cb 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/routing.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/routing.rb
@@ -377,7 +377,7 @@ module ActionController
ActiveSupport::Inflector.module_eval do
# Ensures that routes are reloaded when Rails inflections are updated.
def inflections_with_route_reloading(&block)
- returning(inflections_without_route_reloading(&block)) {
+ (inflections_without_route_reloading(&block)).tap {
ActionController::Routing::Routes.reload! if block_given?
}
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/routing/builder.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/routing/builder.rb
index d9590c88b8a..d9590c88b8a 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/routing/builder.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/routing/builder.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/routing/optimisations.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/routing/optimisations.rb
index 714cf97861a..714cf97861a 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/routing/optimisations.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/routing/optimisations.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/routing/recognition_optimisation.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/routing/recognition_optimisation.rb
index 9bfebff0c06..9bfebff0c06 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/routing/recognition_optimisation.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/routing/recognition_optimisation.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/routing/route.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/routing/route.rb
index e2077edad88..69e8f57e576 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/routing/route.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/routing/route.rb
@@ -65,7 +65,7 @@ module ActionController
# map.connect '/page/:id', :controller => 'pages', :action => 'show', :id => /\d+/
#
def parameter_shell
- @parameter_shell ||= returning({}) do |shell|
+ @parameter_shell ||= {}.tap do |shell|
requirements.each do |key, requirement|
shell[key] = requirement unless requirement.is_a? Regexp
end
@@ -76,7 +76,7 @@ module ActionController
# includes keys that appear inside the path, and keys that have requirements
# placed upon them.
def significant_keys
- @significant_keys ||= returning([]) do |sk|
+ @significant_keys ||= [].tap do |sk|
segments.each { |segment| sk << segment.key if segment.respond_to? :key }
sk.concat requirements.keys
sk.uniq!
@@ -86,7 +86,7 @@ module ActionController
# Return a hash of key/value pairs representing the keys in the route that
# have defaults, or which are specified by non-regexp requirements.
def defaults
- @defaults ||= returning({}) do |hash|
+ @defaults ||= {}.tap do |hash|
segments.each do |segment|
next unless segment.respond_to? :default
hash[segment.key] = segment.default unless segment.default.nil?
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/routing/route_set.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/routing/route_set.rb
index 8e4ed7bcf74..2fbf3e9edd0 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/routing/route_set.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/routing/route_set.rb
@@ -174,6 +174,7 @@ module ActionController
#
named_helper_module_eval <<-end_eval # We use module_eval to avoid leaks
def #{selector}(*args) # def users_url(*args)
+ args.compact! #
#
#{generate_optimisation_block(route, kind)} # #{generate_optimisation_block(route, kind)}
#
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/routing/routing_ext.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/routing/routing_ext.rb
index 4a82b2af5f6..4a82b2af5f6 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/routing/routing_ext.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/routing/routing_ext.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/routing/segments.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/routing/segments.rb
index 4f936d51d28..4f936d51d28 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/routing/segments.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/routing/segments.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/session/abstract_store.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/session/abstract_store.rb
new file mode 100755
index 00000000000..1d2ee87fff9
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/session/abstract_store.rb
@@ -0,0 +1,276 @@
+require 'rack/utils'
+
+module ActionController
+ module Session
+ class AbstractStore
+ ENV_SESSION_KEY = 'rack.session'.freeze
+ ENV_SESSION_OPTIONS_KEY = 'rack.session.options'.freeze
+
+ HTTP_COOKIE = 'HTTP_COOKIE'.freeze
+ SET_COOKIE = 'Set-Cookie'.freeze
+
+ # thin wrapper around Hash that allows us to lazily
+ # load session id into session_options
+ class OptionsHash < Hash
+ def initialize(by, env, default_options)
+ @by = by
+ @env = env
+ @session_id_loaded = false
+ merge!(default_options)
+ end
+
+ def [](key)
+ if key == :id
+ load_session_id! unless super(:id) || has_session_id?
+ end
+ super(key)
+ end
+
+ private
+
+ def has_session_id?
+ @session_id_loaded
+ end
+
+ def load_session_id!
+ self[:id] = @by.send(:extract_session_id, @env)
+ @session_id_loaded = true
+ end
+ end
+
+ class SessionHash < Hash
+ def initialize(by, env)
+ super()
+ @by = by
+ @env = env
+ @loaded = false
+ end
+
+ def session_id
+ ActiveSupport::Deprecation.warn(
+ "ActionController::Session::AbstractStore::SessionHash#session_id " +
+ "has been deprecated. Please use request.session_options[:id] instead.", caller)
+ @env[ENV_SESSION_OPTIONS_KEY][:id]
+ end
+
+ def [](key)
+ load_for_read!
+ super
+ end
+
+ def has_key?(key)
+ load_for_read!
+ super
+ end
+
+ def []=(key, value)
+ load_for_write!
+ super
+ end
+
+ def clear
+ load_for_write!
+ super
+ end
+
+ def to_hash
+ load_for_read!
+ h = {}.replace(self)
+ h.delete_if { |k,v| v.nil? }
+ h
+ end
+
+ def update(hash)
+ load_for_write!
+ super
+ end
+
+ def delete(key)
+ load_for_write!
+ super
+ end
+
+ def data
+ ActiveSupport::Deprecation.warn(
+ "ActionController::Session::AbstractStore::SessionHash#data " +
+ "has been deprecated. Please use #to_hash instead.", caller)
+ to_hash
+ end
+
+ def inspect
+ load_for_read!
+ super
+ end
+
+ def exists?
+ return @exists if instance_variable_defined?(:@exists)
+ @exists = @by.send(:exists?, @env)
+ end
+
+ def loaded?
+ @loaded
+ end
+
+ def destroy
+ clear
+ @by.send(:destroy, @env) if @by
+ @env[ENV_SESSION_OPTIONS_KEY][:id] = nil if @env && @env[ENV_SESSION_OPTIONS_KEY]
+ @loaded = false
+ end
+
+ private
+
+ def load_for_read!
+ load! if !loaded? && exists?
+ end
+
+ def load_for_write!
+ load! unless loaded?
+ end
+
+ def load!
+ id, session = @by.send(:load_session, @env)
+ @env[ENV_SESSION_OPTIONS_KEY][:id] = id
+ replace(session)
+ @loaded = true
+ end
+
+ end
+
+ DEFAULT_OPTIONS = {
+ :key => '_session_id',
+ :path => '/',
+ :domain => nil,
+ :expire_after => nil,
+ :secure => false,
+ :httponly => true,
+ :cookie_only => true
+ }
+
+ def initialize(app, options = {})
+ # Process legacy CGI options
+ options = options.symbolize_keys
+ if options.has_key?(:session_path)
+ ActiveSupport::Deprecation.warn "Giving :session_path to SessionStore is deprecated, " <<
+ "please use :path instead", caller
+ options[:path] = options.delete(:session_path)
+ end
+ if options.has_key?(:session_key)
+ ActiveSupport::Deprecation.warn "Giving :session_key to SessionStore is deprecated, " <<
+ "please use :key instead", caller
+ options[:key] = options.delete(:session_key)
+ end
+ if options.has_key?(:session_http_only)
+ ActiveSupport::Deprecation.warn "Giving :session_http_only to SessionStore is deprecated, " <<
+ "please use :httponly instead", caller
+ options[:httponly] = options.delete(:session_http_only)
+ end
+
+ @app = app
+ @default_options = DEFAULT_OPTIONS.merge(options)
+ @key = @default_options[:key]
+ @cookie_only = @default_options[:cookie_only]
+ end
+
+ def call(env)
+ prepare!(env)
+ response = @app.call(env)
+
+ session_data = env[ENV_SESSION_KEY]
+ options = env[ENV_SESSION_OPTIONS_KEY]
+
+ if !session_data.is_a?(AbstractStore::SessionHash) || session_data.loaded? || options[:expire_after]
+ request = ActionController::Request.new(env)
+
+ return response if (options[:secure] && !request.ssl?)
+
+ session_data.send(:load!) if session_data.is_a?(AbstractStore::SessionHash) && !session_data.loaded?
+
+ sid = options[:id] || generate_sid
+
+ unless set_session(env, sid, session_data.to_hash)
+ return response
+ end
+
+ request_cookies = env["rack.request.cookie_hash"]
+
+ if (request_cookies.nil? || request_cookies[@key] != sid) || options[:expire_after]
+ cookie = {:value => sid}
+ cookie[:expires] = Time.now + options[:expire_after] if options[:expire_after]
+ Rack::Utils.set_cookie_header!(response[1], @key, cookie.merge(options))
+ end
+ end
+
+ response
+ end
+
+ private
+
+ def prepare!(env)
+ env[ENV_SESSION_KEY] = SessionHash.new(self, env)
+ env[ENV_SESSION_OPTIONS_KEY] = OptionsHash.new(self, env, @default_options)
+ end
+
+ def generate_sid
+ ActiveSupport::SecureRandom.hex(16)
+ end
+
+ def load_session(env)
+ stale_session_check! do
+ sid = current_session_id(env)
+ sid, session = get_session(env, sid)
+ [sid, session]
+ end
+ end
+
+ def extract_session_id(env)
+ stale_session_check! do
+ request = Rack::Request.new(env)
+ sid = request.cookies[@key]
+ sid ||= request.params[@key] unless @cookie_only
+ sid
+ end
+ end
+
+ def current_session_id(env)
+ env[ENV_SESSION_OPTIONS_KEY][:id]
+ end
+
+ def exists?(env)
+ current_session_id(env).present?
+ end
+
+ def get_session(env, sid)
+ raise '#get_session needs to be implemented.'
+ end
+
+ def set_session(env, sid, session_data)
+ raise '#set_session needs to be implemented.'
+ end
+
+ def destroy(env)
+ raise '#destroy needs to be implemented.'
+ end
+
+ module SessionUtils
+ private
+ def stale_session_check!
+ yield
+ rescue ArgumentError => argument_error
+ if argument_error.message =~ %r{undefined class/module ([\w:]*\w)}
+ begin
+ # Note that the regexp does not allow $1 to end with a ':'
+ $1.constantize
+ rescue LoadError, NameError => const_error
+ raise ActionController::SessionRestoreError, "Session contains objects whose class definition isn\\'t available.\nRemember to require the classes for all objects kept in the session.\n(Original exception: \#{const_error.message} [\#{const_error.class}])\n"
+ end
+ retry
+ else
+ raise
+ end
+ end
+ end
+ include SessionUtils
+ end
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/session/cookie_store.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/session/cookie_store.rb
index a2543c18243..2053aabcee1 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/session/cookie_store.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/session/cookie_store.rb
@@ -36,6 +36,8 @@ module ActionController
#
# Note that changing digest or secret invalidates all existing sessions!
class CookieStore
+ include AbstractStore::SessionUtils
+
# Cookies can typically store 4096 bytes.
MAX = 4096
SECRET_MIN_LENGTH = 30 # characters
@@ -50,7 +52,6 @@ module ActionController
ENV_SESSION_KEY = "rack.session".freeze
ENV_SESSION_OPTIONS_KEY = "rack.session.options".freeze
- HTTP_SET_COOKIE = "Set-Cookie".freeze
# Raised when storing more than 4K of session data.
class CookieOverflow < StandardError; end
@@ -59,12 +60,18 @@ module ActionController
# Process legacy CGI options
options = options.symbolize_keys
if options.has_key?(:session_path)
+ ActiveSupport::Deprecation.warn "Giving :session_path to SessionStore is deprecated, " <<
+ "please use :path instead", caller
options[:path] = options.delete(:session_path)
end
if options.has_key?(:session_key)
+ ActiveSupport::Deprecation.warn "Giving :session_key to SessionStore is deprecated, " <<
+ "please use :key instead", caller
options[:key] = options.delete(:session_key)
end
if options.has_key?(:session_http_only)
+ ActiveSupport::Deprecation.warn "Giving :session_http_only to SessionStore is deprecated, " <<
+ "please use :httponly instead", caller
options[:httponly] = options.delete(:session_http_only)
end
@@ -87,73 +94,81 @@ module ActionController
end
def call(env)
- env[ENV_SESSION_KEY] = AbstractStore::SessionHash.new(self, env)
- env[ENV_SESSION_OPTIONS_KEY] = @default_options.dup
-
+ prepare!(env)
+
status, headers, body = @app.call(env)
session_data = env[ENV_SESSION_KEY]
options = env[ENV_SESSION_OPTIONS_KEY]
+ request = ActionController::Request.new(env)
+
+ if !(options[:secure] && !request.ssl?) && (!session_data.is_a?(AbstractStore::SessionHash) || session_data.loaded? || options[:expire_after])
+ session_data.send(:load!) if session_data.is_a?(AbstractStore::SessionHash) && !session_data.loaded?
- if !session_data.is_a?(AbstractStore::SessionHash) || session_data.send(:loaded?) || options[:expire_after]
- session_data.send(:load!) if session_data.is_a?(AbstractStore::SessionHash) && !session_data.send(:loaded?)
+ persistent_session_id!(session_data)
session_data = marshal(session_data.to_hash)
raise CookieOverflow if session_data.size > MAX
-
cookie = Hash.new
cookie[:value] = session_data
unless options[:expire_after].nil?
cookie[:expires] = Time.now + options[:expire_after]
end
- cookie = build_cookie(@key, cookie.merge(options))
- unless headers[HTTP_SET_COOKIE].blank?
- headers[HTTP_SET_COOKIE] << "\n#{cookie}"
- else
- headers[HTTP_SET_COOKIE] = cookie
- end
+ Rack::Utils.set_cookie_header!(headers, @key, cookie.merge(options))
end
[status, headers, body]
end
private
- # Should be in Rack::Utils soon
- def build_cookie(key, value)
- case value
- when Hash
- domain = "; domain=" + value[:domain] if value[:domain]
- path = "; path=" + value[:path] if value[:path]
- # According to RFC 2109, we need dashes here.
- # N.B.: cgi.rb uses spaces...
- expires = "; expires=" + value[:expires].clone.gmtime.
- strftime("%a, %d-%b-%Y %H:%M:%S GMT") if value[:expires]
- secure = "; secure" if value[:secure]
- httponly = "; HttpOnly" if value[:httponly]
- value = value[:value]
- end
- value = [value] unless Array === value
- cookie = Rack::Utils.escape(key) + "=" +
- value.map { |v| Rack::Utils.escape(v) }.join("&") +
- "#{domain}#{path}#{expires}#{secure}#{httponly}"
+
+ def prepare!(env)
+ env[ENV_SESSION_KEY] = AbstractStore::SessionHash.new(self, env)
+ env[ENV_SESSION_OPTIONS_KEY] = AbstractStore::OptionsHash.new(self, env, @default_options)
end
def load_session(env)
- request = Rack::Request.new(env)
- session_data = request.cookies[@key]
- data = unmarshal(session_data) || persistent_session_id!({})
+ data = unpacked_cookie_data(env)
+ data = persistent_session_id!(data)
[data[:session_id], data]
end
+
+ def extract_session_id(env)
+ if data = unpacked_cookie_data(env)
+ persistent_session_id!(data) unless data.empty?
+ data[:session_id]
+ else
+ nil
+ end
+ end
+
+ def current_session_id(env)
+ env[ENV_SESSION_OPTIONS_KEY][:id]
+ end
+
+ def exists?(env)
+ current_session_id(env).present?
+ end
+
+ def unpacked_cookie_data(env)
+ env["action_dispatch.request.unsigned_session_cookie"] ||= begin
+ stale_session_check! do
+ request = Rack::Request.new(env)
+ session_data = request.cookies[@key]
+ unmarshal(session_data) || {}
+ end
+ end
+ end
# Marshal a session hash into safe cookie data. Include an integrity hash.
def marshal(session)
- @verifier.generate(persistent_session_id!(session))
+ @verifier.generate(session)
end
# Unmarshal cookie data to a hash and verify its integrity.
def unmarshal(cookie)
- persistent_session_id!(@verifier.verify(cookie)) if cookie
+ @verifier.verify(cookie) if cookie
rescue ActiveSupport::MessageVerifier::InvalidSignature
nil
end
@@ -201,6 +216,10 @@ module ActionController
ActiveSupport::SecureRandom.hex(16)
end
+ def destroy(env)
+ # session data is stored on client; nothing to do here
+ end
+
def persistent_session_id!(data)
(data ||= {}).merge!(inject_persistent_session_id(data))
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/session/mem_cache_store.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/session/mem_cache_store.rb
index f745715a971..2bb1b133139 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/session/mem_cache_store.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/session/mem_cache_store.rb
@@ -1,6 +1,6 @@
begin
require_library_or_gem 'memcache'
-
+ require 'thread'
module ActionController
module Session
class MemCacheStore < AbstractStore
@@ -43,6 +43,15 @@ begin
rescue MemCache::MemCacheError, Errno::ECONNREFUSED
return false
end
+
+ def destroy(env)
+ if sid = current_session_id(env)
+ @pool.delete(sid)
+ end
+ rescue MemCache::MemCacheError, Errno::ECONNREFUSED
+ false
+ end
+
end
end
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/session_management.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/session_management.rb
index b556f046490..b556f046490 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/session_management.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/session_management.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/status_codes.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/status_codes.rb
index 4977c794911..4977c794911 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/status_codes.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/status_codes.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/streaming.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/streaming.rb
index 372470f0669..372470f0669 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/streaming.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/streaming.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/string_coercion.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/string_coercion.rb
index 6d8c24e920a..6d8c24e920a 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/string_coercion.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/string_coercion.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/templates/rescues/_request_and_response.erb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/templates/rescues/_request_and_response.erb
index 27f3659ca82..64b34650b1a 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/templates/rescues/_request_and_response.erb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/templates/rescues/_request_and_response.erb
@@ -1,18 +1,24 @@
<% unless @exception.blamed_files.blank? %>
-<% if (hide = @exception.blamed_files.length > 8) %>
-<a href="#" onclick="document.getElementById('blame_trace').style.display='block'; return false;">Show blamed files</a>
-<% end %>
-<pre id="blame_trace" <%='style="display:none"' if hide %>><code><%=h @exception.describe_blame %></code></pre>
+ <% if (hide = @exception.blamed_files.length > 8) %>
+ <a href="#" onclick="document.getElementById('blame_trace').style.display='block'; return false;">Show blamed files</a>
+ <% end %>
+ <pre id="blame_trace" <%='style="display:none"' if hide %>><code><%=h @exception.describe_blame %></code></pre>
<% end %>
+
<%
-clean_params = request.parameters.clone
-clean_params.delete("action")
-clean_params.delete("controller")
-request_dump = clean_params.empty? ? 'None' : clean_params.inspect.gsub(',', ",\n")
+ clean_params = request.parameters.clone
+ clean_params.delete("action")
+ clean_params.delete("controller")
+
+ request_dump = clean_params.empty? ? 'None' : clean_params.inspect.gsub(',', ",\n")
%>
+
<h2 style="margin-top: 30px">Request</h2>
<p><b>Parameters</b>: <pre><%=h request_dump %></pre></p>
+
<p><a href="#" onclick="document.getElementById('session_dump').style.display='block'; return false;">Show session dump</a></p>
<div id="session_dump" style="display:none"><%= debug(request.session.instance_variable_get("@data")) %></div>
+
+
<h2 style="margin-top: 30px">Response</h2>
<p><b>Headers</b>: <pre><%=h response ? response.headers.inspect.gsub(',', ",\n") : 'None' %></pre></p>
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/templates/rescues/_trace.erb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/templates/rescues/_trace.erb
new file mode 100755
index 00000000000..f8f6b424ca5
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/templates/rescues/_trace.erb
@@ -0,0 +1,26 @@
+<%
+ traces = [
+ ["Application Trace", @exception.application_backtrace],
+ ["Framework Trace", @exception.framework_backtrace],
+ ["Full Trace", @exception.clean_backtrace]
+ ]
+ names = traces.collect {|name, trace| name}
+%>
+
+<p><code>RAILS_ROOT: <%= defined?(RAILS_ROOT) ? RAILS_ROOT : "unset" %></code></p>
+
+<div id="traces">
+ <% names.each do |name| %>
+ <%
+ show = "document.getElementById('#{name.gsub /\s/, '-'}').style.display='block';"
+ hide = (names - [name]).collect {|hide_name| "document.getElementById('#{hide_name.gsub /\s/, '-'}').style.display='none';"}
+ %>
+ <a href="#" onclick="<%= hide.join %><%= show %>; return false;"><%= name %></a> <%= '|' unless names.last == name %>
+ <% end %>
+
+ <% traces.each do |name, trace| %>
+ <div id="<%= name.gsub /\s/, '-' %>" style="display: <%= name == "Application Trace" ? 'block' : 'none' %>;">
+ <pre><code><%=h trace.join "\n" %></code></pre>
+ </div>
+ <% end %>
+</div>
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/templates/rescues/diagnostics.erb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/templates/rescues/diagnostics.erb
new file mode 100755
index 00000000000..669da1b26e6
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/templates/rescues/diagnostics.erb
@@ -0,0 +1,11 @@
+<h1>
+ <%=h @exception.class.to_s %>
+ <% if request.parameters['controller'] %>
+ in <%=h request.parameters['controller'].humanize %>Controller<% if request.parameters['action'] %>#<%=h request.parameters['action'] %><% end %>
+ <% end %>
+</h1>
+<pre><%=h @exception.clean_message %></pre>
+
+<%= render :file => @rescues_path["rescues/_trace.erb"] %>
+
+<%= render :file => @rescues_path["rescues/_request_and_response.erb"] %>
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/templates/rescues/layout.erb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/templates/rescues/layout.erb
new file mode 100755
index 00000000000..4a04742e40c
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/templates/rescues/layout.erb
@@ -0,0 +1,29 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+ <title>Action Controller: Exception caught</title>
+ <style>
+ body { background-color: #fff; color: #333; }
+
+ body, p, ol, ul, td {
+ font-family: verdana, arial, helvetica, sans-serif;
+ font-size: 13px;
+ line-height: 18px;
+ }
+
+ pre {
+ background-color: #eee;
+ padding: 10px;
+ font-size: 11px;
+ }
+
+ a { color: #000; }
+ a:visited { color: #666; }
+ a:hover { color: #fff; background-color:#000; }
+ </style>
+</head>
+<body>
+
+<%= @contents %>
+
+</body>
+</html> \ No newline at end of file
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/templates/rescues/missing_template.erb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/templates/rescues/missing_template.erb
index dbfdf76947b..dbfdf76947b 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/templates/rescues/missing_template.erb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/templates/rescues/missing_template.erb
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/templates/rescues/routing_error.erb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/templates/rescues/routing_error.erb
new file mode 100755
index 00000000000..ccfa858ccec
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/templates/rescues/routing_error.erb
@@ -0,0 +1,10 @@
+<h1>Routing Error</h1>
+<p><pre><%=h @exception.message %></pre></p>
+<% unless @exception.failures.empty? %><p>
+ <h2>Failure reasons:</h2>
+ <ol>
+ <% @exception.failures.each do |route, reason| %>
+ <li><code><%=h route.inspect.gsub('\\', '') %></code> failed because <%=h reason.downcase %></li>
+ <% end %>
+ </ol>
+</p><% end %>
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/templates/rescues/template_error.erb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/templates/rescues/template_error.erb
new file mode 100755
index 00000000000..2e34e03bd50
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/templates/rescues/template_error.erb
@@ -0,0 +1,21 @@
+<h1>
+ <%=h @exception.original_exception.class.to_s %> in
+ <%=h request.parameters["controller"].capitalize if request.parameters["controller"]%>#<%=h request.parameters["action"] %>
+</h1>
+
+<p>
+ Showing <i><%=h @exception.file_name %></i> where line <b>#<%=h @exception.line_number %></b> raised:
+ <pre><code><%=h @exception.message %></code></pre>
+</p>
+
+<p>Extracted source (around line <b>#<%=h @exception.line_number %></b>):
+<pre><code><%=h @exception.source_extract %></code></pre></p>
+
+<p><%=h @exception.sub_template_message %></p>
+
+<% @real_exception = @exception
+ @exception = @exception.original_exception || @exception %>
+<%= render :file => @rescues_path["rescues/_trace.erb"] %>
+<% @exception = @real_exception %>
+
+<%= render :file => @rescues_path["rescues/_request_and_response.erb"] %>
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/templates/rescues/unknown_action.erb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/templates/rescues/unknown_action.erb
index 683379da108..683379da108 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/templates/rescues/unknown_action.erb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/templates/rescues/unknown_action.erb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/test_case.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/test_case.rb
index 62286ff3a20..62286ff3a20 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/test_case.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/test_case.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/test_process.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/test_process.rb
index fd9f90b1d59..db264987867 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/test_process.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/test_process.rb
@@ -450,7 +450,7 @@ module ActionController #:nodoc:
def xml_http_request(request_method, action, parameters = nil, session = nil, flash = nil)
@request.env['HTTP_X_REQUESTED_WITH'] = 'XMLHttpRequest'
@request.env['HTTP_ACCEPT'] = [Mime::JS, Mime::HTML, Mime::XML, 'text/xml', Mime::ALL].join(', ')
- returning __send__(request_method, action, parameters, session, flash) do
+ __send__(request_method, action, parameters, session, flash).tap do
@request.env.delete 'HTTP_X_REQUESTED_WITH'
@request.env.delete 'HTTP_ACCEPT'
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/translation.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/translation.rb
index 65e9eddb0a2..65e9eddb0a2 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/translation.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/translation.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/uploaded_file.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/uploaded_file.rb
index 95efc7421de..95efc7421de 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/uploaded_file.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/uploaded_file.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/url_rewriter.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/url_rewriter.rb
index e4c2a29e3e9..e6d99f2eb7c 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/url_rewriter.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/url_rewriter.rb
@@ -1,3 +1,5 @@
+require 'uri'
+
module ActionController
# In <b>routes.rb</b> one defines URL-to-controller mappings, but the reverse
# is also possible: an URL can be generated from one of your routing definitions.
@@ -92,6 +94,14 @@ module ActionController
# end
# end
module UrlWriter
+ RESERVED_PCHAR = ':@&=+$,;%'
+ SAFE_PCHAR = "#{URI::REGEXP::PATTERN::UNRESERVED}#{RESERVED_PCHAR}"
+ if RUBY_VERSION >= '1.9'
+ UNSAFE_PCHAR = Regexp.new("[^#{SAFE_PCHAR}]", false).freeze
+ else
+ UNSAFE_PCHAR = Regexp.new("[^#{SAFE_PCHAR}]", false, 'N').freeze
+ end
+
def self.included(base) #:nodoc:
ActionController::Routing::Routes.install_helpers(base)
base.mattr_accessor :default_url_options
@@ -142,7 +152,7 @@ module ActionController
end
trailing_slash = options.delete(:trailing_slash) if options.key?(:trailing_slash)
url << ActionController::Base.relative_url_root.to_s unless options[:skip_relative_url_root]
- anchor = "##{CGI.escape options.delete(:anchor).to_param.to_s}" if options[:anchor]
+ anchor = "##{URI.escape(options.delete(:anchor).to_param.to_s, UNSAFE_PCHAR)}" if options[:anchor]
generated = Routing::Routes.generate(options, {})
url << (trailing_slash ? generated.sub(/\?|\z/) { "/" + $& } : generated)
url << anchor if anchor
@@ -159,6 +169,9 @@ module ActionController
end
def rewrite(options = {})
+ if options.include?(:overwrite_params)
+ ActiveSupport::Deprecation.warn 'The :overwrite_params option is deprecated. Specify all the necessary parameters instead', caller
+ end
rewrite_url(options)
end
@@ -194,7 +207,7 @@ module ActionController
options = options.symbolize_keys
options.update(options[:params].symbolize_keys) if options[:params]
- if (overwrite = options.delete(:overwrite_params))
+ if overwrite = options.delete(:overwrite_params)
options.update(@parameters.symbolize_keys)
options.update(overwrite.symbolize_keys)
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/vendor/html-scanner.rb
index f622d195ee8..f622d195ee8 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/vendor/html-scanner.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/document.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/vendor/html-scanner/html/document.rb
index b8d73c350d8..b8d73c350d8 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/document.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/vendor/html-scanner/html/document.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/node.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/vendor/html-scanner/html/node.rb
index 0cd05d8e15b..ae24723d19a 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/node.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/vendor/html-scanner/html/node.rb
@@ -162,7 +162,7 @@ module HTML #:nodoc:
end
closing = ( scanner.scan(/\//) ? :close : nil )
- return Text.new(parent, line, pos, content) unless name = scanner.scan(/[-:\w\x00-\x09\x0b-\x0c\x0e-\x1f]+/)
+ return Text.new(parent, line, pos, content) unless name = scanner.scan(/[^\s!>\/]+/)
name.downcase!
unless closing
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/sanitizer.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/vendor/html-scanner/html/sanitizer.rb
index ae20f9947c5..ae20f9947c5 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/sanitizer.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/vendor/html-scanner/html/sanitizer.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/selector.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/vendor/html-scanner/html/selector.rb
index e2c49c284fc..e2c49c284fc 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/selector.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/vendor/html-scanner/html/selector.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/tokenizer.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/vendor/html-scanner/html/tokenizer.rb
index 602411ed373..602411ed373 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/tokenizer.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/vendor/html-scanner/html/tokenizer.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/version.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/vendor/html-scanner/html/version.rb
index 6d645c3e147..6d645c3e147 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/version.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/vendor/html-scanner/html/version.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/verification.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/verification.rb
index c62b81b6660..c62b81b6660 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/verification.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/verification.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_pack.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_pack.rb
index b90f89be392..1a1497385ac 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_pack.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_pack.rb
@@ -1,5 +1,5 @@
#--
-# Copyright (c) 2004-2009 David Heinemeier Hansson
+# Copyright (c) 2004-2010 David Heinemeier Hansson
#
# Permission is hereby granted, free of charge, to any person obtaining
# a copy of this software and associated documentation files (the
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_pack/version.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_pack/version.rb
index 4c88b3d5181..330eecb1c0e 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_pack/version.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_pack/version.rb
@@ -2,7 +2,7 @@ module ActionPack #:nodoc:
module VERSION #:nodoc:
MAJOR = 2
MINOR = 3
- TINY = 5
+ TINY = 14
STRING = [MAJOR, MINOR, TINY].join('.')
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view.rb
index 025745cf552..9b7d0c454f4 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view.rb
@@ -1,5 +1,5 @@
#--
-# Copyright (c) 2004-2009 David Heinemeier Hansson
+# Copyright (c) 2004-2010 David Heinemeier Hansson
#
# Permission is hereby granted, free of charge, to any person obtaining
# a copy of this software and associated documentation files (the
@@ -49,10 +49,10 @@ module ActionView
autoload :TemplateHandler, 'action_view/template_handler'
autoload :TemplateHandlers, 'action_view/template_handlers'
autoload :Helpers, 'action_view/helpers'
- autoload :SafeBuffer, 'action_view/safe_buffer'
end
-require 'action_view/erb/util'
+require 'active_support/core_ext/string/output_safety'
+ActionView::SafeBuffer = ActiveSupport::Deprecation::DeprecatedConstantProxy.new('ActionView::SafeBuffer', 'ActiveSupport::SafeBuffer')
I18n.load_path << "#{File.dirname(__FILE__)}/action_view/locale/en.yml"
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/base.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/base.rb
index f10a26629a9..f10a26629a9 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/base.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/base.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers.rb
index cea894dd747..debd2e75087 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers.rb
@@ -6,6 +6,7 @@ module ActionView #:nodoc:
autoload :BenchmarkHelper, 'action_view/helpers/benchmark_helper'
autoload :CacheHelper, 'action_view/helpers/cache_helper'
autoload :CaptureHelper, 'action_view/helpers/capture_helper'
+ autoload :CsrfHelper, 'action_view/helpers/csrf_helper'
autoload :DateHelper, 'action_view/helpers/date_helper'
autoload :DebugHelper, 'action_view/helpers/debug_helper'
autoload :FormHelper, 'action_view/helpers/form_helper'
@@ -38,6 +39,7 @@ module ActionView #:nodoc:
include BenchmarkHelper
include CacheHelper
include CaptureHelper
+ include CsrfHelper
include DateHelper
include DebugHelper
include FormHelper
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/active_record_helper.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/active_record_helper.rb
index a5788f78085..ed407c9df2c 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/active_record_helper.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/active_record_helper.rb
@@ -3,7 +3,7 @@ require 'action_view/helpers/form_helper'
module ActionView
class Base
- @@field_error_proc = Proc.new{ |html_tag, instance| "<div class=\"fieldWithErrors\">#{html_tag}</div>".html_safe! }
+ @@field_error_proc = Proc.new{ |html_tag, instance| "<div class=\"fieldWithErrors\">#{html_tag}</div>".html_safe }
cattr_accessor :field_error_proc
end
@@ -82,11 +82,11 @@ module ActionView
submit_value = options[:submit_value] || options[:action].gsub(/[^\w]/, '').capitalize
contents = form_tag({:action => action}, :method =>(options[:method] || 'post'), :enctype => options[:multipart] ? 'multipart/form-data': nil)
- contents << hidden_field(record_name, :id) unless record.new_record?
- contents << all_input_tags(record, record_name, options)
+ contents.safe_concat hidden_field(record_name, :id) unless record.new_record?
+ contents.safe_concat all_input_tags(record, record_name, options)
yield contents if block_given?
- contents << submit_tag(submit_value)
- contents << '</form>'
+ contents.safe_concat submit_tag(submit_value)
+ contents.safe_concat '</form>'
end
# Returns a string containing the error message attached to the +method+ on the +object+ if one exists.
@@ -121,7 +121,7 @@ module ActionView
if (obj = (object.respond_to?(:errors) ? object : instance_variable_get("@#{object}"))) &&
(errors = obj.errors.on(method))
content_tag("div",
- "#{options[:prepend_text]}#{ERB::Util.html_escape(errors.is_a?(Array) ? errors.first : errors)}#{options[:append_text]}",
+ "#{options[:prepend_text]}#{ERB::Util.html_escape(errors.is_a?(Array) ? errors.first : errors)}#{options[:append_text]}".html_safe,
:class => options[:css_class]
)
else
@@ -193,19 +193,19 @@ module ActionView
header_message = if options.include?(:header_message)
options[:header_message]
else
- object_name = options[:object_name].to_s.gsub('_', ' ')
- object_name = I18n.t(object_name, :default => object_name, :scope => [:activerecord, :models], :count => 1)
+ object_name = options[:object_name].to_s
+ object_name = I18n.t(object_name, :default => object_name.gsub('_', ' '), :scope => [:activerecord, :models], :count => 1)
locale.t :header, :count => count, :model => object_name
end
message = options.include?(:message) ? options[:message] : locale.t(:body)
- error_messages = objects.sum {|object| object.errors.full_messages.map {|msg| content_tag(:li, ERB::Util.html_escape(msg)) } }.join
+ error_messages = objects.sum {|object| object.errors.full_messages.map {|msg| content_tag(:li, ERB::Util.html_escape(msg)) } }.join.html_safe
contents = ''
contents << content_tag(options[:header_tag] || :h2, header_message) unless header_message.blank?
contents << content_tag(:p, message) unless message.blank?
contents << content_tag(:ul, error_messages)
- content_tag(:div, contents, html)
+ content_tag(:div, contents.html_safe, html)
end
else
''
@@ -290,7 +290,7 @@ module ActionView
end
def error_wrapping(html_tag, has_error)
- has_error ? Base.field_error_proc.call(html_tag, self).html_safe! : html_tag
+ has_error ? Base.field_error_proc.call(html_tag, self) : html_tag
end
def error_message
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/asset_tag_helper.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/asset_tag_helper.rb
index 574b384d915..1a8af3d3c5d 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/asset_tag_helper.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/asset_tag_helper.rb
@@ -1,6 +1,7 @@
require 'cgi'
require 'action_view/helpers/url_helper'
require 'action_view/helpers/tag_helper'
+require 'thread'
module ActionView
module Helpers #:nodoc:
@@ -285,7 +286,7 @@ module ActionView
end
javascript_src_tag(joined_javascript_name, options)
else
- expand_javascript_sources(sources, recursive).collect { |source| javascript_src_tag(source, options) }.join("\n").html_safe!
+ expand_javascript_sources(sources, recursive).collect { |source| javascript_src_tag(source, options) }.join("\n").html_safe
end
end
@@ -434,7 +435,7 @@ module ActionView
end
stylesheet_tag(joined_stylesheet_name, options)
else
- expand_stylesheet_sources(sources, recursive).collect { |source| stylesheet_tag(source, options) }.join("\n").html_safe!
+ expand_stylesheet_sources(sources, recursive).collect { |source| stylesheet_tag(source, options) }.join("\n").html_safe
end
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/atom_feed_helper.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/atom_feed_helper.rb
index 9951e11a37d..9951e11a37d 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/atom_feed_helper.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/atom_feed_helper.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/benchmark_helper.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/benchmark_helper.rb
index 61c2cecb041..61c2cecb041 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/benchmark_helper.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/benchmark_helper.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/cache_helper.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/cache_helper.rb
index 64d1ad2715a..64d1ad2715a 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/cache_helper.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/cache_helper.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/capture_helper.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/capture_helper.rb
index 40411c2881b..bf2659058d3 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/capture_helper.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/capture_helper.rb
@@ -118,13 +118,13 @@ module ActionView
def content_for(name, content = nil, &block)
ivar = "@content_for_#{name}"
content = capture(&block) if block_given?
- instance_variable_set(ivar, "#{instance_variable_get(ivar)}#{content}".html_safe!)
+ instance_variable_set(ivar, "#{instance_variable_get(ivar)}#{content}".html_safe)
nil
end
# Use an alternate output buffer for the duration of the block.
# Defaults to a new empty string.
- def with_output_buffer(buf = "") #:nodoc:
+ def with_output_buffer(buf = '') #:nodoc:
self.output_buffer, old_buffer = buf, output_buffer
yield
output_buffer
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/csrf_helper.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/csrf_helper.rb
new file mode 100755
index 00000000000..e0e6c9a6099
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/csrf_helper.rb
@@ -0,0 +1,14 @@
+module ActionView
+ # = Action View CSRF Helper
+ module Helpers
+ module CsrfHelper
+ # Returns a meta tag with the cross-site request forgery protection token
+ # for forms to use. Place this in your head.
+ def csrf_meta_tag
+ if protect_against_forgery?
+ %(<meta name="csrf-param" content="#{h(request_forgery_protection_token)}"/>\n<meta name="csrf-token" content="#{h(form_authenticity_token)}"/>).html_safe
+ end
+ end
+ end
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/date_helper.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/date_helper.rb
index 912d59e959a..f556488f554 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/date_helper.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/date_helper.rb
@@ -1,5 +1,6 @@
require "date"
require 'action_view/helpers/tag_helper'
+require 'active_support/core_ext/hash/slice'
module ActionView
module Helpers
@@ -616,7 +617,7 @@ module ActionView
build_selects_from_types(order)
else
- "#{select_date}#{@options[:datetime_separator]}#{select_time}"
+ "#{select_date}#{@options[:datetime_separator]}#{select_time}".html_safe
end
end
@@ -815,7 +816,7 @@ module ActionView
tag_options[:selected] = "selected" if selected == i
select_options << content_tag(:option, value, tag_options)
end
- select_options.join("\n") + "\n"
+ (select_options.join("\n") + "\n").html_safe
end
# Builds select tag from date type and html select options
@@ -833,9 +834,9 @@ module ActionView
select_html = "\n"
select_html << content_tag(:option, '', :value => '') + "\n" if @options[:include_blank]
select_html << prompt_option_tag(type, @options[:prompt]) + "\n" if @options[:prompt]
- select_html << select_options_as_html.to_s
+ select_html << select_options_as_html
- content_tag(:select, select_html, select_options) + "\n"
+ (content_tag(:select, select_html.html_safe, select_options) + "\n").html_safe
end
# Builds a prompt option tag with supplied options or from default options
@@ -860,12 +861,12 @@ module ActionView
# build_hidden(:year, 2008)
# => "<input id="post_written_on_1i" name="post[written_on(1i)]" type="hidden" value="2008" />"
def build_hidden(type, value)
- tag(:input, {
+ (tag(:input, {
:type => "hidden",
:id => input_id_from_type(type),
:name => input_name_from_type(type),
:value => value
- }) + "\n"
+ }.merge(@html_options.slice(:disabled))) + "\n").html_safe
end
# Returns the name attribute for the input tag
@@ -896,7 +897,7 @@ module ActionView
separator = separator(type) unless type == order.first # don't add on last field
select.insert(0, separator.to_s + send("select_#{type}").to_s)
end
- select
+ select.html_safe
end
# Returns the separator for a given datetime component
@@ -907,7 +908,7 @@ module ActionView
when :hour
(@options[:discard_year] && @options[:discard_day]) ? "" : @options[:datetime_separator]
when :minute
- @options[:time_separator]
+ @options[:discard_minute] ? "" : @options[:time_separator]
when :second
@options[:include_seconds] ? @options[:time_separator] : ""
end
@@ -916,15 +917,15 @@ module ActionView
class InstanceTag #:nodoc:
def to_date_select_tag(options = {}, html_options = {})
- datetime_selector(options, html_options).select_date.html_safe!
+ datetime_selector(options, html_options).select_date.html_safe
end
def to_time_select_tag(options = {}, html_options = {})
- datetime_selector(options, html_options).select_time.html_safe!
+ datetime_selector(options, html_options).select_time.html_safe
end
def to_datetime_select_tag(options = {}, html_options = {})
- datetime_selector(options, html_options).select_datetime.html_safe!
+ datetime_selector(options, html_options).select_datetime.html_safe
end
private
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/debug_helper.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/debug_helper.rb
index 90863fca08d..e637dc1474a 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/debug_helper.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/debug_helper.rb
@@ -27,10 +27,10 @@ module ActionView
def debug(object)
begin
Marshal::dump(object)
- "<pre class='debug_dump'>#{h(object.to_yaml).gsub(" ", "&nbsp; ")}</pre>"
+ "<pre class='debug_dump'>#{h(object.to_yaml).gsub(" ", "&nbsp; ")}</pre>".html_safe
rescue Exception => e # errors from Marshal or YAML
# Object couldn't be dumped, perhaps because of singleton methods -- this is the fallback
- "<code class='debug_dump'>#{h(object.inspect)}</code>"
+ "<code class='debug_dump'>#{h(object.inspect)}</code>".html_safe
end
end
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/form_helper.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/form_helper.rb
index 4914ecc5d0f..389212dfc84 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/form_helper.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/form_helper.rb
@@ -280,7 +280,7 @@ module ActionView
concat(form_tag(options.delete(:url) || {}, options.delete(:html) || {}))
fields_for(object_name, *(args << options), &proc)
- concat('</form>'.html_safe!)
+ concat('</form>'.html_safe)
end
def apply_form_for_options!(object_or_array, options) #:nodoc:
@@ -391,7 +391,7 @@ module ActionView
# accepts_nested_attributes_for :address, :allow_destroy => true
# end
#
- # Now, when you use a form element with the <tt>_delete</tt> parameter,
+ # Now, when you use a form element with the <tt>_destroy</tt> parameter,
# with a value that evaluates to +true+, you will destroy the associated
# model (eg. 1, '1', true, or 'true'):
#
@@ -399,7 +399,7 @@ module ActionView
# ...
# <% person_form.fields_for :address do |address_fields| %>
# ...
- # Delete: <%= address_fields.check_box :_delete %>
+ # Delete: <%= address_fields.check_box :_destroy %>
# <% end %>
# <% end %>
#
@@ -472,14 +472,14 @@ module ActionView
# end
#
# This will allow you to specify which models to destroy in the
- # attributes hash by adding a form element for the <tt>_delete</tt>
+ # attributes hash by adding a form element for the <tt>_destroy</tt>
# parameter with a value that evaluates to +true+
# (eg. 1, '1', true, or 'true'):
#
# <% form_for @person, :url => { :action => "update" } do |person_form| %>
# ...
# <% person_form.fields_for :projects do |project_fields| %>
- # Delete: <%= project_fields.check_box :_delete %>
+ # Delete: <%= project_fields.check_box :_destroy %>
# <% end %>
# <% end %>
def fields_for(record_or_name_or_array, *args, &block)
@@ -500,8 +500,9 @@ module ActionView
end
# Returns a label tag tailored for labelling an input field for a specified attribute (identified by +method+) on an object
- # assigned to the template (identified by +object+). The text of label will default to the attribute name unless you specify
- # it explicitly. Additional options on the label tag can be passed as a hash with +options+. These options will be tagged
+ # assigned to the template (identified by +object+). The text of label will default to the attribute name unless a translation
+ # is found in the current I18n locale (through views.labels.<modelname>.<attribute>) or you specify it explicitly.
+ # Additional options on the label tag can be passed as a hash with +options+. These options will be tagged
# onto the HTML as an HTML element attribute as in the example shown, except for the <tt>:value</tt> option, which is designed to
# target labels for radio_button tags (where the value is used in the ID of the input tag).
#
@@ -509,6 +510,29 @@ module ActionView
# label(:post, :title)
# # => <label for="post_title">Title</label>
#
+ # You can localize your labels based on model and attribute names.
+ # For example you can define the following in your locale (e.g. en.yml)
+ #
+ # views:
+ # labels:
+ # post:
+ # body: "Write your entire text here"
+ #
+ # Which then will result in
+ #
+ # label(:post, :body)
+ # # => <label for="post_body">Write your entire text here</label>
+ #
+ # Localization can also be based purely on the translation of the attribute-name like this:
+ #
+ # activerecord:
+ # attribute:
+ # post:
+ # cost: "Total cost"
+ #
+ # label(:post, :cost)
+ # # => <label for="post_cost">Total cost</label>
+ #
# label(:post, :title, "A short title")
# # => <label for="post_title">A short title</label>
#
@@ -641,7 +665,7 @@ module ActionView
#
# The HTML specification says unchecked check boxes are not successful, and
# thus web browsers do not send them. Unfortunately this introduces a gotcha:
- # if an Invoice model has a +paid+ flag, and in the form that edits a paid
+ # if an +Invoice+ model has a +paid+ flag, and in the form that edits a paid
# invoice the user unchecks its check box, no +paid+ parameter is sent. So,
# any mass-assignment idiom like
#
@@ -649,12 +673,15 @@ module ActionView
#
# wouldn't update the flag.
#
- # To prevent this the helper generates a hidden field with the same name as
- # the checkbox after the very check box. So, the client either sends only the
- # hidden field (representing the check box is unchecked), or both fields.
- # Since the HTML specification says key/value pairs have to be sent in the
- # same order they appear in the form and Rails parameters extraction always
- # gets the first occurrence of any given key, that works in ordinary forms.
+ # To prevent this the helper generates an auxiliary hidden field before
+ # the very check box. The hidden field has the same name and its
+ # attributes mimick an unchecked check box.
+ #
+ # This way, the client either sends only the hidden field (representing
+ # the check box is unchecked), or both fields. Since the HTML specification
+ # says key/value pairs have to be sent in the same order they appear in the
+ # form, and parameters extraction gets the last occurrence of any repeated
+ # key in the query string, that works for ordinary forms.
#
# Unfortunately that workaround does not work when the check box goes
# within an array-like parameter, as in
@@ -665,22 +692,26 @@ module ActionView
# <% end %>
#
# because parameter name repetition is precisely what Rails seeks to distinguish
- # the elements of the array.
+ # the elements of the array. For each item with a checked check box you
+ # get an extra ghost item with only that attribute, assigned to "0".
+ #
+ # In that case it is preferable to either use +check_box_tag+ or to use
+ # hashes instead of arrays.
#
# ==== Examples
# # Let's say that @post.validated? is 1:
# check_box("post", "validated")
- # # => <input type="checkbox" id="post_validated" name="post[validated]" value="1" />
- # # <input name="post[validated]" type="hidden" value="0" />
+ # # => <input name="post[validated]" type="hidden" value="0" />
+ # # <input type="checkbox" id="post_validated" name="post[validated]" value="1" />
#
# # Let's say that @puppy.gooddog is "no":
# check_box("puppy", "gooddog", {}, "yes", "no")
- # # => <input type="checkbox" id="puppy_gooddog" name="puppy[gooddog]" value="yes" />
- # # <input name="puppy[gooddog]" type="hidden" value="no" />
+ # # => <input name="puppy[gooddog]" type="hidden" value="no" />
+ # # <input type="checkbox" id="puppy_gooddog" name="puppy[gooddog]" value="yes" />
#
# check_box("eula", "accepted", { :class => 'eula_check' }, "yes", "no")
- # # => <input type="checkbox" class="eula_check" id="eula_accepted" name="eula[accepted]" value="yes" />
- # # <input name="eula[accepted]" type="hidden" value="no" />
+ # # => <input name="eula[accepted]" type="hidden" value="no" />
+ # # <input type="checkbox" class="eula_check" id="eula_accepted" name="eula[accepted]" value="yes" />
#
def check_box(object_name, method, options = {}, checked_value = "1", unchecked_value = "0")
InstanceTag.new(object_name, method, self, options.delete(:object)).to_check_box_tag(options, checked_value, unchecked_value)
@@ -739,7 +770,20 @@ module ActionView
add_default_name_and_id_for_value(tag_value, name_and_id)
options.delete("index")
options["for"] ||= name_and_id["id"]
- content = (text.blank? ? nil : text.to_s) || method_name.humanize
+
+ content = if text.blank?
+ i18n_label = I18n.t("helpers.label.#{object_name}.#{method_name}", :default => "")
+ i18n_label if i18n_label.present?
+ else
+ text.to_s
+ end
+
+ content ||= if object && object.class.respond_to?(:human_attribute_name)
+ object.class.human_attribute_name(method_name)
+ end
+
+ content ||= method_name.humanize
+
label_tag(name_and_id["id"], content, options)
end
@@ -797,7 +841,7 @@ module ActionView
add_default_name_and_id(options)
hidden = tag("input", "name" => options["name"], "type" => "hidden", "value" => options['disabled'] && checked ? checked_value : unchecked_value)
checkbox = tag("input", options)
- (hidden + checkbox).html_safe!
+ (hidden + checkbox).html_safe
end
def to_boolean_select_tag(options = {})
@@ -940,7 +984,7 @@ module ActionView
end
(field_helpers - %w(label check_box radio_button fields_for hidden_field)).each do |selector|
- src = <<-end_src
+ src, line = <<-end_src, __LINE__ + 1
def #{selector}(method, options = {}) # def text_field(method, options = {})
@template.send( # @template.send(
#{selector.inspect}, # "text_field",
@@ -949,7 +993,7 @@ module ActionView
objectify_options(options)) # objectify_options(options))
end # end
end_src
- class_eval src, __FILE__, __LINE__
+ class_eval src, __FILE__, line
end
def fields_for(record_or_name_or_array, *args, &block)
@@ -1005,7 +1049,7 @@ module ActionView
end
def error_message_on(method, *args)
- @template.error_message_on(@object, method, *args)
+ @template.error_message_on(@object || @object_name, method, *args)
end
def error_messages(options = {})
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/form_options_helper.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/form_options_helper.rb
index 608a3f1c102..d9d985a5358 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/form_options_helper.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/form_options_helper.rb
@@ -296,7 +296,7 @@ module ActionView
options << %(<option value="#{html_escape(value.to_s)}"#{selected_attribute}#{disabled_attribute}>#{html_escape(text.to_s)}</option>)
end
- options_for_select.join("\n").html_safe!
+ options_for_select.join("\n").html_safe
end
# Returns a string of option tags that have been compiled by iterating over the +collection+ and assigning the
@@ -481,7 +481,7 @@ module ActionView
end
zone_options += options_for_select(convert_zones[zones], selected)
- zone_options
+ zone_options.html_safe
end
private
@@ -572,10 +572,9 @@ module ActionView
end
if value.blank? && options[:prompt]
prompt = options[:prompt].kind_of?(String) ? options[:prompt] : I18n.translate('support.select.prompt', :default => 'Please select')
- "<option value=\"\">#{prompt}</option>\n" + option_tags
- else
- option_tags
+ option_tags = "<option value=\"\">#{prompt}</option>\n" + option_tags
end
+ option_tags.html_safe
end
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/form_tag_helper.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/form_tag_helper.rb
index eaba603afa8..42fc66f8a08 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/form_tag_helper.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/form_tag_helper.rb
@@ -78,6 +78,9 @@ module ActionView
# # <option>Paris</option><option>Rome</option></select>
def select_tag(name, option_tags = nil, options = {})
html_name = (options[:multiple] == true && !name.to_s.ends_with?("[]")) ? "#{name}[]" : name
+ if Array === option_tags
+ ActiveSupport::Deprecation.warn 'Passing an array of option_tags to select_tag implicitly joins them without marking them as HTML-safe. Pass option_tags.join.html_safe instead.', caller
+ end
content_tag :select, option_tags, { "name" => html_name, "id" => sanitize_to_id(name) }.update(options.stringify_keys)
end
@@ -262,7 +265,7 @@ module ActionView
escape = options.key?("escape") ? options.delete("escape") : true
content = html_escape(content) if escape
- content_tag :textarea, content, { "name" => name, "id" => sanitize_to_id(name) }.update(options.stringify_keys)
+ content_tag :textarea, content.to_s.html_safe, { "name" => name, "id" => sanitize_to_id(name) }.update(options.stringify_keys)
end
# Creates a check box form input tag.
@@ -432,12 +435,12 @@ module ActionView
concat(tag(:fieldset, options, true))
concat(content_tag(:legend, legend)) unless legend.blank?
concat(content)
- concat("</fieldset>".html_safe!)
+ concat("</fieldset>".html_safe)
end
private
def html_options_for_form(url_for_options, options, *parameters_for_url)
- returning options.stringify_keys do |html_options|
+ options.stringify_keys.tap do |html_options|
html_options["enctype"] = "multipart/form-data" if html_options.delete("multipart")
html_options["action"] = url_for(url_for_options, *parameters_for_url)
end
@@ -459,14 +462,14 @@ module ActionView
def form_tag_html(html_options)
extra_tags = extra_tags_for_form(html_options)
- (tag(:form, html_options, true) + extra_tags).html_safe!
+ (tag(:form, html_options, true) + extra_tags).html_safe
end
def form_tag_in_block(html_options, &block)
content = capture(&block)
concat(form_tag_html(html_options))
concat(content)
- concat("</form>".html_safe!)
+ concat("</form>".html_safe)
end
def token_tag
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/javascript_helper.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/javascript_helper.rb
index 8f64acf102d..2ed9d238ca3 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/javascript_helper.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/javascript_helper.rb
@@ -184,7 +184,7 @@ module ActionView
end
def javascript_cdata_section(content) #:nodoc:
- "\n//#{cdata_section("\n#{content}\n//")}\n"
+ "\n//#{cdata_section("\n#{content}\n//")}\n".html_safe
end
protected
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/number_helper.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/number_helper.rb
index b159887737e..25b299fc911 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/number_helper.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/number_helper.rb
@@ -89,7 +89,7 @@ module ActionView
:precision => precision,
:delimiter => delimiter,
:separator => separator)
- ).gsub(/%u/, unit)
+ ).gsub(/%u/, unit).html_safe
rescue
number
end
@@ -204,7 +204,7 @@ module ActionView
#precision_defaults = I18n.translate(:'number.precision.format', :locale => options[:locale],
# :raise => true) rescue {}
#defaults = defaults.merge(precision_defaults)
- #SONAR
+ #/SONAR
unless args.empty?
ActiveSupport::Deprecation.warn('number_with_precision takes an option hash ' +
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/prototype_helper.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/prototype_helper.rb
index 75f5c86eba4..3b3278fb0d8 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/prototype_helper.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/prototype_helper.rb
@@ -393,7 +393,7 @@ module ActionView
concat(form_remote_tag(options))
fields_for(object_name, *(args << options), &proc)
- concat('</form>'.html_safe!)
+ concat('</form>'.html_safe)
end
alias_method :form_remote_for, :remote_form_for
@@ -653,7 +653,7 @@ module ActionView
# <script> tag.
module GeneratorMethods
def to_s #:nodoc:
- returning javascript = @lines * $/ do
+ (@lines * $/).tap do |javascript|
if ActionView::Base.debug_rjs
source = javascript.dup
javascript.replace "try {\n#{source}\n} catch (e) "
@@ -981,8 +981,8 @@ module ActionView
end
def record(line)
- returning line = "#{line.to_s.chomp.gsub(/\;\z/, '')};" do
- self << line
+ "#{line.to_s.chomp.gsub(/\;\z/, '')};".tap do |_line|
+ self << _line
end
end
@@ -1026,7 +1026,7 @@ module ActionView
# page.hide 'spinner'
# end
def update_page(&block)
- JavaScriptGenerator.new(@template, &block).to_s
+ JavaScriptGenerator.new(@template, &block).to_s.html_safe
end
# Works like update_page but wraps the generated JavaScript in a <script>
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/raw_output_helper.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/raw_output_helper.rb
index 79b0e4ee75e..93414ae873d 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/raw_output_helper.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/raw_output_helper.rb
@@ -2,8 +2,8 @@ module ActionView #:nodoc:
module Helpers #:nodoc:
module RawOutputHelper
def raw(stringish)
- stringish.to_s.html_safe!
+ stringish.to_s.html_safe
end
end
end
-end \ No newline at end of file
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/record_identification_helper.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/record_identification_helper.rb
index 6c235bff3d1..6c235bff3d1 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/record_identification_helper.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/record_identification_helper.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/record_tag_helper.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/record_tag_helper.rb
index 0cdb70e217a..0cdb70e217a 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/record_tag_helper.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/record_tag_helper.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/sanitize_helper.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/sanitize_helper.rb
index 69d0d0fb671..d0b0f958701 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/sanitize_helper.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/sanitize_helper.rb
@@ -49,11 +49,7 @@ module ActionView
# confuse browsers.
#
def sanitize(html, options = {})
- returning self.class.white_list_sanitizer.sanitize(html, options) do |sanitized|
- if sanitized
- sanitized.html_safe!
- end
- end
+ self.class.white_list_sanitizer.sanitize(html, options).try(:html_safe)
end
# Sanitizes a block of CSS code. Used by +sanitize+ when it comes across a style attribute.
@@ -76,11 +72,7 @@ module ActionView
# strip_tags("<div id='top-bar'>Welcome to my website!</div>")
# # => Welcome to my website!
def strip_tags(html)
- returning self.class.full_sanitizer.sanitize(html) do |sanitized|
- if sanitized
- sanitized.html_safe!
- end
- end
+ self.class.full_sanitizer.sanitize(html).try(:html_safe)
end
# Strips all link tags from +text+ leaving just the link text.
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/scriptaculous_helper.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/scriptaculous_helper.rb
index 04af2781d71..04af2781d71 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/scriptaculous_helper.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/scriptaculous_helper.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/tag_helper.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/tag_helper.rb
index c47e74b6fb6..6a3bc59b082 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/tag_helper.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/tag_helper.rb
@@ -1,4 +1,5 @@
-require 'action_view/erb/util'
+require 'active_support/multibyte'
+require 'active_support/core_ext/string/output_safety'
require 'set'
module ActionView
@@ -38,7 +39,7 @@ module ActionView
# tag("img", { :src => "open &amp; shut.png" }, false, false)
# # => <img src="open &amp; shut.png" />
def tag(name, options = nil, open = false, escape = true)
- "<#{name}#{tag_options(options, escape) if options}#{open ? ">" : " />"}".html_safe!
+ "<#{name}#{tag_options(options, escape) if options}#{open ? ">" : " />"}".html_safe
end
# Returns an HTML block tag of type +name+ surrounding the +content+. Add
@@ -91,7 +92,7 @@ module ActionView
# cdata_section(File.read("hello_world.txt"))
# # => <![CDATA[<hello from a text file]]>
def cdata_section(content)
- "<![CDATA[#{content}]]>".html_safe!
+ "<![CDATA[#{content}]]>".html_safe
end
# Returns an escaped version of +html+ without affecting existing escaped entities.
@@ -125,7 +126,7 @@ module ActionView
def content_tag_string(name, content, options, escape = true)
tag_options = tag_options(options, escape) if options
- "<#{name}#{tag_options}>#{content}</#{name}>".html_safe!
+ "<#{name}#{tag_options}>#{content}</#{name}>".html_safe
end
def tag_options(options, escape = true)
@@ -142,7 +143,7 @@ module ActionView
else
attrs = options.map { |key, value| %(#{key}="#{value}") }
end
- " #{attrs.sort * ' '}".html_safe! unless attrs.empty?
+ " #{attrs.sort * ' '}".html_safe unless attrs.empty?
end
end
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/text_helper.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/text_helper.rb
index de6a2dd7f9e..532ae0bf9bb 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/text_helper.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/text_helper.rb
@@ -29,7 +29,7 @@ module ActionView
ActiveSupport::Deprecation.warn("The binding argument of #concat is no longer needed. Please remove it from your views and helpers.", caller)
end
- output_buffer << string
+ output_buffer.safe_concat(string)
end
# Truncates a given +text+ after a given <tt>:length</tt> if +text+ is longer than <tt>:length</tt>
@@ -181,7 +181,7 @@ module ActionView
# pluralize(0, 'person')
# # => 0 people
def pluralize(count, singular, plural = nil)
- "#{count || 0} " + ((count == 1 || count == '1') ? singular : (plural || singular.pluralize))
+ "#{count || 0} " + ((count == 1 || count =~ /^1(\.0+)?$/) ? singular : (plural || singular.pluralize))
end
# Wraps the +text+ into lines no longer than +line_width+ width. This method
@@ -328,7 +328,7 @@ module ActionView
text.gsub!(/\n\n+/, "</p>\n\n#{start_tag}") # 2+ newline -> paragraph
text.gsub!(/([^\n]\n)(?=[^\n])/, '\1<br />') # 1 newline -> br
text.insert 0, start_tag
- text << "</p>"
+ text.html_safe.safe_concat("</p>")
end
# Turns all URLs and e-mail addresses into clickable links. The <tt>:link</tt> option
@@ -532,9 +532,14 @@ module ActionView
end
AUTO_LINK_RE = %r{
- ( https?:// | www\. )
+ (?: ([\w+.:-]+:)// | www\. )
[^\s<]+
- }x unless const_defined?(:AUTO_LINK_RE)
+ }x
+
+ # regexps for determining context, used high-volume
+ AUTO_LINK_CRE = [/<[^>]+$/, /^[^>]*>/, /<a\b.*?>/i, /<\/a>/i]
+
+ AUTO_EMAIL_RE = /[\w.!#\$%+-]+@[\w-]+(?:\.[\w-]+)+/
BRACKETS = { ']' => '[', ')' => '(', '}' => '{' }
@@ -543,26 +548,26 @@ module ActionView
def auto_link_urls(text, html_options = {})
link_attributes = html_options.stringify_keys
text.gsub(AUTO_LINK_RE) do
- href = $&
- punctuation = ''
- left, right = $`, $'
- # detect already linked URLs and URLs in the middle of a tag
- if left =~ /<[^>]+$/ && right =~ /^[^>]*>/
- # do not change string; URL is alreay linked
+ scheme, href = $1, $&
+ punctuation = []
+
+ if auto_linked?($`, $')
+ # do not change string; URL is already linked
href
else
# don't include trailing punctuation character as part of the URL
- if href.sub!(/[^\w\/-]$/, '') and punctuation = $& and opening = BRACKETS[punctuation]
- if href.scan(opening).size > href.scan(punctuation).size
- href << punctuation
- punctuation = ''
+ while href.sub!(/[^\w\/-]$/, '')
+ punctuation.push $&
+ if opening = BRACKETS[punctuation.last] and href.scan(opening).size > href.scan(punctuation.last).size
+ href << punctuation.pop
+ break
end
end
link_text = block_given?? yield(href) : href
- href = 'http://' + href unless href.index('http') == 0
+ href = 'http://' + href unless scheme
- content_tag(:a, h(link_text), link_attributes.merge('href' => href)) + punctuation
+ content_tag(:a, h(link_text), link_attributes.merge('href' => href)) + punctuation.reverse.join('')
end
end
end
@@ -570,11 +575,10 @@ module ActionView
# Turns all email addresses into clickable links. If a block is given,
# each email is yielded and the result is used as the link text.
def auto_link_email_addresses(text, html_options = {})
- body = text.dup
- text.gsub(/([\w\.!#\$%\-+.]+@[A-Za-z0-9\-]+(\.[A-Za-z0-9\-]+)+)/) do
- text = $1
+ text.gsub(AUTO_EMAIL_RE) do
+ text = $&
- if body.match(/<a\b[^>]*>(.*)(#{Regexp.escape(text)})(.*)<\/a>/)
+ if auto_linked?($`, $')
text
else
display_text = (block_given?) ? yield(text) : text
@@ -582,6 +586,12 @@ module ActionView
end
end
end
+
+ # Detects already linked context or position in the middle of a tag
+ def auto_linked?(left, right)
+ (left =~ AUTO_LINK_CRE[0] and right =~ AUTO_LINK_CRE[1]) or
+ (left.rindex(AUTO_LINK_CRE[2]) and $' !~ AUTO_LINK_CRE[3])
+ end
end
end
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/translation_helper.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/translation_helper.rb
index 564f12c955d..f700eee9be6 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/translation_helper.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/translation_helper.rb
@@ -3,16 +3,30 @@ require 'action_view/helpers/tag_helper'
module ActionView
module Helpers
module TranslationHelper
- # Delegates to I18n#translate but also performs two additional functions. First, it'll catch MissingTranslationData exceptions
+ # Delegates to I18n#translate but also performs two additional functions. First, it'll catch MissingTranslationData exceptions
# and turn them into inline spans that contains the missing key, such that you can see in a view what is missing where.
#
# Second, it'll scope the key by the current partial if the key starts with a period. So if you call translate(".foo") from the
# people/index.html.erb template, you'll actually be calling I18n.translate("people.index.foo"). This makes it less repetitive
# to translate many keys within the same partials and gives you a simple framework for scoping them consistently. If you don't
# prepend the key with a period, nothing is converted.
- def translate(key, options = {})
+ def translate(keys, options = {})
+ if multiple_keys = keys.is_a?(Array)
+ ActiveSupport::Deprecation.warn "Giving an array to translate is deprecated, please give a symbol or a string instead", caller
+ end
+
options[:raise] = true
- I18n.translate(scope_key_by_partial(key), options)
+ keys = scope_keys_by_partial(keys)
+
+ translations = I18n.translate(keys, options)
+ translations = [translations] if !multiple_keys && translations.size > 1
+ translations = html_safe_translation_keys(keys, translations)
+
+ if multiple_keys || translations.size > 1
+ translations
+ else
+ translations.first
+ end
rescue I18n::MissingTranslationData => e
keys = I18n.send(:normalize_translation_keys, e.locale, e.key, e.options[:scope])
content_tag('span', keys.join(', '), :class => 'translation_missing')
@@ -27,13 +41,27 @@ module ActionView
private
- def scope_key_by_partial(key)
- if key.to_s.first == "."
- template.path_without_format_and_extension.gsub(%r{/_?}, ".") + key.to_s
- else
- key
+ def scope_keys_by_partial(keys)
+ Array.wrap(keys).map do |key|
+ key = key.to_s
+
+ if key.first == "."
+ template.path_without_format_and_extension.gsub(%r{/_?}, ".") + key
+ else
+ key
+ end
+ end
+ end
+
+ def html_safe_translation_keys(keys, translations)
+ keys.zip(translations).map do |key, translation|
+ if key =~ /(\b|_|\.)html$/ && translation.respond_to?(:html_safe)
+ translation.html_safe
+ else
+ translation
+ end
end
end
end
end
-end \ No newline at end of file
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/url_helper.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/url_helper.rb
index d106e687658..8654adb382b 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/url_helper.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/url_helper.rb
@@ -91,7 +91,7 @@ module ActionView
polymorphic_path(options)
end
- escape ? escape_once(url) : url
+ escape ? escape_once(url).html_safe : url
end
# Creates a link tag of the given +name+ using a URL created by the set
@@ -219,7 +219,7 @@ module ActionView
if block_given?
options = args.first || {}
html_options = args.second
- concat(link_to(capture(&block), options, html_options).html_safe!)
+ concat(link_to(capture(&block), options, html_options))
else
name = args.first
options = args.second || {}
@@ -237,7 +237,7 @@ module ActionView
end
href_attr = "href=\"#{url}\"" unless href
- "<a #{href_attr}#{tag_options}>#{name || url}</a>".html_safe!
+ "<a #{href_attr}#{tag_options}>#{name || url}</a>".html_safe
end
end
@@ -308,8 +308,8 @@ module ActionView
html_options.merge!("type" => "submit", "value" => name)
- "<form method=\"#{form_method}\" action=\"#{escape_once url}\" class=\"button-to\"><div>" +
- method_tag + tag("input", html_options) + request_token_tag + "</div></form>".html_safe!
+ ("<form method=\"#{form_method}\" action=\"#{escape_once url}\" class=\"button-to\"><div>" +
+ method_tag + tag("input", html_options) + request_token_tag + "</div></form>").html_safe
end
@@ -466,14 +466,13 @@ module ActionView
extras << "subject=#{CGI.escape(subject).gsub("+", "%20")}&" unless subject.nil?
extras = "?" << extras.gsub!(/&?$/,"") unless extras.empty?
- email_address = email_address.to_s
-
- email_address_obfuscated = email_address.dup
+ email_address_obfuscated = html_escape(email_address)
email_address_obfuscated.gsub!(/@/, html_options.delete("replace_at")) if html_options.has_key?("replace_at")
email_address_obfuscated.gsub!(/\./, html_options.delete("replace_dot")) if html_options.has_key?("replace_dot")
if encode == "javascript"
- "document.write('#{content_tag("a", name || email_address_obfuscated, html_options.merge({ "href" => "mailto:"+email_address+extras }))}');".each_byte do |c|
+ html = content_tag("a", name || email_address_obfuscated.html_safe, html_options.merge({ "href" => "mailto:"+html_escape(email_address)+extras }))
+ "document.write('#{escape_javascript(html)}');".each_byte do |c|
string << sprintf("%%%x", c)
end
"<script type=\"#{Mime::JS}\">eval(decodeURIComponent('#{string}'))</script>"
@@ -490,9 +489,9 @@ module ActionView
char = c.chr
string << (char =~ /\w/ ? sprintf("%%%x", c) : char)
end
- content_tag "a", name || email_address_encoded, html_options.merge({ "href" => "#{string}#{extras}" })
+ content_tag "a", name || email_address_encoded.html_safe, html_options.merge({ "href" => "#{string}#{extras}" })
else
- content_tag "a", name || email_address_obfuscated, html_options.merge({ "href" => "mailto:#{email_address}#{extras}" })
+ content_tag "a", name || email_address_obfuscated.html_safe, html_options.merge({ "href" => "mailto:#{email_address}#{extras}" })
end
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/inline_template.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/inline_template.rb
index 54efa543c80..54efa543c80 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/inline_template.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/inline_template.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/locale/en.yml b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/locale/en.yml
index 3f38fd18c33..b56869ed7b4 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/locale/en.yml
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/locale/en.yml
@@ -114,4 +114,4 @@
support:
select:
# default value for :prompt => true in FormOptionsHelper
- prompt: "Please select" \ No newline at end of file
+ prompt: "Please select"
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/partials.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/partials.rb
index 5d75dbbcef1..3aeebc67777 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/partials.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/partials.rb
@@ -218,10 +218,11 @@ module ActionView
ActionController::RecordIdentifier.partial_path(object, controller.class.controller_path)
template = _pick_partial_template(_partial_path)
local_assigns[template.counter_name] = index
+ local_assigns["#{as.to_s}_counter".to_sym] = local_assigns[template.counter_name] if as
result = template.render_partial(self, object, local_assigns.dup, as)
index += 1
result
- end.join(spacer).html_safe!
+ end.join(spacer).html_safe
end
def _pick_partial_template(partial_path) #:nodoc:
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/paths.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/paths.rb
index a0a2f968861..9c1a2bdb925 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/paths.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/paths.rb
@@ -47,15 +47,23 @@ module ActionView #:nodoc:
each do |load_path|
if format && (template = load_path["#{template_path}.#{I18n.locale}.#{format}"])
return template
+ # Try the default locale version if the current locale doesn't have one
+ # (i.e. you haven't translated this view to German yet, but you have the English version on hand)
+ elsif format && (template = load_path["#{template_path}.#{I18n.default_locale}.#{format}"])
+ return template
elsif format && (template = load_path["#{template_path}.#{format}"])
return template
elsif template = load_path["#{template_path}.#{I18n.locale}"]
return template
+ elsif template = load_path["#{template_path}.#{I18n.default_locale}"]
+ return template
elsif template = load_path[template_path]
return template
# Try to find html version if the format is javascript
elsif format == :js && html_fallback && template = load_path["#{template_path}.#{I18n.locale}.html"]
return template
+ elsif format == :js && html_fallback && template = load_path["#{template_path}.#{I18n.default_locale}.html"]
+ return template
elsif format == :js && html_fallback && template = load_path["#{template_path}.html"]
return template
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/reloadable_template.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/reloadable_template.rb
index 5ef833d75ce..5ef833d75ce 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/reloadable_template.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/reloadable_template.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/renderable.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/renderable.rb
index ff7bc7d9def..a7f87ee0016 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/renderable.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/renderable.rb
@@ -65,16 +65,30 @@ module ActionView
def compile!(render_symbol, local_assigns)
locals_code = local_assigns.keys.map { |key| "#{key} = local_assigns[:#{key}];" }.join
+ code = compiled_source
+ if code.sub!(/\A(#.*coding.*)\n/, '')
+ encoding_comment = $1
+ elsif defined?(Encoding) && Encoding.respond_to?(:default_external)
+ encoding_comment = "#coding:#{Encoding.default_external}"
+ end
+
source = <<-end_src
def #{render_symbol}(local_assigns)
- old_output_buffer = output_buffer;#{locals_code};#{compiled_source}
+ old_output_buffer = output_buffer;#{locals_code};#{code}
ensure
self.output_buffer = old_output_buffer
end
end_src
+ if encoding_comment
+ source = "#{encoding_comment}\n#{source}"
+ line = -1
+ else
+ line = 0
+ end
+
begin
- ActionView::Base::CompiledTemplates.module_eval(source, filename, 0)
+ ActionView::Base::CompiledTemplates.module_eval(source, filename, line)
rescue Errno::ENOENT => e
raise e # Missing template file, re-raise for Base to rescue
rescue Exception => e # errors from template code
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/renderable_partial.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/renderable_partial.rb
index 3ea836fa25a..fb446145575 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/renderable_partial.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/renderable_partial.rb
@@ -27,7 +27,7 @@ module ActionView
def render_partial(view, object = nil, local_assigns = {}, as = nil)
object ||= local_assigns[:object] || local_assigns[variable_name]
- if object.nil? && view.respond_to?(:controller)
+ if object.nil? && !local_assigns_key?(local_assigns) && view.respond_to?(:controller)
ivar = :"@#{variable_name}"
object =
if view.controller.instance_variable_defined?(ivar)
@@ -43,5 +43,11 @@ module ActionView
render_template(view, local_assigns)
end
+
+ private
+
+ def local_assigns_key?(local_assigns)
+ local_assigns.key?(:object) || local_assigns.key?(variable_name)
+ end
end
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/template.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/template.rb
index 414dc0cc223..5a84fa3efe7 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/template.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/template.rb
@@ -45,8 +45,8 @@ module ActionView #:nodoc:
end
def self.new_and_loaded(path)
- returning new(path) do |path|
- path.load!
+ new(path).tap do |_path|
+ _path.load!
end
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/template_error.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/template_error.rb
index 37cb1c7c6cc..37cb1c7c6cc 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/template_error.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/template_error.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/template_handler.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/template_handler.rb
index 672da0ed2b3..672da0ed2b3 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/template_handler.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/template_handler.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/template_handlers.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/template_handlers.rb
index 205f8628f0e..205f8628f0e 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/template_handlers.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/template_handlers.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/template_handlers/builder.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/template_handlers/builder.rb
index 788dc933263..788dc933263 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/template_handlers/builder.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/template_handlers/builder.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/template_handlers/erb.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/template_handlers/erb.rb
index e3120ba267a..b53a652f121 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/template_handlers/erb.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/template_handlers/erb.rb
@@ -11,11 +11,14 @@ module ActionView
self.erb_trim_mode = '-'
def compile(template)
- src = ::ERB.new("<% __in_erb_template=true %>#{template.source}", nil, erb_trim_mode, '@output_buffer').src
+ magic = $1 if template.source =~ /\A(<%#.*coding[:=]\s*(\S+)\s*-?%>)/
+ erb = "#{magic}<% __in_erb_template=true %>#{template.source}"
- # Ruby 1.9 prepends an encoding to the source. However this is
- # useless because you can only set an encoding on the first line
- RUBY_VERSION >= '1.9' ? src.sub(/\A#coding:.*\n/, '') : src
+ if erb.respond_to?(:force_encoding)
+ erb.force_encoding(template.source.encoding)
+ end
+
+ ::ERB.new(erb, nil, erb_trim_mode, '@output_buffer').src
end
end
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/template_handlers/rjs.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/template_handlers/rjs.rb
index 41a1fddb47a..41a1fddb47a 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/template_handlers/rjs.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/template_handlers/rjs.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/test_case.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/test_case.rb
index f43531dcf43..049314c4c0e 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/test_case.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/test_case.rb
@@ -159,4 +159,4 @@ module ActionView
end
end
end
-end \ No newline at end of file
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/actionpack.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/actionpack.rb
index 41681db7788..41681db7788 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/actionpack.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/actionpack.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/CHANGELOG b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/CHANGELOG
index f5e2a5fadbc..a8fb4dbb96a 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/CHANGELOG
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/CHANGELOG
@@ -1,3 +1,48 @@
+*2.3.11 (February 9, 2011)*
+
+*2.3.10 (October 15, 2010)*
+
+* Security Release to fix CVE-2010-3933
+
+*2.3.9 (September 4, 2010)*
+*2.3.8 (May 24, 2010)*
+*2.3.7 (May 24, 2010)*
+
+* Version bump.
+
+
+*2.3.6 (May 23, 2010)*
+
+* Add index length support for MySQL. #1852 [Emili Parreno, Pratik Naik]
+
+ Example:
+
+ add_index(:accounts, :name, :name => 'by_name', :length => 10)
+ => CREATE INDEX by_name ON accounts(name(10))
+
+ add_index(:accounts, [:name, :surname], :name => 'by_name_surname', :length => {:name => 10, :surname => 15})
+ => CREATE INDEX by_name_surname ON accounts(name(10), surname(15))
+
+* find_or_create_by_attr(value, ...) works when attr is protected. #4457 [Santiago Pastorino, Marc-André Lafortune]
+
+* JSON supports a custom root option: to_json(:root => 'custom') #4515 [Jatinder Singh]
+
+* Destroy uses optimistic locking. If lock_version on the record you're destroying doesn't match lock_version in the database, a StaleObjectError is raised. #1966 [Curtis Hawthorne]
+
+* To prefix the table names of all models in a module, define self.table_name_prefix on the module. #4032 [Andrew White]
+
+* Association inverses for belongs_to, has_one, and has_many. Optimization to reduce database queries. #3533 [Murray Steele]
+
+ # post.comments sets each comment's post without needing to :include
+ class Post < ActiveRecord::Base
+ has_many :comments, :inverse_of => :post
+ end
+
+* MySQL: add_ and change_column support positioning. #3286 [Ben Marini]
+
+* Reset your Active Record counter caches with the reset_counter_cache class method. #1211 [Mike Breen, Gabe da Silveira]
+
+
*2.3.5 (November 25, 2009)*
* Minor Bug Fixes and deprecation warnings
@@ -6,6 +51,7 @@
* Numerous fixes to the nested attributes functionality
+
*2.3.4 (September 4, 2009)*
* PostgreSQL: XML datatype support. #1874 [Leonardo Borges]
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/README b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/README
index d68eb28a646..d68eb28a646 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/README
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/README
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/Rakefile b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/Rakefile
index 2c5ad5c293d..50210c02ce8 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/Rakefile
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/Rakefile
@@ -1,9 +1,9 @@
require 'rubygems'
require 'rake'
require 'rake/testtask'
-require 'rake/rdoctask'
+require 'rdoc/task'
require 'rake/packagetask'
-require 'rake/gempackagetask'
+require 'rubygems/package_task'
require File.join(File.dirname(__FILE__), 'lib', 'active_record', 'version')
require File.expand_path(File.dirname(__FILE__)) + "/test/config"
@@ -157,7 +157,7 @@ task :rebuild_frontbase_databases => 'frontbase:rebuild_databases'
# Generate the RDoc documentation
-Rake::RDocTask.new { |rdoc|
+RDoc::Task.new { |rdoc|
rdoc.rdoc_dir = 'doc'
rdoc.title = "Active Record -- Object-relation mapping put on rails"
rdoc.options << '--line-numbers' << '--inline-source' << '-A cattr_accessor=object'
@@ -192,16 +192,14 @@ spec = Gem::Specification.new do |s|
s.files = s.files + Dir.glob( "#{dir}/**/*" ).delete_if { |item| item.include?( "\.svn" ) }
end
- s.add_dependency('activesupport', '= 2.3.5' + PKG_BUILD)
+ s.add_dependency('activesupport', '= 2.3.14' + PKG_BUILD)
s.files.delete FIXTURES_ROOT + "/fixture_database.sqlite"
s.files.delete FIXTURES_ROOT + "/fixture_database_2.sqlite"
s.files.delete FIXTURES_ROOT + "/fixture_database.sqlite3"
s.files.delete FIXTURES_ROOT + "/fixture_database_2.sqlite3"
s.require_path = 'lib'
- s.autorequire = 'active_record'
- s.has_rdoc = true
s.extra_rdoc_files = %w( README )
s.rdoc_options.concat ['--main', 'README']
@@ -211,7 +209,7 @@ spec = Gem::Specification.new do |s|
s.rubyforge_project = "activerecord"
end
-Rake::GemPackageTask.new(spec) do |p|
+Gem::PackageTask.new(spec) do |p|
p.gem_spec = spec
p.need_tar = true
p.need_zip = true
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/install.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/install.rb
index c87398b1f42..c87398b1f42 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/install.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/install.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record.rb
index 2f8c5c712f9..0d0ada9f42a 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record.rb
@@ -1,5 +1,5 @@
#--
-# Copyright (c) 2004-2009 David Heinemeier Hansson
+# Copyright (c) 2004-2010 David Heinemeier Hansson
#
# Permission is hereby granted, free of charge, to any person obtaining
# a copy of this software and associated documentation files (the
@@ -80,5 +80,4 @@ module ActiveRecord
end
end
-require 'active_record/i18n_interpolation_deprecation'
I18n.load_path << File.dirname(__FILE__) + '/active_record/locale/en.yml'
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/aggregations.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/aggregations.rb
index 1eefebb3b3d..1eefebb3b3d 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/aggregations.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/aggregations.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/association_preload.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/association_preload.rb
index e3802d92568..2130994411e 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/association_preload.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/association_preload.rb
@@ -7,7 +7,6 @@ module ActiveRecord
MAX_IDS_PER_ORACLE_QUERY = 1000
# END SONAR
-
def self.included(base)
base.extend(ClassMethods)
end
@@ -94,18 +93,20 @@ module ActiveRecord
records = [records].flatten.compact.uniq
return if records.empty?
case associations
- when Array then associations.each {|association| preload_associations(records, association, preload_options)}
- when Symbol, String then preload_one_association(records, associations.to_sym, preload_options)
- when Hash then
- associations.each do |parent, child|
- raise "parent must be an association name" unless parent.is_a?(String) || parent.is_a?(Symbol)
- preload_associations(records, parent, preload_options)
- reflection = reflections[parent]
- parents = records.map {|record| record.send(reflection.name)}.flatten.compact
- unless parents.empty?
- parents.first.class.preload_associations(parents, child)
+ when Array then
+ associations.each { |association| preload_associations(records, association, preload_options) }
+ when Symbol, String then
+ preload_one_association(records, associations.to_sym, preload_options)
+ when Hash then
+ associations.each do |parent, child|
+ raise "parent must be an association name" unless parent.is_a?(String) || parent.is_a?(Symbol)
+ preload_associations(records, parent, preload_options)
+ reflection = reflections[parent]
+ parents = records.map { |record| record.send(reflection.name) }.flatten.compact
+ unless parents.empty?
+ parents.first.class.preload_associations(parents, child)
+ end
end
- end
end
end
@@ -118,7 +119,7 @@ module ActiveRecord
# Not all records have the same class, so group then preload
# group on the reflection itself so that if various subclass share the same association then we do not split them
# unnecessarily
- records.group_by {|record| class_to_reflection[record.class] ||= record.class.reflections[association]}.each do |reflection, records|
+ records.group_by { |record| class_to_reflection[record.class] ||= record.class.reflections[association] }.each do |reflection, records|
raise ConfigurationError, "Association named '#{ association }' was not found; perhaps you misspelled it?" unless reflection
# 'reflection.macro' can return 'belongs_to', 'has_many', etc. Thus,
@@ -133,6 +134,7 @@ module ActiveRecord
association_proxy = parent_record.send(reflection_name)
association_proxy.loaded
association_proxy.target.push(*[associated_record].flatten)
+ association_proxy.__send__(:set_inverse_instance, associated_record, parent_record)
end
end
@@ -159,9 +161,15 @@ module ActiveRecord
seen_keys[associated_record[key].to_s] = true
mapped_records = id_to_record_map[associated_record[key].to_s]
mapped_records.each do |mapped_record|
- mapped_record.send("set_#{reflection_name}_target", associated_record)
+ association_proxy = mapped_record.send("set_#{reflection_name}_target", associated_record)
+ association_proxy.__send__(:set_inverse_instance, associated_record, mapped_record)
end
end
+
+ id_to_record_map.each do |id, records|
+ next if seen_keys.include?(id.to_s)
+ records.each { |record| record.send("set_#{reflection_name}_target", nil) }
+ end
end
# Given a collection of ActiveRecord objects, constructs a Hash which maps
@@ -184,13 +192,13 @@ module ActiveRecord
def preload_has_and_belongs_to_many_association(records, reflection, preload_options={})
table_name = reflection.klass.quoted_table_name
id_to_record_map, ids = construct_id_map(records)
- records.each {|record| record.send(reflection.name).loaded}
+ records.each { |record| record.send(reflection.name).loaded }
options = reflection.options
conditions = "t0.#{reflection.primary_key_name} #{in_or_equals_for_ids(ids)}"
conditions << append_conditions(reflection, preload_options)
- # SONAR - the following must be replaced - see https://github.com/alexrothenberg/oracle-enhanced/commit/dbb1c82533ae5d0c0f3c0ad5f2ed2f62d892593b#L0R94
+ #SONAR
#associated_records = reflection.klass.with_exclusive_scope do
# reflection.klass.find(:all, :conditions => [conditions, ids],
# :include => options[:include],
@@ -198,16 +206,15 @@ module ActiveRecord
# :select => "#{options[:select] || table_name+'.*'}, t0.#{reflection.primary_key_name} as the_parent_record_id",
# :order => options[:order])
#end
-
# Make several queries with no more than 1000 ids in each one, combining the results into a single array
associated_records = []
ids.each_slice(MAX_IDS_PER_ORACLE_QUERY) do |safe_for_oracle_ids|
associated_records += reflection.klass.with_exclusive_scope do
reflection.klass.find(:all, :conditions => [conditions, safe_for_oracle_ids],
- :include => options[:include],
- :joins => "INNER JOIN #{connection.quote_table_name options[:join_table]} t0 ON #{reflection.klass.quoted_table_name}.#{reflection.klass.primary_key} = t0.#{reflection.association_foreign_key}",
- :select => "#{options[:select] || table_name+'.*'}, t0.#{reflection.primary_key_name} as the_parent_record_id",
- :order => options[:order])
+ :include => options[:include],
+ :joins => "INNER JOIN #{connection.quote_table_name options[:join_table]} t0 ON #{reflection.klass.quoted_table_name}.#{reflection.klass.primary_key} = t0.#{reflection.association_foreign_key}",
+ :select => "#{options[:select] || table_name+'.*'}, t0.#{reflection.primary_key_name} as the_parent_record_id",
+ :order => options[:order])
end
end
# END SONAR
@@ -218,7 +225,7 @@ module ActiveRecord
return if records.first.send("loaded_#{reflection.name}?")
id_to_record_map, ids = construct_id_map(records, reflection.options[:primary_key])
options = reflection.options
- records.each {|record| record.send("set_#{reflection.name}_target", nil)}
+ records.each { |record| record.send("set_#{reflection.name}_target", nil) }
if options[:through]
through_records = preload_through_records(records, reflection, options[:through])
through_reflection = reflections[options[:through]]
@@ -251,7 +258,7 @@ module ActiveRecord
primary_key_name = reflection.through_reflection_primary_key_name
id_to_record_map, ids = construct_id_map(records, primary_key_name || reflection.options[:primary_key])
- records.each {|record| record.send(reflection.name).loaded}
+ records.each { |record| record.send(reflection.name).loaded }
if options[:through]
through_records = preload_through_records(records, reflection, options[:through])
@@ -296,8 +303,12 @@ module ActiveRecord
end
through_records.flatten!
else
- records.first.class.preload_associations(records, through_association)
- through_records = records.map {|record| record.send(through_association)}.flatten
+ options = {}
+ options[:include] = reflection.options[:include] || reflection.options[:source] if reflection.options[:conditions] || reflection.options[:order]
+ options[:order] = reflection.options[:order]
+ options[:conditions] = reflection.options[:conditions]
+ records.first.class.preload_associations(records, through_association, options)
+ through_records = records.map { |record| record.send(through_association) }.flatten
end
through_records.compact!
through_records
@@ -342,8 +353,8 @@ module ActiveRecord
klass = klass_name.constantize
table_name = klass.quoted_table_name
- primary_key = klass.primary_key
- column_type = klass.columns.detect{|c| c.name == primary_key}.type
+ primary_key = reflection.options[:primary_key] || klass.primary_key
+ column_type = klass.columns.detect { |c| c.name == primary_key }.type
ids = id_map.keys.map do |id|
if column_type == :integer
id.to_i
@@ -360,16 +371,16 @@ module ActiveRecord
# /SONAR
conditions << append_conditions(reflection, preload_options)
-
- # SONAR
associated_records = klass.with_exclusive_scope do
- klass.find(:all, :conditions => [conditions, *ids.in_groups_of(MAX_IDS_PER_ORACLE_QUERY, false)],
- :include => options[:include],
- :select => options[:select],
- :joins => options[:joins],
- :order => options[:order])
+ klass.find(:all,
+ # SONAR
+ :conditions => [conditions, *ids.in_groups_of(MAX_IDS_PER_ORACLE_QUERY, false)],
+ # /SONAR
+ :include => options[:include],
+ :select => options[:select],
+ :joins => options[:joins],
+ :order => options[:order])
end
- # /SONAR
set_association_single_records(id_map, reflection.name, associated_records, primary_key)
end
end
@@ -378,29 +389,40 @@ module ActiveRecord
# SONAR - iterate over safe_for_oracle_ids
associated_records = []
ids.each_slice(MAX_IDS_PER_ORACLE_QUERY) do |safe_for_oracle_ids|
- options = reflection.options
- table_name = reflection.klass.quoted_table_name
+ #/SONAR
+ options = reflection.options
+ table_name = reflection.klass.quoted_table_name
- if interface = reflection.options[:as]
- conditions = "#{reflection.klass.quoted_table_name}.#{connection.quote_column_name "#{interface}_id"} #{in_or_equals_for_ids(safe_for_oracle_ids)} and #{reflection.klass.quoted_table_name}.#{connection.quote_column_name "#{interface}_type"} = '#{self.base_class.sti_name}'"
- else
+ if interface = reflection.options[:as]
+ parent_type = if reflection.active_record.abstract_class?
+ self.base_class.sti_name
+ else
+ reflection.active_record.sti_name
+ end
+
+ conditions = "#{reflection.klass.quoted_table_name}.#{connection.quote_column_name "#{interface}_id"} #{in_or_equals_for_ids(ids)} and #{reflection.klass.quoted_table_name}.#{connection.quote_column_name "#{interface}_type"} = '#{parent_type}'"
+ else
foreign_key = reflection.primary_key_name
- conditions = "#{reflection.klass.quoted_table_name}.#{foreign_key} #{in_or_equals_for_ids(safe_for_oracle_ids)}"
- end
-
- conditions << append_conditions(reflection, preload_options)
-
- reflection.klass.with_exclusive_scope do
- associated_records += reflection.klass.find(:all,
- :select => (preload_options[:select] || options[:select] || "#{table_name}.*"),
- :include => preload_options[:include] || options[:include],
- :conditions => [conditions, safe_for_oracle_ids],
- :joins => options[:joins],
- :group => preload_options[:group] || options[:group],
- :order => preload_options[:order] || options[:order])
- end
- end
- associated_records
+ conditions = "#{reflection.klass.quoted_table_name}.#{foreign_key} #{in_or_equals_for_ids(ids)}"
+ end
+
+ conditions << append_conditions(reflection, preload_options)
+
+ reflection.klass.with_exclusive_scope do
+ #SONAR
+ associated_records += reflection.klass.find(:all,
+ :select => (preload_options[:select] || options[:select] || "#{table_name}.*"),
+ :include => preload_options[:include] || options[:include],
+ :conditions => [conditions, safe_for_oracle_ids],
+ :joins => options[:joins],
+ :group => preload_options[:group] || options[:group],
+ :order => preload_options[:order] || options[:order])
+ #/SONAR
+ end
+ end
+
+ #SONAR
+ associated_records
# /SONAR
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/associations.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/associations.rb
index 0a612e0dcbd..3a325815bd4 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/associations.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/associations.rb
@@ -1,4 +1,10 @@
module ActiveRecord
+ class InverseOfAssociationNotFoundError < ActiveRecordError #:nodoc:
+ def initialize(reflection, associated_class = nil)
+ super("Could not find the inverse association for #{reflection.name} (#{reflection.options[:inverse_of].inspect} in #{associated_class.nil? ? reflection.class_name : associated_class.name})")
+ end
+ end
+
class HasManyThroughAssociationNotFoundError < ActiveRecordError #:nodoc:
def initialize(owner_class_name, reflection)
super("Could not find the association #{reflection.options[:through].inspect} in model #{owner_class_name}")
@@ -1247,7 +1253,7 @@ module ActiveRecord
if association.nil? || force_reload
association = association_proxy_class.new(self, reflection)
- retval = association.reload
+ retval = force_reload ? reflection.klass.uncached { association.reload } : association.reload
if retval.nil? and association_proxy_class == BelongsToAssociation
association_instance_set(reflection.name, nil)
return nil
@@ -1301,7 +1307,7 @@ module ActiveRecord
association_instance_set(reflection.name, association)
end
- association.reload if force_reload
+ reflection.klass.uncached { association.reload } if force_reload
association
end
@@ -1409,40 +1415,39 @@ module ActiveRecord
# finder conditions.
def configure_dependency_for_has_many(reflection, extra_conditions = nil)
if reflection.options.include?(:dependent)
- # Add polymorphic type if the :as option is present
- dependent_conditions = []
- dependent_conditions << "#{reflection.primary_key_name} = \#{record.#{reflection.name}.send(:owner_quoted_id)}"
- dependent_conditions << "#{reflection.options[:as]}_type = '#{base_class.name}'" if reflection.options[:as]
- dependent_conditions << sanitize_sql(reflection.options[:conditions], reflection.quoted_table_name) if reflection.options[:conditions]
- dependent_conditions << extra_conditions if extra_conditions
- dependent_conditions = dependent_conditions.collect {|where| "(#{where})" }.join(" AND ")
- dependent_conditions = dependent_conditions.gsub('@', '\@')
case reflection.options[:dependent]
when :destroy
method_name = "has_many_dependent_destroy_for_#{reflection.name}".to_sym
define_method(method_name) do
- send(reflection.name).each { |o| o.destroy }
+ send(reflection.name).each do |o|
+ # No point in executing the counter update since we're going to destroy the parent anyway
+ counter_method = ('belongs_to_counter_cache_before_destroy_for_' + self.class.name.downcase).to_sym
+ if(o.respond_to? counter_method) then
+ class << o
+ self
+ end.send(:define_method, counter_method, Proc.new {})
+ end
+ o.destroy
+ end
end
before_destroy method_name
when :delete_all
- module_eval %Q{
- before_destroy do |record| # before_destroy do |record|
- delete_all_has_many_dependencies(record, # delete_all_has_many_dependencies(record,
- "#{reflection.name}", # "posts",
- #{reflection.class_name}, # Post,
- %@#{dependent_conditions}@) # %@...@) # this is a string literal like %(...)
- end # end
- }
+ before_destroy do |record|
+ record.class.send(:delete_all_has_many_dependencies,
+ record,
+ reflection.name,
+ reflection.klass,
+ reflection.dependent_conditions(record, record.class, extra_conditions))
+ end
when :nullify
- module_eval %Q{
- before_destroy do |record| # before_destroy do |record|
- nullify_has_many_dependencies(record, # nullify_has_many_dependencies(record,
- "#{reflection.name}", # "posts",
- #{reflection.class_name}, # Post,
- "#{reflection.primary_key_name}", # "user_id",
- %@#{dependent_conditions}@) # %@...@) # this is a string literal like %(...)
- end # end
- }
+ before_destroy do |record|
+ record.class.send(:nullify_has_many_dependencies,
+ record,
+ reflection.name,
+ reflection.klass,
+ reflection.primary_key_name,
+ reflection.dependent_conditions(record, record.class, extra_conditions))
+ end
else
raise ArgumentError, "The :dependent option expects either :destroy, :delete_all, or :nullify (#{reflection.options[:dependent].inspect})"
end
@@ -1526,7 +1531,7 @@ module ActiveRecord
:finder_sql, :counter_sql,
:before_add, :after_add, :before_remove, :after_remove,
:extend, :readonly,
- :validate
+ :validate, :inverse_of
]
def create_has_many_reflection(association_id, options, &extension)
@@ -1540,7 +1545,7 @@ module ActiveRecord
@@valid_keys_for_has_one_association = [
:class_name, :foreign_key, :remote, :select, :conditions, :order,
:include, :dependent, :counter_cache, :extend, :as, :readonly,
- :validate, :primary_key
+ :validate, :primary_key, :inverse_of
]
def create_has_one_reflection(association_id, options)
@@ -1559,7 +1564,7 @@ module ActiveRecord
@@valid_keys_for_belongs_to_association = [
:class_name, :primary_key, :foreign_key, :foreign_type, :remote, :select, :conditions,
:include, :dependent, :counter_cache, :extend, :polymorphic, :readonly,
- :validate, :touch
+ :validate, :touch, :inverse_of
]
def create_belongs_to_reflection(association_id, options)
@@ -1777,7 +1782,7 @@ module ActiveRecord
end
def using_limitable_reflections?(reflections)
- reflections.reject { |r| [ :belongs_to, :has_one ].include?(r.macro) }.length.zero?
+ reflections.none?(&:collection?)
end
def column_aliases(join_dependency)
@@ -1854,7 +1859,7 @@ module ActiveRecord
case associations
when Symbol, String
reflection = base.reflections[associations]
- if reflection && [:has_many, :has_and_belongs_to_many].include?(reflection.macro)
+ if reflection && reflection.collection?
records.each { |record| record.send(reflection.name).target.uniq! }
end
when Array
@@ -1864,12 +1869,11 @@ module ActiveRecord
when Hash
associations.keys.each do |name|
reflection = base.reflections[name]
- is_collection = [:has_many, :has_and_belongs_to_many].include?(reflection.macro)
parent_records = records.map do |record|
descendant = record.send(reflection.name)
next unless descendant
- descendant.target.uniq! if is_collection
+ descendant.target.uniq! if reflection.collection?
descendant
end.flatten.compact
@@ -1960,21 +1964,27 @@ module ActiveRecord
return nil if record.id.to_s != join.parent.record_id(row).to_s or row[join.aliased_primary_key].nil?
association = join.instantiate(row)
collection.target.push(association)
+ collection.__send__(:set_inverse_instance, association, record)
when :has_one
return if record.id.to_s != join.parent.record_id(row).to_s
return if record.instance_variable_defined?("@#{join.reflection.name}")
association = join.instantiate(row) unless row[join.aliased_primary_key].nil?
- record.send("set_#{join.reflection.name}_target", association)
+ set_target_and_inverse(join, association, record)
when :belongs_to
return if record.id.to_s != join.parent.record_id(row).to_s or row[join.aliased_primary_key].nil?
association = join.instantiate(row)
- record.send("set_#{join.reflection.name}_target", association)
+ set_target_and_inverse(join, association, record)
else
raise ConfigurationError, "unknown macro: #{join.reflection.macro}"
end
return association
end
+ def set_target_and_inverse(join, association, record)
+ association_proxy = record.send("set_#{join.reflection.name}_target", association)
+ association_proxy.__send__(:set_inverse_instance, association, record)
+ end
+
class JoinBase # :nodoc:
attr_reader :active_record, :table_joins
delegate :table_name, :column_names, :primary_key, :reflections, :sanitize_sql, :to => :active_record
@@ -2162,7 +2172,7 @@ module ActiveRecord
" #{join_type} %s ON %s.%s = %s.%s " % [
table_name_and_alias,
connection.quote_table_name(aliased_table_name),
- reflection.klass.primary_key,
+ reflection.options[:primary_key] || reflection.klass.primary_key,
connection.quote_table_name(parent.aliased_table_name),
options[:foreign_key] || reflection.primary_key_name
]
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/associations/association_collection.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/associations/association_collection.rb
index 42b6e5dedcf..c04110a994b 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/associations/association_collection.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/associations/association_collection.rb
@@ -234,8 +234,9 @@ module ActiveRecord
# See destroy for more info.
def destroy_all
load_target
- destroy(@target)
- reset_target!
+ destroy(@target).tap do
+ reset_target!
+ end
end
def create(attrs = {})
@@ -331,6 +332,7 @@ module ActiveRecord
def include?(record)
return false unless record.is_a?(@reflection.klass)
+ return include_in_memory?(record) if record.new_record?
load_target if @reflection.options[:finder_sql] && !loaded?
return @target.include?(record) if loaded?
exists?(record)
@@ -349,7 +351,16 @@ module ActiveRecord
begin
if !loaded?
if @target.is_a?(Array) && @target.any?
- @target = find_target + @target.find_all {|t| t.new_record? }
+ @target = find_target.map do |f|
+ i = @target.index(f)
+ t = @target.delete_at(i) if i
+ if t && t.changed?
+ t
+ else
+ f.mark_for_destruction if t && t.marked_for_destruction?
+ f
+ end
+ end + @target.find_all {|t| t.new_record?}
else
@target = find_target
end
@@ -363,7 +374,19 @@ module ActiveRecord
target
end
- def method_missing(method, *args)
+ def method_missing(method, *args, &block)
+ case method.to_s
+ when 'find_or_create'
+ return find(:first, :conditions => args.first) || create(args.first)
+ when /^find_or_create_by_(.*)$/
+ rest = $1
+ find_args = pull_finder_args_from(DynamicFinderMatch.match(method).attribute_names, *args)
+ return send("find_by_#{rest}", *find_args) ||
+ method_missing("create_by_#{rest}", *args, &block)
+ when /^create_by_(.*)$/
+ return create($1.split('_and_').zip(args).inject({}) { |h,kv| k,v=kv ; h[k] = v ; h }, &block)
+ end
+
if @target.respond_to?(method) || (!@reflection.klass.respond_to?(method) && Class.respond_to?(method))
if block_given?
super { |*block_args| yield(*block_args) }
@@ -400,10 +423,42 @@ module ActiveRecord
find(:all)
end
- @reflection.options[:uniq] ? uniq(records) : records
+ records = @reflection.options[:uniq] ? uniq(records) : records
+ records.each do |record|
+ set_inverse_instance(record, @owner)
+ end
+ records
+ end
+
+ def add_record_to_target_with_callbacks(record)
+ callback(:before_add, record)
+ yield(record) if block_given?
+ @target ||= [] unless loaded?
+ @target << record unless @reflection.options[:uniq] && @target.include?(record)
+ callback(:after_add, record)
+ set_inverse_instance(record, @owner)
+ record
end
private
+ # Separate the "finder" args from the "create" args given to a
+ # find_or_create_by_ call. Returns an array with the
+ # parameter values in the same order as the keys in the
+ # "names" array. This code was based on code in base.rb's
+ # method_missing method.
+ def pull_finder_args_from(names, *args)
+ attributes = names.collect { |name| name.intern }
+ attribute_hash = {}
+ args.each_with_index do |arg, i|
+ if arg.is_a?(Hash)
+ attribute_hash.merge! arg
+ else
+ attribute_hash[attributes[i]] = arg
+ end
+ end
+ attribute_hash = attribute_hash.with_indifferent_access
+ attributes.collect { |attr| attribute_hash[attr] }
+ end
def create_record(attrs)
attrs.update(@reflection.options[:conditions]) if @reflection.options[:conditions].is_a?(Hash)
@@ -428,15 +483,6 @@ module ActiveRecord
end
end
- def add_record_to_target_with_callbacks(record)
- callback(:before_add, record)
- yield(record) if block_given?
- @target ||= [] unless loaded?
- @target << record unless @reflection.options[:uniq] && @target.include?(record)
- callback(:after_add, record)
- record
- end
-
def remove_records(*records)
records = flatten_deeper(records)
records.each { |record| raise_on_type_mismatch(record) }
@@ -458,8 +504,8 @@ module ActiveRecord
def callbacks_for(callback_name)
full_callback_name = "#{callback_name}_for_#{@reflection.name}"
@owner.class.read_inheritable_attribute(full_callback_name.to_sym) || []
- end
-
+ end
+
def ensure_owner_is_not_new
if @owner.new_record?
raise ActiveRecord::RecordNotSaved, "You cannot call create unless the parent is saved"
@@ -470,6 +516,18 @@ module ActiveRecord
args.first.kind_of?(Hash) || !(loaded? || @owner.new_record? || @reflection.options[:finder_sql] ||
@target.any? { |record| record.new_record? } || args.first.kind_of?(Integer))
end
+
+ def include_in_memory?(record)
+ if @reflection.is_a?(ActiveRecord::Reflection::ThroughReflection)
+ @owner.send(proxy_reflection.through_reflection.name.to_sym).each do |source|
+ source_reflection_target = source.send(proxy_reflection.source_reflection.name)
+ return true if source_reflection_target.respond_to?(:include?) ? source_reflection_target.include?(record) : source_reflection_target == record
+ end
+ false
+ else
+ @target.include?(record)
+ end
+ end
end
end
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/associations/association_proxy.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/associations/association_proxy.rb
index 3058e284b97..f925eb23fae 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/associations/association_proxy.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/associations/association_proxy.rb
@@ -53,6 +53,7 @@ module ActiveRecord
def initialize(owner, reflection)
@owner, @reflection = owner, reflection
+ reflection.check_validity!
Array(reflection.options[:extend]).each { |ext| proxy_extend(ext) }
reset
end
@@ -208,14 +209,10 @@ module ActiveRecord
private
# Forwards any missing method call to the \target.
- def method_missing(method, *args)
+ def method_missing(method, *args, &block)
if load_target
if @target.respond_to?(method)
- if block_given?
- @target.send(method, *args) { |*block_args| yield(*block_args) }
- else
- @target.send(method, *args)
- end
+ @target.send(method, *args, &block)
else
super
end
@@ -273,6 +270,19 @@ module ActiveRecord
def owner_quoted_id
@owner.quoted_id
end
+
+ def set_inverse_instance(record, instance)
+ return if record.nil? || !we_can_set_the_inverse_on_this?(record)
+ inverse_relationship = @reflection.inverse_of
+ unless inverse_relationship.nil?
+ record.send(:"set_#{inverse_relationship.name}_target", instance)
+ end
+ end
+
+ # Override in subclasses
+ def we_can_set_the_inverse_on_this?(record)
+ false
+ end
end
end
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/associations/belongs_to_association.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/associations/belongs_to_association.rb
index 05f8f4fea8c..3f8b9d2ceb8 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/associations/belongs_to_association.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/associations/belongs_to_association.rb
@@ -31,6 +31,8 @@ module ActiveRecord
@updated = true
end
+ set_inverse_instance(record, @owner)
+
loaded
record
end
@@ -46,13 +48,15 @@ module ActiveRecord
else
"find"
end
- @reflection.klass.send(find_method,
+ the_target = @reflection.klass.send(find_method,
@owner[@reflection.primary_key_name],
:select => @reflection.options[:select],
:conditions => conditions,
:include => @reflection.options[:include],
:readonly => @reflection.options[:readonly]
) if @owner[@reflection.primary_key_name]
+ set_inverse_instance(the_target, @owner)
+ the_target
end
def foreign_key_present
@@ -71,6 +75,12 @@ module ActiveRecord
@owner[@reflection.primary_key_name]
end
end
+
+ # NOTE - for now, we're only supporting inverse setting from belongs_to back onto
+ # has_one associations.
+ def we_can_set_the_inverse_on_this?(record)
+ @reflection.has_inverse? && @reflection.inverse_of.macro == :has_one
+ end
end
end
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/associations/belongs_to_polymorphic_association.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/associations/belongs_to_polymorphic_association.rb
new file mode 100755
index 00000000000..f6edd6383cd
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/associations/belongs_to_polymorphic_association.rb
@@ -0,0 +1,77 @@
+module ActiveRecord
+ module Associations
+ class BelongsToPolymorphicAssociation < AssociationProxy #:nodoc:
+ def replace(record)
+ if record.nil?
+ @target = @owner[@reflection.primary_key_name] = @owner[@reflection.options[:foreign_type]] = nil
+ else
+ @target = (AssociationProxy === record ? record.target : record)
+
+ @owner[@reflection.primary_key_name] = record_id(record)
+ @owner[@reflection.options[:foreign_type]] = record.class.base_class.name.to_s
+
+ @updated = true
+ end
+
+ set_inverse_instance(record, @owner)
+ loaded
+ record
+ end
+
+ def updated?
+ @updated
+ end
+
+ private
+
+ # NOTE - for now, we're only supporting inverse setting from belongs_to back onto
+ # has_one associations.
+ def we_can_set_the_inverse_on_this?(record)
+ if @reflection.has_inverse?
+ inverse_association = @reflection.polymorphic_inverse_of(record.class)
+ inverse_association && inverse_association.macro == :has_one
+ else
+ false
+ end
+ end
+
+ def set_inverse_instance(record, instance)
+ return if record.nil? || !we_can_set_the_inverse_on_this?(record)
+ inverse_relationship = @reflection.polymorphic_inverse_of(record.class)
+ unless inverse_relationship.nil?
+ record.send(:"set_#{inverse_relationship.name}_target", instance)
+ end
+ end
+
+ def find_target
+ return nil if association_class.nil?
+
+ target =
+ if @reflection.options[:conditions]
+ association_class.find(
+ @owner[@reflection.primary_key_name],
+ :select => @reflection.options[:select],
+ :conditions => conditions,
+ :include => @reflection.options[:include]
+ )
+ else
+ association_class.find(@owner[@reflection.primary_key_name], :select => @reflection.options[:select], :include => @reflection.options[:include])
+ end
+ set_inverse_instance(target, @owner)
+ target
+ end
+
+ def foreign_key_present
+ !@owner[@reflection.primary_key_name].nil?
+ end
+
+ def record_id(record)
+ record.send(@reflection.options[:primary_key] || :id)
+ end
+
+ def association_class
+ @owner[@reflection.options[:foreign_type]] ? @owner[@reflection.options[:foreign_type]].constantize : nil
+ end
+ end
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/associations/has_and_belongs_to_many_association.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/associations/has_and_belongs_to_many_association.rb
index 83a4a8b9e27..83a4a8b9e27 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/associations/has_and_belongs_to_many_association.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/associations/has_and_belongs_to_many_association.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/associations/has_many_association.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/associations/has_many_association.rb
index 1f673ad716b..4e113be10ad 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/associations/has_many_association.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/associations/has_many_association.rb
@@ -117,6 +117,11 @@ module ActiveRecord
:create => create_scoping
}
end
+
+ def we_can_set_the_inverse_on_this?(record)
+ inverse = @reflection.inverse_of
+ return !inverse.nil?
+ end
end
end
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/associations/has_many_through_association.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/associations/has_many_through_association.rb
index 6af14a57b72..aa4c185f12f 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/associations/has_many_through_association.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/associations/has_many_through_association.rb
@@ -1,11 +1,6 @@
module ActiveRecord
module Associations
class HasManyThroughAssociation < HasManyAssociation #:nodoc:
- def initialize(owner, reflection)
- reflection.check_validity!
- super
- end
-
alias_method :new, :build
def create!(attrs = nil)
@@ -261,6 +256,11 @@ module ActiveRecord
def cached_counter_attribute_name
"#{@reflection.name}_count"
end
+
+ # NOTE - not sure that we can actually cope with inverses here
+ def we_can_set_the_inverse_on_this?(record)
+ false
+ end
end
end
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/associations/has_one_association.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/associations/has_one_association.rb
index b0105d528af..b504e0521a0 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/associations/has_one_association.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/associations/has_one_association.rb
@@ -57,6 +57,7 @@ module ActiveRecord
@target = (AssociationProxy === obj ? obj.target : obj)
end
+ set_inverse_instance(obj, @owner)
@loaded = true
unless @owner.new_record? or obj.nil? or dont_save
@@ -77,13 +78,15 @@ module ActiveRecord
private
def find_target
- @reflection.klass.find(:first,
+ the_target = @reflection.klass.find(:first,
:conditions => @finder_sql,
:select => @reflection.options[:select],
:order => @reflection.options[:order],
:include => @reflection.options[:include],
:readonly => @reflection.options[:readonly]
)
+ set_inverse_instance(the_target, @owner)
+ the_target
end
def construct_sql
@@ -118,6 +121,7 @@ module ActiveRecord
else
record[@reflection.primary_key_name] = @owner.id unless @owner.new_record?
self.target = record
+ set_inverse_instance(record, @owner)
end
record
@@ -128,6 +132,11 @@ module ActiveRecord
attrs.update(@reflection.options[:conditions]) if @reflection.options[:conditions].is_a?(Hash)
attrs
end
+
+ def we_can_set_the_inverse_on_this?(record)
+ inverse = @reflection.inverse_of
+ return !inverse.nil?
+ end
end
end
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/associations/has_one_through_association.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/associations/has_one_through_association.rb
index d8bcf76af39..d8bcf76af39 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/associations/has_one_through_association.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/associations/has_one_through_association.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/attribute_methods.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/attribute_methods.rb
index 3ffc48941c2..22630b3e802 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/attribute_methods.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/attribute_methods.rb
@@ -208,7 +208,7 @@ module ActiveRecord
end
begin
- class_eval(method_definition, __FILE__, __LINE__)
+ class_eval(method_definition, __FILE__)
rescue SyntaxError => err
generated_methods.delete(attr_name)
if logger
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/autosave_association.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/autosave_association.rb
index 049fb6efa0f..045e16b03f7 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/autosave_association.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/autosave_association.rb
@@ -146,48 +146,52 @@ module ActiveRecord
# add_autosave_association_callbacks(reflect_on_association(name))
# end
ASSOCIATION_TYPES.each do |type|
- module_eval %{
+ module_eval <<-CODE, __FILE__, __LINE__ + 1
def #{type}(name, options = {})
super
add_autosave_association_callbacks(reflect_on_association(name))
end
- }
+ CODE
end
# Adds a validate and save callback for the association as specified by
# the +reflection+.
+ #
+ # For performance reasons, we don't check whether to validate at runtime,
+ # but instead only define the method and callback when needed. However,
+ # this can change, for instance, when using nested attributes, which is
+ # called _after_ the association has been defined. Since we don't want
+ # the callbacks to get defined multiple times, there are guards that
+ # check if the save or validation methods have already been defined
+ # before actually defining them.
def add_autosave_association_callbacks(reflection)
- save_method = "autosave_associated_records_for_#{reflection.name}"
- validation_method = "validate_associated_records_for_#{reflection.name}"
- force_validation = (reflection.options[:validate] == true || reflection.options[:autosave] == true)
+ save_method = :"autosave_associated_records_for_#{reflection.name}"
+ validation_method = :"validate_associated_records_for_#{reflection.name}"
+ collection = reflection.collection?
- case reflection.macro
- when :has_many, :has_and_belongs_to_many
- before_save :before_save_collection_association
+ unless method_defined?(save_method)
+ if collection
+ before_save :before_save_collection_association
- define_method(save_method) { save_collection_association(reflection) }
- # Doesn't use after_save as that would save associations added in after_create/after_update twice
- after_create save_method
- after_update save_method
-
- if force_validation || (reflection.macro == :has_many && reflection.options[:validate] != false)
- define_method(validation_method) { validate_collection_association(reflection) }
- validate validation_method
- end
- else
- case reflection.macro
- when :has_one
- define_method(save_method) { save_has_one_association(reflection) }
- after_save save_method
- when :belongs_to
- define_method(save_method) { save_belongs_to_association(reflection) }
- before_save save_method
+ define_method(save_method) { save_collection_association(reflection) }
+ # Doesn't use after_save as that would save associations added in after_create/after_update twice
+ after_create save_method
+ after_update save_method
+ else
+ if reflection.macro == :has_one
+ define_method(save_method) { save_has_one_association(reflection) }
+ after_save save_method
+ else
+ define_method(save_method) { save_belongs_to_association(reflection) }
+ before_save save_method
+ end
end
+ end
- if force_validation
- define_method(validation_method) { validate_single_association(reflection) }
- validate validation_method
- end
+ if reflection.validate? && !method_defined?(validation_method)
+ method = (collection ? :validate_collection_association : :validate_single_association)
+ define_method(validation_method) { send(method, reflection) }
+ validate validation_method
end
end
end
@@ -213,6 +217,12 @@ module ActiveRecord
@marked_for_destruction
end
+ # Returns whether or not this record has been changed in any way (including whether
+ # any of its nested autosave associations are likewise changed)
+ def changed_for_autosave?
+ new_record? || changed? || marked_for_destruction? || nested_records_changed_for_autosave?
+ end
+
private
# Returns the record for an association collection that should be validated
@@ -221,13 +231,28 @@ module ActiveRecord
def associated_records_to_validate_or_save(association, new_record, autosave)
if new_record
association
- elsif association.loaded?
- autosave ? association : association.select { |record| record.new_record? }
+ elsif autosave
+ association.target.select { |record| record.changed_for_autosave? }
else
- autosave ? association.target : association.target.select { |record| record.new_record? }
+ association.target.select { |record| record.new_record? }
end
end
-
+
+ # go through nested autosave associations that are loaded in memory (without loading
+ # any new ones), and return true if is changed for autosave
+ def nested_records_changed_for_autosave?
+ self.class.reflect_on_all_autosave_associations.each do |reflection|
+ if association = association_instance_get(reflection.name)
+ if [:belongs_to, :has_one].include?(reflection.macro)
+ return true if association.target && association.target.changed_for_autosave?
+ else
+ association.target.each {|record| return true if record.changed_for_autosave? }
+ end
+ end
+ end
+ false
+ end
+
# Validate the association if <tt>:validate</tt> or <tt>:autosave</tt> is
# turned on for the association specified by +reflection+.
def validate_single_association(reflection)
@@ -293,13 +318,15 @@ module ActiveRecord
association.destroy(record)
elsif autosave != false && (@new_record_before_save || record.new_record?)
if autosave
- association.send(:insert_record, record, false, false)
+ saved = association.send(:insert_record, record, false, false)
else
association.send(:insert_record, record)
end
elsif autosave
- record.save(false)
+ saved = record.save(false)
end
+
+ raise ActiveRecord::Rollback if saved == false
end
end
@@ -326,7 +353,9 @@ module ActiveRecord
key = reflection.options[:primary_key] ? send(reflection.options[:primary_key]) : id
if autosave != false && (new_record? || association.new_record? || association[reflection.primary_key_name] != key || autosave)
association[reflection.primary_key_name] = key
- association.save(!autosave)
+ saved = association.save(!autosave)
+ raise ActiveRecord::Rollback if !saved && autosave
+ saved
end
end
end
@@ -347,7 +376,7 @@ module ActiveRecord
if autosave && association.marked_for_destruction?
association.destroy
elsif autosave != false
- association.save(!autosave) if association.new_record? || autosave
+ saved = association.save(!autosave) if association.new_record? || autosave
if association.updated?
association_id = association.send(reflection.options[:primary_key] || :id)
@@ -357,6 +386,8 @@ module ActiveRecord
self[reflection.options[:foreign_type]] = association.class.base_class.name.to_s
end
end
+
+ saved if autosave
end
end
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/base.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/base.rb
index 2ec2f73a850..461007fd80b 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/base.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/base.rb
@@ -1,5 +1,6 @@
require 'yaml'
require 'set'
+require 'active_support/core_ext/class/attribute'
module ActiveRecord #:nodoc:
# Generic Active Record exception class.
@@ -461,6 +462,9 @@ module ActiveRecord #:nodoc:
# Accessor for the name of the prefix string to prepend to every table name. So if set to "basecamp_", all
# table names will be named like "basecamp_projects", "basecamp_people", etc. This is a convenient way of creating a namespace
# for tables in a shared database. By default, the prefix is the empty string.
+ #
+ # If you are organising your models within modules you can add a prefix to the models within a namespace by defining
+ # a singleton method in the parent module called table_name_prefix which returns your chosen prefix.
cattr_accessor :table_name_prefix, :instance_writer => false
@@table_name_prefix = ""
@@ -512,7 +516,7 @@ module ActiveRecord #:nodoc:
@@timestamped_migrations = true
# Determine whether to store the full constant name including namespace when using STI
- superclass_delegating_accessor :store_full_sti_class
+ class_attribute :store_full_sti_class
self.store_full_sti_class = false
# Stores the default scope for the class
@@ -916,6 +920,36 @@ module ActiveRecord #:nodoc:
connection.select_value(sql, "#{name} Count").to_i
end
+ # Resets one or more counter caches to their correct value using an SQL
+ # count query. This is useful when adding new counter caches, or if the
+ # counter has been corrupted or modified directly by SQL.
+ #
+ # ==== Parameters
+ #
+ # * +id+ - The id of the object you wish to reset a counter on.
+ # * +counters+ - One or more counter names to reset
+ #
+ # ==== Examples
+ #
+ # # For Post with id #1 records reset the comments_count
+ # Post.reset_counters(1, :comments)
+ def reset_counters(id, *counters)
+ object = find(id)
+ counters.each do |association|
+ child_class = reflect_on_association(association.to_sym).klass
+ belongs_name = self.name.demodulize.underscore.to_sym
+ counter_name = child_class.reflect_on_association(belongs_name).counter_cache_column
+ value = object.send(association).count
+
+ connection.update(<<-CMD, "#{name} UPDATE")
+ UPDATE #{quoted_table_name}
+ SET #{connection.quote_column_name(counter_name)} = #{value}
+ WHERE #{connection.quote_column_name(primary_key)} = #{quote_value(object.id)}
+ CMD
+ end
+ return true
+ end
+
# A generic "counter updater" implementation, intended primarily to be
# used by increment_counter and decrement_counter, but which may also
# be useful on its own. It simply does a direct SQL update for the record
@@ -946,19 +980,13 @@ module ActiveRecord #:nodoc:
# # SET comment_count = comment_count + 1,
# # WHERE id IN (10, 15)
def update_counters(id, counters)
- updates = counters.inject([]) { |list, (counter_name, increment)|
- sign = increment < 0 ? "-" : "+"
- list << "#{connection.quote_column_name(counter_name)} = COALESCE(#{connection.quote_column_name(counter_name)}, 0) #{sign} #{increment.abs}"
- }.join(", ")
-
- if id.is_a?(Array)
- ids_list = id.map {|i| quote_value(i)}.join(', ')
- condition = "IN (#{ids_list})"
- else
- condition = "= #{quote_value(id)}"
+ updates = counters.map do |counter_name, value|
+ operator = value < 0 ? '-' : '+'
+ quoted_column = connection.quote_column_name(counter_name)
+ "#{quoted_column} = COALESCE(#{quoted_column}, 0) #{operator} #{value.abs}"
end
- update_all(updates, "#{connection.quote_column_name(primary_key)} #{condition}")
+ update_all(updates.join(', '), primary_key => id )
end
# Increment a number field by one, usually representing a count.
@@ -1148,7 +1176,7 @@ module ActiveRecord #:nodoc:
contained = contained.singularize if parent.pluralize_table_names
contained << '_'
end
- name = "#{table_name_prefix}#{contained}#{undecorated_table_name(base.name)}#{table_name_suffix}"
+ name = "#{full_table_name_prefix}#{contained}#{undecorated_table_name(base.name)}#{table_name_suffix}"
end
set_table_name(name)
@@ -1178,6 +1206,10 @@ module ActiveRecord #:nodoc:
key
end
+ def full_table_name_prefix #:nodoc:
+ (parents.detect{ |p| p.respond_to?(:table_name_prefix) } || self).table_name_prefix
+ end
+
# Defines the column name for use with single table inheritance
# -- can be set in subclasses like so: self.inheritance_column = "type_id"
def inheritance_column
@@ -1254,6 +1286,8 @@ module ActiveRecord #:nodoc:
# Turns the +table_name+ back into a class name following the reverse rules of +table_name+.
def class_name(table_name = table_name) # :nodoc:
+ ActiveSupport::Deprecation.warn("ActiveRecord::Base#class_name is deprecated and will be removed in Rails 3.", caller)
+
# remove any prefix and/or suffix from the table name
class_name = table_name[table_name_prefix.length..-(table_name_suffix.length + 1)].camelize
class_name = class_name.singularize if pluralize_table_names
@@ -1861,7 +1895,7 @@ module ActiveRecord #:nodoc:
# find(:first, options.merge(finder_options))
# end
# end
- self.class_eval %{
+ self.class_eval <<-EOS, __FILE__, __LINE__ + 1
def self.#{method_id}(*args)
options = args.extract_options!
attributes = construct_attributes_from_arguments(
@@ -1881,7 +1915,7 @@ module ActiveRecord #:nodoc:
end
#{'result || raise(RecordNotFound, "Couldn\'t find #{name} with #{attributes.to_a.collect {|pair| "#{pair.first} = #{pair.second}"}.join(\', \')}")' if bang}
end
- }, __FILE__, __LINE__
+ EOS
send(method_id, *arguments)
elsif match.instantiator?
instantiator = match.instantiator
@@ -1910,25 +1944,30 @@ module ActiveRecord #:nodoc:
# record
# end
# end
- self.class_eval %{
+ self.class_eval <<-EOS, __FILE__, __LINE__ + 1
def self.#{method_id}(*args)
- guard_protected_attributes = false
-
- if args[0].is_a?(Hash)
- guard_protected_attributes = true
- attributes = args[0].with_indifferent_access
- find_attributes = attributes.slice(*[:#{attribute_names.join(',:')}])
- else
- find_attributes = attributes = construct_attributes_from_arguments([:#{attribute_names.join(',:')}], args)
+ attributes = [:#{attribute_names.join(',:')}]
+ protected_attributes_for_create, unprotected_attributes_for_create = {}, {}
+ args.each_with_index do |arg, i|
+ if arg.is_a?(Hash)
+ protected_attributes_for_create = args[i].with_indifferent_access
+ else
+ unprotected_attributes_for_create[attributes[i]] = args[i]
+ end
end
+ find_attributes = (protected_attributes_for_create.merge(unprotected_attributes_for_create)).slice(*attributes)
+
options = { :conditions => find_attributes }
set_readonly_option!(options)
record = find(:first, options)
if record.nil?
- record = self.new { |r| r.send(:attributes=, attributes, guard_protected_attributes) }
+ record = self.new do |r|
+ r.send(:attributes=, protected_attributes_for_create, true) unless protected_attributes_for_create.empty?
+ r.send(:attributes=, unprotected_attributes_for_create, false) unless unprotected_attributes_for_create.empty?
+ end
#{'yield(record) if block_given?'}
#{'record.save' if instantiator == :create}
record
@@ -1936,14 +1975,14 @@ module ActiveRecord #:nodoc:
record
end
end
- }, __FILE__, __LINE__
+ EOS
send(method_id, *arguments, &block)
end
elsif match = DynamicScopeMatch.match(method_id)
attribute_names = match.attribute_names
super unless all_attributes_exists?(attribute_names)
if match.scope?
- self.class_eval %{
+ self.class_eval <<-EOS, __FILE__, __LINE__ + 1
def self.#{method_id}(*args) # def self.scoped_by_user_name_and_password(*args)
options = args.extract_options! # options = args.extract_options!
attributes = construct_attributes_from_arguments( # attributes = construct_attributes_from_arguments(
@@ -1952,7 +1991,7 @@ module ActiveRecord #:nodoc:
#
scoped(:conditions => attributes) # scoped(:conditions => attributes)
end # end
- }, __FILE__, __LINE__
+ EOS
send(method_id, *arguments)
end
else
@@ -2194,9 +2233,9 @@ module ActiveRecord #:nodoc:
modularized_name = type_name_with_module(type_name)
silence_warnings do
begin
- class_eval(modularized_name, __FILE__, __LINE__)
+ class_eval(modularized_name, __FILE__)
rescue NameError
- class_eval(type_name, __FILE__, __LINE__)
+ class_eval(type_name, __FILE__)
end
end
end
@@ -2436,7 +2475,7 @@ module ActiveRecord #:nodoc:
@new_record = true
ensure_proper_type
self.attributes = attributes unless attributes.nil?
- self.class.send(:scope, :create).each { |att,value| self.send("#{att}=", value) } if self.class.send(:scoped?, :create)
+ assign_attributes(self.class.send(:scope, :create)) if self.class.send(:scoped?, :create)
result = yield self if block_given?
callback(:after_initialize) if respond_to_without_attributes?(:after_initialize)
result
@@ -2607,7 +2646,7 @@ module ActiveRecord #:nodoc:
# Note: The new instance will share a link to the same attributes as the original class. So any change to the attributes in either
# instance will affect the other.
def becomes(klass)
- returning klass.new do |became|
+ klass.new.tap do |became|
became.instance_variable_set("@attributes", @attributes)
became.instance_variable_set("@attributes_cache", @attributes_cache)
became.instance_variable_set("@new_record", new_record?)
@@ -2625,12 +2664,20 @@ module ActiveRecord #:nodoc:
# Updates all the attributes from the passed-in Hash and saves the record. If the object is invalid, the saving will
# fail and false will be returned.
def update_attributes(attributes)
+ with_transaction_returning_status(:update_attributes_inside_transaction, attributes)
+ end
+
+ def update_attributes_inside_transaction(attributes) #:nodoc:
self.attributes = attributes
save
end
# Updates an object just like Base.update_attributes but calls save! instead of save so an exception is raised if the record is invalid.
def update_attributes!(attributes)
+ with_transaction_returning_status(:update_attributes_inside_transaction!, attributes)
+ end
+
+ def update_attributes_inside_transaction!(attributes) #:nodoc:
self.attributes = attributes
save!
end
@@ -2693,7 +2740,7 @@ module ActiveRecord #:nodoc:
def reload(options = nil)
clear_aggregation_cache
clear_association_cache
- @attributes.update(self.class.find(self.id, options).instance_variable_get('@attributes'))
+ @attributes.update(self.class.send(:with_exclusive_scope) { self.class.find(self.id, options) }.instance_variable_get('@attributes'))
@attributes_cache = {}
self
end
@@ -2736,26 +2783,15 @@ module ActiveRecord #:nodoc:
attributes = new_attributes.dup
attributes.stringify_keys!
- multi_parameter_attributes = []
attributes = remove_attributes_protected_from_mass_assignment(attributes) if guard_protected_attributes
-
- attributes.each do |k, v|
- if k.include?("(")
- multi_parameter_attributes << [ k, v ]
- else
- respond_to?(:"#{k}=") ? send(:"#{k}=", v) : raise(UnknownAttributeError, "unknown attribute: #{k}")
- end
- end
-
- assign_multiparameter_attributes(multi_parameter_attributes)
+ assign_attributes(attributes) if attributes and attributes.any?
end
# Returns a hash of all the attributes with their names as keys and the values of the attributes as values.
def attributes
- self.attribute_names.inject({}) do |attrs, name|
- attrs[name] = read_attribute(name)
- attrs
- end
+ attrs = {}
+ attribute_names.each { |name| attrs[name] = read_attribute(name) }
+ attrs
end
# Returns a hash of attributes before typecasting and deserialization.
@@ -2869,6 +2905,23 @@ module ActiveRecord #:nodoc:
end
private
+ # Assigns attributes, dealing nicely with both multi and single paramater attributes
+ # Assumes attributes is a hash
+
+ def assign_attributes(attributes={})
+ multiparameter_attributes = []
+
+ attributes.each do |k, v|
+ if k.to_s.include?("(")
+ multiparameter_attributes << [ k, v ]
+ else
+ respond_to?(:"#{k}=") ? send(:"#{k}=", v) : raise(UnknownAttributeError, "unknown attribute: #{k}")
+ end
+ end
+
+ assign_multiparameter_attributes(multiparameter_attributes) unless multiparameter_attributes.empty?
+ end
+
def create_or_update
raise ReadOnlyRecord if readonly?
result = new_record? ? create : update
@@ -3099,7 +3152,7 @@ module ActiveRecord #:nodoc:
# Returns a comma-separated pair list, like "key1 = val1, key2 = val2".
def comma_pair_list(hash)
- hash.inject([]) { |list, pair| list << "#{pair.first} = #{pair.last}" }.join(", ")
+ hash.map { |k,v| "#{k} = #{v}" }.join(", ")
end
def quoted_column_names(attributes = attributes_with_quotes)
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/batches.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/batches.rb
index 5a6cecd4ad7..acbbd98c170 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/batches.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/batches.rb
@@ -59,19 +59,23 @@ module ActiveRecord
start = options.delete(:start).to_i
batch_size = options.delete(:batch_size) || 1000
- with_scope(:find => options.merge(:order => batch_order, :limit => batch_size)) do
- records = find(:all, :conditions => [ "#{table_name}.#{primary_key} >= ?", start ])
+ proxy = scoped(options.merge(:order => batch_order, :limit => batch_size))
+ records = proxy.find(:all, :conditions => [ "#{table_name}.#{primary_key} >= ?", start ])
- while records.any?
- yield records
+ while records.any?
+ yield records
- break if records.size < batch_size
- records = find(:all, :conditions => [ "#{table_name}.#{primary_key} > ?", records.last.id ])
- end
+ break if records.size < batch_size
+
+ last_value = records.last.id
+
+ raise "You must include the primary key if you define a select" unless last_value.present?
+
+ records = proxy.find(:all, :conditions => [ "#{table_name}.#{primary_key} > ?", last_value ])
end
end
-
-
+
+
private
def batch_order
"#{table_name}.#{primary_key} ASC"
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/calculations.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/calculations.rb
index eb149e8ce56..f6249e52f86 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/calculations.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/calculations.rb
@@ -187,7 +187,7 @@ module ActiveRecord
# A (slower) workaround if we're using a backend, like sqlite, that doesn't support COUNT DISTINCT.
sql = "SELECT COUNT(*) AS #{aggregate_alias}" if use_workaround
- sql << ", #{options[:group_field]} AS #{options[:group_alias]}" if options[:group]
+ options[:group_fields].each_index{|i| sql << ", #{options[:group_fields][i]} AS #{options[:group_aliases][i]}" } if options[:group]
if options[:from]
sql << " FROM #{options[:from]} "
elsif scope && scope[:from] && !use_workaround
@@ -211,8 +211,8 @@ module ActiveRecord
add_limited_ids_condition!(sql, options, join_dependency) if join_dependency && !using_limitable_reflections?(join_dependency.reflections) && ((scope && scope[:limit]) || options[:limit])
if options[:group]
- group_key = connection.adapter_name == 'FrontBase' ? :group_alias : :group_field
- sql << " GROUP BY #{options[group_key]} "
+ group_key = connection.adapter_name == 'FrontBase' ? :group_aliases : :group_fields
+ sql << " GROUP BY #{options[group_key].join(',')} "
end
if options[:group] && options[:having]
@@ -239,24 +239,31 @@ module ActiveRecord
end
def execute_grouped_calculation(operation, column_name, column, options) #:nodoc:
- group_attr = options[:group].to_s
- association = reflect_on_association(group_attr.to_sym)
- associated = association && association.macro == :belongs_to # only count belongs_to associations
- group_field = associated ? association.primary_key_name : group_attr
- group_alias = column_alias_for(group_field)
- group_column = column_for group_field
- sql = construct_calculation_sql(operation, column_name, options.merge(:group_field => group_field, :group_alias => group_alias))
+ group_attr = options[:group]
+ association = reflect_on_association(group_attr.to_s.to_sym)
+ associated = association && association.macro == :belongs_to # only count belongs_to associations
+ group_fields = Array(associated ? association.primary_key_name : group_attr)
+ group_aliases = []
+ group_columns = {}
+
+ group_fields.each do |field|
+ group_aliases << column_alias_for(field)
+ group_columns[column_alias_for(field)] = column_for(field)
+ end
+
+ sql = construct_calculation_sql(operation, column_name, options.merge(:group_fields => group_fields, :group_aliases => group_aliases))
calculated_data = connection.select_all(sql)
aggregate_alias = column_alias_for(operation, column_name)
if association
- key_ids = calculated_data.collect { |row| row[group_alias] }
+ key_ids = calculated_data.collect { |row| row[group_aliases.first] }
key_records = association.klass.base_class.find(key_ids)
key_records = key_records.inject({}) { |hsh, r| hsh.merge(r.id => r) }
end
calculated_data.inject(ActiveSupport::OrderedHash.new) do |all, row|
- key = type_cast_calculated_value(row[group_alias], group_column)
+ key = group_aliases.map{|group_alias| type_cast_calculated_value(row[group_alias], group_columns[group_alias])}
+ key = key.first if key.size == 1
key = key_records[key] if associated
value = row[aggregate_alias]
all[key] = type_cast_calculated_value(value, column, operation)
@@ -294,12 +301,15 @@ module ActiveRecord
end
def type_cast_calculated_value(value, column, operation = nil)
- operation = operation.to_s.downcase
- case operation
+ if value.is_a?(String) || value.nil?
+ case operation.to_s.downcase
when 'count' then value.to_i
when 'sum' then type_cast_using_column(value || '0', column)
- when 'avg' then value && (value.is_a?(Fixnum) ? value.to_f : value).to_d
+ when 'avg' then value.try(:to_d)
else type_cast_using_column(value, column)
+ end
+ else
+ value
end
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/callbacks.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/callbacks.rb
index e375037b5b0..e375037b5b0 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/callbacks.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/callbacks.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/connection_pool.rb
index aac84cc5f49..aac84cc5f49 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/connection_pool.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/connection_specification.rb
index bbc290f721b..535498f16b5 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/connection_specification.rb
@@ -10,8 +10,8 @@ module ActiveRecord
##
# :singleton-method:
# The connection handler
- cattr_accessor :connection_handler, :instance_writer => false
- @@connection_handler = ConnectionAdapters::ConnectionHandler.new
+ class_attribute :connection_handler
+ self.connection_handler = ConnectionAdapters::ConnectionHandler.new
# Returns the connection currently associated with the class. This can
# also be used to "borrow" the connection to do database work that isn't
@@ -54,7 +54,7 @@ module ActiveRecord
raise AdapterNotSpecified unless defined? RAILS_ENV
establish_connection(RAILS_ENV)
when ConnectionSpecification
- @@connection_handler.establish_connection(name, spec)
+ self.connection_handler.establish_connection(name, spec)
when Symbol, String
if configuration = configurations[spec.to_s]
establish_connection(configuration)
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/database_limits.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/database_limits.rb
new file mode 100755
index 00000000000..4118ea7b31b
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/database_limits.rb
@@ -0,0 +1,57 @@
+module ActiveRecord
+ module ConnectionAdapters # :nodoc:
+ module DatabaseLimits
+
+ # the maximum length of a table alias
+ def table_alias_length
+ 255
+ end
+
+ # the maximum length of a column name
+ def column_name_length
+ 64
+ end
+
+ # the maximum length of a table name
+ def table_name_length
+ 64
+ end
+
+ # the maximum length of an index name
+ def index_name_length
+ 64
+ end
+
+ # the maximum number of columns per table
+ def columns_per_table
+ 1024
+ end
+
+ # the maximum number of indexes per table
+ def indexes_per_table
+ 16
+ end
+
+ # the maximum number of columns in a multicolumn index
+ def columns_per_multicolumn_index
+ 16
+ end
+
+ # the maximum number of elements in an IN (x,y,z) clause
+ def in_clause_length
+ 65535
+ end
+
+ # the maximum length of a SQL query
+ def sql_query_length
+ 1048575
+ end
+
+ # maximum number of joins in a single query
+ def joins_per_query
+ 256
+ end
+
+ end
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/database_statements.rb
index 08601da00ac..08601da00ac 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/database_statements.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/query_cache.rb
index 00c71090f37..166c17b5221 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/query_cache.rb
@@ -13,7 +13,7 @@ module ActiveRecord
def dirties_query_cache(base, *method_names)
method_names.each do |method_name|
- base.class_eval <<-end_code, __FILE__, __LINE__
+ base.class_eval <<-end_code, __FILE__, __LINE__ + 1
def #{method_name}_with_query_dirty(*args) # def update_with_query_dirty(*args)
clear_query_cache if @query_cache_enabled # clear_query_cache if @query_cache_enabled
#{method_name}_without_query_dirty(*args) # update_without_query_dirty(*args)
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/quoting.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/quoting.rb
index 3a7bf352482..50a1f700600 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/quoting.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/quoting.rb
@@ -11,12 +11,12 @@ module ActiveRecord
when String, ActiveSupport::Multibyte::Chars
value = value.to_s
if column && column.type == :binary && column.class.respond_to?(:string_to_binary)
- "#{quoted_string_prefix}'#{quote_string(column.class.string_to_binary(value))}'" # ' (for ruby-mode)
+ "'#{quote_string(column.class.string_to_binary(value))}'" # ' (for ruby-mode)
elsif column && [:integer, :float].include?(column.type)
value = column.type == :integer ? value.to_i : value.to_f
value.to_s
else
- "#{quoted_string_prefix}'#{quote_string(value)}'" # ' (for ruby-mode)
+ "'#{quote_string(value)}'" # ' (for ruby-mode)
end
when NilClass then "NULL"
when TrueClass then (column && column.type == :integer ? '1' : quoted_true)
@@ -28,7 +28,7 @@ module ActiveRecord
if value.acts_like?(:date) || value.acts_like?(:time)
"'#{quoted_date(value)}'"
else
- "#{quoted_string_prefix}'#{quote_string(value.to_yaml)}'"
+ "'#{quote_string(value.to_yaml)}'"
end
end
end
@@ -60,10 +60,6 @@ module ActiveRecord
def quoted_date(value)
value.to_s(:db)
end
-
- def quoted_string_prefix
- ''
- end
end
end
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/schema_definitions.rb
index 520f3c8c0c0..399a272117f 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/schema_definitions.rb
@@ -256,7 +256,7 @@ module ActiveRecord
end
end
- class IndexDefinition < Struct.new(:table, :name, :unique, :columns) #:nodoc:
+ class IndexDefinition < Struct.new(:table, :name, :unique, :columns, :lengths) #:nodoc:
end
# Abstract representation of a column definition. Instances of this type
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/schema_statements.rb
index 7e820998920..12826b195fd 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/schema_statements.rb
@@ -8,11 +8,6 @@ module ActiveRecord
{}
end
- # This is the maximum length a table alias can be
- def table_alias_length
- 255
- end
-
# Truncates a table alias according to the limits of the current adapter.
def table_alias_for(table_name)
table_name[0..table_alias_length-1].gsub(/\./, '_')
@@ -101,7 +96,7 @@ module ActiveRecord
table_definition = TableDefinition.new(self)
table_definition.primary_key(options[:primary_key] || Base.get_primary_key(table_name.to_s.singularize)) unless options[:id] == false
- yield table_definition
+ yield table_definition if block_given?
if options[:force] && table_exists?(table_name)
drop_table(table_name, options)
@@ -200,6 +195,7 @@ module ActiveRecord
# remove_column(:suppliers, :qualification)
# remove_columns(:suppliers, :qualification, :experience)
def remove_column(table_name, *column_names)
+ raise ArgumentError.new("You must specify at least one column name. Example: remove_column(:people, :first_name)") if column_names.empty?
column_names.flatten.each do |column_name|
execute "ALTER TABLE #{quote_table_name(table_name)} DROP #{quote_column_name(column_name)}"
end
@@ -246,29 +242,53 @@ module ActiveRecord
# name.
#
# ===== Examples
+ #
# ====== Creating a simple index
# add_index(:suppliers, :name)
# generates
# CREATE INDEX suppliers_name_index ON suppliers(name)
+ #
# ====== Creating a unique index
# add_index(:accounts, [:branch_id, :party_id], :unique => true)
# generates
# CREATE UNIQUE INDEX accounts_branch_id_party_id_index ON accounts(branch_id, party_id)
+ #
# ====== Creating a named index
# add_index(:accounts, [:branch_id, :party_id], :unique => true, :name => 'by_branch_party')
# generates
# CREATE UNIQUE INDEX by_branch_party ON accounts(branch_id, party_id)
+ #
+ # ====== Creating an index with specific key length
+ # add_index(:accounts, :name, :name => 'by_name', :length => 10)
+ # generates
+ # CREATE INDEX by_name ON accounts(name(10))
+ #
+ # add_index(:accounts, [:name, :surname], :name => 'by_name_surname', :length => {:name => 10, :surname => 15})
+ # generates
+ # CREATE INDEX by_name_surname ON accounts(name(10), surname(15))
+ #
+ # Note: SQLite doesn't support index length
def add_index(table_name, column_name, options = {})
column_names = Array(column_name)
index_name = index_name(table_name, :column => column_names)
if Hash === options # legacy support, since this param was a string
index_type = options[:unique] ? "UNIQUE" : ""
- index_name = options[:name] || index_name
+ index_name = options[:name].to_s if options[:name]
else
index_type = options
end
- quoted_column_names = column_names.map { |e| quote_column_name(e) }.join(", ")
+
+ if index_name.length > index_name_length
+ @logger.warn("Index name '#{index_name}' on table '#{table_name}' is too long; the limit is #{index_name_length} characters. Skipping.")
+ return
+ end
+ if index_exists?(table_name, index_name, false)
+ @logger.warn("Index name '#{index_name}' on table '#{table_name}' already exists. Skipping.")
+ return
+ end
+ quoted_column_names = quoted_columns_for_index(column_names, options).join(", ")
+
execute "CREATE #{index_type} INDEX #{quote_column_name(index_name)} ON #{quote_table_name(table_name)} (#{quoted_column_names})"
end
@@ -283,7 +303,28 @@ module ActiveRecord
# Remove the index named by_branch_party in the accounts table.
# remove_index :accounts, :name => :by_branch_party
def remove_index(table_name, options = {})
- execute "DROP INDEX #{quote_column_name(index_name(table_name, options))} ON #{table_name}"
+ index_name = index_name(table_name, options)
+ unless index_exists?(table_name, index_name, true)
+ @logger.warn("Index name '#{index_name}' on table '#{table_name}' does not exist. Skipping.")
+ return
+ end
+ remove_index!(table_name, index_name)
+ end
+
+ def remove_index!(table_name, index_name) #:nodoc:
+ execute "DROP INDEX #{quote_column_name(index_name)} ON #{table_name}"
+ end
+
+ # Rename an index.
+ #
+ # Rename the index_people_on_last_name index to index_users_on_last_name
+ # rename_index :people, 'index_people_on_last_name', 'index_users_on_last_name'
+ def rename_index(table_name, old_name, new_name)
+ # this is a naive implementation; some DBs may support this more efficiently (Postgres, for instance)
+ old_index_def = indexes(table_name).detect { |i| i.name == old_name }
+ return unless old_index_def
+ remove_index(table_name, :name => old_name)
+ add_index(table_name, old_index_def.columns, :name => new_name, :unique => old_index_def.unique)
end
def index_name(table_name, options) #:nodoc:
@@ -300,6 +341,16 @@ module ActiveRecord
end
end
+ # Verify the existence of an index.
+ #
+ # The default argument is returned if the underlying implementation does not define the indexes method,
+ # as there's no way to determine the correct answer in that case.
+ def index_exists?(table_name, index_name, default)
+ return default unless respond_to?(:indexes)
+ index_name = index_name.to_s
+ indexes(table_name).detect { |i| i.name == index_name }
+ end
+
# Returns a string of <tt>CREATE TABLE</tt> SQL statement(s) for recreating the
# entire structure of the database.
def structure_dump
@@ -336,12 +387,12 @@ module ActiveRecord
end
end
- def assume_migrated_upto_version(version)
+ def assume_migrated_upto_version(version, migrations_path = ActiveRecord::Migrator.migrations_path)
version = version.to_i
sm_table = quote_table_name(ActiveRecord::Migrator.schema_migrations_table_name)
migrated = select_values("SELECT version FROM #{sm_table}").map(&:to_i)
- versions = Dir['db/migrate/[0-9]*_*.rb'].map do |filename|
+ versions = Dir["#{migrations_path}/[0-9]*_*.rb"].map do |filename|
filename.split('/').last.split('_').first.to_i
end
@@ -426,6 +477,11 @@ module ActiveRecord
end
protected
+ # Overridden by the mysql adapter for supporting index lengths
+ def quoted_columns_for_index(column_names, options = {})
+ column_names.map {|name| quote_column_name(name) }
+ end
+
def options_include_default?(options)
options.include?(:default) && !(options[:null] == false && options[:default].nil?)
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract_adapter.rb
index 22871f2b759..b8a6a71e043 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract_adapter.rb
@@ -11,6 +11,7 @@ require 'active_record/connection_adapters/abstract/quoting'
require 'active_record/connection_adapters/abstract/connection_pool'
require 'active_record/connection_adapters/abstract/connection_specification'
require 'active_record/connection_adapters/abstract/query_cache'
+require 'active_record/connection_adapters/abstract/database_limits'
module ActiveRecord
module ConnectionAdapters # :nodoc:
@@ -29,6 +30,7 @@ module ActiveRecord
# notably, the instance methods provided by SchemaStatement are very useful.
class AbstractAdapter
include Quoting, DatabaseStatements, SchemaStatements
+ include DatabaseLimits
include QueryCache
include ActiveSupport::Callbacks
define_callbacks :checkout, :checkin
@@ -209,6 +211,12 @@ module ActiveRecord
log_info(sql, name, 0)
nil
end
+ rescue SystemExit, SignalException, NoMemoryError => e
+ # Don't re-wrap these exceptions. They are probably not being caused by invalid
+ # sql, but rather some external stimulus beyond the responsibilty of this code.
+ # Additionaly, wrapping these exceptions with StatementInvalid would lead to
+ # meaningful loss of data, such as losing SystemExit#status.
+ raise e
rescue Exception => e
# Log message and raise exception.
# Set last_verification to 0, so that connection gets verified
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/connection_adapters/mysql_adapter.rb
index 19345d380fb..c50022bd89c 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/connection_adapters/mysql_adapter.rb
@@ -238,7 +238,7 @@ module ActiveRecord
end
def quote_column_name(name) #:nodoc:
- @quoted_column_names[name] ||= "`#{name}`"
+ @quoted_column_names[name] ||= "`#{name.to_s.gsub('`', '``')}`"
end
def quote_table_name(name) #:nodoc:
@@ -315,6 +315,7 @@ module ActiveRecord
rows = []
result.each { |row| rows << row }
result.free
+ @connection.more_results && @connection.next_result # invoking stored procedures with CLIENT_MULTI_RESULTS requires this to tidy up else connection will be dropped
rows
end
@@ -454,10 +455,11 @@ module ActiveRecord
if current_index != row[2]
next if row[2] == "PRIMARY" # skip the primary key
current_index = row[2]
- indexes << IndexDefinition.new(row[0], row[2], row[1] == "0", [])
+ indexes << IndexDefinition.new(row[0], row[2], row[1] == "0", [], [])
end
indexes.last.columns << row[4]
+ indexes.last.lengths << row[7]
end
result.free
indexes
@@ -480,6 +482,13 @@ module ActiveRecord
execute "RENAME TABLE #{quote_table_name(table_name)} TO #{quote_table_name(new_name)}"
end
+ def add_column(table_name, column_name, type, options = {})
+ add_column_sql = "ALTER TABLE #{quote_table_name(table_name)} ADD #{quote_column_name(column_name)} #{type_to_sql(type, options[:limit], options[:precision], options[:scale])}"
+ add_column_options!(add_column_sql, options)
+ add_column_position!(add_column_sql, options)
+ execute(add_column_sql)
+ end
+
def change_column_default(table_name, column_name, default) #:nodoc:
column = column_for(table_name, column_name)
change_column table_name, column_name, column.sql_type, :default => default
@@ -508,6 +517,7 @@ module ActiveRecord
change_column_sql = "ALTER TABLE #{quote_table_name(table_name)} CHANGE #{quote_column_name(column_name)} #{quote_column_name(column_name)} #{type_to_sql(type, options[:limit], options[:precision], options[:scale])}"
add_column_options!(change_column_sql, options)
+ add_column_position!(change_column_sql, options)
execute(change_column_sql)
end
@@ -539,6 +549,13 @@ module ActiveRecord
end
end
+ def add_column_position!(sql, options)
+ if options[:first]
+ sql << " FIRST"
+ elsif options[:after]
+ sql << " AFTER #{quote_column_name(options[:after])}"
+ end
+ end
# SHOW VARIABLES LIKE 'name'
def show_variable(name)
@@ -571,6 +588,20 @@ module ActiveRecord
where_sql
end
+ protected
+ def quoted_columns_for_index(column_names, options = {})
+ length = options[:length] if options.is_a?(Hash)
+
+ quoted_column_names = case length
+ when Hash
+ column_names.map {|name| length[name] ? "#{quote_column_name(name)}(#{length[name]})" : quote_column_name(name) }
+ when Fixnum
+ column_names.map {|name| "#{quote_column_name(name)}(#{length})"}
+ else
+ column_names.map {|name| quote_column_name(name) }
+ end
+ end
+
private
def connect
encoding = @config[:encoding]
@@ -608,6 +639,7 @@ module ActiveRecord
result = execute(sql, name)
rows = result.all_hashes
result.free
+ @connection.more_results && @connection.next_result # invoking stored procedures with CLIENT_MULTI_RESULTS requires this to tidy up else connection will be dropped
rows
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/connection_adapters/postgresql_adapter.rb
index bc289ff5a0d..a3483189947 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/connection_adapters/postgresql_adapter.rb
@@ -261,20 +261,12 @@ module ActiveRecord
true
end
- # Does PostgreSQL support standard conforming strings?
- def supports_standard_conforming_strings?
- # Temporarily set the client message level above error to prevent unintentional
- # error messages in the logs when working on a PostgreSQL database server that
- # does not support standard conforming strings.
- client_min_messages_old = client_min_messages
- self.client_min_messages = 'panic'
-
- # postgres-pr does not raise an exception when client_min_messages is set higher
- # than error and "SHOW standard_conforming_strings" fails, but returns an empty
- # PGresult instead.
- has_support = query('SHOW standard_conforming_strings')[0][0] rescue false
- self.client_min_messages = client_min_messages_old
- has_support
+ # Enable standard-conforming strings if available.
+ def set_standard_conforming_strings
+ old, self.client_min_messages = client_min_messages, 'panic'
+ execute('SET standard_conforming_strings = on') rescue nil
+ ensure
+ self.client_min_messages = old
end
def supports_insert_with_returning?
@@ -298,7 +290,7 @@ module ActiveRecord
# QUOTING ==================================================
# Escapes binary strings for bytea input to the database.
- def escape_bytea(value)
+ def escape_bytea(original_value)
if @connection.respond_to?(:escape_bytea)
self.class.instance_eval do
define_method(:escape_bytea) do |value|
@@ -322,62 +314,40 @@ module ActiveRecord
end
end
end
- escape_bytea(value)
+ escape_bytea(original_value)
end
# Unescapes bytea output from a database to the binary string it represents.
# NOTE: This is NOT an inverse of escape_bytea! This is only to be used
# on escaped binary output from database drive.
- def unescape_bytea(value)
+ def unescape_bytea(original_value)
# In each case, check if the value actually is escaped PostgreSQL bytea output
# or an unescaped Active Record attribute that was just written.
- if PGconn.respond_to?(:unescape_bytea)
+ if @connection.respond_to?(:unescape_bytea)
self.class.instance_eval do
define_method(:unescape_bytea) do |value|
- if value =~ /\\\d{3}/
- PGconn.unescape_bytea(value)
- else
- value
- end
+ @connection.unescape_bytea(value) if value
end
end
- else
+ elsif PGconn.respond_to?(:unescape_bytea)
self.class.instance_eval do
define_method(:unescape_bytea) do |value|
- if value =~ /\\\d{3}/
- result = ''
- i, max = 0, value.size
- while i < max
- char = value[i]
- if char == ?\\
- if value[i+1] == ?\\
- char = ?\\
- i += 1
- else
- char = value[i+1..i+3].oct
- i += 3
- end
- end
- result << char
- i += 1
- end
- result
- else
- value
- end
+ PGconn.unescape_bytea(value) if value
end
end
+ else
+ raise 'Your PostgreSQL connection does not support unescape_bytea. Try upgrading to pg 0.9.0 or later.'
end
- unescape_bytea(value)
+ unescape_bytea(original_value)
end
# Quotes PostgreSQL-specific data types for SQL input.
def quote(value, column = nil) #:nodoc:
if value.kind_of?(String) && column && column.type == :binary
- "#{quoted_string_prefix}'#{escape_bytea(value)}'"
- elsif value.kind_of?(String) && column && column.sql_type =~ /^xml$/
- "xml E'#{quote_string(value)}'"
- elsif value.kind_of?(Numeric) && column && column.sql_type =~ /^money$/
+ "'#{escape_bytea(value)}'"
+ elsif value.kind_of?(String) && column && column.sql_type == 'xml'
+ "xml '#{quote_string(value)}'"
+ elsif value.kind_of?(Numeric) && column && column.sql_type == 'money'
# Not truly string input, so doesn't require (or allow) escape string syntax.
"'#{value.to_s}'"
elsif value.kind_of?(String) && column && column.sql_type =~ /^bit/
@@ -393,7 +363,7 @@ module ActiveRecord
end
# Quotes strings for use in SQL input in the postgres driver for better performance.
- def quote_string(s) #:nodoc:
+ def quote_string(original_value) #:nodoc:
if @connection.respond_to?(:escape)
self.class.instance_eval do
define_method(:quote_string) do |s|
@@ -413,7 +383,7 @@ module ActiveRecord
remove_method(:quote_string)
end
end
- quote_string(s)
+ quote_string(original_value)
end
# Checks the following cases:
@@ -889,9 +859,12 @@ module ActiveRecord
execute "ALTER TABLE #{quote_table_name(table_name)} RENAME COLUMN #{quote_column_name(column_name)} TO #{quote_column_name(new_column_name)}"
end
- # Drops an index from a table.
- def remove_index(table_name, options = {})
- execute "DROP INDEX #{quote_table_name(index_name(table_name, options))}"
+ def remove_index!(table_name, index_name) #:nodoc:
+ execute "DROP INDEX #{quote_table_name(index_name)}"
+ end
+
+ def index_name_length
+ 63
end
# Maps logical Rails types to PostgreSQL-specific data types.
@@ -971,17 +944,6 @@ module ActiveRecord
# Ignore async_exec and async_query when using postgres-pr.
@async = @config[:allow_concurrency] && @connection.respond_to?(:async_exec)
- # Use escape string syntax if available. We cannot do this lazily when encountering
- # the first string, because that could then break any transactions in progress.
- # See: http://www.postgresql.org/docs/current/static/runtime-config-compatible.html
- # If PostgreSQL doesn't know the standard_conforming_strings parameter then it doesn't
- # support escape string syntax. Don't override the inherited quoted_string_prefix.
- if supports_standard_conforming_strings?
- self.class.instance_eval do
- define_method(:quoted_string_prefix) { 'E' }
- end
- end
-
# Money type has a fixed precision of 10 in PostgreSQL 8.2 and below, and as of
# PostgreSQL 8.3 it has a fixed precision of 19. PostgreSQLColumn.extract_precision
# should know about this but can't detect it there, so deal with it here.
@@ -1011,6 +973,9 @@ module ActiveRecord
end
self.client_min_messages = @config[:min_messages] if @config[:min_messages]
self.schema_search_path = @config[:schema_search_path] || @config[:schema_order]
+
+ # Use standard-conforming strings if available so we don't have to do the E'...' dance.
+ set_standard_conforming_strings
end
# Returns the current ID of a table's sequence.
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/connection_adapters/sqlite3_adapter.rb
index 75420f69aac..c6086a2fd95 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/connection_adapters/sqlite3_adapter.rb
@@ -25,7 +25,7 @@ module ActiveRecord
module ConnectionAdapters #:nodoc:
class SQLite3Adapter < SQLiteAdapter # :nodoc:
def table_structure(table_name)
- returning structure = @connection.table_info(quote_table_name(table_name)) do
+ @connection.table_info(quote_table_name(table_name)).tap do |structure|
raise(ActiveRecord::StatementInvalid, "Could not find table '#{table_name}'") if structure.empty?
end
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/connection_adapters/sqlite_adapter.rb
index 0bf97a9b51b..242f3f7eb48 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/connection_adapters/sqlite_adapter.rb
@@ -162,7 +162,7 @@ module ActiveRecord
end
def quote_column_name(name) #:nodoc:
- %Q("#{name}")
+ %Q("#{name.to_s.gsub('"', '""')}")
end
@@ -220,20 +220,20 @@ module ActiveRecord
SQL
execute(sql, name).map do |row|
- row[0]
+ row['name']
end
end
def columns(table_name, name = nil) #:nodoc:
table_structure(table_name).map do |field|
- SQLiteColumn.new(field['name'], field['dflt_value'], field['type'], field['notnull'] == "0")
+ SQLiteColumn.new(field['name'], field['dflt_value'], field['type'], field['notnull'].to_i == 0)
end
end
def indexes(table_name, name = nil) #:nodoc:
execute("PRAGMA index_list(#{quote_table_name(table_name)})", name).map do |row|
index = IndexDefinition.new(table_name, row['name'])
- index.unique = row['unique'] != '0'
+ index.unique = row['unique'].to_i != 0
index.columns = execute("PRAGMA index_info('#{index.name}')").map { |col| col['name'] }
index
end
@@ -244,8 +244,8 @@ module ActiveRecord
column ? column['name'] : nil
end
- def remove_index(table_name, options={}) #:nodoc:
- execute "DROP INDEX #{quote_column_name(index_name(table_name, options))}"
+ def remove_index!(table_name, index_name) #:nodoc:
+ execute "DROP INDEX #{quote_column_name(index_name)}"
end
def rename_table(name, new_name)
@@ -269,6 +269,7 @@ module ActiveRecord
end
def remove_column(table_name, *column_names) #:nodoc:
+ raise ArgumentError.new("You must specify at least one column name. Example: remove_column(:people, :first_name)") if column_names.empty?
column_names.flatten.each do |column_name|
alter_table(table_name) do |definition|
definition.columns.delete(definition[column_name])
@@ -329,7 +330,7 @@ module ActiveRecord
end
def table_structure(table_name)
- returning structure = execute("PRAGMA table_info(#{quote_table_name(table_name)})") do
+ execute("PRAGMA table_info(#{quote_table_name(table_name)})").tap do |structure|
raise(ActiveRecord::StatementInvalid, "Could not find table '#{table_name}'") if structure.empty?
end
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/dirty.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/dirty.rb
index f18965169d0..1db8fef676c 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/dirty.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/dirty.rb
@@ -44,7 +44,7 @@ module ActiveRecord
base.alias_method_chain :update, :dirty
base.alias_method_chain :reload, :dirty
- base.superclass_delegating_accessor :partial_updates
+ base.class_attribute :partial_updates
base.partial_updates = true
base.send(:extend, ClassMethods)
@@ -167,13 +167,13 @@ module ActiveRecord
module ClassMethods
def self.extended(base)
- base.metaclass.alias_method_chain(:alias_attribute, :dirty)
+ base.singleton_class.alias_method_chain(:alias_attribute, :dirty)
end
def alias_attribute_with_dirty(new_name, old_name)
alias_attribute_without_dirty(new_name, old_name)
DIRTY_SUFFIXES.each do |suffix|
- module_eval <<-STR, __FILE__, __LINE__+1
+ module_eval <<-STR, __FILE__, __LINE__ + 1
def #{new_name}#{suffix}; self.#{old_name}#{suffix}; end # def subject_changed?; self.title_changed?; end
STR
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/dynamic_finder_match.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/dynamic_finder_match.rb
index 8f9f05ce36b..8f9f05ce36b 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/dynamic_finder_match.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/dynamic_finder_match.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/dynamic_scope_match.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/dynamic_scope_match.rb
index f796ba669a3..f796ba669a3 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/dynamic_scope_match.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/dynamic_scope_match.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/fixtures.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/fixtures.rb
index 1674b496c1e..ef8325f5e0e 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/fixtures.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/fixtures.rb
@@ -891,6 +891,7 @@ module ActiveRecord
instances.size == 1 ? instances.first : instances
end
+ private table_name
end
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/locale/en.yml b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/locale/en.yml
index 2813524db63..6dab5e20ca4 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/locale/en.yml
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/locale/en.yml
@@ -11,23 +11,23 @@ en:
accepted: "must be accepted"
empty: "can't be empty"
blank: "can't be blank"
- too_long: "is too long (maximum is {{count}} characters)"
- too_short: "is too short (minimum is {{count}} characters)"
- wrong_length: "is the wrong length (should be {{count}} characters)"
+ too_long: "is too long (maximum is %{count} characters)"
+ too_short: "is too short (minimum is %{count} characters)"
+ wrong_length: "is the wrong length (should be %{count} characters)"
taken: "has already been taken"
not_a_number: "is not a number"
- greater_than: "must be greater than {{count}}"
- greater_than_or_equal_to: "must be greater than or equal to {{count}}"
- equal_to: "must be equal to {{count}}"
- less_than: "must be less than {{count}}"
- less_than_or_equal_to: "must be less than or equal to {{count}}"
+ greater_than: "must be greater than %{count}"
+ greater_than_or_equal_to: "must be greater than or equal to %{count}"
+ equal_to: "must be equal to %{count}"
+ less_than: "must be less than %{count}"
+ less_than_or_equal_to: "must be less than or equal to %{count}"
odd: "must be odd"
even: "must be even"
- record_invalid: "Validation failed: {{errors}}"
+ record_invalid: "Validation failed: %{errors}"
# Append your own errors here or at the model/attributes scope.
full_messages:
- format: "{{attribute}} {{message}}"
+ format: "%{attribute} %{message}"
# You can define own errors for models or model attributes.
# The values :model, :attribute and :value are always available for interpolation.
@@ -35,7 +35,7 @@ en:
# For example,
# models:
# user:
- # blank: "This is a custom blank message for {{model}}: {{attribute}}"
+ # blank: "This is a custom blank message for %{model}: %{attribute}"
# attributes:
# login:
# blank: "This is a custom blank message for User login"
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/locking/optimistic.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/locking/optimistic.rb
index ff9899d0326..147aa86c60c 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/locking/optimistic.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/locking/optimistic.rb
@@ -23,6 +23,16 @@ module ActiveRecord
# p2.first_name = "should fail"
# p2.save # Raises a ActiveRecord::StaleObjectError
#
+ # Optimistic locking will also check for stale data when objects are destroyed. Example:
+ #
+ # p1 = Person.find(1)
+ # p2 = Person.find(1)
+ #
+ # p1.first_name = "Michael"
+ # p1.save
+ #
+ # p2.destroy # Raises a ActiveRecord::StaleObjectError
+ #
# You're then responsible for dealing with the conflict by rescuing the exception and either rolling back, merging,
# or otherwise apply the business logic needed to resolve the conflict.
#
@@ -39,6 +49,7 @@ module ActiveRecord
base.lock_optimistically = true
base.alias_method_chain :update, :lock
+ base.alias_method_chain :destroy, :lock
base.alias_method_chain :attributes_from_column_definition, :lock
class << base
@@ -86,7 +97,7 @@ module ActiveRecord
end_sql
unless affected_rows == 1
- raise ActiveRecord::StaleObjectError, "Attempted to update a stale object"
+ raise ActiveRecord::StaleObjectError, "Attempted to update a stale object: #{self.class.name}"
end
affected_rows
@@ -98,6 +109,29 @@ module ActiveRecord
end
end
+ def destroy_with_lock #:nodoc:
+ return destroy_without_lock unless locking_enabled?
+
+ unless new_record?
+ lock_col = self.class.locking_column
+ previous_value = send(lock_col).to_i
+
+ affected_rows = connection.delete(
+ "DELETE FROM #{self.class.quoted_table_name} " +
+ "WHERE #{connection.quote_column_name(self.class.primary_key)} = #{quoted_id} " +
+ "AND #{self.class.quoted_locking_column} = #{quote_value(previous_value)}",
+ "#{self.class.name} Destroy"
+ )
+
+ unless affected_rows == 1
+ raise ActiveRecord::StaleObjectError, "Attempted to delete a stale object: #{self.class.name}"
+ end
+ end
+
+ @destroyed = true
+ freeze
+ end
+
module ClassMethods
DEFAULT_LOCKING_COLUMN = 'lock_version'
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/locking/pessimistic.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/locking/pessimistic.rb
index fcc9ebb4afe..fcc9ebb4afe 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/locking/pessimistic.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/locking/pessimistic.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/migration.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/migration.rb
index 657acd6dc09..5d709c0d0c3 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/migration.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/migration.rb
@@ -381,6 +381,7 @@ module ActiveRecord
def migrate(migrations_path, target_version = nil)
case
when target_version.nil? then up(migrations_path, target_version)
+ when current_version == 0 && target_version == 0 then # noop
when current_version > target_version then down(migrations_path, target_version)
else up(migrations_path, target_version)
end
@@ -408,6 +409,10 @@ module ActiveRecord
self.new(direction, migrations_path, target_version).run
end
+ def migrations_path
+ 'db/migrate'
+ end
+
def schema_migrations_table_name
Base.table_name_prefix + 'schema_migrations' + Base.table_name_suffix
end
@@ -511,7 +516,7 @@ module ActiveRecord
raise DuplicateMigrationNameError.new(name.camelize)
end
- klasses << returning(MigrationProxy.new) do |migration|
+ klasses << (MigrationProxy.new).tap do |migration|
migration.name = name.camelize
migration.version = version
migration.filename = file
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/named_scope.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/named_scope.rb
index 0b772241b67..5e49de6ad41 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/named_scope.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/named_scope.rb
@@ -8,10 +8,7 @@ module ActiveRecord
#
# You can define a scope that applies to all finders using ActiveRecord::Base.default_scope.
def self.included(base)
- base.class_eval do
- extend ClassMethods
- named_scope :scoped, lambda { |scope| scope }
- end
+ base.extend ClassMethods
end
module ClassMethods
@@ -19,6 +16,10 @@ module ActiveRecord
read_inheritable_attribute(:scopes) || write_inheritable_attribute(:scopes, {})
end
+ def scoped(scope, &block)
+ Scope.new(self, scope, &block)
+ end
+
# Adds a class method for retrieving and querying objects. A scope represents a narrowing of a database query,
# such as <tt>:conditions => {:color => :red}, :select => 'shirts.*', :include => :washing_instructions</tt>.
#
@@ -84,18 +85,22 @@ module ActiveRecord
# assert_equal expected_options, Shirt.colored('red').proxy_options
def named_scope(name, options = {}, &block)
name = name.to_sym
+
scopes[name] = lambda do |parent_scope, *args|
Scope.new(parent_scope, case options
when Hash
options
when Proc
- options.call(*args)
+ if self.model_name != parent_scope.model_name
+ options.bind(parent_scope).call(*args)
+ else
+ options.call(*args)
+ end
end, &block)
end
- (class << self; self end).instance_eval do
- define_method name do |*args|
- scopes[name].call(self, *args)
- end
+
+ singleton_class.send :define_method, name do |*args|
+ scopes[name].call(self, *args)
end
end
end
@@ -115,7 +120,7 @@ module ActiveRecord
options ||= {}
[options[:extend]].flatten.each { |extension| extend extension } if options[:extend]
extend Module.new(&block) if block_given?
- unless Scope === proxy_scope
+ unless (Scope === proxy_scope || ActiveRecord::Associations::AssociationCollection === proxy_scope)
@current_scoped_methods_when_defined = proxy_scope.send(:current_scoped_methods)
end
@proxy_scope, @proxy_options = proxy_scope, options.except(:extend)
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/nested_attributes.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/nested_attributes.rb
index d61ee90cd62..65434fb06b6 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/nested_attributes.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/nested_attributes.rb
@@ -184,6 +184,8 @@ module ActiveRecord
# the parent model is saved. This happens inside the transaction initiated
# by the parents save method. See ActiveRecord::AutosaveAssociation.
module ClassMethods
+ REJECT_ALL_BLANK_PROC = proc { |attributes| attributes.all? { |_, value| value.blank? } }
+
# Defines an attributes writer for the specified association(s). If you
# are using <tt>attr_protected</tt> or <tt>attr_accessible</tt>, then you
# will need to add the attribute writer to the allowed list.
@@ -208,39 +210,40 @@ module ActiveRecord
# nested attributes array exceeds the specified limit, NestedAttributes::TooManyRecords
# exception is raised. If omitted, any number associations can be processed.
# Note that the :limit option is only applicable to one-to-many associations.
+ # [:update_only]
+ # Allows you to specify that an existing record may only be updated.
+ # A new record may only be created when there is no existing record.
+ # This option only works for one-to-one associations and is ignored for
+ # collection associations. This option is off by default.
#
# Examples:
# # creates avatar_attributes=
# accepts_nested_attributes_for :avatar, :reject_if => proc { |attributes| attributes['name'].blank? }
+ # # creates avatar_attributes=
+ # accepts_nested_attributes_for :avatar, :reject_if => :all_blank
# # creates avatar_attributes= and posts_attributes=
# accepts_nested_attributes_for :avatar, :posts, :allow_destroy => true
def accepts_nested_attributes_for(*attr_names)
- options = { :allow_destroy => false }
+ options = { :allow_destroy => false, :update_only => false }
options.update(attr_names.extract_options!)
- options.assert_valid_keys(:allow_destroy, :reject_if, :limit)
+ options.assert_valid_keys(:allow_destroy, :reject_if, :limit, :update_only)
+ options[:reject_if] = REJECT_ALL_BLANK_PROC if options[:reject_if] == :all_blank
attr_names.each do |association_name|
if reflection = reflect_on_association(association_name)
- type = case reflection.macro
- when :has_one, :belongs_to
- :one_to_one
- when :has_many, :has_and_belongs_to_many
- :collection
- end
-
reflection.options[:autosave] = true
- self.nested_attributes_options[association_name.to_sym] = options
+ add_autosave_association_callbacks(reflection)
+ nested_attributes_options[association_name.to_sym] = options
+ type = (reflection.collection? ? :collection : :one_to_one)
# def pirate_attributes=(attributes)
- # assign_nested_attributes_for_one_to_one_association(:pirate, attributes, false)
+ # assign_nested_attributes_for_one_to_one_association(:pirate, attributes)
# end
- class_eval %{
+ class_eval <<-EOS, __FILE__, __LINE__ + 1
def #{association_name}_attributes=(attributes)
assign_nested_attributes_for_#{type}_association(:#{association_name}, attributes)
end
- }, __FILE__, __LINE__
-
- add_autosave_association_callbacks(reflection)
+ EOS
else
raise ArgumentError, "No association found for name `#{association_name}'. Has it been defined yet?"
end
@@ -257,46 +260,41 @@ module ActiveRecord
marked_for_destruction?
end
- # Deal with deprecated _delete.
- #
- def _delete #:nodoc:
- ActiveSupport::Deprecation.warn "_delete is deprecated in nested attributes. Use _destroy instead."
- _destroy
- end
-
private
# Attribute hash keys that should not be assigned as normal attributes.
# These hash keys are nested attributes implementation details.
- #
- # TODO Remove _delete from UNASSIGNABLE_KEYS when deprecation warning are
- # removed.
- UNASSIGNABLE_KEYS = %w( id _destroy _delete )
+ UNASSIGNABLE_KEYS = %w( id _destroy )
# Assigns the given attributes to the association.
#
- # If the given attributes include an <tt>:id</tt> that matches the existing
- # record’s id, then the existing record will be modified. Otherwise a new
- # record will be built.
+ # If update_only is false and the given attributes include an <tt>:id</tt>
+ # that matches the existing record’s id, then the existing record will be
+ # modified. If update_only is true, a new record is only created when no
+ # object exists. Otherwise a new record will be built.
#
- # If the given attributes include a matching <tt>:id</tt> attribute _and_ a
- # <tt>:_destroy</tt> key set to a truthy value, then the existing record
- # will be marked for destruction.
+ # If the given attributes include a matching <tt>:id</tt> attribute, or
+ # update_only is true, and a <tt>:_destroy</tt> key set to a truthy value,
+ # then the existing record will be marked for destruction.
def assign_nested_attributes_for_one_to_one_association(association_name, attributes)
- options = self.nested_attributes_options[association_name]
+ options = nested_attributes_options[association_name]
attributes = attributes.with_indifferent_access
+ check_existing_record = (options[:update_only] || !attributes['id'].blank?)
- if attributes['id'].blank?
- unless reject_new_record?(association_name, attributes)
- method = "build_#{association_name}"
- if respond_to?(method)
- send(method, attributes.except(*UNASSIGNABLE_KEYS))
- else
- raise ArgumentError, "Cannot build association #{association_name}. Are you trying to build a polymorphic one-to-one association?"
- end
+ if check_existing_record && (record = send(association_name)) &&
+ (options[:update_only] || record.id.to_s == attributes['id'].to_s)
+ assign_to_or_mark_for_destruction(record, attributes, options[:allow_destroy])
+
+ elsif attributes['id']
+ raise_nested_attributes_record_not_found(association_name, attributes['id'])
+
+ elsif !reject_new_record?(association_name, attributes)
+ method = "build_#{association_name}"
+ if respond_to?(method)
+ send(method, attributes.except(*UNASSIGNABLE_KEYS))
+ else
+ raise ArgumentError, "Cannot build association #{association_name}. Are you trying to build a polymorphic one-to-one association?"
end
- elsif (existing_record = send(association_name)) && existing_record.id.to_s == attributes['id'].to_s
- assign_to_or_mark_for_destruction(existing_record, attributes, options[:allow_destroy])
end
end
@@ -328,7 +326,7 @@ module ActiveRecord
# { :id => '2', :_destroy => true }
# ])
def assign_nested_attributes_for_collection_association(association_name, attributes_collection)
- options = self.nested_attributes_options[association_name]
+ options = nested_attributes_options[association_name]
unless attributes_collection.is_a?(Hash) || attributes_collection.is_a?(Array)
raise ArgumentError, "Hash or Array expected, got #{attributes_collection.class.name} (#{attributes_collection.inspect})"
@@ -342,15 +340,27 @@ module ActiveRecord
attributes_collection = attributes_collection.sort_by { |index, _| index.to_i }.map { |_, attributes| attributes }
end
+ association = send(association_name)
+
+ existing_records = if association.loaded?
+ association.to_a
+ else
+ attribute_ids = attributes_collection.map {|a| a['id'] || a[:id] }.compact
+ attribute_ids.present? ? association.all(:conditions => {association.primary_key => attribute_ids}) : []
+ end
+
attributes_collection.each do |attributes|
attributes = attributes.with_indifferent_access
if attributes['id'].blank?
unless reject_new_record?(association_name, attributes)
- send(association_name).build(attributes.except(*UNASSIGNABLE_KEYS))
+ association.build(attributes.except(*UNASSIGNABLE_KEYS))
end
- elsif existing_record = send(association_name).detect { |record| record.id.to_s == attributes['id'].to_s }
+ elsif existing_record = existing_records.detect { |record| record.id.to_s == attributes['id'].to_s }
+ association.send(:add_record_to_target_with_callbacks, existing_record) unless association.loaded?
assign_to_or_mark_for_destruction(existing_record, attributes, options[:allow_destroy])
+ else
+ raise_nested_attributes_record_not_found(association_name, attributes['id'])
end
end
end
@@ -367,8 +377,7 @@ module ActiveRecord
# Determines if a hash contains a truthy _destroy key.
def has_destroy_flag?(hash)
- ConnectionAdapters::Column.value_to_boolean(hash['_destroy']) ||
- ConnectionAdapters::Column.value_to_boolean(hash['_delete']) # TODO Remove after deprecation.
+ ConnectionAdapters::Column.value_to_boolean(hash['_destroy'])
end
# Determines if a new record should be build by checking for
@@ -379,14 +388,17 @@ module ActiveRecord
end
def call_reject_if(association_name, attributes)
- callback = self.nested_attributes_options[association_name][:reject_if]
-
- case callback
+ case callback = nested_attributes_options[association_name][:reject_if]
when Symbol
method(callback).arity == 0 ? send(callback) : send(callback, attributes)
when Proc
- callback.try(:call, attributes)
+ callback.call(attributes)
end
end
+
+ def raise_nested_attributes_record_not_found(association_name, record_id)
+ reflection = self.class.reflect_on_association(association_name)
+ raise RecordNotFound, "Couldn't find #{reflection.klass.name} with ID=#{record_id} for #{self.class.name} with ID=#{id}"
+ end
end
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/observer.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/observer.rb
index b35e407cc1d..b35e407cc1d 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/observer.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/observer.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/query_cache.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/query_cache.rb
index eb92bc25450..eb92bc25450 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/query_cache.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/query_cache.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/reflection.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/reflection.rb
index 54b8c61245d..13bcb8b1afb 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/reflection.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/reflection.rb
@@ -212,6 +212,15 @@ module ActiveRecord
end
def check_validity!
+ check_validity_of_inverse!
+ end
+
+ def check_validity_of_inverse!
+ unless options[:polymorphic]
+ if has_inverse? && inverse_of.nil?
+ raise InverseOfAssociationNotFoundError.new(self)
+ end
+ end
end
def through_reflection
@@ -225,10 +234,64 @@ module ActiveRecord
nil
end
+ def has_inverse?
+ !@options[:inverse_of].nil?
+ end
+
+ def inverse_of
+ if has_inverse?
+ @inverse_of ||= klass.reflect_on_association(options[:inverse_of])
+ end
+ end
+
+ def polymorphic_inverse_of(associated_class)
+ if has_inverse?
+ if inverse_relationship = associated_class.reflect_on_association(options[:inverse_of])
+ inverse_relationship
+ else
+ raise InverseOfAssociationNotFoundError.new(self, associated_class)
+ end
+ end
+ end
+
+ # Returns whether or not this association reflection is for a collection
+ # association. Returns +true+ if the +macro+ is one of +has_many+ or
+ # +has_and_belongs_to_many+, +false+ otherwise.
+ def collection?
+ if @collection.nil?
+ @collection = [:has_many, :has_and_belongs_to_many].include?(macro)
+ end
+ @collection
+ end
+
+ # Returns whether or not the association should be validated as part of
+ # the parent's validation.
+ #
+ # Unless you explicitely disable validation with
+ # <tt>:validate => false</tt>, it will take place when:
+ #
+ # * you explicitely enable validation; <tt>:validate => true</tt>
+ # * you use autosave; <tt>:autosave => true</tt>
+ # * the association is a +has_many+ association
+ def validate?
+ !options[:validate].nil? ? options[:validate] : (options[:autosave] == true || macro == :has_many)
+ end
+
+ def dependent_conditions(record, base_class, extra_conditions)
+ dependent_conditions = []
+ dependent_conditions << "#{primary_key_name} = #{record.send(name).send(:owner_quoted_id)}"
+ dependent_conditions << "#{options[:as]}_type = '#{base_class.name}'" if options[:as]
+ dependent_conditions << klass.send(:sanitize_sql, options[:conditions]) if options[:conditions]
+ dependent_conditions = dependent_conditions.collect {|where| "(#{where})" }.join(" AND ")
+ dependent_conditions << extra_conditions if extra_conditions
+ dependent_conditions = dependent_conditions.gsub('@', '\@')
+ dependent_conditions
+ end
+
private
def derive_class_name
class_name = name.to_s.camelize
- class_name = class_name.singularize if [ :has_many, :has_and_belongs_to_many ].include?(macro)
+ class_name = class_name.singularize if collection?
class_name
end
@@ -300,6 +363,8 @@ module ActiveRecord
unless [:belongs_to, :has_many, :has_one].include?(source_reflection.macro) && source_reflection.options[:through].nil?
raise HasManyThroughSourceAssociationMacroError.new(self)
end
+
+ check_validity_of_inverse!
end
def through_reflection_primary_key
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/schema.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/schema.rb
index 8a32cf1ca23..a996a0ebac1 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/schema.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/schema.rb
@@ -28,6 +28,10 @@ module ActiveRecord
class Schema < Migration
private_class_method :new
+ def self.migrations_path
+ ActiveRecord::Migrator.migrations_path
+ end
+
# Eval the given block. All methods available to the current connection
# adapter are available within the block, so you can easily use the
# database definition DSL to build up your schema (+create_table+,
@@ -44,7 +48,7 @@ module ActiveRecord
unless info[:version].blank?
initialize_schema_migrations_table
- assume_migrated_upto_version info[:version]
+ assume_migrated_upto_version(info[:version], migrations_path)
end
end
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/schema_dumper.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/schema_dumper.rb
index 68a45a01bb3..1a21f86c21d 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/schema_dumper.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/schema_dumper.rb
@@ -171,6 +171,9 @@ HEADER
statment_parts << (':name => ' + index.name.inspect)
statment_parts << ':unique => true' if index.unique
+ index_lengths = index.lengths.compact if index.lengths.is_a?(Array)
+ statment_parts << (':length => ' + Hash[*index.columns.zip(index.lengths).flatten].inspect) if index_lengths.present?
+
' ' + statment_parts.join(', ')
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/serialization.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/serialization.rb
index 629ce9a1370..4e2081ece0f 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/serialization.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/serialization.rb
@@ -74,7 +74,7 @@ module ActiveRecord #:nodoc:
end
def serializable_record
- returning(serializable_record = {}) do
+ {}.tap do |serializable_record|
serializable_names.each { |name| serializable_record[name] = @record.send(name) }
add_includes do |association, records, opts|
if records.is_a?(Enumerable)
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/serializers/json_serializer.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/serializers/json_serializer.rb
index a20dfbc3ad9..5d49381638b 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/serializers/json_serializer.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/serializers/json_serializer.rb
@@ -79,7 +79,7 @@ module ActiveRecord #:nodoc:
def as_json(options = nil) #:nodoc:
hash = Serializer.new(self, options).serializable_record
- hash = { self.class.model_name.element => hash } if include_root_in_json
+ hash = { options[:root] || self.class.model_name.element => hash } if include_root_in_json
hash
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/serializers/xml_serializer.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/serializers/xml_serializer.rb
index 9bf11930d1f..9bf11930d1f 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/serializers/xml_serializer.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/serializers/xml_serializer.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/session_store.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/session_store.rb
index c91b9433d3f..d6d0c6e1397 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/session_store.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/session_store.rb
@@ -184,7 +184,7 @@ module ActiveRecord
# Look up a session by id and unmarshal its data if found.
def find_by_session_id(session_id)
- if record = @@connection.select_one("SELECT * FROM #{@@table_name} WHERE #{@@session_id_column}=#{@@connection.quote(session_id)}")
+ if record = connection.select_one("SELECT * FROM #{@@table_name} WHERE #{@@session_id_column}=#{connection.quote(session_id)}")
new(:session_id => session_id, :marshaled_data => record['data'])
end
end
@@ -310,6 +310,14 @@ module ActiveRecord
return true
end
+ def destroy(env)
+ if sid = current_session_id(env)
+ Base.silence do
+ get_session_model(env, sid).destroy
+ end
+ end
+ end
+
def get_session_model(env, sid)
if env[ENV_SESSION_OPTIONS_KEY][:id].nil?
env[SESSION_RECORD_KEY] = find_session(sid)
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/test_case.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/test_case.rb
index 8c6abaaccb3..8c6abaaccb3 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/test_case.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/test_case.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/timestamp.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/timestamp.rb
index d9e1ef351f7..d9e1ef351f7 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/timestamp.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/timestamp.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/transactions.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/transactions.rb
index 0b6e52c79b0..0b6e52c79b0 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/transactions.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/transactions.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/validations.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/validations.rb
index 568e530c956..643f1e0cc7e 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/validations.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/validations.rb
@@ -80,7 +80,7 @@ module ActiveRecord
# Wraps an error message into a full_message format.
#
- # The default full_message format for any locale is <tt>"{{attribute}} {{message}}"</tt>.
+ # The default full_message format for any locale is <tt>"%{attribute} %{message}"</tt>.
# One can specify locale specific default full_message format by storing it as a
# translation for the key <tt>:"activerecord.errors.full_messages.format"</tt>.
#
@@ -109,7 +109,7 @@ module ActiveRecord
keys = [
:"full_messages.#{@message}",
:'full_messages.format',
- '{{attribute}} {{message}}'
+ '%{attribute} %{message}'
]
options.merge!(:default => keys, :message => self.message)
@@ -158,7 +158,7 @@ module ActiveRecord
# If +message+ is a Symbol, it will be translated, using the appropriate scope (see translate_error).
#
def add(attribute, message = nil, options = {})
- options[:message] = options.delete(:default) if options.has_key?(:default)
+ options[:message] = options.delete(:default) if options[:default].is_a?(Symbol)
error, message = message, nil if message.is_a?(Error)
@errors[attribute.to_s] ||= []
@@ -239,6 +239,18 @@ module ActiveRecord
@errors.each_key { |attr| @errors[attr].each { |error| yield attr, error.message } }
end
+ # Yields each attribute and associated error per error added.
+ #
+ # class Company < ActiveRecord::Base
+ # validates_presence_of :name, :address, :email
+ # validates_length_of :name, :in => 5..30
+ # end
+ #
+ # company = Company.create(:address => '123 First St.')
+ # company.errors.each_error{|attr,err| puts "#{attr} - #{err.type}" }
+ # # => name - :too_short
+ # # name - :blank
+ # # address - :blank
def each_error
@errors.each_key { |attr| @errors[attr].each { |error| yield attr, error } }
end
@@ -321,7 +333,6 @@ module ActiveRecord
end
def generate_message(attribute, message = :invalid, options = {})
- ActiveSupport::Deprecation.warn("ActiveRecord::Errors#generate_message has been deprecated. Please use ActiveRecord::Error.new().to_s.")
Error.new(@base, attribute, message, options).to_s
end
end
@@ -592,13 +603,13 @@ module ActiveRecord
#
# class Person < ActiveRecord::Base
# validates_length_of :first_name, :maximum=>30
- # validates_length_of :last_name, :maximum=>30, :message=>"less than {{count}} if you don't mind"
+ # validates_length_of :last_name, :maximum=>30, :message=>"less than %{count} if you don't mind"
# validates_length_of :fax, :in => 7..32, :allow_nil => true
# validates_length_of :phone, :in => 7..32, :allow_blank => true
# validates_length_of :user_name, :within => 6..20, :too_long => "pick a shorter name", :too_short => "pick a longer name"
- # validates_length_of :fav_bra_size, :minimum => 1, :too_short => "please enter at least {{count}} character"
- # validates_length_of :smurf_leader, :is => 4, :message => "papa is spelled with {{count}} characters... don't play me."
- # validates_length_of :essay, :minimum => 100, :too_short => "Your essay must be at least {{count}} words."), :tokenizer => lambda {|str| str.scan(/\w+/) }
+ # validates_length_of :fav_bra_size, :minimum => 1, :too_short => "please enter at least %{count} character"
+ # validates_length_of :smurf_leader, :is => 4, :message => "papa is spelled with %{count} characters... don't play me."
+ # validates_length_of :essay, :minimum => 100, :too_short => "Your essay must be at least %{count} words."), :tokenizer => lambda {|str| str.scan(/\w+/) }
# end
#
# Configuration options:
@@ -609,9 +620,9 @@ module ActiveRecord
# * <tt>:in</tt> - A synonym(or alias) for <tt>:within</tt>.
# * <tt>:allow_nil</tt> - Attribute may be +nil+; skip validation.
# * <tt>:allow_blank</tt> - Attribute may be blank; skip validation.
- # * <tt>:too_long</tt> - The error message if the attribute goes over the maximum (default is: "is too long (maximum is {{count}} characters)").
- # * <tt>:too_short</tt> - The error message if the attribute goes under the minimum (default is: "is too short (min is {{count}} characters)").
- # * <tt>:wrong_length</tt> - The error message if using the <tt>:is</tt> method and the attribute is the wrong size (default is: "is the wrong length (should be {{count}} characters)").
+ # * <tt>:too_long</tt> - The error message if the attribute goes over the maximum (default is: "is too long (maximum is %{count} characters)").
+ # * <tt>:too_short</tt> - The error message if the attribute goes under the minimum (default is: "is too short (min is %{count} characters)").
+ # * <tt>:wrong_length</tt> - The error message if using the <tt>:is</tt> method and the attribute is the wrong size (default is: "is the wrong length (should be %{count} characters)").
# * <tt>:message</tt> - The error message to use for a <tt>:minimum</tt>, <tt>:maximum</tt>, or <tt>:is</tt> violation. An alias of the appropriate <tt>too_long</tt>/<tt>too_short</tt>/<tt>wrong_length</tt> message.
# * <tt>:on</tt> - Specifies when this validation is active (default is <tt>:save</tt>, other options <tt>:create</tt>, <tt>:update</tt>).
# * <tt>:if</tt> - Specifies a method, proc or string to call to determine if the validation should
@@ -813,7 +824,7 @@ module ActiveRecord
if scope = configuration[:scope]
Array(scope).map do |scope_item|
scope_value = record.send(scope_item)
- condition_sql << " AND " << attribute_condition("#{record.class.quoted_table_name}.#{scope_item}", scope_value)
+ condition_sql << " AND " << attribute_condition("#{record.class.quoted_table_name}.#{connection.quote_column_name(scope_item)}", scope_value)
condition_params << scope_value
end
end
@@ -873,7 +884,7 @@ module ActiveRecord
# class Person < ActiveRecord::Base
# validates_inclusion_of :gender, :in => %w( m f )
# validates_inclusion_of :age, :in => 0..99
- # validates_inclusion_of :format, :in => %w( jpg gif png ), :message => "extension {{value}} is not included in the list"
+ # validates_inclusion_of :format, :in => %w( jpg gif png ), :message => "extension %{value} is not included in the list"
# end
#
# Configuration options:
@@ -907,7 +918,7 @@ module ActiveRecord
# class Person < ActiveRecord::Base
# validates_exclusion_of :username, :in => %w( admin superuser ), :message => "You don't belong here"
# validates_exclusion_of :age, :in => 30..60, :message => "This site is only for under 30 and over 60"
- # validates_exclusion_of :format, :in => %w( mov avi ), :message => "extension {{value}} is not allowed"
+ # validates_exclusion_of :format, :in => %w( mov avi ), :message => "extension %{value} is not allowed"
# end
#
# Configuration options:
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/version.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/version.rb
index d9a0fc28a34..d0291047767 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/version.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/version.rb
@@ -2,7 +2,7 @@ module ActiveRecord
module VERSION #:nodoc:
MAJOR = 2
MINOR = 3
- TINY = 5
+ TINY = 14
STRING = [MAJOR, MINOR, TINY].join('.')
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/activerecord.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/activerecord.rb
index bb6a0db2e0b..bb6a0db2e0b 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/activerecord.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/activerecord.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/.gemtest b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/.gemtest
index e69de29bb2d..e69de29bb2d 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/.gemtest
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/.gemtest
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/.specification b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/.specification
index 4f822db8c5a..4f822db8c5a 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/.specification
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/.specification
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/History.txt b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/History.txt
index f1a92304969..f1a92304969 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/History.txt
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/History.txt
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/LICENSE.txt b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/LICENSE.txt
index a1a5a8c1163..a1a5a8c1163 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/LICENSE.txt
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/LICENSE.txt
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/Manifest.txt b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/Manifest.txt
index 79054a8d699..79054a8d699 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/Manifest.txt
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/Manifest.txt
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/README.txt b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/README.txt
index a13afdfc730..a13afdfc730 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/README.txt
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/README.txt
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/Rakefile b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/Rakefile
index 3181c30ab76..3181c30ab76 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/Rakefile
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/Rakefile
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/derby_adapter.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/derby_adapter.rb
index 9ca9c42d116..9ca9c42d116 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/derby_adapter.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/derby_adapter.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/h2_adapter.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/h2_adapter.rb
index ba3f8abf327..ba3f8abf327 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/h2_adapter.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/h2_adapter.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/hsqldb_adapter.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/hsqldb_adapter.rb
index 2f31a77f1a8..2f31a77f1a8 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/hsqldb_adapter.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/hsqldb_adapter.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/informix_adapter.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/informix_adapter.rb
index 331c057d699..331c057d699 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/informix_adapter.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/informix_adapter.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/jdbc_adapter.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/jdbc_adapter.rb
index f81c6b436ee..f81c6b436ee 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/jdbc_adapter.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/jdbc_adapter.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/jndi_adapter.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/jndi_adapter.rb
index f81c6b436ee..f81c6b436ee 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/jndi_adapter.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/jndi_adapter.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/mssql_adapter.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/mssql_adapter.rb
index 525a9a31225..525a9a31225 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/mssql_adapter.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/mssql_adapter.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/mysql2_adapter.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/mysql2_adapter.rb
index 51e0c782205..51e0c782205 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/mysql2_adapter.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/mysql2_adapter.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/mysql_adapter.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/mysql_adapter.rb
index 51e0c782205..51e0c782205 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/mysql_adapter.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/mysql_adapter.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/oracle_adapter.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/oracle_adapter.rb
index 3f14e5ac0a1..3f14e5ac0a1 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/oracle_adapter.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/oracle_adapter.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/postgresql_adapter.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/postgresql_adapter.rb
index 1872e0b9916..1872e0b9916 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/postgresql_adapter.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/postgresql_adapter.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/sqlite3_adapter.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/sqlite3_adapter.rb
index 6a6cac7fa73..6a6cac7fa73 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/sqlite3_adapter.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/sqlite3_adapter.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/activerecord-jdbc-adapter.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/activerecord-jdbc-adapter.rb
index 7c7a33b632a..7c7a33b632a 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/activerecord-jdbc-adapter.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/activerecord-jdbc-adapter.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/engines/sql/compilers/db2_compiler.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/engines/sql/compilers/db2_compiler.rb
index 3766e48352d..3766e48352d 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/engines/sql/compilers/db2_compiler.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/engines/sql/compilers/db2_compiler.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/engines/sql/compilers/derby_compiler.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/engines/sql/compilers/derby_compiler.rb
index e88fb166b68..e88fb166b68 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/engines/sql/compilers/derby_compiler.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/engines/sql/compilers/derby_compiler.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/engines/sql/compilers/h2_compiler.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/engines/sql/compilers/h2_compiler.rb
index 7e37bb49689..7e37bb49689 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/engines/sql/compilers/h2_compiler.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/engines/sql/compilers/h2_compiler.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/engines/sql/compilers/hsqldb_compiler.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/engines/sql/compilers/hsqldb_compiler.rb
index c6ca111b5c3..c6ca111b5c3 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/engines/sql/compilers/hsqldb_compiler.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/engines/sql/compilers/hsqldb_compiler.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/engines/sql/compilers/jdbc_compiler.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/engines/sql/compilers/jdbc_compiler.rb
index 5ac6fa55309..5ac6fa55309 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/engines/sql/compilers/jdbc_compiler.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/engines/sql/compilers/jdbc_compiler.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/engines/sql/compilers/mssql_compiler.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/engines/sql/compilers/mssql_compiler.rb
index c54bba77ee1..c54bba77ee1 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/engines/sql/compilers/mssql_compiler.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/engines/sql/compilers/mssql_compiler.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/visitors/compat.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/visitors/compat.rb
index c0b4e12d498..c0b4e12d498 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/visitors/compat.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/visitors/compat.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/visitors/db2.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/visitors/db2.rb
index 926f5be6eec..926f5be6eec 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/visitors/db2.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/visitors/db2.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/visitors/derby.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/visitors/derby.rb
index 4d058bbe1d9..4d058bbe1d9 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/visitors/derby.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/visitors/derby.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/visitors/firebird.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/visitors/firebird.rb
index 129edb1d789..129edb1d789 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/visitors/firebird.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/visitors/firebird.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/visitors/hsqldb.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/visitors/hsqldb.rb
index 0f88e1ac148..0f88e1ac148 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/visitors/hsqldb.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/visitors/hsqldb.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/visitors/sql_server.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/visitors/sql_server.rb
index 7562132ab53..7562132ab53 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/visitors/sql_server.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/visitors/sql_server.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc.rb
index 6ca5d2f1a51..6ca5d2f1a51 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/db2.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/db2.rb
index 31b44b76de3..31b44b76de3 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/db2.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/db2.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/db2/adapter.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/db2/adapter.rb
index 75144c536f0..75144c536f0 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/db2/adapter.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/db2/adapter.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/derby.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/derby.rb
index e7d557a96e1..e7d557a96e1 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/derby.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/derby.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/derby/adapter.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/derby/adapter.rb
index 08812bb4da0..08812bb4da0 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/derby/adapter.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/derby/adapter.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/derby/connection_methods.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/derby/connection_methods.rb
index 6062791c5ee..6062791c5ee 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/derby/connection_methods.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/derby/connection_methods.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/discover.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/discover.rb
index a07ed04ac7f..a07ed04ac7f 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/discover.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/discover.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/firebird.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/firebird.rb
index 8a5e4067dc6..8a5e4067dc6 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/firebird.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/firebird.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/firebird/adapter.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/firebird/adapter.rb
index 4a82ca8224e..4a82ca8224e 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/firebird/adapter.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/firebird/adapter.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/h2.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/h2.rb
index f8f67566b62..f8f67566b62 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/h2.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/h2.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/h2/adapter.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/h2/adapter.rb
index f61fcab85ed..f61fcab85ed 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/h2/adapter.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/h2/adapter.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/h2/connection_methods.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/h2/connection_methods.rb
index dc373083a76..dc373083a76 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/h2/connection_methods.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/h2/connection_methods.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/hsqldb.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/hsqldb.rb
index 6780588514b..6780588514b 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/hsqldb.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/hsqldb.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/hsqldb/adapter.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/hsqldb/adapter.rb
index 5938b7f985c..5938b7f985c 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/hsqldb/adapter.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/hsqldb/adapter.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/hsqldb/connection_methods.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/hsqldb/connection_methods.rb
index 51f0720e850..51f0720e850 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/hsqldb/connection_methods.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/hsqldb/connection_methods.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/informix.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/informix.rb
index c418ba2662e..c418ba2662e 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/informix.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/informix.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/informix/adapter.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/informix/adapter.rb
index 55d10efef61..55d10efef61 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/informix/adapter.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/informix/adapter.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/informix/connection_methods.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/informix/connection_methods.rb
index aef28ff5923..aef28ff5923 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/informix/connection_methods.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/informix/connection_methods.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc.rb
index f508d9845c3..f508d9845c3 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/adapter.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/adapter.rb
index ac44408fef4..ac44408fef4 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/adapter.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/adapter.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/adapter_java.jar b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/adapter_java.jar
index a1bd68c58fa..a1bd68c58fa 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/adapter_java.jar
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/adapter_java.jar
Binary files differ
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/callbacks.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/callbacks.rb
index 27375c60a68..27375c60a68 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/callbacks.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/callbacks.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/column.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/column.rb
index d307fcc7312..d307fcc7312 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/column.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/column.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/compatibility.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/compatibility.rb
index e310a30d92f..e310a30d92f 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/compatibility.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/compatibility.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/connection.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/connection.rb
index 0d37eace4fe..0d37eace4fe 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/connection.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/connection.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/connection_methods.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/connection_methods.rb
index 8305592861e..8305592861e 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/connection_methods.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/connection_methods.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/core_ext.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/core_ext.rb
index 7d9df170906..7d9df170906 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/core_ext.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/core_ext.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/discover.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/discover.rb
index 346cf565957..346cf565957 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/discover.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/discover.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/driver.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/driver.rb
index fb8665271b7..fb8665271b7 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/driver.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/driver.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/extension.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/extension.rb
index 0e94087d8e8..0e94087d8e8 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/extension.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/extension.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/java.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/java.rb
index 1cea22f91b8..1cea22f91b8 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/java.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/java.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/jdbc.rake b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/jdbc.rake
index bd8f8694417..bd8f8694417 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/jdbc.rake
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/jdbc.rake
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/missing_functionality_helper.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/missing_functionality_helper.rb
index 53df2c0469d..53df2c0469d 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/missing_functionality_helper.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/missing_functionality_helper.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/quoted_primary_key.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/quoted_primary_key.rb
index b91185eab29..b91185eab29 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/quoted_primary_key.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/quoted_primary_key.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/railtie.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/railtie.rb
index 26a61191329..26a61191329 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/railtie.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/railtie.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/rake_tasks.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/rake_tasks.rb
index 186b0dbd13c..186b0dbd13c 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/rake_tasks.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/rake_tasks.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/require_driver.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/require_driver.rb
index 524b5cdf8ba..524b5cdf8ba 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/require_driver.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/require_driver.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/type_converter.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/type_converter.rb
index eca9da0933d..eca9da0933d 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/type_converter.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/type_converter.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mimer.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mimer.rb
index cc6e6349dd7..cc6e6349dd7 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mimer.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mimer.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mimer/adapter.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mimer/adapter.rb
index f7cd65d60b1..f7cd65d60b1 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mimer/adapter.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mimer/adapter.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mssql.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mssql.rb
index ae9eb889c11..ae9eb889c11 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mssql.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mssql.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mssql/adapter.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mssql/adapter.rb
index 6513da01f9d..6513da01f9d 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mssql/adapter.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mssql/adapter.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mssql/connection_methods.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mssql/connection_methods.rb
index 46d3eba8162..46d3eba8162 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mssql/connection_methods.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mssql/connection_methods.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mssql/limit_helpers.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mssql/limit_helpers.rb
index 85e57ac5935..85e57ac5935 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mssql/limit_helpers.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mssql/limit_helpers.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mssql/tsql_helper.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mssql/tsql_helper.rb
index ea20e8fcf4b..ea20e8fcf4b 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mssql/tsql_helper.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mssql/tsql_helper.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mysql.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mysql.rb
index bc9aaa11828..bc9aaa11828 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mysql.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mysql.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mysql/adapter.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mysql/adapter.rb
index 891d59ae89d..891d59ae89d 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mysql/adapter.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mysql/adapter.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mysql/connection_methods.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mysql/connection_methods.rb
index a1267f6da01..a1267f6da01 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mysql/connection_methods.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mysql/connection_methods.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/oracle.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/oracle.rb
index 5c0645defab..5c0645defab 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/oracle.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/oracle.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/oracle/adapter.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/oracle/adapter.rb
index d0f08a2974b..d0f08a2974b 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/oracle/adapter.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/oracle/adapter.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/oracle/connection_methods.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/oracle/connection_methods.rb
index 2f35ba4197e..2f35ba4197e 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/oracle/connection_methods.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/oracle/connection_methods.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/postgresql.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/postgresql.rb
index a707f0c00e6..a707f0c00e6 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/postgresql.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/postgresql.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/postgresql/adapter.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/postgresql/adapter.rb
index 28a42647bc5..28a42647bc5 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/postgresql/adapter.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/postgresql/adapter.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/postgresql/connection_methods.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/postgresql/connection_methods.rb
index 323b3bc3c30..323b3bc3c30 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/postgresql/connection_methods.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/postgresql/connection_methods.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/sqlite3.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/sqlite3.rb
index 1d60cda2ef4..1d60cda2ef4 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/sqlite3.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/sqlite3.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/sqlite3/adapter.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/sqlite3/adapter.rb
index c3556060388..c3556060388 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/sqlite3/adapter.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/sqlite3/adapter.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/sqlite3/connection_methods.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/sqlite3/connection_methods.rb
index 8e4d9769f55..8e4d9769f55 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/sqlite3/connection_methods.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/sqlite3/connection_methods.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/sybase.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/sybase.rb
index 86b3b40e56c..86b3b40e56c 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/sybase.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/sybase.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/sybase/adapter.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/sybase/adapter.rb
index 02096a4cdb6..02096a4cdb6 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/sybase/adapter.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/sybase/adapter.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/version.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/version.rb
index 503ef20d4fb..503ef20d4fb 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/version.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/version.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/generators/jdbc/jdbc_generator.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/generators/jdbc/jdbc_generator.rb
index 372b640e0dd..372b640e0dd 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/generators/jdbc/jdbc_generator.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/generators/jdbc/jdbc_generator.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/jdbc_adapter.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/jdbc_adapter.rb
index 29f503be77e..29f503be77e 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/jdbc_adapter.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/jdbc_adapter.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/jdbc_adapter/rake_tasks.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/jdbc_adapter/rake_tasks.rb
index b95ebcd3f26..b95ebcd3f26 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/jdbc_adapter/rake_tasks.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/jdbc_adapter/rake_tasks.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/jdbc_adapter/version.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/jdbc_adapter/version.rb
index 5ed33f15bc2..5ed33f15bc2 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/jdbc_adapter/version.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/jdbc_adapter/version.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/pg.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/pg.rb
index 4a7759d56ae..4a7759d56ae 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/pg.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/pg.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/.rspec b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/.rspec
index a5faa1d6a36..a5faa1d6a36 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/.rspec
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/.rspec
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/.specification b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/.specification
index df761461fef..df761461fef 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/.specification
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/.specification
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/Gemfile b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/Gemfile
index 0d9fe3c6391..0d9fe3c6391 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/Gemfile
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/Gemfile
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/History.txt b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/History.txt
index cddf45d7e6e..cddf45d7e6e 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/History.txt
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/History.txt
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/License.txt b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/License.txt
index 7b4cc05e90a..7b4cc05e90a 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/License.txt
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/License.txt
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/README.md b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/README.md
index 794bf3b74eb..794bf3b74eb 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/README.md
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/README.md
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/RUNNING_TESTS.md b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/RUNNING_TESTS.md
index 87655f85247..87655f85247 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/RUNNING_TESTS.md
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/RUNNING_TESTS.md
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/Rakefile b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/Rakefile
index e757684e7d8..e757684e7d8 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/Rakefile
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/Rakefile
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/VERSION b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/VERSION
index 88c5fb891dc..88c5fb891dc 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/VERSION
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/VERSION
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/activerecord-oracle_enhanced-adapter.gemspec b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/activerecord-oracle_enhanced-adapter.gemspec
index 9833bab3f9c..9833bab3f9c 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/activerecord-oracle_enhanced-adapter.gemspec
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/activerecord-oracle_enhanced-adapter.gemspec
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/emulation/oracle_adapter.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/emulation/oracle_adapter.rb
index 94254dc8105..94254dc8105 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/emulation/oracle_adapter.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/emulation/oracle_adapter.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced.rake b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced.rake
index 38802a16b2c..38802a16b2c 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced.rake
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced.rake
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_activerecord_patches.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_activerecord_patches.rb
index ddce35c181f..ddce35c181f 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_activerecord_patches.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_activerecord_patches.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_adapter.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_adapter.rb
index 4be974af279..4be974af279 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_adapter.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_adapter.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_base_ext.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_base_ext.rb
index b9a2f533b8e..b9a2f533b8e 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_base_ext.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_base_ext.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_column.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_column.rb
index 084713907bc..084713907bc 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_column.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_column.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_connection.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_connection.rb
index 22fe32dcc33..22fe32dcc33 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_connection.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_connection.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_context_index.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_context_index.rb
index ef296d22945..ef296d22945 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_context_index.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_context_index.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_core_ext.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_core_ext.rb
index 0570c0e4b99..0570c0e4b99 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_core_ext.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_core_ext.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_cpk.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_cpk.rb
index 05cae114e84..05cae114e84 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_cpk.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_cpk.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_dirty.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_dirty.rb
index 9c9df304795..9c9df304795 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_dirty.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_dirty.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_jdbc_connection.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_jdbc_connection.rb
index 7f709da824f..7f709da824f 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_jdbc_connection.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_jdbc_connection.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_oci_connection.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_oci_connection.rb
index 8f56d7014c6..8f56d7014c6 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_oci_connection.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_oci_connection.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_procedures.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_procedures.rb
index 6c3c325dcc6..6c3c325dcc6 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_procedures.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_procedures.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_schema_definitions.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_schema_definitions.rb
index a2df72951ca..a2df72951ca 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_schema_definitions.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_schema_definitions.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_schema_dumper.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_schema_dumper.rb
index fff24546ec2..fff24546ec2 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_schema_dumper.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_schema_dumper.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_schema_statements.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_schema_statements.rb
index 86e24d04859..86e24d04859 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_schema_statements.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_schema_statements.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_schema_statements_ext.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_schema_statements_ext.rb
index 39b7b18ff35..39b7b18ff35 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_schema_statements_ext.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_schema_statements_ext.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_structure_dump.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_structure_dump.rb
index f4507e7154b..f4507e7154b 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_structure_dump.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_structure_dump.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_tasks.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_tasks.rb
index 2b16cf645e4..2b16cf645e4 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_tasks.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_tasks.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_version.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_version.rb
index 2f55d1e54a6..2f55d1e54a6 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_version.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_version.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/activerecord-oracle_enhanced-adapter.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/activerecord-oracle_enhanced-adapter.rb
index 69e13b54230..69e13b54230 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/activerecord-oracle_enhanced-adapter.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/activerecord-oracle_enhanced-adapter.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/CHANGELOG b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activeresource-2.3.14/CHANGELOG
index 272c0ab2052..bbd33e6c669 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/CHANGELOG
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activeresource-2.3.14/CHANGELOG
@@ -1,3 +1,17 @@
+*2.3.11 (February 9, 2011)*
+*2.3.10 (October 15, 2010)*
+*2.3.9 (September 4, 2010)*
+*2.3.8 (May 24, 2010)*
+*2.3.7 (May 24, 2010)*
+
+* Version bump.
+
+
+*2.3.6 (May 23, 2010)*
+
+* No changes, just a version bump.
+
+
*2.3.5 (November 25, 2009)*
* Minor Bug Fixes and deprecation warnings
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/README b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activeresource-2.3.14/README
index 924017a6590..924017a6590 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/README
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activeresource-2.3.14/README
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/Rakefile b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activeresource-2.3.14/Rakefile
index ee758364715..f153513da7f 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/Rakefile
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activeresource-2.3.14/Rakefile
@@ -1,9 +1,9 @@
require 'rubygems'
require 'rake'
require 'rake/testtask'
-require 'rake/rdoctask'
+require 'rdoc/task'
require 'rake/packagetask'
-require 'rake/gempackagetask'
+require 'rubygems/package_task'
require File.join(File.dirname(__FILE__), 'lib', 'active_resource', 'version')
@@ -38,7 +38,7 @@ Rake::TestTask.new { |t|
# Generate the RDoc documentation
-Rake::RDocTask.new { |rdoc|
+RDoc::Task.new { |rdoc|
rdoc.rdoc_dir = 'doc'
rdoc.title = "Active Resource -- Object-oriented REST services"
rdoc.options << '--line-numbers' << '--inline-source' << '-A cattr_accessor=object'
@@ -66,12 +66,10 @@ spec = Gem::Specification.new do |s|
s.files = s.files + Dir.glob( "#{dir}/**/*" ).delete_if { |item| item.include?( "\.svn" ) }
end
- s.add_dependency('activesupport', '= 2.3.5' + PKG_BUILD)
+ s.add_dependency('activesupport', '= 2.3.14' + PKG_BUILD)
s.require_path = 'lib'
- s.autorequire = 'active_resource'
- s.has_rdoc = true
s.extra_rdoc_files = %w( README )
s.rdoc_options.concat ['--main', 'README']
@@ -81,7 +79,7 @@ spec = Gem::Specification.new do |s|
s.rubyforge_project = "activeresource"
end
-Rake::GemPackageTask.new(spec) do |p|
+Gem::PackageTask.new(spec) do |p|
p.gem_spec = spec
p.need_tar = true
p.need_zip = true
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/lib/active_resource.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activeresource-2.3.14/lib/active_resource.rb
index db9007060f3..db9007060f3 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/lib/active_resource.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activeresource-2.3.14/lib/active_resource.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/lib/active_resource/base.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activeresource-2.3.14/lib/active_resource/base.rb
index e25002b6578..94b2322c971 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/lib/active_resource/base.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activeresource-2.3.14/lib/active_resource/base.rb
@@ -227,6 +227,9 @@ module ActiveResource
# The logger for diagnosing and tracing Active Resource calls.
cattr_accessor :logger
+ # Controls the top-level behavior of JSON serialization
+ cattr_accessor :include_root_in_json, :instance_writer => false
+
class << self
# Gets the URI of the REST resources to map for this class. The site variable is required for
# Active Resource's mapping to work.
@@ -431,11 +434,11 @@ module ActiveResource
@prefix_parameters = nil
# Redefine the new methods.
- code = <<-end_code
+ code, line = <<-end_code, __LINE__ + 1
def prefix_source() "#{value}" end
def prefix(options={}) "#{prefix_call}" end
end_code
- silence_warnings { instance_eval code, __FILE__, __LINE__ }
+ silence_warnings { instance_eval code, __FILE__, line }
rescue
logger.error "Couldn't set prefix: #{$!}\n #{code}"
raise
@@ -971,6 +974,12 @@ module ActiveResource
case self.class.format
when ActiveResource::Formats[:xml]
self.class.format.encode(attributes, {:root => self.class.element_name}.merge(options))
+ when ActiveResource::Formats::JsonFormat
+ if ActiveResource::Base.include_root_in_json
+ self.class.format.encode({self.class.element_name => attributes}, options)
+ else
+ self.class.format.encode(attributes, options)
+ end
else
self.class.format.encode(attributes, options)
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/lib/active_resource/connection.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activeresource-2.3.14/lib/active_resource/connection.rb
index 768b8c99939..768b8c99939 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/lib/active_resource/connection.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activeresource-2.3.14/lib/active_resource/connection.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/lib/active_resource/custom_methods.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activeresource-2.3.14/lib/active_resource/custom_methods.rb
index 4647e8342c2..4647e8342c2 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/lib/active_resource/custom_methods.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activeresource-2.3.14/lib/active_resource/custom_methods.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/lib/active_resource/exceptions.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activeresource-2.3.14/lib/active_resource/exceptions.rb
index 0631cdcf9f1..0631cdcf9f1 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/lib/active_resource/exceptions.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activeresource-2.3.14/lib/active_resource/exceptions.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/lib/active_resource/formats.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activeresource-2.3.14/lib/active_resource/formats.rb
index 28864cf588f..28864cf588f 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/lib/active_resource/formats.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activeresource-2.3.14/lib/active_resource/formats.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/lib/active_resource/formats/json_format.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activeresource-2.3.14/lib/active_resource/formats/json_format.rb
index 127e828893b..127e828893b 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/lib/active_resource/formats/json_format.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activeresource-2.3.14/lib/active_resource/formats/json_format.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/lib/active_resource/formats/xml_format.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activeresource-2.3.14/lib/active_resource/formats/xml_format.rb
index 86c6cec745d..86c6cec745d 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/lib/active_resource/formats/xml_format.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activeresource-2.3.14/lib/active_resource/formats/xml_format.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/lib/active_resource/http_mock.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activeresource-2.3.14/lib/active_resource/http_mock.rb
index 7d7e3784368..e6a595fb80b 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/lib/active_resource/http_mock.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activeresource-2.3.14/lib/active_resource/http_mock.rb
@@ -29,7 +29,8 @@ module ActiveResource
#
# In order for a mock to deliver its content, the incoming request must match by the <tt>http_method</tt>,
# +path+ and <tt>request_headers</tt>. If no match is found an InvalidRequestError exception
- # will be raised letting you know you need to create a new mock for that request.
+ # will be raised showing you what request it could not find a response for and also what requests and response
+ # pairs have been recorded so you can create a new mock for that request.
#
# ==== Example
# def setup
@@ -57,7 +58,7 @@ module ActiveResource
# def post(path, request_headers = {}, body = nil, status = 200, response_headers = {})
# @responses[Request.new(:post, path, nil, request_headers)] = Response.new(body || "", status, response_headers)
# end
- module_eval <<-EOE, __FILE__, __LINE__
+ module_eval <<-EOE, __FILE__, __LINE__ + 1
def #{method}(path, request_headers = {}, body = nil, status = 200, response_headers = {})
@responses << [Request.new(:#{method}, path, nil, request_headers), Response.new(body || "", status, response_headers)]
end
@@ -97,10 +98,79 @@ module ActiveResource
@@responses ||= []
end
- # Accepts a block which declares a set of requests and responses for the HttpMock to respond to. See the main
- # ActiveResource::HttpMock description for a more detailed explanation.
- def respond_to(pairs = {}) #:yields: mock
- reset!
+ # Accepts a block which declares a set of requests and responses for the HttpMock to respond to in
+ # the following format:
+ #
+ # mock.http_method(path, request_headers = {}, body = nil, status = 200, response_headers = {})
+ #
+ # === Example
+ #
+ # @matz = { :id => 1, :name => "Matz" }.to_xml(:root => "person")
+ # ActiveResource::HttpMock.respond_to do |mock|
+ # mock.post "/people.xml", {}, @matz, 201, "Location" => "/people/1.xml"
+ # mock.get "/people/1.xml", {}, @matz
+ # mock.put "/people/1.xml", {}, nil, 204
+ # mock.delete "/people/1.xml", {}, nil, 200
+ # end
+ #
+ # Alternatively, accepts a hash of <tt>{Request => Response}</tt> pairs allowing you to generate
+ # these the following format:
+ #
+ # ActiveResource::Request.new(method, path, body, request_headers)
+ # ActiveResource::Response.new(body, status, response_headers)
+ #
+ # === Example
+ #
+ # Request.new(:#{method}, path, nil, request_headers)
+ #
+ # @matz = { :id => 1, :name => "Matz" }.to_xml(:root => "person")
+ #
+ # create_matz = ActiveResource::Request.new(:post, '/people.xml', @matz, {})
+ # created_response = ActiveResource::Response.new("", 201, {"Location" => "/people/1.xml"})
+ # get_matz = ActiveResource::Request.new(:get, '/people/1.xml', nil)
+ # ok_response = ActiveResource::Response.new("", 200, {})
+ #
+ # pairs = {create_matz => created_response, get_matz => ok_response}
+ #
+ # ActiveResource::HttpMock.respond_to(pairs)
+ #
+ # Note, by default, every time you call +respond_to+, any previous request and response pairs stored
+ # in HttpMock will be deleted giving you a clean slate to work on.
+ #
+ # If you want to override this behaviour, pass in +false+ as the last argument to +respond_to+
+ #
+ # === Example
+ #
+ # ActiveResource::HttpMock.respond_to do |mock|
+ # mock.send(:get, "/people/1", {}, "XML1")
+ # end
+ # ActiveResource::HttpMock.responses.length #=> 1
+ #
+ # ActiveResource::HttpMock.respond_to(false) do |mock|
+ # mock.send(:get, "/people/2", {}, "XML2")
+ # end
+ # ActiveResource::HttpMock.responses.length #=> 2
+ #
+ # This also works with passing in generated pairs of requests and responses, again, just pass in false
+ # as the last argument:
+ #
+ # === Example
+ #
+ # ActiveResource::HttpMock.respond_to do |mock|
+ # mock.send(:get, "/people/1", {}, "XML1")
+ # end
+ # ActiveResource::HttpMock.responses.length #=> 1
+ #
+ # get_matz = ActiveResource::Request.new(:get, '/people/1.xml', nil)
+ # ok_response = ActiveResource::Response.new("", 200, {})
+ #
+ # pairs = {get_matz => ok_response}
+ #
+ # ActiveResource::HttpMock.respond_to(pairs, false)
+ # ActiveResource::HttpMock.responses.length #=> 2
+ def respond_to(*args) #:yields: mock
+ pairs = args.first || {}
+ reset! if args.last.class != FalseClass
responses.concat pairs.to_a
if block_given?
yield Responder.new(responses)
@@ -123,13 +193,21 @@ module ActiveResource
# def post(path, body, headers)
# request = ActiveResource::Request.new(:post, path, body, headers)
# self.class.requests << request
- # self.class.responses.assoc(request).try(:second) || raise(InvalidRequestError.new("No response recorded for #{request}"))
+ # if response = self.class.responses.assoc(request)
+ # response[1]
+ # else
+ # raise InvalidRequestError.new("Could not find a response recorded for #{request.to_s} - Responses recorded are: - #{inspect_responses}")
+ # end
# end
- module_eval <<-EOE, __FILE__, __LINE__
+ module_eval <<-EOE, __FILE__, __LINE__ + 1
def #{method}(path, #{'body, ' if has_body}headers)
request = ActiveResource::Request.new(:#{method}, path, #{has_body ? 'body, ' : 'nil, '}headers)
self.class.requests << request
- self.class.responses.assoc(request).try(:second) || raise(InvalidRequestError.new("No response recorded for \#{request}"))
+ if response = self.class.responses.assoc(request)
+ response[1]
+ else
+ raise InvalidRequestError.new("Could not find a response recorded for \#{request.to_s} - Responses recorded are: \#{inspect_responses}")
+ end
end
EOE
end
@@ -138,22 +216,39 @@ module ActiveResource
def initialize(site) #:nodoc:
@site = site
end
+
+ def inspect_responses #:nodoc:
+ self.class.responses.map { |r| r[0].to_s }.inspect
+ end
end
class Request
attr_accessor :path, :method, :body, :headers
def initialize(method, path, body = nil, headers = {})
- @method, @path, @body, @headers = method, path, body, headers.merge(ActiveResource::Connection::HTTP_FORMAT_HEADER_NAMES[method] => 'application/xml')
+ @method, @path, @body, @headers = method, path, body, headers
end
def ==(req)
- path == req.path && method == req.method && headers == req.headers
+ path == req.path && method == req.method && headers_match?(req)
end
def to_s
"<#{method.to_s.upcase}: #{path} [#{headers}] (#{body})>"
end
+
+ private
+
+ def headers_match?(req)
+ # Ignore format header on equality if it's not defined
+ format_header = ActiveResource::Connection::HTTP_FORMAT_HEADER_NAMES[method]
+ if headers[format_header].present? || req.headers[format_header].blank?
+ headers == req.headers
+ else
+ headers.dup.merge(format_header => req.headers[format_header]) == req.headers
+ end
+ end
+
end
class Response
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/lib/active_resource/validations.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activeresource-2.3.14/lib/active_resource/validations.rb
index 56621dd96dc..f5aa24f001d 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/lib/active_resource/validations.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activeresource-2.3.14/lib/active_resource/validations.rb
@@ -259,10 +259,10 @@ module ActiveResource
save_without_validation
true
rescue ResourceInvalid => error
- case error.response['Content-Type']
- when /xml/
+ case self.class.format
+ when ActiveResource::Formats[:xml]
errors.from_xml(error.response.body)
- when /json/
+ when ActiveResource::Formats[:json]
errors.from_json(error.response.body)
end
false
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/lib/active_resource/version.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activeresource-2.3.14/lib/active_resource/version.rb
index 8833db9a26b..d8b34f12532 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/lib/active_resource/version.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activeresource-2.3.14/lib/active_resource/version.rb
@@ -2,7 +2,7 @@ module ActiveResource
module VERSION #:nodoc:
MAJOR = 2
MINOR = 3
- TINY = 5
+ TINY = 14
STRING = [MAJOR, MINOR, TINY].join('.')
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/lib/activeresource.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activeresource-2.3.14/lib/activeresource.rb
index 666656cc995..666656cc995 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/lib/activeresource.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activeresource-2.3.14/lib/activeresource.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/CHANGELOG b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/CHANGELOG
index 41f63c460a1..600b5703860 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/CHANGELOG
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/CHANGELOG
@@ -1,17 +1,70 @@
+*2.3.11 (February 9, 2011)*
+
+*2.3.10 (October 15, 2010)*
+
+
+*2.3.9 (September 4, 2010)*
+
+* i18n: bundle i18n 0.4.1 for forward compatibility with Rails 3. Deprecates {{foo}} interpolation syntax in favor of 1.9-native %{foo}.
+
+* Deprecate Kernel#returning in favor of Object#tap since it's included in Ruby 1.8.7 and later. [Santiago Pastorino]
+
+* Deprecates ActiveSupport::Dependencies.load_(once_)paths, renamed to autoload_(once_)paths. [fxn]
+
+* Deprecates Array#random_element, renamed to sample to match Ruby 1.9, thanks to Marc-Andre Lafortune. [fxn]
+
+
+*2.3.8 (May 24, 2010)*
+
+* Version bump.
+
+
+*2.3.7 (May 24, 2010)*
+
+* HTML safety: fix compatibility with the optional rails_xss plugin. [Nathan Weizenbaum, Santiago Pastorino]
+
+
+*2.3.6 (May 23, 2010)*
+
+* 1.9 compat: deprecated last_(month|year) in favor of prev_(month|year). [fxn]
+
+* Deprecated Array#rand in favor of Array#random_element. [Santiago Pastorino, Rizwan Reza]
+
+* Added Object#presence that returns the object if it's #present? otherwise returns nil [DHH/Colin Kelley]
+
+* New assertions assert_blank and assert_present. #4299 [Juanjo Bazan]
+
+* Use Object#singleton_class instead of #metaclass. Prefer Ruby's choice. [Jeremy Kemper]
+
+* JSON backend for YAJL. Preferred if available. #2666 [Brian Lopez]
+
+* Introduce String#html_safe for rails_xss plugin and forward-compatibility with Rails 3. [Michael Koziarski, Santiago Pastorino, José Ignacio Costa]
+
+* Time#- with a DateTime argument behaves the same as with a Time argument, i.e. returns the difference between self and arg as a Float #3476 [Geoff Buesing]
+
+* YAML serialization for OrderedHash. #3608 [Gregor Schmidt]
+
+* Add Enumerable#exclude? to bring parity to Enumerable#include? and avoid if !x.include?/else calls [DHH]
+
+
*2.3.5 (November 25, 2009)*
* Minor Bug Fixes and deprecation warnings
+* Update Edinburgh TimeZone to use "Europe/London" instead of "Europe/Dublin" #3310 [Phil Ross]
+
* Fixes for the Nokogiri backend for XmlMini
* Ruby 1.9 Compatibility
+
*2.3.4 (September 4, 2009)*
* Introduce ActiveSupport::Multibyte.clean to clean invalid multibyte strings.
* Bug fixes
+
*2.3.3 (July 12, 2009)*
* JSON: +Object#to_json+ calls +as_json+ to coerce itself into something natively encodable like +Hash+, +Integer+, or +String+. Override +as_json+ instead of +to_json+ so you're JSON-library-agnostic. [Jeremy Kemper]
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/README b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/README
index 9fb9a80cbe5..9fb9a80cbe5 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/README
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/README
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support.rb
index 7ebb3c48e05..3d91dc663fd 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support.rb
@@ -44,6 +44,7 @@ module ActiveSupport
autoload :OrderedHash, 'active_support/ordered_hash'
autoload :OrderedOptions, 'active_support/ordered_options'
autoload :Rescuable, 'active_support/rescuable'
+ autoload :SafeBuffer, 'active_support/core_ext/string/output_safety'
autoload :SecureRandom, 'active_support/secure_random'
autoload :StringInquirer, 'active_support/string_inquirer'
autoload :TimeWithZone, 'active_support/time_with_zone'
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/all.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/all.rb
index 8a8805eea52..8a8805eea52 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/all.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/all.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/backtrace_cleaner.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/backtrace_cleaner.rb
index 0e262c003e4..0e262c003e4 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/backtrace_cleaner.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/backtrace_cleaner.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/base64.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/base64.rb
index acb8e5a967f..acb8e5a967f 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/base64.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/base64.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/basic_object.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/basic_object.rb
new file mode 100755
index 00000000000..3b5277c2055
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/basic_object.rb
@@ -0,0 +1,21 @@
+module ActiveSupport
+ if defined? ::BasicObject
+ # A class with no predefined methods that behaves similarly to Builder's
+ # BlankSlate. Used for proxy classes.
+ class BasicObject < ::BasicObject
+ undef_method :==
+ undef_method :equal?
+
+ # Let ActiveSupport::BasicObject at least raise exceptions.
+ def raise(*args)
+ ::Object.send(:raise, *args)
+ end
+ end
+ else
+ class BasicObject #:nodoc:
+ instance_methods.each do |m|
+ undef_method(m) if m.to_s !~ /(?:^__|^nil\?$|^send$|^object_id$)/
+ end
+ end
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/buffered_logger.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/buffered_logger.rb
index 33bcf327f8a..63c61543e0d 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/buffered_logger.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/buffered_logger.rb
@@ -1,3 +1,5 @@
+require 'thread'
+
module ActiveSupport
# Inspired by the buffered logger idea by Ezra
class BufferedLogger
@@ -67,7 +69,7 @@ module ActiveSupport
end
for severity in Severity.constants
- class_eval <<-EOT, __FILE__, __LINE__
+ class_eval <<-EOT, __FILE__, __LINE__ + 1
def #{severity.downcase}(message = nil, progname = nil, &block) # def debug(message = nil, progname = nil, &block)
add(#{severity}, message, progname, &block) # add(DEBUG, message, progname, &block)
end # end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/cache.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/cache.rb
index 070ba12953e..070ba12953e 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/cache.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/cache.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/cache/compressed_mem_cache_store.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/cache/compressed_mem_cache_store.rb
index d87eb173371..d87eb173371 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/cache/compressed_mem_cache_store.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/cache/compressed_mem_cache_store.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/cache/drb_store.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/cache/drb_store.rb
index b16ed25aa3b..b16ed25aa3b 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/cache/drb_store.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/cache/drb_store.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/cache/file_store.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/cache/file_store.rb
index 7f34cb52a12..7f34cb52a12 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/cache/file_store.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/cache/file_store.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/cache/mem_cache_store.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/cache/mem_cache_store.rb
index 17552586e7f..17552586e7f 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/cache/mem_cache_store.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/cache/mem_cache_store.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/cache/memory_store.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/cache/memory_store.rb
index 1b30d49155e..b4a7438e779 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/cache/memory_store.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/cache/memory_store.rb
@@ -19,6 +19,12 @@ module ActiveSupport
@data = {}
end
+ def read_multi(*names)
+ results = {}
+ names.each { |n| results[n] = read(n) }
+ results
+ end
+
def read(name, options = nil)
super
@data[name]
@@ -39,7 +45,7 @@ module ActiveSupport
@data.delete_if { |k,v| k =~ matcher }
end
- def exist?(name,options = nil)
+ def exist?(name, options = nil)
super
@data.has_key?(name)
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/cache/strategy/local_cache.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/cache/strategy/local_cache.rb
index 91842ce022d..088ab049b2d 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/cache/strategy/local_cache.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/cache/strategy/local_cache.rb
@@ -15,7 +15,7 @@ module ActiveSupport
def middleware
@middleware ||= begin
klass = Class.new
- klass.class_eval(<<-EOS, __FILE__, __LINE__)
+ klass.class_eval(<<-EOS, __FILE__, __LINE__ + 1)
def initialize(app)
@app = app
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/cache/synchronized_memory_store.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/cache/synchronized_memory_store.rb
index ea03a119c62..ea03a119c62 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/cache/synchronized_memory_store.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/cache/synchronized_memory_store.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/callbacks.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/callbacks.rb
index 86e66e05883..86e66e05883 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/callbacks.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/callbacks.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext.rb
index 6690a0ba82e..6690a0ba82e 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/array.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/array.rb
index 82c6b1243a6..82c6b1243a6 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/array.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/array.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/array/access.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/array/access.rb
index 6de338bfcc1..6de338bfcc1 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/array/access.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/array/access.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/array/conversions.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/array/conversions.rb
index 779743bc90c..579b18ce44d 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/array/conversions.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/array/conversions.rb
@@ -164,7 +164,7 @@ module ActiveSupport #:nodoc:
require 'builder' unless defined?(Builder)
options = options.dup
- options[:root] ||= all? { |e| e.is_a?(first.class) && first.class.to_s != "Hash" } ? first.class.to_s.underscore.pluralize : "records"
+ options[:root] ||= all? { |e| e.is_a?(first.class) && first.class.to_s != "Hash" } ? first.class.to_s.underscore.pluralize.tr('/', '-') : "records"
options[:children] ||= options[:root].singularize
options[:indent] ||= 2
options[:builder] ||= Builder::XmlMarkup.new(:indent => options[:indent])
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/array/extract_options.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/array/extract_options.rb
index eb917576d7a..eb917576d7a 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/array/extract_options.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/array/extract_options.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/array/grouping.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/array/grouping.rb
index f782f8facf4..239e0354069 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/array/grouping.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/array/grouping.rb
@@ -33,7 +33,7 @@ module ActiveSupport #:nodoc:
if block_given?
collection.each_slice(number) { |slice| yield(slice) }
else
- returning [] do |groups|
+ [].tap do |groups|
collection.each_slice(number) { |group| groups << group }
end
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/array/random_access.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/array/random_access.rb
new file mode 100755
index 00000000000..a0ca89f763d
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/array/random_access.rb
@@ -0,0 +1,42 @@
+module ActiveSupport #:nodoc:
+ module CoreExtensions #:nodoc:
+ module Array #:nodoc:
+ module RandomAccess
+ # This method is deprecated because it masks Kernel#rand within the Array class itself,
+ # which may be used by a 3rd party library extending Array in turn. See
+ #
+ # https://rails.lighthouseapp.com/projects/8994-ruby-on-rails/tickets/4555
+ #
+ def rand # :nodoc:
+ ActiveSupport::Deprecation.warn 'Array#rand is deprecated and will be removed in Rails 3. Use Array#sample instead', caller
+ sample
+ end
+
+ # Returns a random element from the array.
+ def random_element # :nodoc:
+ ActiveSupport::Deprecation.warn 'Array#random_element is deprecated and will be removed in Rails 3. Use Array#sample instead', caller
+ sample
+ end
+
+ # Backport of Array#sample based on Marc-Andre Lafortune's http://github.com/marcandre/backports/
+ def sample(n=nil)
+ return self[Kernel.rand(size)] if n.nil?
+ n = n.to_int
+ rescue Exception => e
+ raise TypeError, "Coercion error: #{n.inspect}.to_int => Integer failed:\n(#{e.message})"
+ else
+ raise TypeError, "Coercion error: #{n}.to_int did NOT return an Integer (was #{n.class})" unless n.kind_of? ::Integer
+ raise ArgumentError, "negative array size" if n < 0
+ n = size if n > size
+ result = ::Array.new(self)
+ n.times do |i|
+ r = i + Kernel.rand(size - i)
+ result[i], result[r] = result[r], result[i]
+ end
+ result[n..size] = []
+ result
+ end unless method_defined? :sample
+ end
+ end
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/array/wrapper.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/array/wrapper.rb
index 80b8f055316..80b8f055316 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/array/wrapper.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/array/wrapper.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/base64.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/base64.rb
index 235e2edf577..235e2edf577 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/base64.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/base64.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/base64/encoding.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/base64/encoding.rb
index a9656c138e5..a9656c138e5 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/base64/encoding.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/base64/encoding.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/benchmark.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/benchmark.rb
index ae57b152e82..ae57b152e82 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/benchmark.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/benchmark.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/bigdecimal.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/bigdecimal.rb
index d429078c914..d429078c914 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/bigdecimal.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/bigdecimal.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/bigdecimal/conversions.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/bigdecimal/conversions.rb
index bc9d578f383..bc9d578f383 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/bigdecimal/conversions.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/bigdecimal/conversions.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/blank.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/blank.rb
index 54e83ba494d..54e83ba494d 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/blank.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/blank.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/cgi.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/cgi.rb
index db90e5c7459..db90e5c7459 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/cgi.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/cgi.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/cgi/escape_skipping_slashes.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/cgi/escape_skipping_slashes.rb
index 1edb3771a26..1edb3771a26 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/cgi/escape_skipping_slashes.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/cgi/escape_skipping_slashes.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/class.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/class.rb
index 44ad6c8c084..2e46507fb51 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/class.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/class.rb
@@ -2,3 +2,4 @@ require 'active_support/core_ext/class/attribute_accessors'
require 'active_support/core_ext/class/inheritable_attributes'
require 'active_support/core_ext/class/removal'
require 'active_support/core_ext/class/delegating_attributes'
+require 'active_support/core_ext/class/attribute'
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/class/attribute.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/class/attribute.rb
new file mode 100755
index 00000000000..576366e4961
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/class/attribute.rb
@@ -0,0 +1,67 @@
+require 'active_support/core_ext/kernel/singleton_class'
+require 'active_support/core_ext/module/remove_method'
+
+class Class
+ # Declare a class-level attribute whose value is inheritable and
+ # overwritable by subclasses:
+ #
+ # class Base
+ # class_attribute :setting
+ # end
+ #
+ # class Subclass < Base
+ # end
+ #
+ # Base.setting = true
+ # Subclass.setting # => true
+ # Subclass.setting = false
+ # Subclass.setting # => false
+ # Base.setting # => true
+ #
+ # This matches normal Ruby method inheritance: think of writing an attribute
+ # on a subclass as overriding the reader method.
+ #
+ # For convenience, a query method is defined as well:
+ #
+ # Subclass.setting? # => false
+ #
+ # Instances may overwrite the class value in the same way:
+ #
+ # Base.setting = true
+ # object = Base.new
+ # object.setting # => true
+ # object.setting = false
+ # object.setting # => false
+ # Base.setting # => true
+ #
+ # To opt out of the instance writer method, pass :instance_writer => false.
+ #
+ # object.setting = false # => NoMethodError
+ def class_attribute(*attrs)
+ instance_writer = !attrs.last.is_a?(Hash) || attrs.pop[:instance_writer]
+
+ attrs.each do |name|
+ class_eval <<-RUBY, __FILE__, __LINE__ + 1
+ def self.#{name}() nil end
+ def self.#{name}?() !!#{name} end
+
+ def self.#{name}=(val)
+ singleton_class.class_eval do
+ remove_possible_method(:#{name})
+ define_method(:#{name}) { val }
+ end
+ end
+
+ def #{name}
+ defined?(@#{name}) ? @#{name} : singleton_class.#{name}
+ end
+
+ def #{name}?
+ !!#{name}
+ end
+ RUBY
+
+ attr_writer name if instance_writer
+ end
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/class/attribute_accessors.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/class/attribute_accessors.rb
new file mode 100755
index 00000000000..7ccf8b00997
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/class/attribute_accessors.rb
@@ -0,0 +1,61 @@
+# Extends the class object with class and instance accessors for class attributes,
+# just like the native attr* accessors for instance attributes.
+#
+# class Person
+# cattr_accessor :hair_colors
+# end
+#
+# Person.hair_colors = [:brown, :black, :blonde, :red]
+class Class
+ def cattr_reader(*syms)
+ options = syms.extract_options!
+ syms.each do |sym|
+ next if sym.is_a?(Hash)
+ class_eval(<<-EOS, __FILE__, __LINE__ + 1)
+ unless defined? @@#{sym}
+ @@#{sym} = nil
+ end
+
+ def self.#{sym}
+ @@#{sym}
+ end
+ EOS
+
+ unless options[:instance_reader] == false
+ class_eval(<<-EOS, __FILE__, __LINE__ + 1)
+ def #{sym}
+ @@#{sym}
+ end
+ EOS
+ end
+ end
+ end
+
+ def cattr_writer(*syms)
+ options = syms.extract_options!
+ syms.each do |sym|
+ class_eval(<<-EOS, __FILE__, __LINE__ + 1)
+ unless defined? @@#{sym}
+ @@#{sym} = nil
+ end
+
+ def self.#{sym}=(obj)
+ @@#{sym} = obj
+ end
+ EOS
+
+ unless options[:instance_writer] == false
+ class_eval(<<-EOS, __FILE__, __LINE__ + 1)
+ def #{sym}=(obj)
+ @@#{sym} = obj
+ end
+ EOS
+ end
+ end
+ end
+
+ def cattr_accessor(*syms)
+ cattr_reader(*syms)
+ cattr_writer(*syms)
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/class/delegating_attributes.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/class/delegating_attributes.rb
index 000ccf4d55e..000ccf4d55e 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/class/delegating_attributes.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/class/delegating_attributes.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/class/inheritable_attributes.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/class/inheritable_attributes.rb
index 1794afe77c4..1794afe77c4 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/class/inheritable_attributes.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/class/inheritable_attributes.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/class/removal.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/class/removal.rb
index 10660edb2cf..10660edb2cf 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/class/removal.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/class/removal.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/date.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/date.rb
index 3f56c560b6d..3f56c560b6d 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/date.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/date.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/date/behavior.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/date/behavior.rb
index bd378eb375a..bd378eb375a 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/date/behavior.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/date/behavior.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/date/calculations.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/date/calculations.rb
index fa7f618ed40..4c141b676f1 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/date/calculations.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/date/calculations.rb
@@ -135,20 +135,30 @@ module ActiveSupport #:nodoc:
advance(:years => years)
end
+ def last_year # :nodoc:
+ ActiveSupport::Deprecation.warn("Date#last_year is deprecated and has been removed in Rails 3, please use Date#prev_year instead", caller)
+ prev_year
+ end
+
# Short-hand for years_ago(1)
- def last_year
+ def prev_year
years_ago(1)
- end
+ end unless method_defined?(:prev_year)
# Short-hand for years_since(1)
def next_year
years_since(1)
end
+ def last_month # :nodoc:
+ ActiveSupport::Deprecation.warn("Date#last_month is deprecated and has been removed in Rails 3, please use Date#prev_month instead", caller)
+ prev_month
+ end
+
# Short-hand for months_ago(1)
- def last_month
+ def prev_month
months_ago(1)
- end
+ end unless method_defined?(:prev_month)
# Short-hand for months_since(1)
def next_month
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/date/conversions.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/date/conversions.rb
index 8d9f0233615..8d9f0233615 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/date/conversions.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/date/conversions.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/date_time.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/date_time.rb
index 66a93eac434..66a93eac434 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/date_time.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/date_time.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/date_time/calculations.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/date_time/calculations.rb
index 0099431e9d0..0099431e9d0 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/date_time/calculations.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/date_time/calculations.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/date_time/conversions.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/date_time/conversions.rb
index 7c948267b30..a2d620bc1cf 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/date_time/conversions.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/date_time/conversions.rb
@@ -84,11 +84,22 @@ module ActiveSupport #:nodoc:
def xmlschema
strftime("%Y-%m-%dT%H:%M:%S%Z")
end if RUBY_VERSION < '1.9'
-
+
# Converts self to a floating-point number of seconds since the Unix epoch
def to_f
- days_since_unix_epoch = self - ::DateTime.civil(1970)
- (days_since_unix_epoch * 86_400).to_f
+ seconds_since_unix_epoch.to_f
+ end
+
+ # Converts self to an integer number of seconds since the Unix epoch
+ def to_i
+ seconds_since_unix_epoch.to_i
+ end
+
+ private
+
+ def seconds_since_unix_epoch
+ seconds_per_day = 86_400
+ (self - ::DateTime.civil(1970)) * seconds_per_day
end
end
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/duplicable.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/duplicable.rb
index 8f49ddfd9e6..8f49ddfd9e6 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/duplicable.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/duplicable.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/enumerable.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/enumerable.rb
index 2c5f59b820f..9ae893546c1 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/enumerable.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/enumerable.rb
@@ -75,7 +75,7 @@ module Enumerable
# (1..5).each_with_object(1) { |value, memo| memo *= value } # => 1
#
def each_with_object(memo, &block)
- returning memo do |m|
+ memo.tap do |m|
each do |element|
block.call(element, m)
end
@@ -111,4 +111,10 @@ module Enumerable
def none?(&block)
!any?(&block)
end unless [].respond_to?(:none?)
+
+
+ # The negative of the Enumerable#include?. Returns true if the collection does not include the object.
+ def exclude?(object)
+ !include?(object)
+ end
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/exception.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/exception.rb
index cde0df41539..cde0df41539 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/exception.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/exception.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/file.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/file.rb
index e03f8ac44ea..e03f8ac44ea 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/file.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/file.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/file/atomic.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/file/atomic.rb
index 8cc5654a4bf..f49d5cb133d 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/file/atomic.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/file/atomic.rb
@@ -17,6 +17,7 @@ module ActiveSupport #:nodoc:
# end
def atomic_write(file_name, temp_dir = Dir.tmpdir)
require 'tempfile' unless defined?(Tempfile)
+ require 'fileutils' unless defined?(FileUtils)
temp_file = Tempfile.new(basename(file_name), temp_dir)
yield temp_file
@@ -34,7 +35,7 @@ module ActiveSupport #:nodoc:
end
# Overwrite original file with temp file
- rename(temp_file.path, file_name)
+ FileUtils.mv(temp_file.path, file_name)
# Set correct permissions on new file
chown(old_stat.uid, old_stat.gid, file_name)
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/float.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/float.rb
index af166aa610f..af166aa610f 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/float.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/float.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/float/rounding.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/float/rounding.rb
index 062d4668383..062d4668383 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/float/rounding.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/float/rounding.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/float/time.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/float/time.rb
index 13f2e0ddcab..13f2e0ddcab 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/float/time.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/float/time.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/hash.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/hash.rb
index a6065ab48e2..a6065ab48e2 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/hash.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/hash.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/hash/conversions.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/hash/conversions.rb
index a43763f3f8b..a43763f3f8b 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/hash/conversions.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/hash/conversions.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/hash/deep_merge.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/hash/deep_merge.rb
index f8842ba57a4..f8842ba57a4 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/hash/deep_merge.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/hash/deep_merge.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/hash/diff.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/hash/diff.rb
index 6abd6788229..6abd6788229 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/hash/diff.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/hash/diff.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/hash/except.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/hash/except.rb
index 949976d7413..949976d7413 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/hash/except.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/hash/except.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/hash/indifferent_access.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/hash/indifferent_access.rb
index 34ba8a005de..34ba8a005de 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/hash/indifferent_access.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/hash/indifferent_access.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/hash/keys.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/hash/keys.rb
index af9d372d764..af9d372d764 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/hash/keys.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/hash/keys.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/hash/reverse_merge.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/hash/reverse_merge.rb
index 546e261cc90..546e261cc90 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/hash/reverse_merge.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/hash/reverse_merge.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/hash/slice.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/hash/slice.rb
index d845a6d8ca3..d845a6d8ca3 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/hash/slice.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/hash/slice.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/integer.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/integer.rb
index 18a7a402db0..18a7a402db0 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/integer.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/integer.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/integer/even_odd.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/integer/even_odd.rb
index b1d1e28062d..b1d1e28062d 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/integer/even_odd.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/integer/even_odd.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/integer/inflections.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/integer/inflections.rb
index 804702beb2b..804702beb2b 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/integer/inflections.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/integer/inflections.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/integer/time.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/integer/time.rb
index 356e145b900..356e145b900 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/integer/time.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/integer/time.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/kernel.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/kernel.rb
index 1922d804bfa..1922d804bfa 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/kernel.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/kernel.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/kernel/agnostics.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/kernel/agnostics.rb
index c0cb4fb427d..c0cb4fb427d 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/kernel/agnostics.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/kernel/agnostics.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/kernel/daemonizing.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/kernel/daemonizing.rb
index ed9d1f9bf29..ed9d1f9bf29 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/kernel/daemonizing.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/kernel/daemonizing.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/kernel/debugger.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/kernel/debugger.rb
index 59e03e3df7c..59e03e3df7c 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/kernel/debugger.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/kernel/debugger.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/kernel/reporting.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/kernel/reporting.rb
index 0f101e8fa44..e2d5186da3e 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/kernel/reporting.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/kernel/reporting.rb
@@ -35,7 +35,7 @@ module Kernel
# puts 'But this will'
def silence_stream(stream)
old_stream = stream.dup
- stream.reopen(RUBY_PLATFORM =~ /mswin/ ? 'NUL:' : '/dev/null')
+ stream.reopen(RUBY_PLATFORM =~ /(:?mswin|mingw)/ ? 'NUL:' : '/dev/null')
stream.sync = true
yield
ensure
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/kernel/requires.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/kernel/requires.rb
index 323fea49fe5..323fea49fe5 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/kernel/requires.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/kernel/requires.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/kernel/singleton_class.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/kernel/singleton_class.rb
new file mode 100755
index 00000000000..33612155fb6
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/kernel/singleton_class.rb
@@ -0,0 +1,13 @@
+module Kernel
+ # Returns the object's singleton class.
+ def singleton_class
+ class << self
+ self
+ end
+ end unless respond_to?(:singleton_class) # exists in 1.9.2
+
+ # class_eval on an object acts like singleton_class.class_eval.
+ def class_eval(*args, &block)
+ singleton_class.class_eval(*args, &block)
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/load_error.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/load_error.rb
index 6165e95443e..6165e95443e 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/load_error.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/load_error.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/logger.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/logger.rb
index 858da7aa07a..858da7aa07a 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/logger.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/logger.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/module.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/module.rb
index da8d28ec135..da8d28ec135 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/module.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/module.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/module/aliasing.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/module/aliasing.rb
index 10fa520ba1d..5dafd065847 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/module/aliasing.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/module/aliasing.rb
@@ -63,7 +63,7 @@ module ActiveSupport
# e.subject = "Megastars"
# e.title # => "Megastars"
def alias_attribute(new_name, old_name)
- module_eval <<-STR, __FILE__, __LINE__+1
+ module_eval <<-STR, __FILE__, __LINE__ + 1
def #{new_name}; self.#{old_name}; end # def subject; self.title; end
def #{new_name}?; self.#{old_name}?; end # def subject?; self.title?; end
def #{new_name}=(v); self.#{old_name} = v; end # def subject=(v); self.title = v; end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/module/attr_accessor_with_default.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/module/attr_accessor_with_default.rb
index 4d0198f0285..28ac89dab90 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/module/attr_accessor_with_default.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/module/attr_accessor_with_default.rb
@@ -21,7 +21,7 @@ class Module
def attr_accessor_with_default(sym, default = nil, &block)
raise 'Default value or block required' unless !default.nil? || block
define_method(sym, block_given? ? block : Proc.new { default })
- module_eval(<<-EVAL, __FILE__, __LINE__)
+ module_eval(<<-EVAL, __FILE__, __LINE__ + 1)
def #{sym}=(value) # def age=(value)
class << self; attr_reader :#{sym} end # class << self; attr_reader :age end
@#{sym} = value # @age = value
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/module/attr_internal.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/module/attr_internal.rb
index b66c0d75005..b66c0d75005 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/module/attr_internal.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/module/attr_internal.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/module/attribute_accessors.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/module/attribute_accessors.rb
new file mode 100755
index 00000000000..54a29c032b3
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/module/attribute_accessors.rb
@@ -0,0 +1,67 @@
+require "active_support/core_ext/array"
+
+# Extends the module object with module and instance accessors for class attributes,
+# just like the native attr* accessors for instance attributes.
+#
+# module AppConfiguration
+# mattr_accessor :google_api_key
+# self.google_api_key = "123456789"
+#
+# mattr_accessor :paypal_url
+# self.paypal_url = "www.sandbox.paypal.com"
+# end
+#
+# AppConfiguration.google_api_key = "overriding the api key!"
+class Module
+ def mattr_reader(*syms)
+ options = syms.extract_options!
+ syms.each do |sym|
+ next if sym.is_a?(Hash)
+ class_eval(<<-EOS, __FILE__, __LINE__ + 1)
+ unless defined? @@#{sym}
+ @@#{sym} = nil
+ end
+
+ def self.#{sym}
+ @@#{sym}
+ end
+ EOS
+
+ unless options[:instance_reader] == false
+ class_eval(<<-EOS, __FILE__, __LINE__ + 1)
+ def #{sym}
+ @@#{sym}
+ end
+ EOS
+ end
+ end
+ end
+
+ def mattr_writer(*syms)
+ options = syms.extract_options!
+ syms.each do |sym|
+ class_eval(<<-EOS, __FILE__, __LINE__ + 1)
+ unless defined? @@#{sym}
+ @@#{sym} = nil
+ end
+
+ def self.#{sym}=(obj)
+ @@#{sym} = obj
+ end
+ EOS
+
+ unless options[:instance_writer] == false
+ class_eval(<<-EOS, __FILE__, __LINE__ + 1)
+ def #{sym}=(obj)
+ @@#{sym} = obj
+ end
+ EOS
+ end
+ end
+ end
+
+ def mattr_accessor(*syms)
+ mattr_reader(*syms)
+ mattr_writer(*syms)
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/module/delegation.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/module/delegation.rb
index d7796fcd045..d7796fcd045 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/module/delegation.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/module/delegation.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/module/inclusion.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/module/inclusion.rb
index 4f23841645a..4f23841645a 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/module/inclusion.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/module/inclusion.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/module/introspection.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/module/introspection.rb
index 8beaff4b82c..8beaff4b82c 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/module/introspection.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/module/introspection.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/module/loading.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/module/loading.rb
index 4b4b110b257..4b4b110b257 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/module/loading.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/module/loading.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/module/model_naming.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/module/model_naming.rb
index 9686be01627..9686be01627 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/module/model_naming.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/module/model_naming.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/module/remove_method.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/module/remove_method.rb
new file mode 100755
index 00000000000..2714a46b287
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/module/remove_method.rb
@@ -0,0 +1,6 @@
+class Module
+ def remove_possible_method(method)
+ remove_method(method)
+ rescue NameError
+ end
+end \ No newline at end of file
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/module/synchronization.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/module/synchronization.rb
index 069db3fed07..f645d8ee6a2 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/module/synchronization.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/module/synchronization.rb
@@ -25,7 +25,7 @@ class Module
raise ArgumentError, "#{method} is already synchronized. Double synchronization is not currently supported."
end
- module_eval(<<-EOS, __FILE__, __LINE__)
+ module_eval(<<-EOS, __FILE__, __LINE__ + 1)
def #{aliased_method}_with_synchronization#{punctuation}(*args, &block) # def expire_with_synchronization(*args, &block)
#{with}.synchronize do # @@lock.synchronize do
#{aliased_method}_without_synchronization#{punctuation}(*args, &block) # expire_without_synchronization(*args, &block)
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/name_error.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/name_error.rb
index 57621b946e7..57621b946e7 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/name_error.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/name_error.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/numeric.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/numeric.rb
index 759b86b81d0..759b86b81d0 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/numeric.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/numeric.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/numeric/bytes.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/numeric/bytes.rb
index d3ff615e8b8..d3ff615e8b8 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/numeric/bytes.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/numeric/bytes.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/numeric/conversions.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/numeric/conversions.rb
index e652ae5ca80..d9bee2b1bad 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/numeric/conversions.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/numeric/conversions.rb
@@ -8,10 +8,10 @@ module ActiveSupport #:nodoc:
# -21_600.to_utc_offset_s # => "-06:00"
def to_utc_offset_s(colon=true)
seconds = self
- sign = (seconds < 0 ? -1 : 1)
+ sign = (seconds < 0 ? '-' : '+')
hours = seconds.abs / 3600
minutes = (seconds.abs % 3600) / 60
- "%+03d%s%02d" % [ hours * sign, colon ? ":" : "", minutes ]
+ "%s%02d%s%02d" % [ sign, hours, colon ? ":" : "", minutes ]
end
end
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/numeric/time.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/numeric/time.rb
index bc7f180cd1b..bc7f180cd1b 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/numeric/time.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/numeric/time.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/object.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/object.rb
index f140be3c8d2..65bc222b802 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/object.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/object.rb
@@ -3,4 +3,5 @@ require 'active_support/core_ext/object/conversions'
require 'active_support/core_ext/object/extending'
require 'active_support/core_ext/object/instance_variables'
require 'active_support/core_ext/object/metaclass'
+require 'active_support/core_ext/object/singleton_class'
require 'active_support/core_ext/object/misc'
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/object/blank.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/object/blank.rb
index 9a1f663bf39..eb99bb1a365 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/object/blank.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/object/blank.rb
@@ -2,11 +2,11 @@ class Object
# An object is blank if it's false, empty, or a whitespace string.
# For example, "", " ", +nil+, [], and {} are blank.
#
- # This simplifies
+ # This simplifies:
#
# if !address.nil? && !address.empty?
#
- # to
+ # ...to:
#
# if !address.blank?
def blank?
@@ -17,6 +17,24 @@ class Object
def present?
!blank?
end
+
+ # Returns object if it's #present? otherwise returns nil.
+ # object.presence is equivalent to object.present? ? object : nil.
+ #
+ # This is handy for any representation of objects where blank is the same
+ # as not present at all. For example, this simplifies a common check for
+ # HTTP POST/query parameters:
+ #
+ # state = params[:state] if params[:state].present?
+ # country = params[:country] if params[:country].present?
+ # region = state || country || 'US'
+ #
+ # ...becomes:
+ #
+ # region = params[:state].presence || params[:country].presence || 'US'
+ def presence
+ self if present?
+ end
end
class NilClass #:nodoc:
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/object/conversions.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/object/conversions.rb
index 278b856c45b..278b856c45b 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/object/conversions.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/object/conversions.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/object/extending.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/object/extending.rb
index bbf6f8563b8..bbf6f8563b8 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/object/extending.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/object/extending.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/object/instance_variables.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/object/instance_variables.rb
index 4ecaab3bbb2..4ecaab3bbb2 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/object/instance_variables.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/object/instance_variables.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/object/metaclass.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/object/metaclass.rb
new file mode 100755
index 00000000000..4b36a243c9c
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/object/metaclass.rb
@@ -0,0 +1,14 @@
+require 'active_support/deprecation'
+
+class Object
+ # Get object's meta (ghost, eigenclass, singleton) class.
+ #
+ # Deprecated in favor of Object#singleton_class.
+ def metaclass
+ class << self
+ self
+ end
+ end
+
+ deprecate :metaclass => :singleton_class
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/object/misc.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/object/misc.rb
index 4acdfa3d6c7..554f44abe16 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/object/misc.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/object/misc.rb
@@ -1,3 +1,5 @@
+require 'active_support/deprecation'
+
class Object
# Returns +value+ after yielding +value+ to the block. This simplifies the
# process of constructing an object, performing work on the object, and then
@@ -36,6 +38,7 @@ class Object
#
# foo # => ['bar', 'baz']
def returning(value)
+ ActiveSupport::Deprecation.warn('Kernel#returning has been deprecated in favor of Object#tap.', caller)
yield(value)
value
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/object/singleton_class.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/object/singleton_class.rb
new file mode 100755
index 00000000000..8dee54e71b1
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/object/singleton_class.rb
@@ -0,0 +1,13 @@
+class Object
+ # Returns the object's singleton class.
+ def singleton_class
+ class << self
+ self
+ end
+ end unless respond_to?(:singleton_class)
+
+ # class_eval on an object acts like singleton_class_eval.
+ def class_eval(*args, &block)
+ singleton_class.class_eval(*args, &block)
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/pathname.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/pathname.rb
index 4c5318ee63e..4c5318ee63e 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/pathname.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/pathname.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/pathname/clean_within.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/pathname/clean_within.rb
index ae03e1bc5a9..ae03e1bc5a9 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/pathname/clean_within.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/pathname/clean_within.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/proc.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/proc.rb
index 2ca23f62ef1..2ca23f62ef1 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/proc.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/proc.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/process.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/process.rb
index 0b0bc6dc69c..0b0bc6dc69c 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/process.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/process.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/process/daemon.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/process/daemon.rb
index 95ad5f8a5d0..95ad5f8a5d0 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/process/daemon.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/process/daemon.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/range.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/range.rb
index 0d2b169e3ff..0d2b169e3ff 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/range.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/range.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/range/blockless_step.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/range/blockless_step.rb
index 6fa1eb5bee6..02d83fe5d5d 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/range/blockless_step.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/range/blockless_step.rb
@@ -12,7 +12,7 @@ module ActiveSupport #:nodoc:
if block_given?
step_without_blockless(value, &block)
else
- returning [] do |array|
+ [].tap do |array|
step_without_blockless(value) { |step| array << step }
end
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/range/conversions.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/range/conversions.rb
index 45b0826b620..45b0826b620 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/range/conversions.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/range/conversions.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/range/include_range.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/range/include_range.rb
index 9a7d2356950..9a7d2356950 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/range/include_range.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/range/include_range.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/range/overlaps.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/range/overlaps.rb
index 43c69453e73..43c69453e73 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/range/overlaps.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/range/overlaps.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/rexml.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/rexml.rb
index b4891a91532..b4891a91532 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/rexml.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/rexml.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/string.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/string.rb
index 7f88d97b100..95aaa8e1ab6 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/string.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/string.rb
@@ -21,5 +21,4 @@ class String #:nodoc:
include ActiveSupport::CoreExtensions::String::Iterators
include ActiveSupport::CoreExtensions::String::Behavior
include ActiveSupport::CoreExtensions::String::Multibyte
- include ActiveSupport::CoreExtensions::String::OutputSafety
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/string/access.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/string/access.rb
index e806b321f12..e806b321f12 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/string/access.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/string/access.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/string/behavior.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/string/behavior.rb
index a93ca3027f8..a93ca3027f8 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/string/behavior.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/string/behavior.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/string/bytesize.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/string/bytesize.rb
index ed051b921e0..ed051b921e0 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/string/bytesize.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/string/bytesize.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/string/conversions.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/string/conversions.rb
index d4334dcefea..d4334dcefea 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/string/conversions.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/string/conversions.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/string/filters.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/string/filters.rb
index 0329fbb8d4e..0329fbb8d4e 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/string/filters.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/string/filters.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/string/inflections.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/string/inflections.rb
index 48e812aaf8c..48e812aaf8c 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/string/inflections.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/string/inflections.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/string/iterators.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/string/iterators.rb
index fe17d140ca5..fe17d140ca5 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/string/iterators.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/string/iterators.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/string/multibyte.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/string/multibyte.rb
index a4caa83b749..a4caa83b749 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/string/multibyte.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/string/multibyte.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/erb/util.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/string/output_safety.rb
index 4f8b285ecfc..8e68ab0b429 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/erb/util.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/string/output_safety.rb
@@ -15,7 +15,12 @@ class ERB
# puts html_escape("is a > 0 & a < 10?")
# # => is a &gt; 0 &amp; a &lt; 10?
def html_escape(s)
- s.to_s.gsub(/[&"><]/) { |special| HTML_ESCAPE[special] }
+ s = s.to_s
+ if s.html_safe?
+ s
+ else
+ s.to_s.gsub(/&/, "&amp;").gsub(/\"/, "&quot;").gsub(/>/, "&gt;").gsub(/</, "&lt;").html_safe
+ end
end
undef :h
@@ -42,3 +47,55 @@ class ERB
module_function :json_escape
end
end
+
+class Object
+ def html_safe?
+ false
+ end
+end
+
+class Fixnum
+ def html_safe?
+ true
+ end
+end
+
+module ActiveSupport #:nodoc:
+ class SafeBuffer < String
+ def +(other)
+ dup.concat(other)
+ end
+
+ def html_safe?
+ true
+ end
+
+ def html_safe
+ self
+ end
+
+ def to_s
+ self
+ end
+
+ def to_yaml(*args)
+ to_str.to_yaml(*args)
+ end
+ end
+end
+
+class String
+ alias safe_concat concat
+
+ def as_str
+ self
+ end
+
+ def html_safe
+ ActiveSupport::SafeBuffer.new(self)
+ end
+
+ def html_safe?
+ false
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/string/starts_ends_with.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/string/starts_ends_with.rb
index 09f9a188b51..56701fd82dd 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/string/starts_ends_with.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/string/starts_ends_with.rb
@@ -20,14 +20,12 @@ module ActiveSupport #:nodoc:
# Does the string start with the specified +prefix+?
def starts_with?(prefix)
- prefix = prefix.to_s
- self[0, prefix.length] == prefix
+ prefix.respond_to?(:to_str) && self[0, prefix.length] == prefix
end
# Does the string end with the specified +suffix+?
def ends_with?(suffix)
- suffix = suffix.to_s
- self[-suffix.length, suffix.length] == suffix
+ suffix.respond_to?(:to_str) && self[-suffix.length, suffix.length] == suffix
end
end
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/string/xchar.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/string/xchar.rb
index df186e42d78..df186e42d78 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/string/xchar.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/string/xchar.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/symbol.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/symbol.rb
index e4ac4438099..e4ac4438099 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/symbol.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/symbol.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/time.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/time.rb
index 78bbfc917c3..61e48945742 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/time.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/time.rb
@@ -15,14 +15,18 @@ class Time
alias_method :_original_load, :_load
def _load(marshaled_time)
time = _original_load(marshaled_time)
- utc = time.instance_variable_get('@marshal_with_utc_coercion')
- utc ? time.utc : time
+ time.instance_eval do
+ if defined?(@marshal_with_utc_coercion)
+ val = remove_instance_variable("@marshal_with_utc_coercion")
+ end
+ val ? utc : self
+ end
end
end
-
+
alias_method :_original_dump, :_dump
def _dump(*args)
- obj = self.frozen? ? self.dup : self
+ obj = dup
obj.instance_variable_set('@marshal_with_utc_coercion', utc?)
obj._original_dump(*args)
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/time/behavior.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/time/behavior.rb
index a5c0baacdf6..a5c0baacdf6 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/time/behavior.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/time/behavior.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/time/calculations.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/time/calculations.rb
index 380922dd542..a673b55849a 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/time/calculations.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/time/calculations.rb
@@ -157,8 +157,13 @@ module ActiveSupport #:nodoc:
advance(:years => years)
end
+ def last_year # :nodoc:
+ ActiveSupport::Deprecation.warn("Time#last_year is deprecated and has been removed in Rails 3, please use Time#prev_year instead", caller)
+ prev_year
+ end
+
# Short-hand for years_ago(1)
- def last_year
+ def prev_year
years_ago(1)
end
@@ -167,9 +172,13 @@ module ActiveSupport #:nodoc:
years_since(1)
end
+ def last_month # :nodoc:
+ ActiveSupport::Deprecation.warn("Time#last_month is deprecated and has been removed in Rails 3, please use Time#prev_month instead", caller)
+ prev_month
+ end
# Short-hand for months_ago(1)
- def last_month
+ def prev_month
months_ago(1)
end
@@ -283,7 +292,7 @@ module ActiveSupport #:nodoc:
# are coerced into values that Time#- will recognize
def minus_with_coercion(other)
other = other.comparable_time if other.respond_to?(:comparable_time)
- minus_without_coercion(other)
+ other.is_a?(::DateTime) ? to_f - other.to_f : minus_without_coercion(other)
end
# Layers additional behavior on Time#<=> so that DateTime and ActiveSupport::TimeWithZone instances
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/time/conversions.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/time/conversions.rb
index e6f91346619..e6f91346619 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/time/conversions.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/time/conversions.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/time/zones.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/time/zones.rb
index 9d8eb739088..9d8eb739088 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/time/zones.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/time/zones.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/try.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/try.rb
index 3de198d1987..3de198d1987 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/try.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/try.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/uri.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/uri.rb
index 9a1c61d99b5..9a1c61d99b5 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/uri.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/uri.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/dependencies.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/dependencies.rb
index 2badad5f5f5..ffb1f23117b 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/dependencies.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/dependencies.rb
@@ -1,3 +1,5 @@
+require 'thread'
+
module ActiveSupport #:nodoc:
module Dependencies #:nodoc:
extend self
@@ -20,14 +22,38 @@ module ActiveSupport #:nodoc:
# The set of directories from which we may automatically load files. Files
# under these directories will be reloaded on each request in development mode,
- # unless the directory also appears in load_once_paths.
- mattr_accessor :load_paths
- self.load_paths = []
+ # unless the directory also appears in autoload_once_paths.
+ mattr_accessor :autoload_paths
+ self.autoload_paths = []
+
+ # Deprecated, use autoload_paths.
+ def self.load_paths
+ ActiveSupport::Deprecation.warn("ActiveSupport::Dependencies.load_paths is deprecated, please use autoload_paths instead", caller)
+ autoload_paths
+ end
+
+ # Deprecated, use autoload_paths=.
+ def self.load_paths=(paths)
+ ActiveSupport::Deprecation.warn("ActiveSupport::Dependencies.load_paths= is deprecated, please use autoload_paths= instead", caller)
+ self.autoload_paths = paths
+ end
# The set of directories from which automatically loaded constants are loaded
- # only once. All directories in this set must also be present in +load_paths+.
- mattr_accessor :load_once_paths
- self.load_once_paths = []
+ # only once. All directories in this set must also be present in +autoload_paths+.
+ mattr_accessor :autoload_once_paths
+ self.autoload_once_paths = []
+
+ # Deprecated, use autoload_once_paths.
+ def self.load_once_paths
+ ActiveSupport::Deprecation.warn("ActiveSupport::Dependencies.load_once_paths is deprecated and removed in Rails 3, please use autoload_once_paths instead", caller)
+ autoload_once_paths
+ end
+
+ # Deprecated, use autoload_once_paths=.
+ def self.load_once_paths=(paths)
+ ActiveSupport::Deprecation.warn("ActiveSupport::Dependencies.load_once_paths= is deprecated and removed in Rails 3, please use autoload_once_paths= instead", caller)
+ self.autoload_once_paths = paths
+ end
# An array of qualified constant names that have been loaded. Adding a name to
# this array will cause it to be unloaded the next time Dependencies are cleared.
@@ -305,7 +331,7 @@ module ActiveSupport #:nodoc:
# Given +path+, a filesystem path to a ruby file, return an array of constant
# paths which would cause Dependencies to attempt to load this file.
- def loadable_constants_for_path(path, bases = load_paths)
+ def loadable_constants_for_path(path, bases = autoload_paths)
path = $1 if path =~ /\A(.*)\.rb\Z/
expanded_path = File.expand_path(path)
@@ -326,10 +352,10 @@ module ActiveSupport #:nodoc:
end.flatten.compact.uniq
end
- # Search for a file in load_paths matching the provided suffix.
+ # Search for a file in autoload_paths matching the provided suffix.
def search_for_file(path_suffix)
path_suffix = path_suffix + '.rb' unless path_suffix.ends_with? '.rb'
- load_paths.each do |root|
+ autoload_paths.each do |root|
path = File.join(root, path_suffix)
return path if File.file? path
end
@@ -339,14 +365,14 @@ module ActiveSupport #:nodoc:
# Does the provided path_suffix correspond to an autoloadable module?
# Instead of returning a boolean, the autoload base for this module is returned.
def autoloadable_module?(path_suffix)
- load_paths.each do |load_path|
+ autoload_paths.each do |load_path|
return load_path if File.directory? File.join(load_path, path_suffix)
end
nil
end
def load_once_path?(path)
- load_once_paths.any? { |base| path.starts_with? base }
+ autoload_once_paths.any? { |base| path.starts_with? base }
end
# Attempt to autoload the provided module name by searching for a directory
@@ -358,7 +384,7 @@ module ActiveSupport #:nodoc:
return nil unless base_path = autoloadable_module?(path_suffix)
mod = Module.new
into.const_set const_name, mod
- autoloaded_constants << qualified_name unless load_once_paths.include?(base_path)
+ autoloaded_constants << qualified_name unless autoload_once_paths.include?(base_path)
return mod
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/deprecation.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/deprecation.rb
index 151ae5a10a7..2c86a6fdfbf 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/deprecation.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/deprecation.rb
@@ -52,7 +52,8 @@ module ActiveSupport
private
def deprecation_message(callstack, message = nil)
message ||= "You are using deprecated behavior which will be removed from the next major or minor release."
- "DEPRECATION WARNING: #{message}. #{deprecation_caller_message(callstack)}"
+ message += '.' unless message =~ /\.$/
+ "DEPRECATION WARNING: #{message} #{deprecation_caller_message(callstack)}"
end
def deprecation_caller_message(callstack)
@@ -89,7 +90,7 @@ module ActiveSupport
method_names = method_names + options.keys
method_names.each do |method_name|
alias_method_chain(method_name, :deprecation) do |target, punctuation|
- class_eval(<<-EOS, __FILE__, __LINE__)
+ class_eval(<<-EOS, __FILE__, __LINE__ + 1)
def #{target}_with_deprecation#{punctuation}(*args, &block) # def generate_secret_with_deprecation(*args, &block)
::ActiveSupport::Deprecation.warn( # ::ActiveSupport::Deprecation.warn(
self.class.deprecated_method_warning( # self.class.deprecated_method_warning(
@@ -119,6 +120,13 @@ module ActiveSupport
end
class DeprecationProxy #:nodoc:
+ def self.new(*args, &block)
+ object = args.first
+
+ return object unless object
+ super
+ end
+
silence_warnings do
instance_methods.each { |m| undef_method m unless m =~ /^__/ }
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/duration.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/duration.rb
index aa6d1aa3a29..aa6d1aa3a29 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/duration.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/duration.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/gzip.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/gzip.rb
index 35a50e9a777..35a50e9a777 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/gzip.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/gzip.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/inflections.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/inflections.rb
index 8fb3fa9aa23..e7b5387ed76 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/inflections.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/inflections.rb
@@ -51,6 +51,6 @@ module ActiveSupport
inflect.irregular('move', 'moves')
inflect.irregular('cow', 'kine')
- inflect.uncountable(%w(equipment information rice money species series fish sheep))
+ inflect.uncountable(%w(equipment information rice money species series fish sheep jeans))
end
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/inflector.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/inflector.rb
index 3ed30bdf56a..f7c352b6a16 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/inflector.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/inflector.rb
@@ -1,6 +1,7 @@
# encoding: utf-8
require 'singleton'
require 'iconv'
+require 'kconv'
module ActiveSupport
# The Inflector transforms words from singular to plural, class names to table names, modularized class names to ones without,
@@ -157,7 +158,7 @@ module ActiveSupport
def singularize(word)
result = word.to_s.dup
- if inflections.uncountables.include?(result.downcase)
+ if inflections.uncountables.any? { |inflection| result =~ /#{inflection}\Z/i }
result
else
inflections.singulars.each { |(rule, replacement)| break if result.gsub!(rule, replacement) }
@@ -257,10 +258,12 @@ module ActiveSupport
# <%= link_to(@person.name, person_path(@person)) %>
# # => <a href="/person/1-donald-e-knuth">Donald E. Knuth</a>
def parameterize(string, sep = '-')
+ # remove malformed utf8 characters
+ string = string.toutf8 unless string.is_utf8?
# replace accented chars with ther ascii equivalents
parameterized_string = transliterate(string)
# Turn unwanted chars into the seperator
- parameterized_string.gsub!(/[^a-z0-9\-_\+]+/i, sep)
+ parameterized_string.gsub!(/[^a-z0-9\-_]+/i, sep)
unless sep.blank?
re_sep = Regexp.escape(sep)
# No more than one of the separator in a row.
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json.rb
index 3e1d9b1d336..3e1d9b1d336 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/backends/jsongem.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/backends/jsongem.rb
index 4076db9dc72..4076db9dc72 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/backends/jsongem.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/backends/jsongem.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/backends/yajl.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/backends/yajl.rb
new file mode 100755
index 00000000000..64e50e0d87c
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/backends/yajl.rb
@@ -0,0 +1,40 @@
+require 'yajl' unless defined?(Yajl)
+
+module ActiveSupport
+ module JSON
+ module Backends
+ module Yajl
+ ParseError = ::Yajl::ParseError
+ extend self
+
+ # Parses a JSON string or IO and convert it into an object
+ def decode(json)
+ data = ::Yajl::Parser.new.parse(json)
+ if ActiveSupport.parse_json_times
+ convert_dates_from(data)
+ else
+ data
+ end
+ end
+
+ private
+ def convert_dates_from(data)
+ case data
+ when nil
+ nil
+ when DATE_REGEX
+ DateTime.parse(data)
+ when Array
+ data.map! { |d| convert_dates_from(d) }
+ when Hash
+ data.each do |key, value|
+ data[key] = convert_dates_from(value)
+ end
+ else
+ data
+ end
+ end
+ end
+ end
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/backends/yaml.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/backends/yaml.rb
index ab2ec468574..4c410424d6c 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/backends/yaml.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/backends/yaml.rb
@@ -27,11 +27,9 @@ module ActiveSupport
pos = scanner.pos
elsif quoting == char
if json[pos..scanner.pos-2] =~ DATE_REGEX
- # found a date, track the exact positions of the quotes so we can remove them later.
- # oh, and increment them for each current mark, each one is an extra padded space that bumps
- # the position in the final YAML output
- total_marks = marks.size
- times << pos+total_marks << scanner.pos+total_marks
+ # found a date, track the exact positions of the quotes so we can
+ # overwrite them with spaces later.
+ times << pos << scanner.pos
end
quoting = false
end
@@ -59,7 +57,12 @@ module ActiveSupport
output = []
left_pos.each_with_index do |left, i|
scanner.pos = left.succ
- output << scanner.peek(right_pos[i] - scanner.pos + 1).gsub(/\\([\\\/]|u[[:xdigit:]]{4})/) do
+ chunk = scanner.peek(right_pos[i] - scanner.pos + 1)
+ # overwrite the quotes found around the dates with spaces
+ while times.size > 0 && times[0] <= right_pos[i]
+ chunk[times.shift - scanner.pos - 1] = ' '
+ end
+ chunk.gsub!(/\\([\\\/]|u[[:xdigit:]]{4})/) do
ustr = $1
if ustr.start_with?('u')
[ustr[1..-1].to_i(16)].pack("U")
@@ -69,10 +72,10 @@ module ActiveSupport
ustr
end
end
+ output << chunk
end
output = output * " "
- times.each { |i| output[i-1] = ' ' }
output.gsub!(/\\\//, '/')
output
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/decoding.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/decoding.rb
index b88a9a72e09..2182b9098a5 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/decoding.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/decoding.rb
@@ -5,12 +5,15 @@ module ActiveSupport
mattr_accessor :parse_json_times
module JSON
+ # Listed in order of preference.
+ DECODERS = %w(Yajl Yaml)
+
class << self
attr_reader :parse_error
delegate :decode, :to => :backend
def backend
- self.backend = "Yaml" unless defined?(@backend)
+ set_default_backend unless defined?(@backend)
@backend
end
@@ -30,6 +33,18 @@ module ActiveSupport
ensure
self.backend = old_backend
end
+
+ def set_default_backend
+ DECODERS.find do |name|
+ begin
+ self.backend = name
+ true
+ rescue LoadError
+ # Try next decoder.
+ false
+ end
+ end
+ end
end
end
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoders/date.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/encoders/date.rb
index 0df1b8ed6e1..0df1b8ed6e1 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoders/date.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/encoders/date.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoders/date_time.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/encoders/date_time.rb
index 20c12a76c3f..20c12a76c3f 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoders/date_time.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/encoders/date_time.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoders/enumerable.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/encoders/enumerable.rb
index 65924e38f55..65924e38f55 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoders/enumerable.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/encoders/enumerable.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoders/false_class.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/encoders/false_class.rb
index c2bb1ee2b5d..c2bb1ee2b5d 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoders/false_class.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/encoders/false_class.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoders/hash.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/encoders/hash.rb
index cfe21e4ac19..cfe21e4ac19 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoders/hash.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/encoders/hash.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoders/nil_class.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/encoders/nil_class.rb
index 041c1a26b69..041c1a26b69 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoders/nil_class.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/encoders/nil_class.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoders/numeric.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/encoders/numeric.rb
index 6493bd675b5..6493bd675b5 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoders/numeric.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/encoders/numeric.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoders/object.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/encoders/object.rb
index 099410057c2..099410057c2 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoders/object.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/encoders/object.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoders/regexp.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/encoders/regexp.rb
index 14fdbf24b6d..14fdbf24b6d 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoders/regexp.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/encoders/regexp.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoders/string.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/encoders/string.rb
index 697658ec65c..697658ec65c 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoders/string.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/encoders/string.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoders/symbol.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/encoders/symbol.rb
index f7dcd491561..f7dcd491561 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoders/symbol.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/encoders/symbol.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoders/time.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/encoders/time.rb
index fa54e9e355f..fa54e9e355f 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoders/time.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/encoders/time.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoders/true_class.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/encoders/true_class.rb
index 4b65dee3a01..4b65dee3a01 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoders/true_class.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/encoders/true_class.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoding.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/encoding.rb
index ffd20500403..0fbf2fe17ac 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoding.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/encoding.rb
@@ -22,6 +22,15 @@ module ActiveSupport
end
ESCAPED_CHARS = {
+ "\x00" => '\u0000', "\x01" => '\u0001', "\x02" => '\u0002',
+ "\x03" => '\u0003', "\x04" => '\u0004', "\x05" => '\u0005',
+ "\x06" => '\u0006', "\x07" => '\u0007', "\x0B" => '\u000B',
+ "\x0E" => '\u000E', "\x0F" => '\u000F', "\x10" => '\u0010',
+ "\x11" => '\u0011', "\x12" => '\u0012', "\x13" => '\u0013',
+ "\x14" => '\u0014', "\x15" => '\u0015', "\x16" => '\u0016',
+ "\x17" => '\u0017', "\x18" => '\u0018', "\x19" => '\u0019',
+ "\x1A" => '\u001A', "\x1B" => '\u001B', "\x1C" => '\u001C',
+ "\x1D" => '\u001D', "\x1E" => '\u001E', "\x1F" => '\u001F',
"\010" => '\b',
"\f" => '\f',
"\n" => '\n',
@@ -43,9 +52,9 @@ module ActiveSupport
def escape_html_entities_in_json=(value)
self.escape_regex = \
if @escape_html_entities_in_json = value
- /[\010\f\n\r\t"\\><&]/
+ /[\x00-\x1F"\\><&]/
else
- /[\010\f\n\r\t"\\]/
+ /[\x00-\x1F"\\]/
end
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/variable.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/variable.rb
index 7fd23b0a9e0..7fd23b0a9e0 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/variable.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/variable.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/locale/en.yml b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/locale/en.yml
index e604c9ee8c7..49ad192bf13 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/locale/en.yml
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/locale/en.yml
@@ -15,7 +15,10 @@ en:
month_names: [~, January, February, March, April, May, June, July, August, September, October, November, December]
abbr_month_names: [~, Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec]
# Used in date_select and datime_select.
- order: [ :year, :month, :day ]
+ order:
+ - :year
+ - :month
+ - :day
time:
formats:
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/memoizable.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/memoizable.rb
index 9282bab2963..68148a2733b 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/memoizable.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/memoizable.rb
@@ -58,7 +58,7 @@ module ActiveSupport
original_method = :"_unmemoized_#{symbol}"
memoized_ivar = ActiveSupport::Memoizable.memoized_ivar_for(symbol)
- class_eval <<-EOS, __FILE__, __LINE__
+ class_eval <<-EOS, __FILE__, __LINE__ + 1
include InstanceMethods # include InstanceMethods
#
if method_defined?(:#{original_method}) # if method_defined?(:_unmemoized_mime_type)
@@ -92,6 +92,8 @@ module ActiveSupport
#
if private_method_defined?(#{original_method.inspect}) # if private_method_defined?(:_unmemoized_mime_type)
private #{symbol.inspect} # private :mime_type
+ elsif protected_method_defined?(#{original_method.inspect}) # elsif protected_method_defined?(:_unmemoized_mime_type)
+ protected #{symbol.inspect} # protected :mime_type
end # end
EOS
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/message_encryptor.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/message_encryptor.rb
index 347af9dc761..347af9dc761 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/message_encryptor.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/message_encryptor.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/message_verifier.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/message_verifier.rb
index 60587b90430..60587b90430 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/message_verifier.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/message_verifier.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/multibyte.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/multibyte.rb
index b6354ee8429..b6354ee8429 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/multibyte.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/multibyte.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/multibyte/chars.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/multibyte/chars.rb
index 32d97a66726..32d97a66726 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/multibyte/chars.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/multibyte/chars.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/multibyte/exceptions.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/multibyte/exceptions.rb
index 62066e3c71d..62066e3c71d 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/multibyte/exceptions.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/multibyte/exceptions.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/multibyte/unicode_database.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/multibyte/unicode_database.rb
index a08f38cdbb5..e9578b757a7 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/multibyte/unicode_database.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/multibyte/unicode_database.rb
@@ -23,7 +23,7 @@ module ActiveSupport #:nodoc:
# Lazy load the Unicode database so it's only loaded when it's actually used
ATTRIBUTES.each do |attr_name|
- class_eval(<<-EOS, __FILE__, __LINE__)
+ class_eval(<<-EOS, __FILE__, __LINE__ + 1)
def #{attr_name} # def codepoints
load # load
@#{attr_name} # @codepoints
@@ -68,4 +68,4 @@ module ActiveSupport #:nodoc:
# UniCode Database
UCD = UnicodeDatabase.new
end
-end \ No newline at end of file
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/multibyte/utils.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/multibyte/utils.rb
index 8e47763d396..94b393cee2f 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/multibyte/utils.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/multibyte/utils.rb
@@ -26,11 +26,11 @@ module ActiveSupport #:nodoc:
else
def self.verify(string)
if expression = valid_character
- for c in string.split(//)
- return false unless expression.match(c)
- end
+ # Splits the string on character boundaries, which are determined based on $KCODE.
+ string.split(//).all? { |c| expression =~ c }
+ else
+ true
end
- true
end
end
@@ -49,9 +49,8 @@ module ActiveSupport #:nodoc:
else
def self.clean(string)
if expression = valid_character
- stripped = []; for c in string.split(//)
- stripped << c if expression.match(c)
- end; stripped.join
+ # Splits the string on character boundaries, which are determined based on $KCODE.
+ string.split(//).grep(expression).join
else
string
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/option_merger.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/option_merger.rb
index 63662b75c74..63662b75c74 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/option_merger.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/option_merger.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/ordered_hash.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/ordered_hash.rb
index b4926486107..5e48c021fd6 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/ordered_hash.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/ordered_hash.rb
@@ -1,10 +1,28 @@
+require 'yaml'
+
+YAML.add_builtin_type("omap") do |type, val|
+ ActiveSupport::OrderedHash[val.map(&:to_a).map(&:first)]
+end
+
# OrderedHash is namespaced to prevent conflicts with other implementations
module ActiveSupport
- # Hash is ordered in Ruby 1.9!
- if RUBY_VERSION >= '1.9'
- OrderedHash = ::Hash
- else
- class OrderedHash < Hash #:nodoc:
+ class OrderedHash < ::Hash #:nodoc:
+ def to_yaml_type
+ "!tag:yaml.org,2002:omap"
+ end
+
+ def to_yaml(opts = {})
+ YAML.quick_emit(self, opts) do |out|
+ out.seq(taguri, to_yaml_style) do |seq|
+ each do |k, v|
+ seq.add(k => v)
+ end
+ end
+ end
+ end
+
+ # Hash is ordered in Ruby 1.9!
+ if RUBY_VERSION < '1.9'
def initialize(*args, &block)
super
@keys = []
@@ -52,7 +70,7 @@ module ActiveSupport
end
super
end
-
+
def delete_if
super
sync_keys!
@@ -112,12 +130,18 @@ module ActiveSupport
end
def merge!(other_hash)
- other_hash.each {|k,v| self[k] = v }
+ if block_given?
+ other_hash.each { |k, v| self[k] = key?(k) ? yield(k, self[k], v) : v }
+ else
+ other_hash.each { |k, v| self[k] = v }
+ end
self
end
- def merge(other_hash)
- dup.merge!(other_hash)
+ alias_method :update, :merge!
+
+ def merge(other_hash, &block)
+ dup.merge!(other_hash, &block)
end
# When replacing with another hash, the initial order of our keys must come from the other hash -ordered or not.
@@ -127,15 +151,18 @@ module ActiveSupport
self
end
+ def invert
+ OrderedHash[self.to_a.map!{|key_value_pair| key_value_pair.reverse}]
+ end
+
def inspect
"#<OrderedHash #{super}>"
end
- private
-
- def sync_keys!
- @keys.delete_if {|k| !has_key?(k)}
- end
+ private
+ def sync_keys!
+ @keys.delete_if {|k| !has_key?(k)}
+ end
end
end
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/ordered_options.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/ordered_options.rb
index 642045186f5..642045186f5 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/ordered_options.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/ordered_options.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/rescuable.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/rescuable.rb
index c27c4ddb1a2..c27c4ddb1a2 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/rescuable.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/rescuable.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/secure_random.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/secure_random.rb
index cfbce4d7547..cfbce4d7547 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/secure_random.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/secure_random.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/string_inquirer.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/string_inquirer.rb
index e6b1f392251..e6b1f392251 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/string_inquirer.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/string_inquirer.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/test_case.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/test_case.rb
index bde74faa497..bde74faa497 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/test_case.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/test_case.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/testing/assertions.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/testing/assertions.rb
index ca51adba1eb..aa9dbe8561e 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/testing/assertions.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/testing/assertions.rb
@@ -60,6 +60,20 @@ module ActiveSupport
def assert_no_difference(expression, message = nil, &block)
assert_difference expression, 0, message, &block
end
+
+ # Test if an expression is blank. Passes if object.blank? is true.
+ #
+ # assert_blank [] # => true
+ def assert_blank(object)
+ assert object.blank?, "#{object.inspect} is not blank"
+ end
+
+ # Test if an expression is not blank. Passes if object.present? is true.
+ #
+ # assert_present {:data => 'x' } # => true
+ def assert_present(object)
+ assert object.present?, "#{object.inspect} is blank"
+ end
end
end
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/testing/declarative.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/testing/declarative.rb
index cb6a5844ebc..cb6a5844ebc 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/testing/declarative.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/testing/declarative.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/testing/default.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/testing/default.rb
index a0bd6303c77..a0bd6303c77 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/testing/default.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/testing/default.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/testing/deprecation.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/testing/deprecation.rb
index 2271caf8495..2271caf8495 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/testing/deprecation.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/testing/deprecation.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/testing/performance.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/testing/performance.rb
index f8d12e82b34..331ef0e3f98 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/testing/performance.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/testing/performance.rb
@@ -24,7 +24,7 @@ module ActiveSupport
end.freeze
def self.included(base)
- base.superclass_delegating_accessor :profile_options
+ base.class_attribute :profile_options
base.profile_options = DEFAULTS
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/testing/setup_and_teardown.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/testing/setup_and_teardown.rb
index aaf9f8f42c2..25c927dde27 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/testing/setup_and_teardown.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/testing/setup_and_teardown.rb
@@ -23,12 +23,12 @@ module ActiveSupport
run_callbacks :setup
result = super
rescue Exception => e
- result = runner.puke(self.class, self.name, e)
+ result = runner.puke(self.class, __name__, e)
ensure
begin
run_callbacks :teardown, :enumerator => :reverse_each
rescue Exception => e
- result = runner.puke(self.class, self.name, e)
+ result = runner.puke(self.class, __name__, e)
end
end
result
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/time_with_zone.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/time_with_zone.rb
index 2e5a2332aac..2e5a2332aac 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/time_with_zone.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/time_with_zone.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/values/time_zone.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/values/time_zone.rb
index 836f469df77..ad9ea2ace24 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/values/time_zone.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/values/time_zone.rb
@@ -172,19 +172,26 @@ module ActiveSupport
include Comparable
attr_reader :name
+ attr_reader :tzinfo
# Create a new TimeZone object with the given name and offset. The
# offset is the number of seconds that this time zone is offset from UTC
# (GMT). Seconds were chosen as the offset unit because that is the unit that
# Ruby uses to represent time zone offsets (see Time#utc_offset).
- def initialize(name, utc_offset, tzinfo = nil)
+ def initialize(name, utc_offset = nil, tzinfo = nil)
@name = name
@utc_offset = utc_offset
- @tzinfo = tzinfo
+ @tzinfo = tzinfo || TimeZone.find_tzinfo(name)
+ @current_period = nil
end
def utc_offset
- @utc_offset ||= tzinfo.current_period.utc_offset
+ if @utc_offset
+ @utc_offset
+ else
+ @current_period ||= tzinfo.current_period
+ @current_period.utc_offset
+ end
end
# Returns the offset of this time zone as a formatted string, of the
@@ -287,77 +294,11 @@ module ActiveSupport
end
# TODO: Preload instead of lazy load for thread safety
- def tzinfo
+ def self.find_tzinfo(name)
require 'tzinfo' unless defined?(TZInfo)
- @tzinfo ||= TZInfo::Timezone.get(MAPPING[name])
- end
-
- unless const_defined?(:ZONES)
- ZONES = []
- ZONES_MAP = {}
- [[-39_600, "International Date Line West", "Midway Island", "Samoa" ],
- [-36_000, "Hawaii" ],
- [-32_400, "Alaska" ],
- [-28_800, "Pacific Time (US & Canada)", "Tijuana" ],
- [-25_200, "Mountain Time (US & Canada)", "Chihuahua", "Mazatlan",
- "Arizona" ],
- [-21_600, "Central Time (US & Canada)", "Saskatchewan", "Guadalajara",
- "Mexico City", "Monterrey", "Central America" ],
- [-18_000, "Eastern Time (US & Canada)", "Indiana (East)", "Bogota",
- "Lima", "Quito" ],
- [-16_200, "Caracas" ],
- [-14_400, "Atlantic Time (Canada)", "La Paz", "Santiago" ],
- [-12_600, "Newfoundland" ],
- [-10_800, "Brasilia", "Buenos Aires", "Georgetown", "Greenland" ],
- [ -7_200, "Mid-Atlantic" ],
- [ -3_600, "Azores", "Cape Verde Is." ],
- [ 0, "Dublin", "Edinburgh", "Lisbon", "London", "Casablanca",
- "Monrovia", "UTC" ],
- [ 3_600, "Belgrade", "Bratislava", "Budapest", "Ljubljana", "Prague",
- "Sarajevo", "Skopje", "Warsaw", "Zagreb", "Brussels",
- "Copenhagen", "Madrid", "Paris", "Amsterdam", "Berlin",
- "Bern", "Rome", "Stockholm", "Vienna",
- "West Central Africa" ],
- [ 7_200, "Bucharest", "Cairo", "Helsinki", "Kyev", "Riga", "Sofia",
- "Tallinn", "Vilnius", "Athens", "Istanbul", "Minsk",
- "Jerusalem", "Harare", "Pretoria" ],
- [ 10_800, "Moscow", "St. Petersburg", "Volgograd", "Kuwait", "Riyadh",
- "Nairobi", "Baghdad" ],
- [ 12_600, "Tehran" ],
- [ 14_400, "Abu Dhabi", "Muscat", "Baku", "Tbilisi", "Yerevan" ],
- [ 16_200, "Kabul" ],
- [ 18_000, "Ekaterinburg", "Islamabad", "Karachi", "Tashkent" ],
- [ 19_800, "Chennai", "Kolkata", "Mumbai", "New Delhi", "Sri Jayawardenepura" ],
- [ 20_700, "Kathmandu" ],
- [ 21_600, "Astana", "Dhaka", "Almaty",
- "Novosibirsk" ],
- [ 23_400, "Rangoon" ],
- [ 25_200, "Bangkok", "Hanoi", "Jakarta", "Krasnoyarsk" ],
- [ 28_800, "Beijing", "Chongqing", "Hong Kong", "Urumqi",
- "Kuala Lumpur", "Singapore", "Taipei", "Perth", "Irkutsk",
- "Ulaan Bataar" ],
- [ 32_400, "Seoul", "Osaka", "Sapporo", "Tokyo", "Yakutsk" ],
- [ 34_200, "Darwin", "Adelaide" ],
- [ 36_000, "Canberra", "Melbourne", "Sydney", "Brisbane", "Hobart",
- "Vladivostok", "Guam", "Port Moresby" ],
- [ 39_600, "Magadan", "Solomon Is.", "New Caledonia" ],
- [ 43_200, "Fiji", "Kamchatka", "Marshall Is.", "Auckland",
- "Wellington" ],
- [ 46_800, "Nuku'alofa" ]].
- each do |offset, *places|
- places.each do |place|
- place.freeze
- zone = new(place, offset)
- ZONES << zone
- ZONES_MAP[place] = zone
- end
- end
- ZONES.sort!
- ZONES.freeze
- ZONES_MAP.freeze
-
- US_ZONES = ZONES.find_all { |z| z.name =~ /US|Arizona|Indiana|Hawaii|Alaska/ }
- US_ZONES.freeze
+ ::TZInfo::Timezone.get(MAPPING[name] || name)
+ rescue TZInfo::InvalidTimezoneIdentifier
+ nil
end
class << self
@@ -374,7 +315,68 @@ module ActiveSupport
# TimeZone objects per time zone, in many cases, to make it easier
# for users to find their own time zone.
def all
- ZONES
+ @zones ||= zones_map.values.sort
+ end
+
+ def zones_map
+ unless defined?(@zones_map)
+ @zones_map = {}
+ [[-39_600, "International Date Line West", "Midway Island", "Samoa" ],
+ [-36_000, "Hawaii" ],
+ [-32_400, "Alaska" ],
+ [-28_800, "Pacific Time (US & Canada)", "Tijuana" ],
+ [-25_200, "Mountain Time (US & Canada)", "Chihuahua", "Mazatlan",
+ "Arizona" ],
+ [-21_600, "Central Time (US & Canada)", "Saskatchewan", "Guadalajara",
+ "Mexico City", "Monterrey", "Central America" ],
+ [-18_000, "Eastern Time (US & Canada)", "Indiana (East)", "Bogota",
+ "Lima", "Quito" ],
+ [-16_200, "Caracas" ],
+ [-14_400, "Atlantic Time (Canada)", "La Paz", "Santiago" ],
+ [-12_600, "Newfoundland" ],
+ [-10_800, "Brasilia", "Buenos Aires", "Georgetown", "Greenland" ],
+ [ -7_200, "Mid-Atlantic" ],
+ [ -3_600, "Azores", "Cape Verde Is." ],
+ [ 0, "Dublin", "Edinburgh", "Lisbon", "London", "Casablanca",
+ "Monrovia", "UTC" ],
+ [ 3_600, "Belgrade", "Bratislava", "Budapest", "Ljubljana", "Prague",
+ "Sarajevo", "Skopje", "Warsaw", "Zagreb", "Brussels",
+ "Copenhagen", "Madrid", "Paris", "Amsterdam", "Berlin",
+ "Bern", "Rome", "Stockholm", "Vienna",
+ "West Central Africa" ],
+ [ 7_200, "Bucharest", "Cairo", "Helsinki", "Kyev", "Riga", "Sofia",
+ "Tallinn", "Vilnius", "Athens", "Istanbul", "Minsk",
+ "Jerusalem", "Harare", "Pretoria" ],
+ [ 10_800, "Moscow", "St. Petersburg", "Volgograd", "Kuwait", "Riyadh",
+ "Nairobi", "Baghdad" ],
+ [ 12_600, "Tehran" ],
+ [ 14_400, "Abu Dhabi", "Muscat", "Baku", "Tbilisi", "Yerevan" ],
+ [ 16_200, "Kabul" ],
+ [ 18_000, "Ekaterinburg", "Islamabad", "Karachi", "Tashkent" ],
+ [ 19_800, "Chennai", "Kolkata", "Mumbai", "New Delhi", "Sri Jayawardenepura" ],
+ [ 20_700, "Kathmandu" ],
+ [ 21_600, "Astana", "Dhaka", "Almaty",
+ "Novosibirsk" ],
+ [ 23_400, "Rangoon" ],
+ [ 25_200, "Bangkok", "Hanoi", "Jakarta", "Krasnoyarsk" ],
+ [ 28_800, "Beijing", "Chongqing", "Hong Kong", "Urumqi",
+ "Kuala Lumpur", "Singapore", "Taipei", "Perth", "Irkutsk",
+ "Ulaan Bataar" ],
+ [ 32_400, "Seoul", "Osaka", "Sapporo", "Tokyo", "Yakutsk" ],
+ [ 34_200, "Darwin", "Adelaide" ],
+ [ 36_000, "Canberra", "Melbourne", "Sydney", "Brisbane", "Hobart",
+ "Vladivostok", "Guam", "Port Moresby" ],
+ [ 39_600, "Magadan", "Solomon Is.", "New Caledonia" ],
+ [ 43_200, "Fiji", "Kamchatka", "Marshall Is.", "Auckland",
+ "Wellington" ],
+ [ 46_800, "Nuku'alofa" ]].
+ each do |offset, *places|
+ places.each do |place|
+ @zones_map[place] = create(place, offset)
+ end
+ end
+ end
+ @zones_map
end
# Locate a specific time zone object. If the argument is a string, it
@@ -385,7 +387,11 @@ module ActiveSupport
def [](arg)
case arg
when String
- ZONES_MAP[arg]
+ if tz = zones_map[arg]
+ tz
+ elsif tz = lookup(arg)
+ zones_map[arg] = tz
+ end
when Numeric, ActiveSupport::Duration
arg *= 3600 if arg.abs <= 13
all.find { |z| z.utc_offset == arg.to_i }
@@ -397,8 +403,14 @@ module ActiveSupport
# A convenience method for returning a collection of TimeZone objects
# for time zones in the USA.
def us_zones
- US_ZONES
+ @us_zones ||= all.find_all { |z| z.name =~ /US|Arizona|Indiana|Hawaii|Alaska/ }
end
+
+ private
+
+ def lookup(name)
+ (tzinfo = find_tzinfo(name)) && create(tzinfo.name.freeze)
+ end
end
end
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/values/unicode_tables.dat b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/values/unicode_tables.dat
index 74b333d4168..74b333d4168 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/values/unicode_tables.dat
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/values/unicode_tables.dat
Binary files differ
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor.rb
index cf2af4a16e8..62d81fe97c0 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor.rb
@@ -21,8 +21,16 @@ rescue Gem::LoadError
end
begin
- gem 'i18n', '>= 0.1.3'
+ gem 'i18n', '>= 0.4.1'
rescue Gem::LoadError
- $:.unshift "#{File.dirname(__FILE__)}/vendor/i18n-0.1.3/lib"
+ $:.unshift "#{File.dirname(__FILE__)}/vendor/i18n-0.4.1"
end
require 'i18n'
+
+module I18n
+ if !respond_to?(:normalize_translation_keys) && respond_to?(:normalize_keys)
+ def self.normalize_translation_keys(*args)
+ normalize_keys(*args)
+ end
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/blankslate.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/builder-2.1.2/blankslate.rb
index da6034d9c45..da6034d9c45 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/blankslate.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/builder-2.1.2/blankslate.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/builder-2.1.2/builder.rb
index 9719277669e..9719277669e 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/builder-2.1.2/builder.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/blankslate.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/builder-2.1.2/builder/blankslate.rb
index 2935b6f1d14..2935b6f1d14 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/blankslate.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/builder-2.1.2/builder/blankslate.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/css.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/builder-2.1.2/builder/css.rb
index e086a1b132d..e086a1b132d 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/css.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/builder-2.1.2/builder/css.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/xchar.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/builder-2.1.2/builder/xchar.rb
index 8bdbd058997..8bdbd058997 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/xchar.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/builder-2.1.2/builder/xchar.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/xmlbase.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/builder-2.1.2/builder/xmlbase.rb
index ace4b56d597..ace4b56d597 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/xmlbase.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/builder-2.1.2/builder/xmlbase.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/xmlevents.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/builder-2.1.2/builder/xmlevents.rb
index b373e4da3ce..b373e4da3ce 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/xmlevents.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/builder-2.1.2/builder/xmlevents.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/xmlmarkup.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/builder-2.1.2/builder/xmlmarkup.rb
index ec59dddc366..ec59dddc366 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/xmlmarkup.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/builder-2.1.2/builder/xmlmarkup.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n.rb
new file mode 100755
index 00000000000..346681e74fb
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n.rb
@@ -0,0 +1,322 @@
+# encoding: utf-8
+
+# Authors:: Sven Fuchs (http://www.artweb-design.de),
+# Joshua Harvey (http://www.workingwithrails.com/person/759-joshua-harvey),
+# Stephan Soller (http://www.arkanis-development.de/),
+# Saimon Moore (http://saimonmoore.net),
+# Matt Aimonetti (http://railsontherun.com/)
+# Copyright:: Copyright (c) 2008 The Ruby i18n Team
+# License:: MIT
+require 'i18n/exceptions'
+require 'i18n/core_ext/string/interpolate'
+
+module I18n
+ autoload :Backend, 'i18n/backend'
+ autoload :Config, 'i18n/config'
+ autoload :Gettext, 'i18n/gettext'
+ autoload :Locale, 'i18n/locale'
+
+ class << self
+ # Gets I18n configuration object.
+ def config
+ Thread.current[:i18n_config] ||= I18n::Config.new
+ end
+
+ # Sets I18n configuration object.
+ def config=(value)
+ Thread.current[:i18n_config] = value
+ end
+
+ # Write methods which delegates to the configuration object
+ %w(locale backend default_locale available_locales default_separator
+ exception_handler load_path).each do |method|
+ module_eval <<-DELEGATORS, __FILE__, __LINE__ + 1
+ def #{method}
+ config.#{method}
+ end
+
+ def #{method}=(value)
+ config.#{method} = (value)
+ end
+ DELEGATORS
+ end
+
+ # Tells the backend to reload translations. Used in situations like the
+ # Rails development environment. Backends can implement whatever strategy
+ # is useful.
+ def reload!
+ config.backend.reload!
+ end
+
+ # Translates, pluralizes and interpolates a given key using a given locale,
+ # scope, and default, as well as interpolation values.
+ #
+ # *LOOKUP*
+ #
+ # Translation data is organized as a nested hash using the upper-level keys
+ # as namespaces. <em>E.g.</em>, ActionView ships with the translation:
+ # <tt>:date => {:formats => {:short => "%b %d"}}</tt>.
+ #
+ # Translations can be looked up at any level of this hash using the key argument
+ # and the scope option. <em>E.g.</em>, in this example <tt>I18n.t :date</tt>
+ # returns the whole translations hash <tt>{:formats => {:short => "%b %d"}}</tt>.
+ #
+ # Key can be either a single key or a dot-separated key (both Strings and Symbols
+ # work). <em>E.g.</em>, the short format can be looked up using both:
+ # I18n.t 'date.formats.short'
+ # I18n.t :'date.formats.short'
+ #
+ # Scope can be either a single key, a dot-separated key or an array of keys
+ # or dot-separated keys. Keys and scopes can be combined freely. So these
+ # examples will all look up the same short date format:
+ # I18n.t 'date.formats.short'
+ # I18n.t 'formats.short', :scope => 'date'
+ # I18n.t 'short', :scope => 'date.formats'
+ # I18n.t 'short', :scope => %w(date formats)
+ #
+ # *INTERPOLATION*
+ #
+ # Translations can contain interpolation variables which will be replaced by
+ # values passed to #translate as part of the options hash, with the keys matching
+ # the interpolation variable names.
+ #
+ # <em>E.g.</em>, with a translation <tt>:foo => "foo %{bar}"</tt> the option
+ # value for the key +bar+ will be interpolated into the translation:
+ # I18n.t :foo, :bar => 'baz' # => 'foo baz'
+ #
+ # *PLURALIZATION*
+ #
+ # Translation data can contain pluralized translations. Pluralized translations
+ # are arrays of singluar/plural versions of translations like <tt>['Foo', 'Foos']</tt>.
+ #
+ # Note that <tt>I18n::Backend::Simple</tt> only supports an algorithm for English
+ # pluralization rules. Other algorithms can be supported by custom backends.
+ #
+ # This returns the singular version of a pluralized translation:
+ # I18n.t :foo, :count => 1 # => 'Foo'
+ #
+ # These both return the plural version of a pluralized translation:
+ # I18n.t :foo, :count => 0 # => 'Foos'
+ # I18n.t :foo, :count => 2 # => 'Foos'
+ #
+ # The <tt>:count</tt> option can be used both for pluralization and interpolation.
+ # <em>E.g.</em>, with the translation
+ # <tt>:foo => ['%{count} foo', '%{count} foos']</tt>, count will
+ # be interpolated to the pluralized translation:
+ # I18n.t :foo, :count => 1 # => '1 foo'
+ #
+ # *DEFAULTS*
+ #
+ # This returns the translation for <tt>:foo</tt> or <tt>default</tt> if no translation was found:
+ # I18n.t :foo, :default => 'default'
+ #
+ # This returns the translation for <tt>:foo</tt> or the translation for <tt>:bar</tt> if no
+ # translation for <tt>:foo</tt> was found:
+ # I18n.t :foo, :default => :bar
+ #
+ # Returns the translation for <tt>:foo</tt> or the translation for <tt>:bar</tt>
+ # or <tt>default</tt> if no translations for <tt>:foo</tt> and <tt>:bar</tt> were found.
+ # I18n.t :foo, :default => [:bar, 'default']
+ #
+ # *BULK LOOKUP*
+ #
+ # This returns an array with the translations for <tt>:foo</tt> and <tt>:bar</tt>.
+ # I18n.t [:foo, :bar]
+ #
+ # Can be used with dot-separated nested keys:
+ # I18n.t [:'baz.foo', :'baz.bar']
+ #
+ # Which is the same as using a scope option:
+ # I18n.t [:foo, :bar], :scope => :baz
+ #
+ # *LAMBDAS*
+ #
+ # Both translations and defaults can be given as Ruby lambdas. Lambdas will be
+ # called and passed the key and options.
+ #
+ # E.g. assuming the key <tt>:salutation</tt> resolves to:
+ # lambda { |key, options| options[:gender] == 'm' ? "Mr. %{options[:name]}" : "Mrs. %{options[:name]}" }
+ #
+ # Then <tt>I18n.t(:salutation, :gender => 'w', :name => 'Smith') will result in "Mrs. Smith".
+ #
+ # It is recommended to use/implement lambdas in an "idempotent" way. E.g. when
+ # a cache layer is put in front of I18n.translate it will generate a cache key
+ # from the argument values passed to #translate. Therefor your lambdas should
+ # always return the same translations/values per unique combination of argument
+ # values.
+ def translate(*args)
+ options = args.pop if args.last.is_a?(Hash)
+ key = args.shift
+ locale = options && options.delete(:locale) || config.locale
+ raises = options && options.delete(:raise)
+ config.backend.translate(locale, key, options || {})
+ rescue I18n::ArgumentError => exception
+ raise exception if raises
+ handle_exception(exception, locale, key, options)
+ end
+ alias :t :translate
+
+ def translate!(key, options = {})
+ translate(key, options.merge( :raise => true ))
+ end
+ alias :t! :translate!
+
+ # Transliterates UTF-8 characters to ASCII. By default this method will
+ # transliterate only Latin strings to an ASCII approximation:
+ #
+ # I18n.transliterate("Ærøskøbing")
+ # # => "AEroskobing"
+ #
+ # I18n.transliterate("日本語")
+ # # => "???"
+ #
+ # It's also possible to add support for per-locale transliterations. I18n
+ # expects transliteration rules to be stored at
+ # <tt>i18n.transliterate.rule</tt>.
+ #
+ # Transliteration rules can either be a Hash or a Proc. Procs must accept a
+ # single string argument. Hash rules inherit the default transliteration
+ # rules, while Procs do not.
+ #
+ # *Examples*
+ #
+ # Setting a Hash in <locale>.yml:
+ #
+ # i18n:
+ # transliterate:
+ # rule:
+ # ü: "ue"
+ # ö: "oe"
+ #
+ # Setting a Hash using Ruby:
+ #
+ # store_translations(:de, :i18n => {
+ # :transliterate => {
+ # :rule => {
+ # "ü" => "ue",
+ # "ö" => "oe"
+ # }
+ # }
+ # )
+ #
+ # Setting a Proc:
+ #
+ # translit = lambda {|string| MyTransliterator.transliterate(string) }
+ # store_translations(:xx, :i18n => {:transliterate => {:rule => translit})
+ #
+ # Transliterating strings:
+ #
+ # I18n.locale = :en
+ # I18n.transliterate("Jürgen") # => "Jurgen"
+ # I18n.locale = :de
+ # I18n.transliterate("Jürgen") # => "Juergen"
+ # I18n.transliterate("Jürgen", :locale => :en) # => "Jurgen"
+ # I18n.transliterate("Jürgen", :locale => :de) # => "Juergen"
+ def transliterate(*args)
+ options = args.pop if args.last.is_a?(Hash)
+ key = args.shift
+ locale = options && options.delete(:locale) || config.locale
+ raises = options && options.delete(:raise)
+ replacement = options && options.delete(:replacement)
+ config.backend.transliterate(locale, key, replacement)
+ rescue I18n::ArgumentError => exception
+ raise exception if raises
+ handle_exception(exception, locale, key, options)
+ end
+
+ # Localizes certain objects, such as dates and numbers to local formatting.
+ def localize(object, options = {})
+ locale = options.delete(:locale) || config.locale
+ format = options.delete(:format) || :default
+ config.backend.localize(locale, object, format, options)
+ end
+ alias :l :localize
+
+ # Executes block with given I18n.locale set.
+ def with_locale(tmp_locale = nil)
+ if tmp_locale
+ current_locale = self.locale
+ self.locale = tmp_locale
+ end
+ yield
+ ensure
+ self.locale = current_locale if tmp_locale
+ end
+
+
+ # Merges the given locale, key and scope into a single array of keys.
+ # Splits keys that contain dots into multiple keys. Makes sure all
+ # keys are Symbols.
+ def normalize_keys(locale, key, scope, separator = nil)
+ separator ||= I18n.default_separator
+
+ keys = []
+ keys.concat normalize_key(locale, separator)
+ keys.concat normalize_key(scope, separator)
+ keys.concat normalize_key(key, separator)
+ keys
+ end
+
+ # making these private until Ruby 1.9.2 can send to protected methods again
+ # see http://redmine.ruby-lang.org/repositories/revision/ruby-19?rev=24280
+ private
+
+ # Handles exceptions raised in the backend. All exceptions except for
+ # MissingTranslationData exceptions are re-raised. When a MissingTranslationData
+ # was caught and the option :raise is not set the handler returns an error
+ # message string containing the key/scope.
+ def default_exception_handler(exception, locale, key, options)
+ return exception.message if MissingTranslationData === exception
+ raise exception
+ end
+
+ # Any exceptions thrown in translate will be sent to the @@exception_handler
+ # which can be a Symbol, a Proc or any other Object.
+ #
+ # If exception_handler is a Symbol then it will simply be sent to I18n as
+ # a method call. A Proc will simply be called. In any other case the
+ # method #call will be called on the exception_handler object.
+ #
+ # Examples:
+ #
+ # I18n.exception_handler = :default_exception_handler # this is the default
+ # I18n.default_exception_handler(exception, locale, key, options) # will be called like this
+ #
+ # I18n.exception_handler = lambda { |*args| ... } # a lambda
+ # I18n.exception_handler.call(exception, locale, key, options) # will be called like this
+ #
+ # I18n.exception_handler = I18nExceptionHandler.new # an object
+ # I18n.exception_handler.call(exception, locale, key, options) # will be called like this
+ def handle_exception(exception, locale, key, options)
+ case config.exception_handler
+ when Symbol
+ send(config.exception_handler, exception, locale, key, options)
+ else
+ config.exception_handler.call(exception, locale, key, options)
+ end
+ end
+
+ # Deprecated. Will raise a warning in future versions and then finally be
+ # removed. Use I18n.normalize_keys instead.
+ def normalize_translation_keys(locale, key, scope, separator = nil)
+ normalize_keys(locale, key, scope, separator)
+ end
+
+ def normalize_key(key, separator)
+ normalized_key_cache[separator][key] ||=
+ case key
+ when Array
+ key.map { |k| normalize_key(k, separator) }.flatten
+ else
+ keys = key.to_s.split(separator)
+ keys.delete('')
+ keys.map!{ |k| k.to_sym }
+ keys
+ end
+ end
+
+ def normalized_key_cache
+ @normalized_key_cache ||= Hash.new { |h,k| h[k] = {} }
+ end
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend.rb
index fe65fb48418..fe65fb48418 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/active_record.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/active_record.rb
index b60f138d11a..b60f138d11a 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/active_record.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/active_record.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/active_record/missing.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/active_record/missing.rb
new file mode 100755
index 00000000000..0eafcb29508
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/active_record/missing.rb
@@ -0,0 +1,65 @@
+# This extension stores translation stub records for missing translations to
+# the database.
+#
+# This is useful if you have a web based translation tool. It will populate
+# the database with untranslated keys as the application is being used. A
+# translator can then go through these and add missing translations.
+#
+# Example usage:
+#
+# I18n::Backend::Chain.send(:include, I18n::Backend::ActiveRecord::Missing)
+# I18n.backend = I18nChainBackend.new(I18n::Backend::ActiveRecord.new, I18n::Backend::Simple.new)
+#
+# Stub records for pluralizations will also be created for each key defined
+# in i18n.plural.keys.
+#
+# For example:
+#
+# # en.yml
+# en:
+# i18n:
+# plural:
+# keys: [:zero, :one, :other]
+#
+# # pl.yml
+# pl:
+# i18n:
+# plural:
+# keys: [:zero, :one, :few, :other]
+#
+# It will also persist interpolation keys in Translation#interpolations so
+# translators will be able to review and use them.
+module I18n
+ module Backend
+ class ActiveRecord
+ module Missing
+ def store_default_translations(locale, key, options = {})
+ count, scope, default, separator = options.values_at(:count, *Base::RESERVED_KEYS)
+ separator ||= I18n.default_separator
+
+ keys = I18n.normalize_keys(locale, key, scope, separator)[1..-1]
+ key = keys.join(separator || I18n.default_separator)
+
+ unless ActiveRecord::Translation.locale(locale).lookup(key).exists?
+ interpolations = options.reject { |name, value| Base::RESERVED_KEYS.include?(name) }.keys
+ keys = count ? I18n.t('i18n.plural.keys', :locale => locale).map { |k| [key, k].join(separator) } : [key]
+ keys.each { |key| store_default_translation(locale, key, interpolations) }
+ end
+ end
+
+ def store_default_translation(locale, key, interpolations)
+ translation = ActiveRecord::Translation.new :locale => locale.to_s, :key => key
+ translation.interpolations = interpolations
+ translation.save
+ end
+
+ def translate(locale, key, options = {})
+ super
+ rescue I18n::MissingTranslationData => e
+ self.store_default_translations(locale, key, options)
+ raise e
+ end
+ end
+ end
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/active_record/store_procs.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/active_record/store_procs.rb
index 652b1aaa854..652b1aaa854 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/active_record/store_procs.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/active_record/store_procs.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/active_record/translation.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/active_record/translation.rb
new file mode 100755
index 00000000000..9e382975b0c
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/active_record/translation.rb
@@ -0,0 +1,93 @@
+require 'active_record'
+
+module I18n
+ module Backend
+ # ActiveRecord model used to store actual translations to the database.
+ #
+ # This model expects a table like the following to be already set up in
+ # your the database:
+ #
+ # create_table :translations do |t|
+ # t.string :locale
+ # t.string :key
+ # t.text :value
+ # t.text :interpolations
+ # t.boolean :is_proc, :default => false
+ # end
+ #
+ # This model supports to named scopes :locale and :lookup. The :locale
+ # scope simply adds a condition for a given locale:
+ #
+ # I18n::Backend::ActiveRecord::Translation.locale(:en).all
+ # # => all translation records that belong to the :en locale
+ #
+ # The :lookup scope adds a condition for looking up all translations
+ # that either start with the given keys (joined by an optionally given
+ # separator or I18n.default_separator) or that exactly have this key.
+ #
+ # # with translations present for :"foo.bar" and :"foo.baz"
+ # I18n::Backend::ActiveRecord::Translation.lookup(:foo)
+ # # => an array with both translation records :"foo.bar" and :"foo.baz"
+ #
+ # I18n::Backend::ActiveRecord::Translation.lookup([:foo, :bar])
+ # I18n::Backend::ActiveRecord::Translation.lookup(:"foo.bar")
+ # # => an array with the translation record :"foo.bar"
+ #
+ # When the StoreProcs module was mixed into this model then Procs will
+ # be stored to the database as Ruby code and evaluated when :value is
+ # called.
+ #
+ # Translation = I18n::Backend::ActiveRecord::Translation
+ # Translation.create \
+ # :locale => 'en'
+ # :key => 'foo'
+ # :value => lambda { |key, options| 'FOO' }
+ # Translation.find_by_locale_and_key('en', 'foo').value
+ # # => 'FOO'
+ class ActiveRecord
+ class Translation < ::ActiveRecord::Base
+ set_table_name 'translations'
+ attr_protected :is_proc, :interpolations
+
+ serialize :value
+ serialize :interpolations, Array
+
+ scope_method = ::ActiveRecord::VERSION::MAJOR == 2 ? :named_scope : :scope
+
+ send scope_method, :locale, lambda { |locale|
+ { :conditions => { :locale => locale.to_s } }
+ }
+
+ send scope_method, :lookup, lambda { |keys, *separator|
+ column_name = connection.quote_column_name('key')
+ keys = Array(keys).map! { |key| key.to_s }
+
+ unless separator.empty?
+ warn "[DEPRECATION] Giving a separator to Translation.lookup is deprecated. " <<
+ "You can change the internal separator by overwriting FLATTEN_SEPARATOR."
+ end
+
+ namespace = "#{keys.last}#{I18n::Backend::Flatten::FLATTEN_SEPARATOR}%"
+ { :conditions => ["#{column_name} IN (?) OR #{column_name} LIKE ?", keys, namespace] }
+ }
+
+ def self.available_locales
+ Translation.find(:all, :select => 'DISTINCT locale').map { |t| t.locale.to_sym }
+ end
+
+ def interpolates?(key)
+ self.interpolations.include?(key) if self.interpolations
+ end
+
+ def value
+ if is_proc
+ Kernel.eval(read_attribute(:value))
+ else
+ value = read_attribute(:value)
+ value == 'f' ? false : value
+ end
+ end
+ end
+ end
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/base.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/base.rb
new file mode 100755
index 00000000000..32725587981
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/base.rb
@@ -0,0 +1,237 @@
+# encoding: utf-8
+
+require 'yaml'
+require 'i18n/core_ext/hash'
+
+module I18n
+ module Backend
+ module Base
+ include I18n::Backend::Transliterator
+
+ RESERVED_KEYS = [:scope, :default, :separator, :resolve]
+ RESERVED_KEYS_PATTERN = /%\{(#{RESERVED_KEYS.join("|")})\}/
+ DEPRECATED_INTERPOLATION_SYNTAX_PATTERN = /(\\)?\{\{([^\}]+)\}\}/
+ INTERPOLATION_SYNTAX_PATTERN = /%\{([^\}]+)\}/
+
+ # Accepts a list of paths to translation files. Loads translations from
+ # plain Ruby (*.rb) or YAML files (*.yml). See #load_rb and #load_yml
+ # for details.
+ def load_translations(*filenames)
+ filenames = I18n.load_path.flatten if filenames.empty?
+ filenames.each { |filename| load_file(filename) }
+ end
+
+ # This method receives a locale, a data hash and options for storing translations.
+ # Should be implemented
+ def store_translations(locale, data, options = {})
+ raise NotImplementedError
+ end
+
+ def translate(locale, key, options = {})
+ raise InvalidLocale.new(locale) unless locale
+ return key.map { |k| translate(locale, k, options) } if key.is_a?(Array)
+
+ entry = key && lookup(locale, key, options[:scope], options)
+
+ if options.empty?
+ entry = resolve(locale, key, entry, options)
+ else
+ count, default = options.values_at(:count, :default)
+ values = options.except(*RESERVED_KEYS)
+ entry = entry.nil? && default ?
+ default(locale, key, default, options) : resolve(locale, key, entry, options)
+ end
+
+ raise(I18n::MissingTranslationData.new(locale, key, options)) if entry.nil?
+ entry = entry.dup if entry.is_a?(String)
+
+ entry = pluralize(locale, entry, count) if count
+ entry = interpolate(locale, entry, values) if values
+ entry
+ end
+
+ # Acts the same as +strftime+, but uses a localized version of the
+ # format string. Takes a key from the date/time formats translations as
+ # a format argument (<em>e.g.</em>, <tt>:short</tt> in <tt>:'date.formats'</tt>).
+ def localize(locale, object, format = :default, options = {})
+ raise ArgumentError, "Object must be a Date, DateTime or Time object. #{object.inspect} given." unless object.respond_to?(:strftime)
+
+ if Symbol === format
+ key = format
+ type = object.respond_to?(:sec) ? 'time' : 'date'
+ format = I18n.t(:"#{type}.formats.#{key}", options.merge(:raise => true, :object => object, :locale => locale))
+ end
+
+ # format = resolve(locale, object, format, options)
+ format = format.to_s.gsub(/%[aAbBp]/) do |match|
+ case match
+ when '%a' then I18n.t(:"date.abbr_day_names", :locale => locale, :format => format)[object.wday]
+ when '%A' then I18n.t(:"date.day_names", :locale => locale, :format => format)[object.wday]
+ when '%b' then I18n.t(:"date.abbr_month_names", :locale => locale, :format => format)[object.mon]
+ when '%B' then I18n.t(:"date.month_names", :locale => locale, :format => format)[object.mon]
+ when '%p' then I18n.t(:"time.#{object.hour < 12 ? :am : :pm}", :locale => locale, :format => format) if object.respond_to? :hour
+ end
+ end
+
+ object.strftime(format)
+ end
+
+ # Returns an array of locales for which translations are available
+ # ignoring the reserved translation meta data key :i18n.
+ def available_locales
+ raise NotImplementedError
+ end
+
+ def reload!
+ @skip_syntax_deprecation = false
+ end
+
+ protected
+
+ # The method which actually looks up for the translation in the store.
+ def lookup(locale, key, scope = [], options = {})
+ raise NotImplementedError
+ end
+
+ # Evaluates defaults.
+ # If given subject is an Array, it walks the array and returns the
+ # first translation that can be resolved. Otherwise it tries to resolve
+ # the translation directly.
+ def default(locale, object, subject, options = {})
+ options = options.dup.reject { |key, value| key == :default }
+ case subject
+ when Array
+ subject.each do |item|
+ result = resolve(locale, object, item, options) and return result
+ end and nil
+ else
+ resolve(locale, object, subject, options)
+ end
+ end
+
+ # Resolves a translation.
+ # If the given subject is a Symbol, it will be translated with the
+ # given options. If it is a Proc then it will be evaluated. All other
+ # subjects will be returned directly.
+ def resolve(locale, object, subject, options = nil)
+ return subject if options[:resolve] == false
+ case subject
+ when Symbol
+ I18n.translate(subject, (options || {}).merge(:locale => locale, :raise => true))
+ when Proc
+ date_or_time = options.delete(:object) || object
+ resolve(locale, object, subject.call(date_or_time, options), options = {})
+ else
+ subject
+ end
+ rescue MissingTranslationData
+ nil
+ end
+
+ # Picks a translation from an array according to English pluralization
+ # rules. It will pick the first translation if count is not equal to 1
+ # and the second translation if it is equal to 1. Other backends can
+ # implement more flexible or complex pluralization rules.
+ def pluralize(locale, entry, count)
+ return entry unless entry.is_a?(Hash) && count
+
+ key = :zero if count == 0 && entry.has_key?(:zero)
+ key ||= count == 1 ? :one : :other
+ raise InvalidPluralizationData.new(entry, count) unless entry.has_key?(key)
+ entry[key]
+ end
+
+ # Interpolates values into a given string.
+ #
+ # interpolate "file %{file} opened by %%{user}", :file => 'test.txt', :user => 'Mr. X'
+ # # => "file test.txt opened by %{user}"
+ #
+ # Note that you have to double escape the <tt>\\</tt> when you want to escape
+ # the <tt>{{...}}</tt> key in a string (once for the string and once for the
+ # interpolation).
+ def interpolate(locale, string, values = {})
+ return string unless string.is_a?(::String) && !values.empty?
+ original_values = values.dup
+
+ preserve_encoding(string) do
+ string = string.gsub(DEPRECATED_INTERPOLATION_SYNTAX_PATTERN) do
+ escaped, key = $1, $2.to_sym
+ if escaped
+ "{{#{key}}}"
+ else
+ warn_syntax_deprecation!
+ "%{#{key}}"
+ end
+ end
+
+ keys = string.scan(INTERPOLATION_SYNTAX_PATTERN).flatten
+ return string if keys.empty?
+
+ values.each do |key, value|
+ if keys.include?(key.to_s)
+ value = value.call(values) if interpolate_lambda?(value, string, key)
+ value = value.to_s unless value.is_a?(::String)
+ values[key] = value
+ else
+ values.delete(key)
+ end
+ end
+
+ string % values
+ end
+ rescue KeyError => e
+ if string =~ RESERVED_KEYS_PATTERN
+ raise ReservedInterpolationKey.new($1.to_sym, string)
+ else
+ raise MissingInterpolationArgument.new(original_values, string)
+ end
+ end
+
+ def preserve_encoding(string)
+ if string.respond_to?(:encoding)
+ encoding = string.encoding
+ result = yield
+ result.force_encoding(encoding) if result.respond_to?(:force_encoding)
+ result
+ else
+ yield
+ end
+ end
+
+ # returns true when the given value responds to :call and the key is
+ # an interpolation placeholder in the given string
+ def interpolate_lambda?(object, string, key)
+ object.respond_to?(:call) && string =~ /%\{#{key}\}|%\<#{key}>.*?\d*\.?\d*[bBdiouxXeEfgGcps]\}/
+ end
+
+ # Loads a single translations file by delegating to #load_rb or
+ # #load_yml depending on the file extension and directly merges the
+ # data to the existing translations. Raises I18n::UnknownFileType
+ # for all other file extensions.
+ def load_file(filename)
+ type = File.extname(filename).tr('.', '').downcase
+ raise UnknownFileType.new(type, filename) unless respond_to?(:"load_#{type}")
+ data = send(:"load_#{type}", filename) # TODO raise a meaningful exception if this does not yield a Hash
+ data.each { |locale, d| store_translations(locale, d) }
+ end
+
+ # Loads a plain Ruby translations file. eval'ing the file must yield
+ # a Hash containing translation data with locales as toplevel keys.
+ def load_rb(filename)
+ eval(IO.read(filename), binding, filename)
+ end
+
+ # Loads a YAML translations file. The data must have locales as
+ # toplevel keys.
+ def load_yml(filename)
+ YAML::load(IO.read(filename))
+ end
+
+ def warn_syntax_deprecation! #:nodoc:
+ return if @skip_syntax_deprecation
+ warn "The {{key}} interpolation syntax in I18n messages is deprecated. Please use %{key} instead.\n#{caller.join("\n")}"
+ @skip_syntax_deprecation = true
+ end
+ end
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/cache.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/cache.rb
new file mode 100755
index 00000000000..25e6001dcf6
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/cache.rb
@@ -0,0 +1,77 @@
+# encoding: utf-8
+
+# This module allows you to easily cache all responses from the backend - thus
+# speeding up the I18n aspects of your application quite a bit.
+#
+# To enable caching you can simply include the Cache module to the Simple
+# backend - or whatever other backend you are using:
+#
+# I18n::Backend::Simple.send(:include, I18n::Backend::Cache)
+#
+# You will also need to set a cache store implementation that you want to use:
+#
+# I18n.cache_store = ActiveSupport::Cache.lookup_store(:memory_store)
+#
+# You can use any cache implementation you want that provides the same API as
+# ActiveSupport::Cache (only the methods #fetch and #write are being used).
+#
+# The cache_key implementation assumes that you only pass values to
+# I18n.translate that return a valid key from #hash (see
+# http://www.ruby-doc.org/core/classes/Object.html#M000337).
+module I18n
+ class << self
+ @@cache_store = nil
+ @@cache_namespace = nil
+
+ def cache_store
+ @@cache_store
+ end
+
+ def cache_store=(store)
+ @@cache_store = store
+ end
+
+ def cache_namespace
+ @@cache_namespace
+ end
+
+ def cache_namespace=(namespace)
+ @@cache_namespace = namespace
+ end
+
+ def perform_caching?
+ !cache_store.nil?
+ end
+ end
+
+ module Backend
+ # TODO Should the cache be cleared if new translations are stored?
+ module Cache
+ def translate(*args)
+ I18n.perform_caching? ? fetch(*args) { super } : super
+ end
+
+ protected
+
+ def fetch(*args, &block)
+ result = I18n.cache_store.fetch(cache_key(*args), &block)
+ raise result if result.is_a?(Exception)
+ result = result.dup if result.frozen? rescue result
+ result
+ rescue MissingTranslationData => exception
+ I18n.cache_store.write(cache_key(*args), exception)
+ raise exception
+ end
+
+ def cache_key(*args)
+ # This assumes that only simple, native Ruby values are passed to I18n.translate.
+ # Also, in Ruby < 1.8.7 {}.hash != {}.hash
+ # (see http://paulbarry.com/articles/2009/09/14/why-rails-3-will-require-ruby-1-8-7)
+ # If args.inspect does not work for you for some reason, patches are very welcome :)
+ hash = RUBY_VERSION >= "1.8.7" ? args.hash : args.inspect
+ keys = ['i18n', I18n.cache_namespace, hash]
+ keys.compact.join('-')
+ end
+ end
+ end
+end \ No newline at end of file
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/cascade.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/cascade.rb
index 370fb481c3c..370fb481c3c 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/cascade.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/cascade.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/chain.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/chain.rb
new file mode 100755
index 00000000000..f73a69f93fb
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/chain.rb
@@ -0,0 +1,77 @@
+# encoding: utf-8
+
+module I18n
+ module Backend
+ # Backend that chains multiple other backends and checks each of them when
+ # a translation needs to be looked up. This is useful when you want to use
+ # standard translations with a Simple backend but store custom application
+ # translations in a database or other backends.
+ #
+ # To use the Chain backend instantiate it and set it to the I18n module.
+ # You can add chained backends through the initializer or backends
+ # accessor:
+ #
+ # # preserves the existing Simple backend set to I18n.backend
+ # I18n.backend = I18n::Backend::Chain.new(I18n::Backend::ActiveRecord.new, I18n.backend)
+ #
+ # The implementation assumes that all backends added to the Chain implement
+ # a lookup method with the same API as Simple backend does.
+ class Chain
+ include Base
+
+ attr_accessor :backends
+
+ def initialize(*backends)
+ self.backends = backends
+ end
+
+ def reload!
+ backends.each { |backend| backend.reload! }
+ end
+
+ def store_translations(locale, data, options = {})
+ backends.first.store_translations(locale, data, options = {})
+ end
+
+ def available_locales
+ backends.map { |backend| backend.available_locales }.flatten.uniq
+ end
+
+ def translate(locale, key, options = {})
+ return key.map { |k| translate(locale, k, options) } if key.is_a?(Array)
+
+ default = options.delete(:default)
+ namespace = {}
+ backends.each do |backend|
+ begin
+ options.update(:default => default) if default and backend == backends.last
+ translation = backend.translate(locale, key, options)
+ if namespace_lookup?(translation, options)
+ namespace.update(translation)
+ elsif !translation.nil?
+ return translation
+ end
+ rescue MissingTranslationData
+ end
+ end
+ return namespace unless namespace.empty?
+ raise(I18n::MissingTranslationData.new(locale, key, options))
+ end
+
+ def localize(locale, object, format = :default, options = {})
+ backends.each do |backend|
+ begin
+ result = backend.localize(locale, object, format, options) and return result
+ rescue MissingTranslationData
+ end
+ end
+ raise(I18n::MissingTranslationData.new(locale, format, options))
+ end
+
+ protected
+ def namespace_lookup?(result, options)
+ result.is_a?(Hash) and not options.has_key?(:count)
+ end
+ end
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/cldr.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/cldr.rb
index d702f2249d5..d702f2249d5 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/cldr.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/cldr.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/fallbacks.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/fallbacks.rb
new file mode 100755
index 00000000000..1e014be725e
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/fallbacks.rb
@@ -0,0 +1,69 @@
+# encoding: utf-8
+
+# I18n locale fallbacks are useful when you want your application to use
+# translations from other locales when translations for the current locale are
+# missing. E.g. you might want to use :en translations when translations in
+# your applications main locale :de are missing.
+#
+# To enable locale fallbacks you can simply include the Fallbacks module to
+# the Simple backend - or whatever other backend you are using:
+#
+# I18n::Backend::Simple.send(:include, I18n::Backend::Fallbacks)
+module I18n
+ @@fallbacks = nil
+
+ class << self
+ # Returns the current fallbacks implementation. Defaults to +I18n::Locale::Fallbacks+.
+ def fallbacks
+ @@fallbacks ||= I18n::Locale::Fallbacks.new
+ end
+
+ # Sets the current fallbacks implementation. Use this to set a different fallbacks implementation.
+ def fallbacks=(fallbacks)
+ @@fallbacks = fallbacks
+ end
+ end
+
+ module Backend
+ module Fallbacks
+ # Overwrites the Base backend translate method so that it will try each
+ # locale given by I18n.fallbacks for the given locale. E.g. for the
+ # locale :"de-DE" it might try the locales :"de-DE", :de and :en
+ # (depends on the fallbacks implementation) until it finds a result with
+ # the given options. If it does not find any result for any of the
+ # locales it will then raise a MissingTranslationData exception as
+ # usual.
+ #
+ # The default option takes precedence over fallback locales
+ # only when it's not a String. When default contains String it
+ # is evaluated after fallback locales.
+ def translate(locale, key, options = {})
+ default = extract_string_default!(options) if options[:default]
+
+ I18n.fallbacks[locale].each do |fallback|
+ begin
+ result = super(fallback, key, options)
+ return result unless result.nil?
+ rescue I18n::MissingTranslationData
+ end
+ end
+
+ return super(locale, nil, options.merge(:default => default)) if default
+ raise(I18n::MissingTranslationData.new(locale, key, options))
+ end
+
+ def extract_string_default!(options)
+ defaults = Array(options[:default])
+ if index = find_first_string_default(defaults)
+ options[:default] = defaults[0, index]
+ defaults[index]
+ end
+ end
+
+ def find_first_string_default(defaults)
+ defaults.each_index { |ix| return ix if String === defaults[ix] }
+ nil
+ end
+ end
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/flatten.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/flatten.rb
index c23f7c13194..c23f7c13194 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/flatten.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/flatten.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/gettext.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/gettext.rb
new file mode 100755
index 00000000000..7f8ad22a60d
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/gettext.rb
@@ -0,0 +1,75 @@
+# encoding: utf-8
+
+require 'i18n/gettext'
+require 'i18n/gettext/po_parser'
+
+# Experimental support for using Gettext po files to store translations.
+#
+# To use this you can simply include the module to the Simple backend - or
+# whatever other backend you are using.
+#
+# I18n::Backend::Simple.send(:include, I18n::Backend::Gettext)
+#
+# Now you should be able to include your Gettext translation (*.po) files to
+# the I18n.load_path so they're loaded to the backend and you can use them as
+# usual:
+#
+# I18n.load_path += Dir["path/to/locales/*.po"]
+#
+# Following the Gettext convention this implementation expects that your
+# translation files are named by their locales. E.g. the file en.po would
+# contain the translations for the English locale.
+module I18n
+ module Backend
+ module Gettext
+ class PoData < Hash
+ def set_comment(msgid_or_sym, comment)
+ # ignore
+ end
+ end
+
+ protected
+ def load_po(filename)
+ locale = ::File.basename(filename, '.po').to_sym
+ data = normalize(locale, parse(filename))
+ { locale => data }
+ end
+
+ def parse(filename)
+ GetText::PoParser.new.parse(::File.read(filename), PoData.new)
+ end
+
+ def normalize(locale, data)
+ data.inject({}) do |result, (key, value)|
+ unless key.nil? || key.empty?
+ key, value = normalize_pluralization(locale, key, value) if key.index("\000")
+
+ parts = key.split('|').reverse
+ normalized = parts.inject({}) do |normalized, part|
+ normalized = { part => normalized.empty? ? value : normalized }
+ end
+
+ # deep_merge by Stefan Rusterholz, see http://www.ruby-forum.com/topic/142809
+ merger = proc { |key, v1, v2| Hash === v1 && Hash === v2 ? v1.merge(v2, &merger) : v2 }
+ result.merge!(normalized, &merger)
+ end
+ result
+ end
+ end
+
+ def normalize_pluralization(locale, key, value)
+ # FIXME po_parser includes \000 chars that can not be turned into Symbols
+ key = key.gsub("\000", I18n::Gettext::PLURAL_SEPARATOR).split(I18n::Gettext::PLURAL_SEPARATOR).first
+
+ keys = I18n::Gettext.plural_keys(locale)
+ values = value.split("\000")
+ raise "invalid number of plurals: #{values.size}, keys: #{keys.inspect}" if values.size != keys.size
+
+ result = {}
+ values.each_with_index { |value, ix| result[keys[ix]] = value }
+ [key, result]
+ end
+
+ end
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/interpolation_compiler.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/interpolation_compiler.rb
index 8c7c9c91f67..8c7c9c91f67 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/interpolation_compiler.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/interpolation_compiler.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/key_value.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/key_value.rb
index d0265abfdd5..d0265abfdd5 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/key_value.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/key_value.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/memoize.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/memoize.rb
index 6e811d10d10..6e811d10d10 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/memoize.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/memoize.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/metadata.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/metadata.rb
index 5237b4d9aba..5237b4d9aba 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/metadata.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/metadata.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/pluralization.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/pluralization.rb
index 33a2aff7f66..33a2aff7f66 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/pluralization.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/pluralization.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/simple.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/simple.rb
new file mode 100755
index 00000000000..30e2ac0cdc8
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/simple.rb
@@ -0,0 +1,87 @@
+# encoding: utf-8
+
+module I18n
+ module Backend
+ # A simple backend that reads translations from YAML files and stores them in
+ # an in-memory hash. Relies on the Base backend.
+ #
+ # The implementation is provided by a Implementation module allowing to easily
+ # extend Simple backend's behavior by including modules. E.g.:
+ #
+ # module I18n::Backend::Pluralization
+ # def pluralize(*args)
+ # # extended pluralization logic
+ # super
+ # end
+ # end
+ #
+ # I18n::Backend::Simple.send(:include, I18n::Backend::Pluralization)
+ class Simple
+ module Implementation
+ include Base
+
+ def initialized?
+ @initialized ||= false
+ end
+
+ # Stores translations for the given locale in memory.
+ # This uses a deep merge for the translations hash, so existing
+ # translations will be overwritten by new ones only at the deepest
+ # level of the hash.
+ def store_translations(locale, data, options = {})
+ locale = locale.to_sym
+ translations[locale] ||= {}
+ data = data.deep_symbolize_keys
+ translations[locale].deep_merge!(data)
+ end
+
+ # Get available locales from the translations hash
+ def available_locales
+ init_translations unless initialized?
+ translations.inject([]) do |locales, (locale, data)|
+ locales << locale unless (data.keys - [:i18n]).empty?
+ locales
+ end
+ end
+
+ # Clean up translations hash and set initialized to false on reload!
+ def reload!
+ @initialized = false
+ @translations = nil
+ super
+ end
+
+ protected
+
+ def init_translations
+ load_translations
+ @initialized = true
+ end
+
+ def translations
+ @translations ||= {}
+ end
+
+ # Looks up a translation from the translations hash. Returns nil if
+ # eiher key is nil, or locale, scope or key do not exist as a key in the
+ # nested translations hash. Splits keys or scopes containing dots
+ # into multiple keys, i.e. <tt>currency.format</tt> is regarded the same as
+ # <tt>%w(currency format)</tt>.
+ def lookup(locale, key, scope = [], options = {})
+ init_translations unless initialized?
+ keys = I18n.normalize_keys(locale, key, scope, options[:separator])
+
+ keys.inject(translations) do |result, key|
+ key = key.to_sym
+ return nil unless result.is_a?(Hash) && result.has_key?(key)
+ result = result[key]
+ result = resolve(locale, key, result, options.merge(:scope => nil)) if result.is_a?(Symbol)
+ result
+ end
+ end
+ end
+
+ include Implementation
+ end
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/transliterator.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/transliterator.rb
index 2ce2cc82740..2ce2cc82740 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/transliterator.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/backend/transliterator.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/config.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/config.rb
new file mode 100755
index 00000000000..ceac1d8f6b3
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/config.rb
@@ -0,0 +1,84 @@
+module I18n
+ class Config
+ # The only configuration value that is not global and scoped to thread is :locale.
+ # It defaults to the default_locale.
+ def locale
+ @locale ||= default_locale
+ end
+
+ # Sets the current locale pseudo-globally, i.e. in the Thread.current hash.
+ def locale=(locale)
+ @locale = locale.to_sym rescue nil
+ end
+
+ # Returns the current backend. Defaults to +Backend::Simple+.
+ def backend
+ @@backend ||= Backend::Simple.new
+ end
+
+ # Sets the current backend. Used to set a custom backend.
+ def backend=(backend)
+ @@backend = backend
+ end
+
+ # Returns the current default locale. Defaults to :'en'
+ def default_locale
+ @@default_locale ||= :en
+ end
+
+ # Sets the current default locale. Used to set a custom default locale.
+ def default_locale=(locale)
+ @@default_locale = locale.to_sym rescue nil
+ end
+
+ # Returns an array of locales for which translations are available.
+ # Unless you explicitely set the these through I18n.available_locales=
+ # the call will be delegated to the backend and memoized on the I18n module.
+ def available_locales
+ @@available_locales ||= backend.available_locales
+ end
+
+ # Sets the available locales.
+ def available_locales=(locales)
+ @@available_locales = locales
+ end
+
+ # Returns the current default scope separator. Defaults to '.'
+ def default_separator
+ @@default_separator ||= '.'
+ end
+
+ # Sets the current default scope separator.
+ def default_separator=(separator)
+ @@default_separator = separator
+ end
+
+ # Return the current exception handler. Defaults to :default_exception_handler.
+ def exception_handler
+ @@exception_handler ||= :default_exception_handler
+ end
+
+ # Sets the exception handler.
+ def exception_handler=(exception_handler)
+ @@exception_handler = exception_handler
+ end
+
+ # Allow clients to register paths providing translation data sources. The
+ # backend defines acceptable sources.
+ #
+ # E.g. the provided SimpleBackend accepts a list of paths to translation
+ # files which are either named *.rb and contain plain Ruby Hashes or are
+ # named *.yml and contain YAML data. So for the SimpleBackend clients may
+ # register translation files like this:
+ # I18n.load_path << 'path/to/locale/en.yml'
+ def load_path
+ @@load_path ||= []
+ end
+
+ # Sets the load path instance. Custom implementations are expected to
+ # behave like a Ruby Array.
+ def load_path=(load_path)
+ @@load_path = load_path
+ end
+ end
+end \ No newline at end of file
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/core_ext/hash.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/core_ext/hash.rb
index f2a2422b9b6..f2a2422b9b6 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/core_ext/hash.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/core_ext/hash.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/core_ext/string/interpolate.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/core_ext/string/interpolate.rb
index 585af6fb0d2..585af6fb0d2 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/core_ext/string/interpolate.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/core_ext/string/interpolate.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/lib/i18n/exceptions.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/exceptions.rb
index b5cea7acb4c..766a1717688 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/lib/i18n/exceptions.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/exceptions.rb
@@ -1,3 +1,11 @@
+# encoding: utf-8
+
+class KeyError < IndexError
+ def initialize(message = nil)
+ super(message || "key not found")
+ end
+end unless defined?(KeyError)
+
module I18n
class ArgumentError < ::ArgumentError; end
@@ -11,9 +19,9 @@ module I18n
class MissingTranslationData < ArgumentError
attr_reader :locale, :key, :options
- def initialize(locale, key, options)
- @key, @locale, @options = key, locale, options
- keys = I18n.send(:normalize_translation_keys, locale, key, options[:scope])
+ def initialize(locale, key, opts = nil)
+ @key, @locale, @options = key, locale, opts || {}
+ keys = I18n.normalize_keys(locale, key, options[:scope])
keys << 'no key' if keys.size < 2
super "translation missing: #{keys.join(', ')}"
end
@@ -28,10 +36,10 @@ module I18n
end
class MissingInterpolationArgument < ArgumentError
- attr_reader :key, :string
- def initialize(key, string)
- @key, @string = key, string
- super "interpolation argument #{key} missing in #{string.inspect}"
+ attr_reader :values, :string
+ def initialize(values, string)
+ @values, @string = values, string
+ super "missing interpolation argument in #{string.inspect} (#{values.inspect} given)"
end
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/gettext.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/gettext.rb
index a824aa5a0ca..a824aa5a0ca 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/gettext.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/gettext.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/gettext/helpers.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/gettext/helpers.rb
new file mode 100755
index 00000000000..17841639226
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/gettext/helpers.rb
@@ -0,0 +1,65 @@
+# encoding: utf-8
+require 'i18n/gettext'
+
+module I18n
+ module Gettext
+ # Implements classical Gettext style accessors. To use this include the
+ # module to the global namespace or wherever you want to use it.
+ #
+ # include I18n::Helpers::Gettext
+ module Helpers
+ def gettext(msgid, options = {})
+ I18n.t(msgid, { :default => msgid, :separator => '|' }.merge(options))
+ end
+ alias _ gettext
+
+ def sgettext(msgid, separator = '|')
+ scope, msgid = I18n::Gettext.extract_scope(msgid, separator)
+ I18n.t(msgid, :scope => scope, :default => msgid, :separator => separator)
+ end
+ alias s_ sgettext
+
+ def pgettext(msgctxt, msgid)
+ separator = I18n::Gettext::CONTEXT_SEPARATOR
+ sgettext([msgctxt, msgid].join(separator), separator)
+ end
+ alias p_ pgettext
+
+ def ngettext(msgid, msgid_plural, n = 1)
+ nsgettext(msgid, msgid_plural, n)
+ end
+ alias n_ ngettext
+
+ # Method signatures:
+ # nsgettext('Fruits|apple', 'apples', 2)
+ # nsgettext(['Fruits|apple', 'apples'], 2)
+ def nsgettext(msgid, msgid_plural, n = 1, separator = '|')
+ if msgid.is_a?(Array)
+ msgid, msgid_plural, n, separator = msgid[0], msgid[1], msgid_plural, n
+ separator = '|' unless separator.is_a?(::String)
+ end
+
+ scope, msgid = I18n::Gettext.extract_scope(msgid, separator)
+ default = { :one => msgid, :other => msgid_plural }
+ I18n.t(msgid, :default => default, :count => n, :scope => scope, :separator => separator)
+ end
+ alias ns_ nsgettext
+
+ # Method signatures:
+ # npgettext('Fruits', 'apple', 'apples', 2)
+ # npgettext('Fruits', ['apple', 'apples'], 2)
+ def npgettext(msgctxt, msgid, msgid_plural, n = 1)
+ separator = I18n::Gettext::CONTEXT_SEPARATOR
+
+ if msgid.is_a?(Array)
+ msgid_plural, msgid, n = msgid[1], [msgctxt, msgid[0]].join(separator), msgid_plural
+ else
+ msgid = [msgctxt, msgid].join(separator)
+ end
+
+ nsgettext(msgid, msgid_plural, n, separator)
+ end
+ alias np_ npgettext
+ end
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/gettext/po_parser.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/gettext/po_parser.rb
index 547df6a5931..547df6a5931 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/gettext/po_parser.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/gettext/po_parser.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/locale.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/locale.rb
index 4f9d0266d54..4f9d0266d54 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/locale.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/locale.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/locale/fallbacks.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/locale/fallbacks.rb
index 11dcf8c2d29..11dcf8c2d29 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/locale/fallbacks.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/locale/fallbacks.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/locale/tag.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/locale/tag.rb
index a640b4465f6..a640b4465f6 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/locale/tag.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/locale/tag.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/locale/tag/parents.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/locale/tag/parents.rb
index a0944683844..a0944683844 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/locale/tag/parents.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/locale/tag/parents.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/locale/tag/rfc4646.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/locale/tag/rfc4646.rb
index c20d35ae727..c20d35ae727 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/locale/tag/rfc4646.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/locale/tag/rfc4646.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/locale/tag/simple.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/locale/tag/simple.rb
index 0fddb366a60..0fddb366a60 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/locale/tag/simple.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/locale/tag/simple.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/version.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/version.rb
new file mode 100755
index 00000000000..e1186c28f94
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/version.rb
@@ -0,0 +1,3 @@
+module I18n
+ VERSION = "0.4.1"
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/memcache-client-1.7.4/memcache.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/memcache-client-1.7.4/memcache.rb
index f249da79511..f249da79511 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/memcache-client-1.7.4/memcache.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/memcache-client-1.7.4/memcache.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo.rb
index c8bdbeec5d4..c8bdbeec5d4 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/data_timezone.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/data_timezone.rb
index 5eccbdf0dbe..5eccbdf0dbe 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/data_timezone.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/data_timezone.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/data_timezone_info.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/data_timezone_info.rb
index a45d94554b1..a45d94554b1 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/data_timezone_info.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/data_timezone_info.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Algiers.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Algiers.rb
index 8c5f25577fb..8c5f25577fb 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Algiers.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Algiers.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Cairo.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Cairo.rb
index 6e6daf3522a..6e6daf3522a 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Cairo.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Cairo.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Casablanca.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Casablanca.rb
index d1eb5c5724d..d1eb5c5724d 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Casablanca.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Casablanca.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Harare.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Harare.rb
index 070c95ae0f9..070c95ae0f9 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Harare.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Harare.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Johannesburg.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Johannesburg.rb
index f0af0d8e33a..f0af0d8e33a 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Johannesburg.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Johannesburg.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Monrovia.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Monrovia.rb
index 40e711fa443..40e711fa443 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Monrovia.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Monrovia.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Nairobi.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Nairobi.rb
index 7b0a2f43bef..7b0a2f43bef 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Nairobi.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Nairobi.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Argentina/Buenos_Aires.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Argentina/Buenos_Aires.rb
index 8f4dd31dbb6..8f4dd31dbb6 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Argentina/Buenos_Aires.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Argentina/Buenos_Aires.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Argentina/San_Juan.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Argentina/San_Juan.rb
index ba8be4705fb..ba8be4705fb 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Argentina/San_Juan.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Argentina/San_Juan.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Bogota.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Bogota.rb
index ef96435c6a7..ef96435c6a7 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Bogota.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Bogota.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Caracas.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Caracas.rb
index 27392a540a8..27392a540a8 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Caracas.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Caracas.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Chicago.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Chicago.rb
index 0996857cf0d..0996857cf0d 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Chicago.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Chicago.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Chihuahua.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Chihuahua.rb
index 1710b57c797..1710b57c797 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Chihuahua.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Chihuahua.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Denver.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Denver.rb
index 1c1efb5ff38..1c1efb5ff38 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Denver.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Denver.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Godthab.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Godthab.rb
index 1e05518b0d5..1e05518b0d5 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Godthab.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Godthab.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Guatemala.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Guatemala.rb
index a2bf73401c4..a2bf73401c4 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Guatemala.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Guatemala.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Halifax.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Halifax.rb
index d25ae775b35..d25ae775b35 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Halifax.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Halifax.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Indiana/Indianapolis.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Indiana/Indianapolis.rb
index f1430f6c246..f1430f6c246 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Indiana/Indianapolis.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Indiana/Indianapolis.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Juneau.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Juneau.rb
index f646f3f54af..f646f3f54af 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Juneau.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Juneau.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/La_Paz.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/La_Paz.rb
index 45c907899fc..45c907899fc 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/La_Paz.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/La_Paz.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Lima.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Lima.rb
index af68ac29f73..af68ac29f73 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Lima.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Lima.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Los_Angeles.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Los_Angeles.rb
index 16007fd675d..16007fd675d 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Los_Angeles.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Los_Angeles.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Mazatlan.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Mazatlan.rb
index ba9e6efcf1a..ba9e6efcf1a 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Mazatlan.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Mazatlan.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Mexico_City.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Mexico_City.rb
index 2347fce647b..2347fce647b 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Mexico_City.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Mexico_City.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Monterrey.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Monterrey.rb
index 5816a9eab19..5816a9eab19 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Monterrey.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Monterrey.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/New_York.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/New_York.rb
index 7d802bd2deb..7d802bd2deb 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/New_York.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/New_York.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Phoenix.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Phoenix.rb
index b514e0c0f90..b514e0c0f90 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Phoenix.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Phoenix.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Regina.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Regina.rb
index ebdb68814a6..ebdb68814a6 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Regina.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Regina.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Santiago.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Santiago.rb
index 0287c9ebc44..0287c9ebc44 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Santiago.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Santiago.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Sao_Paulo.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Sao_Paulo.rb
index 0524f81c04c..0524f81c04c 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Sao_Paulo.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Sao_Paulo.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/St_Johns.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/St_Johns.rb
index e4a3599d35c..e4a3599d35c 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/St_Johns.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/St_Johns.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Tijuana.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Tijuana.rb
index 423059da466..423059da466 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Tijuana.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Tijuana.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Almaty.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Almaty.rb
index 9ee18970f1c..9ee18970f1c 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Almaty.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Almaty.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Baghdad.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Baghdad.rb
index 774dca1587e..774dca1587e 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Baghdad.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Baghdad.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Baku.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Baku.rb
index e86340ebfa7..e86340ebfa7 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Baku.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Baku.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Bangkok.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Bangkok.rb
index 139194e5e5a..139194e5e5a 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Bangkok.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Bangkok.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Chongqing.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Chongqing.rb
index 8c94b4ba86a..8c94b4ba86a 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Chongqing.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Chongqing.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Colombo.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Colombo.rb
index f6531fa819d..f6531fa819d 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Colombo.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Colombo.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Dhaka.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Dhaka.rb
index ccd02655036..ccd02655036 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Dhaka.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Dhaka.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Hong_Kong.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Hong_Kong.rb
index f1edd75ac8f..f1edd75ac8f 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Hong_Kong.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Hong_Kong.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Irkutsk.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Irkutsk.rb
index 2d47d9580bb..2d47d9580bb 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Irkutsk.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Irkutsk.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Jakarta.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Jakarta.rb
index cc58fa173bd..cc58fa173bd 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Jakarta.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Jakarta.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Jerusalem.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Jerusalem.rb
index 9b737b899ea..9b737b899ea 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Jerusalem.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Jerusalem.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kabul.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kabul.rb
index 669c09790a3..669c09790a3 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kabul.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kabul.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kamchatka.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kamchatka.rb
index 2f1690b3a9b..2f1690b3a9b 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kamchatka.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kamchatka.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Karachi.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Karachi.rb
index b906cc98938..b906cc98938 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Karachi.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Karachi.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Katmandu.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Katmandu.rb
index 37dbea1f41e..37dbea1f41e 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Katmandu.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Katmandu.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kolkata.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kolkata.rb
index 1b6ffbd59d6..1b6ffbd59d6 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kolkata.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kolkata.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Krasnoyarsk.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Krasnoyarsk.rb
index d6c503c155c..d6c503c155c 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Krasnoyarsk.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Krasnoyarsk.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kuala_Lumpur.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kuala_Lumpur.rb
index 77a0c206fac..77a0c206fac 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kuala_Lumpur.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kuala_Lumpur.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kuwait.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kuwait.rb
index 5bd52831979..5bd52831979 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kuwait.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kuwait.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Magadan.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Magadan.rb
index 302093693e1..302093693e1 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Magadan.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Magadan.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Muscat.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Muscat.rb
index 604f651dfa5..604f651dfa5 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Muscat.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Muscat.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Novosibirsk.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Novosibirsk.rb
index a4e7796e75d..a4e7796e75d 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Novosibirsk.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Novosibirsk.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Rangoon.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Rangoon.rb
index 759b82d77a5..759b82d77a5 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Rangoon.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Rangoon.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Riyadh.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Riyadh.rb
index 7add4106208..7add4106208 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Riyadh.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Riyadh.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Seoul.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Seoul.rb
index 795d2a75df1..795d2a75df1 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Seoul.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Seoul.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Shanghai.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Shanghai.rb
index 34b13d59ae9..34b13d59ae9 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Shanghai.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Shanghai.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Singapore.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Singapore.rb
index b323a78f74e..b323a78f74e 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Singapore.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Singapore.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Taipei.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Taipei.rb
index 3ba12108fb9..3ba12108fb9 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Taipei.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Taipei.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Tashkent.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Tashkent.rb
index c205c7934d6..c205c7934d6 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Tashkent.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Tashkent.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Tbilisi.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Tbilisi.rb
index 15792a56518..15792a56518 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Tbilisi.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Tbilisi.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Tehran.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Tehran.rb
index d8df964a466..d8df964a466 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Tehran.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Tehran.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Tokyo.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Tokyo.rb
index 51c9e16421e..51c9e16421e 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Tokyo.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Tokyo.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Ulaanbaatar.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Ulaanbaatar.rb
index 2854f5c5fd7..2854f5c5fd7 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Ulaanbaatar.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Ulaanbaatar.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Urumqi.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Urumqi.rb
index d793ff13417..d793ff13417 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Urumqi.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Urumqi.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Vladivostok.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Vladivostok.rb
index bd9e3d60ecf..bd9e3d60ecf 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Vladivostok.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Vladivostok.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Yakutsk.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Yakutsk.rb
index 56435a788fd..56435a788fd 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Yakutsk.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Yakutsk.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Yekaterinburg.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Yekaterinburg.rb
index 8ef8df4a419..8ef8df4a419 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Yekaterinburg.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Yekaterinburg.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Yerevan.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Yerevan.rb
index e7f160861f3..e7f160861f3 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Yerevan.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Yerevan.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Atlantic/Azores.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Atlantic/Azores.rb
index 1bd16a75ac3..1bd16a75ac3 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Atlantic/Azores.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Atlantic/Azores.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Atlantic/Cape_Verde.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Atlantic/Cape_Verde.rb
index 61c8c150438..61c8c150438 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Atlantic/Cape_Verde.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Atlantic/Cape_Verde.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Atlantic/South_Georgia.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Atlantic/South_Georgia.rb
index 6a4cbafb9f4..6a4cbafb9f4 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Atlantic/South_Georgia.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Atlantic/South_Georgia.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Adelaide.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Adelaide.rb
index c5d561cc1ea..c5d561cc1ea 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Adelaide.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Adelaide.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Brisbane.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Brisbane.rb
index dd85ddae941..dd85ddae941 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Brisbane.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Brisbane.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Darwin.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Darwin.rb
index 17de88124da..17de88124da 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Darwin.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Darwin.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Hobart.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Hobart.rb
index 11384b98409..11384b98409 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Hobart.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Hobart.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Melbourne.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Melbourne.rb
index c1304488ea1..c1304488ea1 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Melbourne.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Melbourne.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Perth.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Perth.rb
index d9e66f14a87..d9e66f14a87 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Perth.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Perth.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Sydney.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Sydney.rb
index 9062bd7c3c9..9062bd7c3c9 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Sydney.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Sydney.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Etc/UTC.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Etc/UTC.rb
index 28b2c6a04ce..28b2c6a04ce 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Etc/UTC.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Etc/UTC.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Amsterdam.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Amsterdam.rb
index 2d0c95c4bc0..2d0c95c4bc0 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Amsterdam.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Amsterdam.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Athens.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Athens.rb
index 4e21e535caf..4e21e535caf 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Athens.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Athens.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Belgrade.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Belgrade.rb
index 4dbd893d758..4dbd893d758 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Belgrade.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Belgrade.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Berlin.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Berlin.rb
index 721054236ce..721054236ce 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Berlin.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Berlin.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Bratislava.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Bratislava.rb
index 7a731a0b6a2..7a731a0b6a2 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Bratislava.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Bratislava.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Brussels.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Brussels.rb
index 6b0a2429448..6b0a2429448 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Brussels.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Brussels.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Bucharest.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Bucharest.rb
index 521c3c932e2..521c3c932e2 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Bucharest.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Bucharest.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Budapest.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Budapest.rb
index 1f3a9738b7f..1f3a9738b7f 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Budapest.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Budapest.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Copenhagen.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Copenhagen.rb
index 47cbaf14a71..47cbaf14a71 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Copenhagen.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Copenhagen.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Dublin.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Dublin.rb
index 0560bb54368..0560bb54368 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Dublin.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Dublin.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Helsinki.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Helsinki.rb
index 13a806bcc71..13a806bcc71 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Helsinki.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Helsinki.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Istanbul.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Istanbul.rb
index 8306c47536d..8306c47536d 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Istanbul.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Istanbul.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Kiev.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Kiev.rb
index 513d3308be8..513d3308be8 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Kiev.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Kiev.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Lisbon.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Lisbon.rb
index 1c6d2a3d309..1c6d2a3d309 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Lisbon.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Lisbon.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Ljubljana.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Ljubljana.rb
index a9828e6ef81..a9828e6ef81 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Ljubljana.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Ljubljana.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/London.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/London.rb
index 64ce41e9004..64ce41e9004 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/London.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/London.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Madrid.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Madrid.rb
index 1fb568239a1..1fb568239a1 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Madrid.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Madrid.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Minsk.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Minsk.rb
index fa15816cc8e..fa15816cc8e 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Minsk.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Minsk.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Moscow.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Moscow.rb
index ef269b675b3..ef269b675b3 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Moscow.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Moscow.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Paris.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Paris.rb
index e3236c0ba1c..e3236c0ba1c 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Paris.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Paris.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Prague.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Prague.rb
index bcabee96c1a..bcabee96c1a 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Prague.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Prague.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Riga.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Riga.rb
index 784837f7582..784837f7582 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Riga.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Riga.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Rome.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Rome.rb
index aa7b43d9d27..aa7b43d9d27 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Rome.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Rome.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Sarajevo.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Sarajevo.rb
index 068c5fe6ad8..068c5fe6ad8 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Sarajevo.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Sarajevo.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Skopje.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Skopje.rb
index 10b71f285e0..10b71f285e0 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Skopje.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Skopje.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Sofia.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Sofia.rb
index 38a70eceb90..38a70eceb90 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Sofia.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Sofia.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Stockholm.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Stockholm.rb
index 43db70fa61e..43db70fa61e 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Stockholm.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Stockholm.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Tallinn.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Tallinn.rb
index de5a8569f3c..de5a8569f3c 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Tallinn.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Tallinn.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Vienna.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Vienna.rb
index 990aabab66a..990aabab66a 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Vienna.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Vienna.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Vilnius.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Vilnius.rb
index d89d095a75e..d89d095a75e 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Vilnius.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Vilnius.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Warsaw.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Warsaw.rb
index 7fa51c26911..7fa51c26911 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Warsaw.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Warsaw.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Zagreb.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Zagreb.rb
index ecdd903d287..ecdd903d287 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Zagreb.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Zagreb.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Auckland.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Auckland.rb
index a524fd6b6be..a524fd6b6be 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Auckland.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Auckland.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Fiji.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Fiji.rb
index 5fe9bbd9a62..5fe9bbd9a62 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Fiji.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Fiji.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Guam.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Guam.rb
index d4c1a0a6827..d4c1a0a6827 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Guam.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Guam.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Honolulu.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Honolulu.rb
index 204b2265372..204b2265372 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Honolulu.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Honolulu.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Majuro.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Majuro.rb
index 32adad92c1a..32adad92c1a 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Majuro.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Majuro.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Midway.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Midway.rb
index 97784fcc107..97784fcc107 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Midway.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Midway.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Noumea.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Noumea.rb
index 70173db8ab5..70173db8ab5 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Noumea.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Noumea.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Pago_Pago.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Pago_Pago.rb
index c8fcd7d5273..c8fcd7d5273 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Pago_Pago.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Pago_Pago.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Port_Moresby.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Port_Moresby.rb
index f06cf6d54fe..f06cf6d54fe 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Port_Moresby.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Port_Moresby.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Tongatapu.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Tongatapu.rb
index 7578d92f38f..7578d92f38f 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Tongatapu.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Tongatapu.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/info_timezone.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/info_timezone.rb
index 001303c5943..001303c5943 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/info_timezone.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/info_timezone.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/linked_timezone.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/linked_timezone.rb
index f8ec4fca870..f8ec4fca870 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/linked_timezone.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/linked_timezone.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/linked_timezone_info.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/linked_timezone_info.rb
index 8197ff3e810..8197ff3e810 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/linked_timezone_info.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/linked_timezone_info.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/offset_rationals.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/offset_rationals.rb
index b1f10b2b634..b1f10b2b634 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/offset_rationals.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/offset_rationals.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/ruby_core_support.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/ruby_core_support.rb
index b65eeaaae71..5d2813df562 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/ruby_core_support.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/ruby_core_support.rb
@@ -22,7 +22,7 @@
require 'date'
require 'rational'
-
+
module TZInfo
# Methods to support different versions of Ruby.
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/time_or_datetime.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/time_or_datetime.rb
index 264517f3ee4..264517f3ee4 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/time_or_datetime.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/time_or_datetime.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone.rb
index f87fb6fb702..f87fb6fb702 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_definition.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_definition.rb
index 39ca8bfa53b..39ca8bfa53b 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_definition.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_definition.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_info.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_info.rb
index 68e38c35fb9..68e38c35fb9 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_info.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_info.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_offset_info.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_offset_info.rb
index 6a0bbca46fb..6a0bbca46fb 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_offset_info.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_offset_info.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_period.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_period.rb
index 00888fcfdcc..00888fcfdcc 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_period.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_period.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_transition_info.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_transition_info.rb
index 6b0669cc4a0..6b0669cc4a0 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_transition_info.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_transition_info.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/version.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/version.rb
index 475a0a0f7e1..0fbeaa672a6 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/version.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/version.rb
@@ -2,7 +2,7 @@ module ActiveSupport
module VERSION #:nodoc:
MAJOR = 2
MINOR = 3
- TINY = 5
+ TINY = 14
STRING = [MAJOR, MINOR, TINY].join('.')
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/whiny_nil.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/whiny_nil.rb
index c4aaba7ab36..c4aaba7ab36 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/whiny_nil.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/whiny_nil.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/xml_mini.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/xml_mini.rb
index ccd13494911..ccd13494911 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/xml_mini.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/xml_mini.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/xml_mini/jdom.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/xml_mini/jdom.rb
index d795d556909..d795d556909 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/xml_mini/jdom.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/xml_mini/jdom.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/xml_mini/libxml.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/xml_mini/libxml.rb
new file mode 100755
index 00000000000..837a1df69e0
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/xml_mini/libxml.rb
@@ -0,0 +1,73 @@
+require 'libxml'
+
+# = XmlMini LibXML implementation
+module ActiveSupport
+ module XmlMini_LibXML #:nodoc:
+ extend self
+
+ # Parse an XML Document string into a simple hash using libxml.
+ # string::
+ # XML Document string to parse
+ def parse(string)
+ if string.blank?
+ {}
+ else
+ LibXML::XML::Parser.string(string.strip).parse.to_hash
+ end
+ end
+ end
+end
+
+module LibXML
+ module Conversions
+ module Document
+ def to_hash
+ root.to_hash
+ end
+ end
+
+ module Node
+ CONTENT_ROOT = '__content__'.freeze
+
+ # Convert XML document to hash
+ #
+ # hash::
+ # Hash to merge the converted element into.
+ def to_hash(hash={})
+ node_hash = {}
+
+ # Insert node hash into parent hash correctly.
+ case hash[name]
+ when Array then hash[name] << node_hash
+ when Hash then hash[name] = [hash[name], node_hash]
+ when nil then hash[name] = node_hash
+ else raise "Unexpected error during hash insertion!"
+ end
+
+ # Handle child elements
+ each_child do |c|
+ if c.element?
+ c.to_hash(node_hash)
+ elsif c.text? || c.cdata?
+ node_hash[CONTENT_ROOT] ||= ''
+ node_hash[CONTENT_ROOT] << c.content
+ end
+ end
+
+
+ # Remove content node if it is blank
+ if node_hash.length > 1 && node_hash[CONTENT_ROOT].blank?
+ node_hash.delete(CONTENT_ROOT)
+ end
+
+ # Handle attributes
+ each_attr { |a| node_hash[a.name] = a.value }
+
+ hash
+ end
+ end
+ end
+end
+
+LibXML::XML::Document.send(:include, LibXML::Conversions::Document)
+LibXML::XML::Node.send(:include, LibXML::Conversions::Node)
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/xml_mini/libxmlsax.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/xml_mini/libxmlsax.rb
new file mode 100755
index 00000000000..a88607d87c7
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/xml_mini/libxmlsax.rb
@@ -0,0 +1,74 @@
+require 'libxml'
+
+# = XmlMini LibXML implementation using a SAX-based parser
+module ActiveSupport
+ module XmlMini_LibXMLSAX
+ extend self
+
+ # Class that will build the hash while the XML document
+ # is being parsed using SAX events.
+ class HashBuilder
+
+ include LibXML::XML::SaxParser::Callbacks
+
+ CONTENT_KEY = '__content__'.freeze
+ HASH_SIZE_KEY = '__hash_size__'.freeze
+
+ attr_reader :hash
+
+ def current_hash
+ @hash_stack.last
+ end
+
+ def on_start_document
+ @hash = { CONTENT_KEY => '' }
+ @hash_stack = [@hash]
+ end
+
+ def on_end_document
+ @hash = @hash_stack.pop
+ @hash.delete(CONTENT_KEY)
+ end
+
+ def on_start_element(name, attrs = {})
+ new_hash = { CONTENT_KEY => '' }.merge(attrs)
+ new_hash[HASH_SIZE_KEY] = new_hash.size + 1
+
+ case current_hash[name]
+ when Array then current_hash[name] << new_hash
+ when Hash then current_hash[name] = [current_hash[name], new_hash]
+ when nil then current_hash[name] = new_hash
+ end
+
+ @hash_stack.push(new_hash)
+ end
+
+ def on_end_element(name)
+ if current_hash.length > current_hash.delete(HASH_SIZE_KEY) && current_hash[CONTENT_KEY].blank? || current_hash[CONTENT_KEY] == ''
+ current_hash.delete(CONTENT_KEY)
+ end
+ @hash_stack.pop
+ end
+
+ def on_characters(string)
+ current_hash[CONTENT_KEY] << string
+ end
+
+ alias_method :on_cdata_block, :on_characters
+ end
+
+ attr_accessor :document_class
+ self.document_class = HashBuilder
+
+ def parse(string)
+ return {} if string.blank?
+ LibXML::XML::Error.set_handler(&LibXML::XML::Error::QUIET_HANDLER)
+ parser = LibXML::XML::SaxParser.string(string)
+ document = self.document_class.new
+
+ parser.callbacks = document
+ parser.parse
+ document.hash
+ end
+ end
+end \ No newline at end of file
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/xml_mini/nokogiri.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/xml_mini/nokogiri.rb
new file mode 100755
index 00000000000..096ae0f4350
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/xml_mini/nokogiri.rb
@@ -0,0 +1,72 @@
+require 'nokogiri'
+
+# = XmlMini Nokogiri implementation
+module ActiveSupport
+ module XmlMini_Nokogiri #:nodoc:
+ extend self
+
+ # Parse an XML Document string into a simple hash using libxml / nokogiri.
+ # string::
+ # XML Document string to parse
+ def parse(string)
+ if string.blank?
+ {}
+ else
+ doc = Nokogiri::XML(string)
+ raise doc.errors.first if doc.errors.length > 0
+ doc.to_hash
+ end
+ end
+
+ module Conversions
+ module Document
+ def to_hash
+ root.to_hash
+ end
+ end
+
+ module Node
+ CONTENT_ROOT = '__content__'.freeze
+
+ # Convert XML document to hash
+ #
+ # hash::
+ # Hash to merge the converted element into.
+ def to_hash(hash = {})
+ node_hash = {}
+
+ # Insert node hash into parent hash correctly.
+ case hash[name]
+ when Array then hash[name] << node_hash
+ when Hash then hash[name] = [hash[name], node_hash]
+ when nil then hash[name] = node_hash
+ else raise "Unexpected error during hash insertion!"
+ end
+
+ # Handle child elements
+ children.each do |c|
+ if c.element?
+ c.to_hash(node_hash)
+ elsif c.text? || c.cdata?
+ node_hash[CONTENT_ROOT] ||= ''
+ node_hash[CONTENT_ROOT] << c.content
+ end
+ end
+
+ # Remove content node if it is blank and there are child tags
+ if node_hash.length > 1 && node_hash[CONTENT_ROOT].blank?
+ node_hash.delete(CONTENT_ROOT)
+ end
+
+ # Handle attributes
+ attribute_nodes.each { |a| node_hash[a.node_name] = a.value }
+
+ hash
+ end
+ end
+ end
+
+ Nokogiri::XML::Document.send(:include, Conversions::Document)
+ Nokogiri::XML::Node.send(:include, Conversions::Node)
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/xml_mini/nokogirisax.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/xml_mini/nokogirisax.rb
new file mode 100755
index 00000000000..f13c9bf21ae
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/xml_mini/nokogirisax.rb
@@ -0,0 +1,73 @@
+require 'nokogiri'
+
+# = XmlMini Nokogiri implementation using a SAX-based parser
+module ActiveSupport
+ module XmlMini_NokogiriSAX
+ extend self
+
+ # Class that will build the hash while the XML document
+ # is being parsed using SAX events.
+ class HashBuilder < Nokogiri::XML::SAX::Document
+
+ CONTENT_KEY = '__content__'.freeze
+ HASH_SIZE_KEY = '__hash_size__'.freeze
+
+ attr_reader :hash
+
+ def current_hash
+ @hash_stack.last
+ end
+
+ def start_document
+ @hash = {}
+ @hash_stack = [@hash]
+ end
+
+ def end_document
+ raise "Parse stack not empty!" if @hash_stack.size > 1
+ end
+
+ def error(error_message)
+ raise error_message
+ end
+
+ def start_element(name, attrs = [])
+ new_hash = { CONTENT_KEY => '' }
+ new_hash[attrs.shift] = attrs.shift while attrs.length > 0
+ new_hash[HASH_SIZE_KEY] = new_hash.size + 1
+
+ case current_hash[name]
+ when Array then current_hash[name] << new_hash
+ when Hash then current_hash[name] = [current_hash[name], new_hash]
+ when nil then current_hash[name] = new_hash
+ end
+
+ @hash_stack.push(new_hash)
+ end
+
+ def end_element(name)
+ if current_hash.length > current_hash.delete(HASH_SIZE_KEY) && current_hash[CONTENT_KEY].blank? || current_hash[CONTENT_KEY] == ''
+ current_hash.delete(CONTENT_KEY)
+ end
+ @hash_stack.pop
+ end
+
+ def characters(string)
+ current_hash[CONTENT_KEY] << string
+ end
+
+ alias_method :cdata_block, :characters
+ end
+
+ attr_accessor :document_class
+ self.document_class = HashBuilder
+
+ def parse(string)
+ return {} if string.blank?
+ document = self.document_class.new
+ parser = Nokogiri::XML::SAX::Parser.new(document)
+ parser.parse(string)
+ document.hash
+ end
+ end
+end \ No newline at end of file
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/xml_mini/rexml.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/xml_mini/rexml.rb
index a8fdeca9671..a8fdeca9671 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/xml_mini/rexml.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/xml_mini/rexml.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/activesupport.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/activesupport.rb
index 9cae13f0801..9cae13f0801 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/activesupport.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/activesupport.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/.specification b/sonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/.specification
index 20db297481a..20db297481a 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/.specification
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/.specification
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/Changelog b/sonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/Changelog
index dc30bdd1954..dc30bdd1954 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/Changelog
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/Changelog
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/Install b/sonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/Install
index 8cf063e208f..8cf063e208f 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/Install
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/Install
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/README b/sonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/README
index 7f22cf98d1b..7f22cf98d1b 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/README
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/README
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/Rakefile b/sonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/Rakefile
index 56f98e868cd..56f98e868cd 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/Rakefile
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/Rakefile
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/lib/color.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/lib/color.rb
index 82c2b344715..82c2b344715 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/lib/color.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/lib/color.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/lib/color/cmyk.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/lib/color/cmyk.rb
index 83ea8cae43b..83ea8cae43b 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/lib/color/cmyk.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/lib/color/cmyk.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/lib/color/css.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/lib/color/css.rb
index 5e333325b14..5e333325b14 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/lib/color/css.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/lib/color/css.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/lib/color/grayscale.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/lib/color/grayscale.rb
index 4d9d4892486..4d9d4892486 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/lib/color/grayscale.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/lib/color/grayscale.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/lib/color/hsl.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/lib/color/hsl.rb
index 05886a8d7e3..05886a8d7e3 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/lib/color/hsl.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/lib/color/hsl.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/lib/color/palette.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/lib/color/palette.rb
index abe0b261edf..abe0b261edf 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/lib/color/palette.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/lib/color/palette.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/lib/color/palette/gimp.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/lib/color/palette/gimp.rb
index 1d594c0608b..1d594c0608b 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/lib/color/palette/gimp.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/lib/color/palette/gimp.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/lib/color/palette/monocontrast.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/lib/color/palette/monocontrast.rb
index b2f9c616149..b2f9c616149 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/lib/color/palette/monocontrast.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/lib/color/palette/monocontrast.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/lib/color/rgb-colors.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/lib/color/rgb-colors.rb
index 6dd281cbc5e..6dd281cbc5e 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/lib/color/rgb-colors.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/lib/color/rgb-colors.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/lib/color/rgb.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/lib/color/rgb.rb
index 98de0d768e0..98de0d768e0 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/lib/color/rgb.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/lib/color/rgb.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/lib/color/rgb/metallic.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/lib/color/rgb/metallic.rb
index caf1d01dd4f..caf1d01dd4f 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/lib/color/rgb/metallic.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/lib/color/rgb/metallic.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/lib/color/yiq.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/lib/color/yiq.rb
index deab573185c..deab573185c 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/lib/color/yiq.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/lib/color/yiq.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/metaconfig b/sonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/metaconfig
index b0fcdcbacf5..b0fcdcbacf5 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/metaconfig
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/metaconfig
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/pre-setup.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/pre-setup.rb
index d6815db45be..d6815db45be 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/pre-setup.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/pre-setup.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/setup.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/setup.rb
index 0673386f9b7..0673386f9b7 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/setup.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/color-tools-1.3.0/setup.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/fastercsv-1.4.0/.specification b/sonar-server/src/main/webapp/WEB-INF/gems/gems/fastercsv-1.4.0/.specification
index b78b5557393..b78b5557393 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/fastercsv-1.4.0/.specification
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/fastercsv-1.4.0/.specification
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/fastercsv-1.4.0/AUTHORS b/sonar-server/src/main/webapp/WEB-INF/gems/gems/fastercsv-1.4.0/AUTHORS
index 88a2d53da67..88a2d53da67 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/fastercsv-1.4.0/AUTHORS
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/fastercsv-1.4.0/AUTHORS
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/fastercsv-1.4.0/CHANGELOG b/sonar-server/src/main/webapp/WEB-INF/gems/gems/fastercsv-1.4.0/CHANGELOG
index 840f49f06a5..840f49f06a5 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/fastercsv-1.4.0/CHANGELOG
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/fastercsv-1.4.0/CHANGELOG
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/fastercsv-1.4.0/COPYING b/sonar-server/src/main/webapp/WEB-INF/gems/gems/fastercsv-1.4.0/COPYING
index d60c31a97a5..d60c31a97a5 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/fastercsv-1.4.0/COPYING
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/fastercsv-1.4.0/COPYING
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/fastercsv-1.4.0/INSTALL b/sonar-server/src/main/webapp/WEB-INF/gems/gems/fastercsv-1.4.0/INSTALL
index 6c1cabec4b6..6c1cabec4b6 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/fastercsv-1.4.0/INSTALL
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/fastercsv-1.4.0/INSTALL
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/fastercsv-1.4.0/LICENSE b/sonar-server/src/main/webapp/WEB-INF/gems/gems/fastercsv-1.4.0/LICENSE
index db9eeabae1c..db9eeabae1c 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/fastercsv-1.4.0/LICENSE
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/fastercsv-1.4.0/LICENSE
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/fastercsv-1.4.0/README b/sonar-server/src/main/webapp/WEB-INF/gems/gems/fastercsv-1.4.0/README
index 3928ddc259b..3928ddc259b 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/fastercsv-1.4.0/README
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/fastercsv-1.4.0/README
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/fastercsv-1.4.0/Rakefile b/sonar-server/src/main/webapp/WEB-INF/gems/gems/fastercsv-1.4.0/Rakefile
index d5eebae2934..d5eebae2934 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/fastercsv-1.4.0/Rakefile
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/fastercsv-1.4.0/Rakefile
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/fastercsv-1.4.0/TODO b/sonar-server/src/main/webapp/WEB-INF/gems/gems/fastercsv-1.4.0/TODO
index b689cf473a4..b689cf473a4 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/fastercsv-1.4.0/TODO
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/fastercsv-1.4.0/TODO
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/fastercsv-1.4.0/lib/faster_csv.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/fastercsv-1.4.0/lib/faster_csv.rb
index 50d8db120c5..50d8db120c5 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/fastercsv-1.4.0/lib/faster_csv.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/fastercsv-1.4.0/lib/faster_csv.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/fastercsv-1.4.0/lib/fastercsv.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/fastercsv-1.4.0/lib/fastercsv.rb
index 25b4e448388..25b4e448388 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/fastercsv-1.4.0/lib/fastercsv.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/fastercsv-1.4.0/lib/fastercsv.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/fastercsv-1.4.0/setup.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/fastercsv-1.4.0/setup.rb
index 0807023db26..0807023db26 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/fastercsv-1.4.0/setup.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/fastercsv-1.4.0/setup.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/.specification b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/.specification
index 42568afc700..42568afc700 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/.specification
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/.specification
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/CHANGELOG.textile b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/CHANGELOG.textile
index 31b4fb2e5d9..31b4fb2e5d9 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/CHANGELOG.textile
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/CHANGELOG.textile
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/MIT-LICENSE b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/MIT-LICENSE
index ed8e9ee66db..ed8e9ee66db 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/MIT-LICENSE
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/MIT-LICENSE
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/README.textile b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/README.textile
index 7c8ce0f9acb..7c8ce0f9acb 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/README.textile
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/README.textile
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n.rb
index 5be3a797284..5be3a797284 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend.rb
new file mode 100644
index 00000000000..fe65fb48418
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend.rb
@@ -0,0 +1,20 @@
+module I18n
+ module Backend
+ autoload :ActiveRecord, 'i18n/backend/active_record'
+ autoload :Base, 'i18n/backend/base'
+ autoload :InterpolationCompiler, 'i18n/backend/interpolation_compiler'
+ autoload :Cache, 'i18n/backend/cache'
+ autoload :Cascade, 'i18n/backend/cascade'
+ autoload :Chain, 'i18n/backend/chain'
+ autoload :Cldr, 'i18n/backend/cldr'
+ autoload :Fallbacks, 'i18n/backend/fallbacks'
+ autoload :Flatten, 'i18n/backend/flatten'
+ autoload :Gettext, 'i18n/backend/gettext'
+ autoload :KeyValue, 'i18n/backend/key_value'
+ autoload :Memoize, 'i18n/backend/memoize'
+ autoload :Metadata, 'i18n/backend/metadata'
+ autoload :Pluralization, 'i18n/backend/pluralization'
+ autoload :Simple, 'i18n/backend/simple'
+ autoload :Transliterator, 'i18n/backend/transliterator'
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/active_record.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/active_record.rb
new file mode 100644
index 00000000000..b60f138d11a
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/active_record.rb
@@ -0,0 +1,61 @@
+require 'i18n/backend/base'
+require 'i18n/backend/active_record/translation'
+
+module I18n
+ module Backend
+ class ActiveRecord
+ autoload :Missing, 'i18n/backend/active_record/missing'
+ autoload :StoreProcs, 'i18n/backend/active_record/store_procs'
+ autoload :Translation, 'i18n/backend/active_record/translation'
+
+ module Implementation
+ include Base, Flatten
+
+ def available_locales
+ begin
+ Translation.available_locales
+ rescue ::ActiveRecord::StatementInvalid
+ []
+ end
+ end
+
+ def store_translations(locale, data, options = {})
+ escape = options.fetch(:escape, true)
+ flatten_translations(locale, data, escape, false).each do |key, value|
+ Translation.locale(locale).lookup(expand_keys(key)).delete_all
+ Translation.create(:locale => locale.to_s, :key => key.to_s, :value => value)
+ end
+ end
+
+ protected
+
+ def lookup(locale, key, scope = [], options = {})
+ key = normalize_flat_keys(locale, key, scope, options[:separator])
+ result = Translation.locale(locale).lookup(key).all
+
+ if result.empty?
+ nil
+ elsif result.first.key == key
+ result.first.value
+ else
+ chop_range = (key.size + FLATTEN_SEPARATOR.size)..-1
+ result = result.inject({}) do |hash, r|
+ hash[r.key.slice(chop_range)] = r.value
+ hash
+ end
+ result.deep_symbolize_keys
+ end
+ end
+
+ # For a key :'foo.bar.baz' return ['foo', 'foo.bar', 'foo.bar.baz']
+ def expand_keys(key)
+ key.to_s.split(FLATTEN_SEPARATOR).inject([]) do |keys, key|
+ keys << [keys.last, key].compact.join(FLATTEN_SEPARATOR)
+ end
+ end
+ end
+
+ include Implementation
+ end
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/active_record/missing.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/active_record/missing.rb
index ef34055f602..ef34055f602 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/active_record/missing.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/active_record/missing.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/active_record/store_procs.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/active_record/store_procs.rb
new file mode 100644
index 00000000000..652b1aaa854
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/active_record/store_procs.rb
@@ -0,0 +1,38 @@
+# This module is intended to be mixed into the ActiveRecord backend to allow
+# storing Ruby Procs as translation values in the database.
+#
+# I18n.backend = I18n::Backend::ActiveRecord.new
+# I18n::Backend::ActiveRecord::Translation.send(:include, I18n::Backend::ActiveRecord::StoreProcs)
+#
+# The StoreProcs module requires the ParseTree and ruby2ruby gems and therefor
+# was extracted from the original backend.
+#
+# ParseTree is not compatible with Ruby 1.9.
+
+begin
+ require 'ruby2ruby'
+ require 'parse_tree'
+ require 'parse_tree_extensions'
+rescue LoadError => e
+ puts "can't use StoreProcs because: #{e.message}"
+end
+
+module I18n
+ module Backend
+ class ActiveRecord
+ module StoreProcs
+ def value=(v)
+ case v
+ when Proc
+ write_attribute(:value, v.to_ruby)
+ write_attribute(:is_proc, true)
+ else
+ write_attribute(:value, v)
+ end
+ end
+
+ Translation.send(:include, self) if method(:to_s).respond_to?(:to_ruby)
+ end
+ end
+ end
+end \ No newline at end of file
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/active_record/translation.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/active_record/translation.rb
index f3730432b81..f3730432b81 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/active_record/translation.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/active_record/translation.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/base.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/base.rb
index f780371dcca..f780371dcca 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/base.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/base.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/cache.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/cache.rb
index c0d78e66db5..c0d78e66db5 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/cache.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/cache.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/cascade.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/cascade.rb
new file mode 100644
index 00000000000..370fb481c3c
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/cascade.rb
@@ -0,0 +1,57 @@
+# encoding: utf-8
+
+# EXPERIMENTAL
+#
+# The Cascade module adds the ability to do cascading lookups to backends that
+# are compatible to the Simple backend.
+#
+# By cascading lookups we mean that for any key that can not be found the
+# Cascade module strips one segment off the scope part of the key and then
+# tries to look up the key in that scope.
+#
+# E.g. when a lookup for the key :"foo.bar.baz" does not yield a result then
+# the segment :bar will be stripped off the scope part :"foo.bar" and the new
+# scope :foo will be used to look up the key :baz. If that does not succeed
+# then the remaining scope segment :foo will be omitted, too, and again the
+# key :baz will be looked up (now with no scope).
+#
+# To enable a cascading lookup one passes the :cascade option:
+#
+# I18n.t(:'foo.bar.baz', :cascade => true)
+#
+# This will return the first translation found for :"foo.bar.baz", :"foo.baz"
+# or :baz in this order.
+#
+# The cascading lookup takes precedence over resolving any given defaults.
+# I.e. defaults will kick in after the cascading lookups haven't succeeded.
+#
+# This behavior is useful for libraries like ActiveRecord validations where
+# the library wants to give users a bunch of more or less fine-grained options
+# of scopes for a particular key.
+#
+# Thanks to Clemens Kofler for the initial idea and implementation! See
+# http://github.com/clemens/i18n-cascading-backend
+
+module I18n
+ module Backend
+ module Cascade
+ def lookup(locale, key, scope = [], options = {})
+ return super unless cascade = options[:cascade]
+
+ separator = options[:separator] || I18n.default_separator
+ skip_root = cascade.has_key?(:skip_root) ? cascade[:skip_root] : true
+ step = cascade[:step]
+
+ keys = I18n.normalize_keys(nil, key, nil, separator)
+ offset = options[:cascade][:offset] || keys.length
+ scope = I18n.normalize_keys(nil, nil, scope, separator) + keys
+ key = scope.slice!(-offset, offset).join(separator)
+
+ begin
+ result = super
+ return result unless result.nil?
+ end while !scope.empty? && scope.slice!(-step, step) && (!scope.empty? || !skip_root)
+ end
+ end
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/chain.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/chain.rb
index 9aa3eea3b82..9aa3eea3b82 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/chain.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/chain.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/cldr.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/cldr.rb
new file mode 100644
index 00000000000..d702f2249d5
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/cldr.rb
@@ -0,0 +1,100 @@
+# encoding: utf-8
+require 'cldr'
+
+module I18n
+ module Backend
+ module Cldr
+ include ::Cldr::Format
+
+ def localize(locale, object, format = :default, options = {})
+ options[:as] ||= detect_type(object, options)
+ send(:"format_#{options[:as]}", locale, object, format, options)
+ end
+
+ def format_decimal(locale, object, format = :default, options = {})
+ formatter(locale, :decimal, format).apply(object, options)
+ end
+
+ def format_integer(locale, object, format = :default, options = {})
+ format_object(number, options.merge(:precision => 0))
+ end
+
+ def format_currency(locale, object, format = :default, options = {})
+ options.merge!(:currency => lookup_currency(locale, options[:currency], object)) if options[:currency].is_a?(Symbol)
+ formatter(locale, :currency, format).apply(object, options)
+ end
+
+ def format_percent(locale, object, format = :default, options = {})
+ formatter(locale, :percent, format).apply(object, options)
+ end
+
+ def format_date(locale, object, format = :default, options = {})
+ formatter(locale, :date, format).apply(object, options)
+ end
+
+ def format_time(locale, object, format = :default, options = {})
+ formatter(locale, :time, format).apply(object, options)
+ end
+
+ def format_datetime(locale, object, format = :default, options = {})
+ key = :"calendars.gregorian.formats.datetime.#{format}.pattern"
+ date = I18n.l(object, :format => options[:date_format] || format, :locale => locale, :as => :date)
+ time = I18n.l(object, :format => options[:time_format] || format, :locale => locale, :as => :time)
+ I18n.t(key, :date => date, :time => time, :locale => locale, :raise => true)
+ end
+
+ protected
+
+ def detect_type(object, options)
+ options.has_key?(:currency) ? :currency : case object
+ when ::Numeric
+ :decimal
+ when ::Date, ::DateTime, ::Time
+ object.class.name.downcase.to_sym
+ else
+ raise_unspecified_format_type!
+ end
+ end
+
+ def formatter(locale, type, format)
+ (@formatters ||= {})[:"#{locale}.#{type}.#{format}"] ||= begin
+ format = lookup_format(locale, type, format)
+ data = lookup_format_data(locale, type)
+ ::Cldr::Format.const_get(type.to_s.camelize).new(format, data)
+ end
+ end
+
+ def lookup_format(locale, type, format)
+ key = case type
+ when :date, :time, :datetime
+ :"calendars.gregorian.formats.#{type}.#{format}.pattern"
+ else
+ :"numbers.formats.#{type}.patterns.#{format || :default}"
+ end
+ I18n.t(key, :locale => locale, :raise => true)
+ end
+
+ def lookup_format_data(locale, type)
+ key = case type
+ when :date, :time, :datetime
+ :'calendars.gregorian'
+ else
+ :'numbers.symbols'
+ end
+ I18n.t(key, :locale => locale, :raise => true)
+ end
+
+ def lookup_currency(locale, currency, count)
+ I18n.t(:"currencies.#{currency}", :locale => locale, :count => count)
+ end
+
+ def raise_unspecified_format_type!
+ raise ArgumentError.new("You have to specify a format type, e.g. :as => :number.")
+ end
+
+ def raise_unspecified_currency!
+ raise ArgumentError.new("You have to specify a currency, e.g. :currency => 'EUR'.")
+ end
+ end
+ end
+end \ No newline at end of file
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/fallbacks.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/fallbacks.rb
index 596d3960cfe..596d3960cfe 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/fallbacks.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/fallbacks.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/flatten.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/flatten.rb
new file mode 100644
index 00000000000..c23f7c13194
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/flatten.rb
@@ -0,0 +1,113 @@
+module I18n
+ module Backend
+ # This module contains several helpers to assist flattening translations.
+ # You may want to flatten translations for:
+ #
+ # 1) speed up lookups, as in the Memoize backend;
+ # 2) In case you want to store translations in a data store, as in ActiveRecord backend;
+ #
+ # You can check both backends above for some examples.
+ # This module also keeps all links in a hash so they can be properly resolved when flattened.
+ module Flatten
+ SEPARATOR_ESCAPE_CHAR = "\001"
+ FLATTEN_SEPARATOR = "."
+
+ # normalize_keys the flatten way. This method is significantly faster
+ # and creates way less objects than the one at I18n.normalize_keys.
+ # It also handles escaping the translation keys.
+ def self.normalize_flat_keys(locale, key, scope, separator)
+ keys = [scope, key].flatten.compact
+ separator ||= I18n.default_separator
+
+ if separator != FLATTEN_SEPARATOR
+ keys.map! do |k|
+ k.to_s.tr("#{FLATTEN_SEPARATOR}#{separator}",
+ "#{SEPARATOR_ESCAPE_CHAR}#{FLATTEN_SEPARATOR}")
+ end
+ end
+
+ keys.join(".")
+ end
+
+ # Receives a string and escape the default separator.
+ def self.escape_default_separator(key) #:nodoc:
+ key.to_s.tr(FLATTEN_SEPARATOR, SEPARATOR_ESCAPE_CHAR)
+ end
+
+ # Shortcut to I18n::Backend::Flatten.normalize_flat_keys
+ # and then resolve_links.
+ def normalize_flat_keys(locale, key, scope, separator)
+ key = I18n::Backend::Flatten.normalize_flat_keys(locale, key, scope, separator)
+ resolve_link(locale, key)
+ end
+
+ # Store flattened links.
+ def links
+ @links ||= Hash.new { |h,k| h[k] = {} }
+ end
+
+ # Flatten keys for nested Hashes by chaining up keys:
+ #
+ # >> { "a" => { "b" => { "c" => "d", "e" => "f" }, "g" => "h" }, "i" => "j"}.wind
+ # => { "a.b.c" => "d", "a.b.e" => "f", "a.g" => "h", "i" => "j" }
+ #
+ def flatten_keys(hash, escape, prev_key=nil, &block)
+ hash.each_pair do |key, value|
+ key = escape_default_separator(key) if escape
+ curr_key = [prev_key, key].compact.join(FLATTEN_SEPARATOR).to_sym
+ yield curr_key, value
+ flatten_keys(value, escape, curr_key, &block) if value.is_a?(Hash)
+ end
+ end
+
+ # Receives a hash of translations (where the key is a locale and
+ # the value is another hash) and return a hash with all
+ # translations flattened.
+ #
+ # Nested hashes are included in the flattened hash just if subtree
+ # is true and Symbols are automatically stored as links.
+ def flatten_translations(locale, data, escape, subtree)
+ hash = {}
+ flatten_keys(data, escape) do |key, value|
+ if value.is_a?(Hash)
+ hash[key] = value if subtree
+ else
+ store_link(locale, key, value) if value.is_a?(Symbol)
+ hash[key] = value
+ end
+ end
+ hash
+ end
+
+ protected
+
+ def store_link(locale, key, link)
+ links[locale.to_sym][key.to_s] = link.to_s
+ end
+
+ def resolve_link(locale, key)
+ key, locale = key.to_s, locale.to_sym
+ links = self.links[locale]
+
+ if links.key?(key)
+ links[key]
+ elsif link = find_link(locale, key)
+ store_link(locale, key, key.gsub(*link))
+ else
+ key
+ end
+ end
+
+ def find_link(locale, key) #:nodoc:
+ links[locale].each do |from, to|
+ return [from, to] if key[0, from.length] == from
+ end && nil
+ end
+
+ def escape_default_separator(key) #:nodoc:
+ I18n::Backend::Flatten.escape_default_separator(key)
+ end
+
+ end
+ end
+end \ No newline at end of file
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/gettext.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/gettext.rb
index 4ff15f9f33d..4ff15f9f33d 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/gettext.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/gettext.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/interpolation_compiler.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/interpolation_compiler.rb
new file mode 100644
index 00000000000..8c7c9c91f67
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/interpolation_compiler.rb
@@ -0,0 +1,123 @@
+# encoding: utf-8
+
+# The InterpolationCompiler module contains optimizations that can tremendously
+# speed up the interpolation process on the Simple backend.
+#
+# It works by defining a pre-compiled method on stored translation Strings that
+# already bring all the knowledge about contained interpolation variables etc.
+# so that the actual recurring interpolation will be very fast.
+#
+# To enable pre-compiled interpolations you can simply include the
+# InterpolationCompiler module to the Simple backend:
+#
+# I18n::Backend::Simple.send(:include, I18n::Backend::InterpolationCompiler)
+#
+# Note that InterpolationCompiler does not yield meaningful results and consequently
+# should not be used with Ruby 1.9 (YARV) but improves performance everywhere else
+# (jRuby, Rubinius and 1.8.7).
+module I18n
+ module Backend
+ module InterpolationCompiler
+ module Compiler
+ extend self
+
+ TOKENIZER = /(%%\{[^\}]+\}|%\{[^\}]+\})/
+ INTERPOLATION_SYNTAX_PATTERN = /(%)?(%\{([^\}]+)\})/
+
+ def compile_if_an_interpolation(string)
+ if interpolated_str?(string)
+ string.instance_eval <<-RUBY_EVAL, __FILE__, __LINE__
+ def i18n_interpolate(v = {})
+ "#{compiled_interpolation_body(string)}"
+ end
+ RUBY_EVAL
+ end
+
+ string
+ end
+
+ def interpolated_str?(str)
+ str.kind_of?(::String) && str =~ INTERPOLATION_SYNTAX_PATTERN
+ end
+
+ protected
+ # tokenize("foo %{bar} baz %%{buz}") # => ["foo ", "%{bar}", " baz ", "%%{buz}"]
+ def tokenize(str)
+ str.split(TOKENIZER)
+ end
+
+ def compiled_interpolation_body(str)
+ tokenize(str).map do |token|
+ (matchdata = token.match(INTERPOLATION_SYNTAX_PATTERN)) ? handle_interpolation_token(token, matchdata) : escape_plain_str(token)
+ end.join
+ end
+
+ def handle_interpolation_token(interpolation, matchdata)
+ escaped, pattern, key = matchdata.values_at(1, 2, 3)
+ escaped ? pattern : compile_interpolation_token(key.to_sym)
+ end
+
+ def compile_interpolation_token(key)
+ "\#{#{interpolate_or_raise_missing(key)}}"
+ end
+
+ def interpolate_or_raise_missing(key)
+ escaped_key = escape_key_sym(key)
+ Base::RESERVED_KEYS.include?(key) ? reserved_key(escaped_key) : interpolate_key(escaped_key)
+ end
+
+ def interpolate_key(key)
+ [direct_key(key), nil_key(key), missing_key(key)].join('||')
+ end
+
+ def direct_key(key)
+ "((t = v[#{key}]) && t.respond_to?(:call) ? t.call : t)"
+ end
+
+ def nil_key(key)
+ "(v.has_key?(#{key}) && '')"
+ end
+
+ def missing_key(key)
+ "raise(MissingInterpolationArgument.new(#{key}, self))"
+ end
+
+ def reserved_key(key)
+ "raise(ReservedInterpolationKey.new(#{key}, self))"
+ end
+
+ def escape_plain_str(str)
+ str.gsub(/"|\\|#/) {|x| "\\#{x}"}
+ end
+
+ def escape_key_sym(key)
+ # rely on Ruby to do all the hard work :)
+ key.to_sym.inspect
+ end
+ end
+
+ def interpolate(locale, string, values)
+ if string.respond_to?(:i18n_interpolate)
+ string.i18n_interpolate(values)
+ elsif values
+ super
+ else
+ string
+ end
+ end
+
+ def store_translations(locale, data, options = {})
+ compile_all_strings_in(data)
+ super
+ end
+
+ protected
+ def compile_all_strings_in(data)
+ data.each_value do |value|
+ Compiler.compile_if_an_interpolation(value)
+ compile_all_strings_in(value) if value.kind_of?(Hash)
+ end
+ end
+ end
+ end
+end \ No newline at end of file
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/key_value.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/key_value.rb
new file mode 100644
index 00000000000..d0265abfdd5
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/key_value.rb
@@ -0,0 +1,102 @@
+# encoding: utf-8
+
+require 'i18n/backend/base'
+require 'active_support/json'
+
+module I18n
+ module Backend
+ # This is a basic backend for key value stores. It receives on
+ # initialization the store, which should respond to three methods:
+ #
+ # * store#[](key) - Used to get a value
+ # * store#[]=(key, value) - Used to set a value
+ # * store#keys - Used to get all keys
+ #
+ # Since these stores only supports string, all values are converted
+ # to JSON before being stored, allowing it to also store booleans,
+ # hashes and arrays. However, this store does not support Procs.
+ #
+ # As the ActiveRecord backend, Symbols are just supported when loading
+ # translations from the filesystem or through explicit store translations.
+ #
+ # Also, avoid calling I18n.available_locales since it's a somehow
+ # expensive operation in most stores.
+ #
+ # == Example
+ #
+ # To setup I18n to use TokyoCabinet in memory is quite straightforward:
+ #
+ # require 'rufus/tokyo/cabinet' # gem install rufus-tokyo
+ # I18n.backend = I18n::Backend::KeyValue.new(Rufus::Tokyo::Cabinet.new('*'))
+ #
+ # == Performance
+ #
+ # You may make this backend even faster by including the Memoize module.
+ # However, notice that you should properly clear the cache if you change
+ # values directly in the key-store.
+ #
+ # == Subtrees
+ #
+ # In most backends, you are allowed to retrieve part of a translation tree:
+ #
+ # I18n.backend.store_translations :en, :foo => { :bar => :baz }
+ # I18n.t "foo" #=> { :bar => :baz }
+ #
+ # This backend supports this feature by default, but it slows down the storage
+ # of new data considerably and makes hard to delete entries. That said, you are
+ # allowed to disable the storage of subtrees on initialization:
+ #
+ # I18n::Backend::KeyValue.new(@store, false)
+ #
+ # This is useful if you are using a KeyValue backend chained to a Simple backend.
+ class KeyValue
+ module Implementation
+ attr_accessor :store
+
+ include Base, Flatten
+
+ def initialize(store, subtrees=true)
+ @store, @subtrees = store, subtrees
+ end
+
+ def store_translations(locale, data, options = {})
+ escape = options.fetch(:escape, true)
+ flatten_translations(locale, data, escape, @subtrees).each do |key, value|
+ key = "#{locale}.#{key}"
+
+ case value
+ when Hash
+ if @subtrees && (old_value = @store[key])
+ old_value = ActiveSupport::JSON.decode(old_value)
+ value = old_value.deep_symbolize_keys.deep_merge!(value) if old_value.is_a?(Hash)
+ end
+ when Proc
+ raise "Key-value stores cannot handle procs"
+ end
+
+ @store[key] = ActiveSupport::JSON.encode(value) unless value.is_a?(Symbol)
+ end
+ end
+
+ def available_locales
+ locales = @store.keys.map { |k| k =~ /\./; $` }
+ locales.uniq!
+ locales.compact!
+ locales.map! { |k| k.to_sym }
+ locales
+ end
+
+ protected
+
+ def lookup(locale, key, scope = [], options = {})
+ key = normalize_flat_keys(locale, key, scope, options[:separator])
+ value = @store["#{locale}.#{key}"]
+ value = ActiveSupport::JSON.decode(value) if value
+ value.is_a?(Hash) ? value.deep_symbolize_keys : value
+ end
+ end
+
+ include Implementation
+ end
+ end
+end \ No newline at end of file
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/memoize.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/memoize.rb
new file mode 100644
index 00000000000..6e811d10d10
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/memoize.rb
@@ -0,0 +1,48 @@
+# encoding: utf-8
+#
+# Memoize module simply memoizes the values returned by lookup using
+# a flat hash and can tremendously speed up the lookup process in a backend.
+#
+# To enable it you can simply include the Memoize module to your backend:
+#
+# I18n::Backend::Simple.send(:include, I18n::Backend::Memoize)
+#
+# Notice that it's the responsibility of the backend to define whenever the
+# cache should be cleaned.
+module I18n
+ module Backend
+ module Memoize
+ def available_locales
+ @memoized_locales ||= super
+ end
+
+ def store_translations(locale, data, options = {})
+ reset_memoizations!(locale)
+ super
+ end
+
+ def reload!
+ reset_memoizations!
+ super
+ end
+
+ protected
+
+ def lookup(locale, key, scope = nil, options = {})
+ flat_key = I18n::Backend::Flatten.normalize_flat_keys(locale,
+ key, scope, options[:separator]).to_sym
+ flat_hash = memoized_lookup[locale.to_sym]
+ flat_hash.key?(flat_key) ? flat_hash[flat_key] : (flat_hash[flat_key] = super)
+ end
+
+ def memoized_lookup
+ @memoized_lookup ||= Hash.new { |h, k| h[k] = {} }
+ end
+
+ def reset_memoizations!(locale=nil)
+ @memoized_locales = nil
+ (locale ? memoized_lookup[locale.to_sym] : memoized_lookup).clear
+ end
+ end
+ end
+end \ No newline at end of file
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/metadata.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/metadata.rb
new file mode 100644
index 00000000000..5237b4d9aba
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/metadata.rb
@@ -0,0 +1,65 @@
+# I18n translation metadata is useful when you want to access information
+# about how a translation was looked up, pluralized or interpolated in
+# your application.
+#
+# msg = I18n.t(:message, :default => 'Hi!', :scope => :foo)
+# msg.translation_metadata
+# # => { :key => :message, :scope => :foo, :default => 'Hi!' }
+#
+# If a :count option was passed to #translate it will be set to the metadata.
+# Likewise, if any interpolation variables were passed they will also be set.
+#
+# To enable translation metadata you can simply include the Metadata module
+# into the Simple backend class - or whatever other backend you are using:
+#
+# I18n::Backend::Simple.send(:include, I18n::Backend::Metadata)
+#
+module I18n
+ module Backend
+ module Metadata
+ class << self
+ def included(base)
+ Object.class_eval do
+ def translation_metadata
+ @translation_metadata ||= {}
+ end
+
+ def translation_metadata=(translation_metadata)
+ @translation_metadata = translation_metadata
+ end
+ end unless Object.method_defined?(:translation_metadata)
+ end
+ end
+
+ def translate(locale, key, options = {})
+ metadata = {
+ :locale => locale,
+ :key => key,
+ :scope => options[:scope],
+ :default => options[:default],
+ :separator => options[:separator],
+ :values => options.reject { |name, value| Base::RESERVED_KEYS.include?(name) }
+ }
+ with_metadata(metadata) { super }
+ end
+
+ def interpolate(locale, entry, values = {})
+ metadata = entry.translation_metadata.merge(:original => entry)
+ with_metadata(metadata) { super }
+ end
+
+ def pluralize(locale, entry, count)
+ with_metadata(:count => count) { super }
+ end
+
+ protected
+
+ def with_metadata(metadata, &block)
+ result = yield
+ result.translation_metadata = result.translation_metadata.merge(metadata) if result
+ result
+ end
+
+ end
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/pluralization.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/pluralization.rb
new file mode 100644
index 00000000000..33a2aff7f66
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/pluralization.rb
@@ -0,0 +1,57 @@
+# encoding: utf-8
+
+# I18n locale fallbacks are useful when you want your application to use
+# translations from other locales when translations for the current locale are
+# missing. E.g. you might want to use :en translations when translations in
+# your applications main locale :de are missing.
+#
+# To enable locale specific pluralizations you can simply include the
+# Pluralization module to the Simple backend - or whatever other backend you
+# are using.
+#
+# I18n::Backend::Simple.send(:include, I18n::Backend::Pluralization)
+#
+# You also need to make sure to provide pluralization algorithms to the
+# backend, i.e. include them to your I18n.load_path accordingly.
+module I18n
+ module Backend
+ module Pluralization
+ # Overwrites the Base backend translate method so that it will check the
+ # translation meta data space (:i18n) for a locale specific pluralization
+ # rule and use it to pluralize the given entry. I.e. the library expects
+ # pluralization rules to be stored at I18n.t(:'i18n.plural.rule')
+ #
+ # Pluralization rules are expected to respond to #call(entry, count) and
+ # return a pluralization key. Valid keys depend on the translation data
+ # hash (entry) but it is generally recommended to follow CLDR's style,
+ # i.e., return one of the keys :zero, :one, :few, :many, :other.
+ #
+ # The :zero key is always picked directly when count equals 0 AND the
+ # translation data has the key :zero. This way translators are free to
+ # either pick a special :zero translation even for languages where the
+ # pluralizer does not return a :zero key.
+ def pluralize(locale, entry, count)
+ return entry unless entry.is_a?(Hash) and count
+
+ pluralizer = pluralizer(locale)
+ if pluralizer.respond_to?(:call)
+ key = count == 0 && entry.has_key?(:zero) ? :zero : pluralizer.call(count)
+ raise InvalidPluralizationData.new(entry, count) unless entry.has_key?(key)
+ entry[key]
+ else
+ super
+ end
+ end
+
+ protected
+
+ def pluralizers
+ @pluralizers ||= {}
+ end
+
+ def pluralizer(locale)
+ pluralizers[locale] ||= I18n.t(:'i18n.plural.rule', :locale => locale, :resolve => false)
+ end
+ end
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/simple.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/simple.rb
index 25b8c02a018..25b8c02a018 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/simple.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/simple.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/transliterator.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/transliterator.rb
new file mode 100644
index 00000000000..2ce2cc82740
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/transliterator.rb
@@ -0,0 +1,98 @@
+# encoding: utf-8
+module I18n
+ module Backend
+ module Transliterator
+ DEFAULT_REPLACEMENT_CHAR = "?"
+
+ # Given a locale and a UTF-8 string, return the locale's ASCII
+ # approximation for the string.
+ def transliterate(locale, string, replacement = nil)
+ @transliterators ||= {}
+ @transliterators[locale] ||= Transliterator.get I18n.t(:'i18n.transliterate.rule',
+ :locale => locale, :resolve => false, :default => {})
+ @transliterators[locale].transliterate(string, replacement)
+ end
+
+ # Get a transliterator instance.
+ def self.get(rule = nil)
+ if !rule || rule.kind_of?(Hash)
+ HashTransliterator.new(rule)
+ elsif rule.kind_of? Proc
+ ProcTransliterator.new(rule)
+ else
+ raise I18n::ArgumentError, "Transliteration rule must be a proc or a hash."
+ end
+ end
+
+ # A transliterator which accepts a Proc as its transliteration rule.
+ class ProcTransliterator
+ def initialize(rule)
+ @rule = rule
+ end
+
+ def transliterate(string, replacement = nil)
+ @rule.call(string)
+ end
+ end
+
+ # A transliterator which accepts a Hash of characters as its translation
+ # rule.
+ class HashTransliterator
+ DEFAULT_APPROXIMATIONS = {
+ "À"=>"A", "Á"=>"A", "Â"=>"A", "Ã"=>"A", "Ä"=>"A", "Å"=>"A", "Æ"=>"AE",
+ "Ç"=>"C", "È"=>"E", "É"=>"E", "Ê"=>"E", "Ë"=>"E", "Ì"=>"I", "Í"=>"I",
+ "Î"=>"I", "Ï"=>"I", "Ð"=>"D", "Ñ"=>"N", "Ò"=>"O", "Ó"=>"O", "Ô"=>"O",
+ "Õ"=>"O", "Ö"=>"O", "×"=>"x", "Ø"=>"O", "Ù"=>"U", "Ú"=>"U", "Û"=>"U",
+ "Ü"=>"U", "Ý"=>"Y", "Þ"=>"Th", "ß"=>"ss", "à"=>"a", "á"=>"a", "â"=>"a",
+ "ã"=>"a", "ä"=>"a", "å"=>"a", "æ"=>"ae", "ç"=>"c", "è"=>"e", "é"=>"e",
+ "ê"=>"e", "ë"=>"e", "ì"=>"i", "í"=>"i", "î"=>"i", "ï"=>"i", "ð"=>"d",
+ "ñ"=>"n", "ò"=>"o", "ó"=>"o", "ô"=>"o", "õ"=>"o", "ö"=>"o", "ø"=>"o",
+ "ù"=>"u", "ú"=>"u", "û"=>"u", "ü"=>"u", "ý"=>"y", "þ"=>"th", "ÿ"=>"y",
+ "Ā"=>"A", "ā"=>"a", "Ă"=>"A", "ă"=>"a", "Ą"=>"A", "ą"=>"a", "Ć"=>"C",
+ "ć"=>"c", "Ĉ"=>"C", "ĉ"=>"c", "Ċ"=>"C", "ċ"=>"c", "Č"=>"C", "č"=>"c",
+ "Ď"=>"D", "ď"=>"d", "Đ"=>"D", "đ"=>"d", "Ē"=>"E", "ē"=>"e", "Ĕ"=>"E",
+ "ĕ"=>"e", "Ė"=>"E", "ė"=>"e", "Ę"=>"E", "ę"=>"e", "Ě"=>"E", "ě"=>"e",
+ "Ĝ"=>"G", "ĝ"=>"g", "Ğ"=>"G", "ğ"=>"g", "Ġ"=>"G", "ġ"=>"g", "Ģ"=>"G",
+ "ģ"=>"g", "Ĥ"=>"H", "ĥ"=>"h", "Ħ"=>"H", "ħ"=>"h", "Ĩ"=>"I", "ĩ"=>"i",
+ "Ī"=>"I", "ī"=>"i", "Ĭ"=>"I", "ĭ"=>"i", "Į"=>"I", "į"=>"i", "İ"=>"I",
+ "ı"=>"i", "IJ"=>"IJ", "ij"=>"ij", "Ĵ"=>"J", "ĵ"=>"j", "Ķ"=>"K", "ķ"=>"k",
+ "ĸ"=>"k", "Ĺ"=>"L", "ĺ"=>"l", "Ļ"=>"L", "ļ"=>"l", "Ľ"=>"L", "ľ"=>"l",
+ "Ŀ"=>"L", "ŀ"=>"l", "Ł"=>"L", "ł"=>"l", "Ń"=>"N", "ń"=>"n", "Ņ"=>"N",
+ "ņ"=>"n", "Ň"=>"N", "ň"=>"n", "ʼn"=>"'n", "Ŋ"=>"NG", "ŋ"=>"ng",
+ "Ō"=>"O", "ō"=>"o", "Ŏ"=>"O", "ŏ"=>"o", "Ő"=>"O", "ő"=>"o", "Œ"=>"OE",
+ "œ"=>"oe", "Ŕ"=>"R", "ŕ"=>"r", "Ŗ"=>"R", "ŗ"=>"r", "Ř"=>"R", "ř"=>"r",
+ "Ś"=>"S", "ś"=>"s", "Ŝ"=>"S", "ŝ"=>"s", "Ş"=>"S", "ş"=>"s", "Š"=>"S",
+ "š"=>"s", "Ţ"=>"T", "ţ"=>"t", "Ť"=>"T", "ť"=>"t", "Ŧ"=>"T", "ŧ"=>"t",
+ "Ũ"=>"U", "ũ"=>"u", "Ū"=>"U", "ū"=>"u", "Ŭ"=>"U", "ŭ"=>"u", "Ů"=>"U",
+ "ů"=>"u", "Ű"=>"U", "ű"=>"u", "Ų"=>"U", "ų"=>"u", "Ŵ"=>"W", "ŵ"=>"w",
+ "Ŷ"=>"Y", "ŷ"=>"y", "Ÿ"=>"Y", "Ź"=>"Z", "ź"=>"z", "Ż"=>"Z", "ż"=>"z",
+ "Ž"=>"Z", "ž"=>"z"
+ }
+
+ def initialize(rule = nil)
+ @rule = rule
+ add DEFAULT_APPROXIMATIONS
+ add rule if rule
+ end
+
+ def transliterate(string, replacement = nil)
+ string.gsub(/[^\x00-\x7f]/u) do |char|
+ approximations[char] || replacement || DEFAULT_REPLACEMENT_CHAR
+ end
+ end
+
+ private
+
+ def approximations
+ @approximations ||= {}
+ end
+
+ # Add transliteration rules to the approximations hash.
+ def add(hash)
+ hash.keys.each {|key| hash[key.to_s] = hash.delete(key).to_s}
+ approximations.merge! hash
+ end
+ end
+ end
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/config.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/config.rb
index e393292493b..e393292493b 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/config.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/config.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/core_ext/hash.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/core_ext/hash.rb
new file mode 100644
index 00000000000..f2a2422b9b6
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/core_ext/hash.rb
@@ -0,0 +1,29 @@
+class Hash
+ def slice(*keep_keys)
+ h = {}
+ keep_keys.each { |key| h[key] = fetch(key) }
+ h
+ end unless Hash.method_defined?(:slice)
+
+ def except(*less_keys)
+ slice(*keys - less_keys)
+ end unless Hash.method_defined?(:except)
+
+ def deep_symbolize_keys
+ inject({}) { |result, (key, value)|
+ value = value.deep_symbolize_keys if value.is_a?(Hash)
+ result[(key.to_sym rescue key) || key] = value
+ result
+ }
+ end unless Hash.method_defined?(:deep_symbolize_keys)
+
+ # deep_merge_hash! by Stefan Rusterholz, see http://www.ruby-forum.com/topic/142809
+ MERGER = proc do |key, v1, v2|
+ Hash === v1 && Hash === v2 ? v1.merge(v2, &MERGER) : v2
+ end
+
+ def deep_merge!(data)
+ merge!(data, &MERGER)
+ end unless Hash.method_defined?(:deep_merge!)
+end
+
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/core_ext/string/interpolate.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/core_ext/string/interpolate.rb
new file mode 100644
index 00000000000..585af6fb0d2
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/core_ext/string/interpolate.rb
@@ -0,0 +1,98 @@
+# encoding: utf-8
+
+=begin
+ heavily based on Masao Mutoh's gettext String interpolation extension
+ http://github.com/mutoh/gettext/blob/f6566738b981fe0952548c421042ad1e0cdfb31e/lib/gettext/core_ext/string.rb
+ Copyright (C) 2005-2009 Masao Mutoh
+ You may redistribute it and/or modify it under the same license terms as Ruby.
+=end
+
+begin
+ raise ArgumentError if ("a %{x}" % {:x=>'b'}) != 'a b'
+rescue ArgumentError
+ # KeyError is raised by String#% when the string contains a named placeholder
+ # that is not contained in the given arguments hash. Ruby 1.9 includes and
+ # raises this exception natively. We define it to mimic Ruby 1.9's behaviour
+ # in Ruby 1.8.x
+ class KeyError < IndexError
+ def initialize(message = nil)
+ super(message || "key not found")
+ end
+ end unless defined?(KeyError)
+
+ # Extension for String class. This feature is included in Ruby 1.9 or later but not occur TypeError.
+ #
+ # String#% method which accept "named argument". The translator can know
+ # the meaning of the msgids using "named argument" instead of %s/%d style.
+ class String
+ # For older ruby versions, such as ruby-1.8.5
+ alias :bytesize :size unless instance_methods.find {|m| m.to_s == 'bytesize'}
+ alias :interpolate_without_ruby_19_syntax :% # :nodoc:
+
+ INTERPOLATION_PATTERN = Regexp.union(
+ /%\{(\w+)\}/, # matches placeholders like "%{foo}"
+ /%<(\w+)>(.*?\d*\.?\d*[bBdiouxXeEfgGcps])/ # matches placeholders like "%<foo>.d"
+ )
+
+ INTERPOLATION_PATTERN_WITH_ESCAPE = Regexp.union(
+ /%%/,
+ INTERPOLATION_PATTERN
+ )
+
+ # % uses self (i.e. the String) as a format specification and returns the
+ # result of applying it to the given arguments. In other words it interpolates
+ # the given arguments to the string according to the formats the string
+ # defines.
+ #
+ # There are three ways to use it:
+ #
+ # * Using a single argument or Array of arguments.
+ #
+ # This is the default behaviour of the String class. See Kernel#sprintf for
+ # more details about the format string.
+ #
+ # Example:
+ #
+ # "%d %s" % [1, "message"]
+ # # => "1 message"
+ #
+ # * Using a Hash as an argument and unformatted, named placeholders.
+ #
+ # When you pass a Hash as an argument and specify placeholders with %{foo}
+ # it will interpret the hash values as named arguments.
+ #
+ # Example:
+ #
+ # "%{firstname}, %{lastname}" % {:firstname => "Masao", :lastname => "Mutoh"}
+ # # => "Masao Mutoh"
+ #
+ # * Using a Hash as an argument and formatted, named placeholders.
+ #
+ # When you pass a Hash as an argument and specify placeholders with %<foo>d
+ # it will interpret the hash values as named arguments and format the value
+ # according to the formatting instruction appended to the closing >.
+ #
+ # Example:
+ #
+ # "%<integer>d, %<float>.1f" % { :integer => 10, :float => 43.4 }
+ # # => "10, 43.3"
+ def %(args)
+ if args.kind_of?(Hash)
+ dup.gsub(INTERPOLATION_PATTERN_WITH_ESCAPE) do |match|
+ if match == '%%'
+ '%'
+ else
+ key = ($1 || $2).to_sym
+ raise KeyError unless args.has_key?(key)
+ $3 ? sprintf("%#{$3}", args[key]) : args[key]
+ end
+ end
+ elsif self =~ INTERPOLATION_PATTERN
+ raise ArgumentError.new('one hash required')
+ else
+ result = gsub(/%([{<])/, '%%\1')
+ result.send :'interpolate_without_ruby_19_syntax', args
+ end
+ end
+ end
+end \ No newline at end of file
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/exceptions.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/exceptions.rb
index 98e6a78195f..98e6a78195f 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/exceptions.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/exceptions.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/gettext.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/gettext.rb
new file mode 100644
index 00000000000..a824aa5a0ca
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/gettext.rb
@@ -0,0 +1,27 @@
+# encoding: utf-8
+
+module I18n
+ module Gettext
+ PLURAL_SEPARATOR = "\001"
+ CONTEXT_SEPARATOR = "\004"
+
+ autoload :Helpers, 'i18n/gettext/helpers'
+
+ @@plural_keys = { :en => [:one, :other] }
+
+ class << self
+ # returns an array of plural keys for the given locale so that we can
+ # convert from gettext's integer-index based style
+ # TODO move this information to the pluralization module
+ def plural_keys(locale)
+ @@plural_keys[locale] || @@plural_keys[:en]
+ end
+
+ def extract_scope(msgid, separator)
+ scope = msgid.to_s.split(separator)
+ msgid = scope.pop
+ [scope, msgid]
+ end
+ end
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/gettext/helpers.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/gettext/helpers.rb
index 6a97814b457..6a97814b457 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/gettext/helpers.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/gettext/helpers.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/gettext/po_parser.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/gettext/po_parser.rb
new file mode 100644
index 00000000000..547df6a5931
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/gettext/po_parser.rb
@@ -0,0 +1,329 @@
+=begin
+ poparser.rb - Generate a .mo
+
+ Copyright (C) 2003-2009 Masao Mutoh <mutoh at highway.ne.jp>
+
+ You may redistribute it and/or modify it under the same
+ license terms as Ruby.
+=end
+
+#MODIFIED
+# removed include GetText etc
+# added stub translation method _(x)
+require 'racc/parser'
+
+module GetText
+
+ class PoParser < Racc::Parser
+
+ def _(x)
+ x
+ end
+
+module_eval <<'..end src/poparser.ry modeval..id7a99570e05', 'src/poparser.ry', 108
+ def unescape(orig)
+ ret = orig.gsub(/\\n/, "\n")
+ ret.gsub!(/\\t/, "\t")
+ ret.gsub!(/\\r/, "\r")
+ ret.gsub!(/\\"/, "\"")
+ ret
+ end
+
+ def parse(str, data, ignore_fuzzy = true)
+ @comments = []
+ @data = data
+ @fuzzy = false
+ @msgctxt = ""
+ $ignore_fuzzy = ignore_fuzzy
+
+ str.strip!
+ @q = []
+ until str.empty? do
+ case str
+ when /\A\s+/
+ str = $'
+ when /\Amsgctxt/
+ @q.push [:MSGCTXT, $&]
+ str = $'
+ when /\Amsgid_plural/
+ @q.push [:MSGID_PLURAL, $&]
+ str = $'
+ when /\Amsgid/
+ @q.push [:MSGID, $&]
+ str = $'
+ when /\Amsgstr/
+ @q.push [:MSGSTR, $&]
+ str = $'
+ when /\A\[(\d+)\]/
+ @q.push [:PLURAL_NUM, $1]
+ str = $'
+ when /\A\#~(.*)/
+ $stderr.print _("Warning: obsolete msgid exists.\n")
+ $stderr.print " #{$&}\n"
+ @q.push [:COMMENT, $&]
+ str = $'
+ when /\A\#(.*)/
+ @q.push [:COMMENT, $&]
+ str = $'
+ when /\A\"(.*)\"/
+ @q.push [:STRING, $1]
+ str = $'
+ else
+ #c = str[0,1]
+ #@q.push [:STRING, c]
+ str = str[1..-1]
+ end
+ end
+ @q.push [false, '$end']
+ if $DEBUG
+ @q.each do |a,b|
+ puts "[#{a}, #{b}]"
+ end
+ end
+ @yydebug = true if $DEBUG
+ do_parse
+
+ if @comments.size > 0
+ @data.set_comment(:last, @comments.join("\n"))
+ end
+ @data
+ end
+
+ def next_token
+ @q.shift
+ end
+
+ def on_message(msgid, msgstr)
+ if msgstr.size > 0
+ @data[msgid] = msgstr
+ @data.set_comment(msgid, @comments.join("\n"))
+ end
+ @comments.clear
+ @msgctxt = ""
+ end
+
+ def on_comment(comment)
+ @fuzzy = true if (/fuzzy/ =~ comment)
+ @comments << comment
+ end
+
+
+..end src/poparser.ry modeval..id7a99570e05
+
+##### racc 1.4.5 generates ###
+
+racc_reduce_table = [
+ 0, 0, :racc_error,
+ 0, 10, :_reduce_none,
+ 2, 10, :_reduce_none,
+ 2, 10, :_reduce_none,
+ 2, 10, :_reduce_none,
+ 2, 12, :_reduce_5,
+ 1, 13, :_reduce_none,
+ 1, 13, :_reduce_none,
+ 4, 15, :_reduce_8,
+ 5, 16, :_reduce_9,
+ 2, 17, :_reduce_10,
+ 1, 17, :_reduce_none,
+ 3, 18, :_reduce_12,
+ 1, 11, :_reduce_13,
+ 2, 14, :_reduce_14,
+ 1, 14, :_reduce_15 ]
+
+racc_reduce_n = 16
+
+racc_shift_n = 26
+
+racc_action_table = [
+ 3, 13, 5, 7, 9, 15, 16, 17, 20, 17,
+ 13, 17, 13, 13, 11, 17, 23, 20, 13, 17 ]
+
+racc_action_check = [
+ 1, 16, 1, 1, 1, 12, 12, 12, 18, 18,
+ 7, 14, 15, 9, 3, 19, 20, 21, 23, 25 ]
+
+racc_action_pointer = [
+ nil, 0, nil, 14, nil, nil, nil, 3, nil, 6,
+ nil, nil, 0, nil, 4, 5, -6, nil, 2, 8,
+ 8, 11, nil, 11, nil, 12 ]
+
+racc_action_default = [
+ -1, -16, -2, -16, -3, -13, -4, -16, -6, -16,
+ -7, 26, -16, -15, -5, -16, -16, -14, -16, -8,
+ -16, -9, -11, -16, -10, -12 ]
+
+racc_goto_table = [
+ 12, 22, 14, 4, 24, 6, 2, 8, 18, 19,
+ 10, 21, 1, nil, nil, nil, 25 ]
+
+racc_goto_check = [
+ 5, 9, 5, 3, 9, 4, 2, 6, 5, 5,
+ 7, 8, 1, nil, nil, nil, 5 ]
+
+racc_goto_pointer = [
+ nil, 12, 5, 2, 4, -7, 6, 9, -7, -17 ]
+
+racc_goto_default = [
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil ]
+
+racc_token_table = {
+ false => 0,
+ Object.new => 1,
+ :COMMENT => 2,
+ :MSGID => 3,
+ :MSGCTXT => 4,
+ :MSGID_PLURAL => 5,
+ :MSGSTR => 6,
+ :STRING => 7,
+ :PLURAL_NUM => 8 }
+
+racc_use_result_var = true
+
+racc_nt_base = 9
+
+Racc_arg = [
+ racc_action_table,
+ racc_action_check,
+ racc_action_default,
+ racc_action_pointer,
+ racc_goto_table,
+ racc_goto_check,
+ racc_goto_default,
+ racc_goto_pointer,
+ racc_nt_base,
+ racc_reduce_table,
+ racc_token_table,
+ racc_shift_n,
+ racc_reduce_n,
+ racc_use_result_var ]
+
+Racc_token_to_s_table = [
+'$end',
+'error',
+'COMMENT',
+'MSGID',
+'MSGCTXT',
+'MSGID_PLURAL',
+'MSGSTR',
+'STRING',
+'PLURAL_NUM',
+'$start',
+'msgfmt',
+'comment',
+'msgctxt',
+'message',
+'string_list',
+'single_message',
+'plural_message',
+'msgstr_plural',
+'msgstr_plural_line']
+
+Racc_debug_parser = true
+
+##### racc system variables end #####
+
+ # reduce 0 omitted
+
+ # reduce 1 omitted
+
+ # reduce 2 omitted
+
+ # reduce 3 omitted
+
+ # reduce 4 omitted
+
+module_eval <<'.,.,', 'src/poparser.ry', 25
+ def _reduce_5( val, _values, result )
+ @msgctxt = unescape(val[1]) + "\004"
+ result
+ end
+.,.,
+
+ # reduce 6 omitted
+
+ # reduce 7 omitted
+
+module_eval <<'.,.,', 'src/poparser.ry', 48
+ def _reduce_8( val, _values, result )
+ if @fuzzy and $ignore_fuzzy
+ if val[1] != ""
+ $stderr.print _("Warning: fuzzy message was ignored.\n")
+ $stderr.print " msgid '#{val[1]}'\n"
+ else
+ on_message('', unescape(val[3]))
+ end
+ @fuzzy = false
+ else
+ on_message(@msgctxt + unescape(val[1]), unescape(val[3]))
+ end
+ result = ""
+ result
+ end
+.,.,
+
+module_eval <<'.,.,', 'src/poparser.ry', 65
+ def _reduce_9( val, _values, result )
+ if @fuzzy and $ignore_fuzzy
+ if val[1] != ""
+ $stderr.print _("Warning: fuzzy message was ignored.\n")
+ $stderr.print "msgid = '#{val[1]}\n"
+ else
+ on_message('', unescape(val[3]))
+ end
+ @fuzzy = false
+ else
+ on_message(@msgctxt + unescape(val[1]) + "\000" + unescape(val[3]), unescape(val[4]))
+ end
+ result = ""
+ result
+ end
+.,.,
+
+module_eval <<'.,.,', 'src/poparser.ry', 76
+ def _reduce_10( val, _values, result )
+ if val[0].size > 0
+ result = val[0] + "\000" + val[1]
+ else
+ result = ""
+ end
+ result
+ end
+.,.,
+
+ # reduce 11 omitted
+
+module_eval <<'.,.,', 'src/poparser.ry', 84
+ def _reduce_12( val, _values, result )
+ result = val[2]
+ result
+ end
+.,.,
+
+module_eval <<'.,.,', 'src/poparser.ry', 91
+ def _reduce_13( val, _values, result )
+ on_comment(val[0])
+ result
+ end
+.,.,
+
+module_eval <<'.,.,', 'src/poparser.ry', 99
+ def _reduce_14( val, _values, result )
+ result = val.delete_if{|item| item == ""}.join
+ result
+ end
+.,.,
+
+module_eval <<'.,.,', 'src/poparser.ry', 103
+ def _reduce_15( val, _values, result )
+ result = val[0]
+ result
+ end
+.,.,
+
+ def _reduce_none( val, _values, result )
+ result
+ end
+
+ end # class PoParser
+
+end # module GetText
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/locale.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/locale.rb
new file mode 100644
index 00000000000..4f9d0266d54
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/locale.rb
@@ -0,0 +1,6 @@
+module I18n
+ module Locale
+ autoload :Fallbacks, 'i18n/locale/fallbacks'
+ autoload :Tag, 'i18n/locale/tag'
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/locale/fallbacks.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/locale/fallbacks.rb
new file mode 100644
index 00000000000..11dcf8c2d29
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/locale/fallbacks.rb
@@ -0,0 +1,98 @@
+# encoding: utf-8
+
+# Locale Fallbacks
+#
+# Extends the I18n module to hold a fallbacks instance which is set to an
+# instance of I18n::Locale::Fallbacks by default but can be swapped with a
+# different implementation.
+#
+# Locale fallbacks will compute a number of fallback locales for a given locale.
+# For example:
+#
+# <pre><code>
+# I18n.fallbacks[:"es-MX"] # => [:"es-MX", :es, :en] </code></pre>
+#
+# Locale fallbacks always fall back to
+#
+# * all parent locales of a given locale (e.g. :es for :"es-MX") first,
+# * the current default locales and all of their parents second
+#
+# The default locales are set to [I18n.default_locale] by default but can be
+# set to something else.
+#
+# One can additionally add any number of additional fallback locales manually.
+# These will be added before the default locales to the fallback chain. For
+# example:
+#
+# # using the default locale as default fallback locale
+#
+# I18n.default_locale = :"en-US"
+# I18n.fallbacks = I18n::Fallbacks.new(:"de-AT" => :"de-DE")
+# I18n.fallbacks[:"de-AT"] # => [:"de-AT", :"de-DE", :de, :"en-US", :en]
+#
+# # using a custom locale as default fallback locale
+#
+# I18n.fallbacks = I18n::Fallbacks.new(:"en-GB", :"de-AT" => :de, :"de-CH" => :de)
+# I18n.fallbacks[:"de-AT"] # => [:"de-AT", :de, :"en-GB", :en]
+# I18n.fallbacks[:"de-CH"] # => [:"de-CH", :de, :"en-GB", :en]
+#
+# # mapping fallbacks to an existing instance
+#
+# # people speaking Catalan also speak Spanish as spoken in Spain
+# fallbacks = I18n.fallbacks
+# fallbacks.map(:ca => :"es-ES")
+# fallbacks[:ca] # => [:ca, :"es-ES", :es, :"en-US", :en]
+#
+# # people speaking Arabian as spoken in Palestine also speak Hebrew as spoken in Israel
+# fallbacks.map(:"ar-PS" => :"he-IL")
+# fallbacks[:"ar-PS"] # => [:"ar-PS", :ar, :"he-IL", :he, :"en-US", :en]
+# fallbacks[:"ar-EG"] # => [:"ar-EG", :ar, :"en-US", :en]
+#
+# # people speaking Sami as spoken in Finnland also speak Swedish and Finnish as spoken in Finnland
+# fallbacks.map(:sms => [:"se-FI", :"fi-FI"])
+# fallbacks[:sms] # => [:sms, :"se-FI", :se, :"fi-FI", :fi, :"en-US", :en]
+
+module I18n
+ module Locale
+ class Fallbacks < Hash
+ def initialize(*mappings)
+ @map = {}
+ map(mappings.pop) if mappings.last.is_a?(Hash)
+ self.defaults = mappings.empty? ? [I18n.default_locale.to_sym] : mappings
+ end
+
+ def defaults=(defaults)
+ @defaults = defaults.map { |default| compute(default, false) }.flatten
+ end
+ attr_reader :defaults
+
+ def [](locale)
+ raise InvalidLocale.new(locale) if locale.nil?
+ locale = locale.to_sym
+ super || store(locale, compute(locale))
+ end
+
+ def map(mappings)
+ mappings.each do |from, to|
+ from, to = from.to_sym, Array(to)
+ to.each do |to|
+ @map[from] ||= []
+ @map[from] << to.to_sym
+ end
+ end
+ end
+
+ protected
+
+ def compute(tags, include_defaults = true)
+ result = Array(tags).collect do |tag|
+ tags = I18n::Locale::Tag.tag(tag).self_and_parents.map! { |t| t.to_sym }
+ tags.each { |tag| tags += compute(@map[tag]) if @map[tag] }
+ tags
+ end.flatten
+ result.push(*defaults) if include_defaults
+ result.uniq
+ end
+ end
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/locale/tag.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/locale/tag.rb
new file mode 100644
index 00000000000..a640b4465f6
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/locale/tag.rb
@@ -0,0 +1,28 @@
+# encoding: utf-8
+
+module I18n
+ module Locale
+ module Tag
+ autoload :Parents, 'i18n/locale/tag/parents'
+ autoload :Rfc4646, 'i18n/locale/tag/rfc4646'
+ autoload :Simple, 'i18n/locale/tag/simple'
+
+ class << self
+ # Returns the current locale tag implementation. Defaults to +I18n::Locale::Tag::Simple+.
+ def implementation
+ @@implementation ||= Simple
+ end
+
+ # Sets the current locale tag implementation. Use this to set a different locale tag implementation.
+ def implementation=(implementation)
+ @@implementation = implementation
+ end
+
+ # Factory method for locale tags. Delegates to the current locale tag implementation.
+ def tag(tag)
+ implementation.tag(tag)
+ end
+ end
+ end
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/locale/tag/parents.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/locale/tag/parents.rb
new file mode 100644
index 00000000000..a0944683844
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/locale/tag/parents.rb
@@ -0,0 +1,24 @@
+# encoding: utf-8
+
+module I18n
+ module Locale
+ module Tag
+ module Parents
+ def parent
+ @parent ||= begin
+ segs = to_a.compact
+ segs.length > 1 ? self.class.tag(*segs[0..(segs.length-2)].join('-')) : nil
+ end
+ end
+
+ def self_and_parents
+ @self_and_parents ||= [self] + parents
+ end
+
+ def parents
+ @parents ||= ([parent] + (parent ? parent.parents : [])).compact
+ end
+ end
+ end
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/locale/tag/rfc4646.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/locale/tag/rfc4646.rb
new file mode 100644
index 00000000000..c20d35ae727
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/locale/tag/rfc4646.rb
@@ -0,0 +1,76 @@
+# encoding: utf-8
+
+# RFC 4646/47 compliant Locale tag implementation that parses locale tags to
+# subtags such as language, script, region, variant etc.
+#
+# For more information see by http://en.wikipedia.org/wiki/IETF_language_tag
+#
+# Rfc4646::Parser does not implement grandfathered tags.
+
+module I18n
+ module Locale
+ module Tag
+ RFC4646_SUBTAGS = [ :language, :script, :region, :variant, :extension, :privateuse, :grandfathered ]
+ RFC4646_FORMATS = { :language => :downcase, :script => :capitalize, :region => :upcase, :variant => :downcase }
+
+ class Rfc4646 < Struct.new(*RFC4646_SUBTAGS)
+ class << self
+ # Parses the given tag and returns a Tag instance if it is valid.
+ # Returns false if the given tag is not valid according to RFC 4646.
+ def tag(tag)
+ matches = parser.match(tag)
+ new(*matches) if matches
+ end
+
+ def parser
+ @@parser ||= Rfc4646::Parser
+ end
+
+ def parser=(parser)
+ @@parser = parser
+ end
+ end
+
+ include Parents
+
+ RFC4646_FORMATS.each do |name, format|
+ define_method(name) { self[name].send(format) unless self[name].nil? }
+ end
+
+ def to_sym
+ to_s.to_sym
+ end
+
+ def to_s
+ @tag ||= to_a.compact.join("-")
+ end
+
+ def to_a
+ members.collect { |attr| self.send(attr) }
+ end
+
+ module Parser
+ PATTERN = %r{\A(?:
+ ([a-z]{2,3}(?:(?:-[a-z]{3}){0,3})?|[a-z]{4}|[a-z]{5,8}) # language
+ (?:-([a-z]{4}))? # script
+ (?:-([a-z]{2}|\d{3}))? # region
+ (?:-([0-9a-z]{5,8}|\d[0-9a-z]{3}))* # variant
+ (?:-([0-9a-wyz](?:-[0-9a-z]{2,8})+))* # extension
+ (?:-(x(?:-[0-9a-z]{1,8})+))?| # privateuse subtag
+ (x(?:-[0-9a-z]{1,8})+)| # privateuse tag
+ /* ([a-z]{1,3}(?:-[0-9a-z]{2,8}){1,2}) */ # grandfathered
+ )\z}xi
+
+ class << self
+ def match(tag)
+ c = PATTERN.match(tag.to_s).captures
+ c[0..4] << (c[5].nil? ? c[6] : c[5]) << c[7] # TODO c[7] is grandfathered, throw a NotImplemented exception here?
+ rescue
+ false
+ end
+ end
+ end
+ end
+ end
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/locale/tag/simple.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/locale/tag/simple.rb
new file mode 100644
index 00000000000..0fddb366a60
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/locale/tag/simple.rb
@@ -0,0 +1,41 @@
+# encoding: utf-8
+
+# Simple Locale tag implementation that computes subtags by simply splitting
+# the locale tag at '-' occurences.
+module I18n
+ module Locale
+ module Tag
+ class Simple
+ class << self
+ def tag(tag)
+ new(tag)
+ end
+ end
+
+ include Parents
+
+ attr_reader :tag
+
+ def initialize(*tag)
+ @tag = tag.join('-').to_sym
+ end
+
+ def subtags
+ @subtags = tag.to_s.split('-').map { |subtag| subtag.to_s }
+ end
+
+ def to_sym
+ tag
+ end
+
+ def to_s
+ tag.to_s
+ end
+
+ def to_a
+ subtags
+ end
+ end
+ end
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/version.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/version.rb
index 33721b9ffe0..33721b9ffe0 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/version.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/version.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/.specification b/sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/.specification
index 430d70be5aa..430d70be5aa 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/.specification
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/.specification
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/History.txt b/sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/History.txt
index 4ffc8de2cd2..4ffc8de2cd2 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/History.txt
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/History.txt
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/License.txt b/sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/License.txt
index e0136393b8a..e0136393b8a 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/License.txt
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/License.txt
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/Manifest.txt b/sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/Manifest.txt
index 3d7e1483512..3d7e1483512 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/Manifest.txt
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/Manifest.txt
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/README.txt b/sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/README.txt
index c1a645eaedb..c1a645eaedb 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/README.txt
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/README.txt
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/Rakefile b/sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/Rakefile
index f0115d888a8..f0115d888a8 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/Rakefile
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/Rakefile
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/lib/jopenssl.jar b/sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/lib/jopenssl.jar
index 41b97e790f8..41b97e790f8 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/lib/jopenssl.jar
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/lib/jopenssl.jar
Binary files differ
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/lib/jopenssl/version.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/lib/jopenssl/version.rb
index 6ce8cf73b07..6ce8cf73b07 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/lib/jopenssl/version.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/lib/jopenssl/version.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/lib/openssl.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/lib/openssl.rb
index 6a35fe30cb9..6a35fe30cb9 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/lib/openssl.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/lib/openssl.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/lib/openssl/bn.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/lib/openssl/bn.rb
index cf44a0943c4..cf44a0943c4 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/lib/openssl/bn.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/lib/openssl/bn.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/lib/openssl/buffering.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/lib/openssl/buffering.rb
index 42c047c7312..42c047c7312 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/lib/openssl/buffering.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/lib/openssl/buffering.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/lib/openssl/cipher.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/lib/openssl/cipher.rb
index 5fbfcd4005f..5fbfcd4005f 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/lib/openssl/cipher.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/lib/openssl/cipher.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/lib/openssl/config.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/lib/openssl/config.rb
index 9fc42c623a8..9fc42c623a8 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/lib/openssl/config.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/lib/openssl/config.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/lib/openssl/digest.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/lib/openssl/digest.rb
index e64b0cfd373..e64b0cfd373 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/lib/openssl/digest.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/lib/openssl/digest.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/lib/openssl/dummy.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/lib/openssl/dummy.rb
index af84c039336..af84c039336 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/lib/openssl/dummy.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/lib/openssl/dummy.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/lib/openssl/dummyssl.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/lib/openssl/dummyssl.rb
index 6a1d61734eb..6a1d61734eb 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/lib/openssl/dummyssl.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/lib/openssl/dummyssl.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/lib/openssl/pkcs7.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/lib/openssl/pkcs7.rb
index 1f88c1de5ec..1f88c1de5ec 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/lib/openssl/pkcs7.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/lib/openssl/pkcs7.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/lib/openssl/ssl.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/lib/openssl/ssl.rb
index 8f51fb08faf..8f51fb08faf 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/lib/openssl/ssl.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/lib/openssl/ssl.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/lib/openssl/x509.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/lib/openssl/x509.rb
index 99f239ce372..99f239ce372 100644
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/lib/openssl/x509.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/lib/openssl/x509.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/.specification b/sonar-server/src/main/webapp/WEB-INF/gems/gems/json-jruby-1.2.3-universal-java-1.6/.specification
index 00d6fbc0f06..00d6fbc0f06 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/.specification
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/json-jruby-1.2.3-universal-java-1.6/.specification
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/lib/json.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/json-jruby-1.2.3-universal-java-1.6/lib/json.rb
index 789b0de5460..789b0de5460 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/lib/json.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/json-jruby-1.2.3-universal-java-1.6/lib/json.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/add/core.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/add/core.rb
index 03a00dded42..03a00dded42 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/add/core.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/add/core.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/add/rails.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/add/rails.rb
index 8ce85efe57e..8ce85efe57e 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/add/rails.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/add/rails.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/common.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/common.rb
index 2f1584ef579..2f1584ef579 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/common.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/common.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/ext.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/ext.rb
index 6df6e531196..6df6e531196 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/ext.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/ext.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/ext/generator.jar b/sonar-server/src/main/webapp/WEB-INF/gems/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/ext/generator.jar
index 19343cae231..19343cae231 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/ext/generator.jar
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/ext/generator.jar
Binary files differ
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/ext/parser.jar b/sonar-server/src/main/webapp/WEB-INF/gems/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/ext/parser.jar
index e75f78f5329..e75f78f5329 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/ext/parser.jar
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/ext/parser.jar
Binary files differ
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/pure.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/pure.rb
index 565ef0c5881..565ef0c5881 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/pure.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/pure.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/pure/generator.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/pure/generator.rb
index be73cb14095..be73cb14095 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/pure/generator.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/pure/generator.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/pure/generator.rb.orig b/sonar-server/src/main/webapp/WEB-INF/gems/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/pure/generator.rb.orig
index 61b0fdf8820..61b0fdf8820 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/pure/generator.rb.orig
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/pure/generator.rb.orig
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/pure/parser.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/pure/parser.rb
index f6de8d1dd1a..f6de8d1dd1a 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/pure/parser.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/pure/parser.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/version.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/version.rb
index 571612ec1b9..571612ec1b9 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/version.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/version.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/version.rb.orig b/sonar-server/src/main/webapp/WEB-INF/gems/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/version.rb.orig
index f72ad08e7a5..f72ad08e7a5 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/version.rb.orig
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/version.rb.orig
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/COPYING b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/COPYING
index 11b4c6e0f6e..83b390bcb13 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/COPYING
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/COPYING
@@ -1,4 +1,4 @@
-Copyright (c) 2007, 2008, 2009 Christian Neukirchen <purl.org/net/chneukirchen>
+Copyright (c) 2007, 2008, 2009, 2010 Christian Neukirchen <purl.org/net/chneukirchen>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/KNOWN-ISSUES b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/KNOWN-ISSUES
index 790199bde17..a1af5dc1eef 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/KNOWN-ISSUES
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/KNOWN-ISSUES
@@ -16,3 +16,6 @@
end
Of course, use this only when your app runs at "/".
+
+ Since lighttpd 1.4.23, you also can use the "fix-root-scriptname" flag
+ in fastcgi.server.
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/empty.log b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/RDOX
index e69de29bb2d..e69de29bb2d 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/empty.log
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/RDOX
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/README b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/README
index c58009ff2f8..a73a83aadbf 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/README
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/README
@@ -11,21 +11,13 @@ which all Rack applications should conform to.
== Specification changes in this release
-With Rack 1.0, the Rack specification (found in SPEC) changed in the
-following backward-incompatible ways. This was done to properly
-support Ruby 1.9 and to deprecate some problematic techniques:
-
-* Rack::VERSION has been pushed to [1,0].
-* Header values must be Strings now, split on "\n".
-* rack.input must be rewindable and support reading into a buffer,
- wrap with Rack::RewindableInput if it isn't.
-* Content-Length can be missing, in this case chunked transfer
- encoding is used.
-* Bodies can now additionally respond to #to_path with a filename to
- be served.
-* String bodies are deprecated and will not work with Ruby 1.9, use an
- Array with a single String instead.
-* rack.session is now specified.
+With Rack 1.1, the Rack specification (found in SPEC) changed in the
+following backward-incompatible ways.
+
+* Rack::VERSION has been pushed to [1,1].
+* rack.logger is now specified.
+* The SPEC now allows subclasses of the required types.
+* rack.input has to be opened in binary mode.
== Supported web servers
@@ -43,8 +35,11 @@ The included *handlers* connect all kinds of web servers to Rack:
These web servers include Rack handlers in their distributions:
* Ebb
* Fuzed
+* Glassfish v3
* Phusion Passenger (which is mod_rack for Apache and for nginx)
+* Rainbows!
* Unicorn
+* Zbatery
Any valid Rack app will run the same on all these handlers, without
changing anything.
@@ -70,6 +65,7 @@ These frameworks include Rack adapters in their distributions:
* Vintage
* Waves
* Wee
+* ... and many others.
Current links to these projects can be found at
http://wiki.ramaze.net/Home#other-frameworks
@@ -130,13 +126,13 @@ Either with the embedded WEBrick starter:
Or with rackup:
- bin/rackup -Ilib example/lobster.ru
+ bin/rackup -Ilib example/lobster.ru
By default, the lobster is found at http://localhost:9292.
== Installing with RubyGems
-A Gem of Rack is available. You can install it with:
+A Gem of Rack is available at gemcutter.org. You can install it with:
gem install rack
@@ -165,7 +161,6 @@ To run the test suite completely, you need:
* fcgi
* memcache-client
* mongrel
- * ruby-openid
* thin
The full set of tests test FCGI access with lighttpd (on port
@@ -283,16 +278,57 @@ run on port 11211) and memcache-client installed.
* Make sure WEBrick respects the :Host option
* Many Ruby 1.9 fixes.
+* January 3rd, 2009: Ninth public release 1.1.0.
+ * Moved Auth::OpenID to rack-contrib.
+ * SPEC change that relaxes Lint slightly to allow subclasses of the
+ required types
+ * SPEC change to document rack.input binary mode in greator detail
+ * SPEC define optional rack.logger specification
+ * File servers support X-Cascade header
+ * Imported Config middleware
+ * Imported ETag middleware
+ * Imported Runtime middleware
+ * Imported Sendfile middleware
+ * New Logger and NullLogger middlewares
+ * Added mime type for .ogv and .manifest.
+ * Don't squeeze PATH_INFO slashes
+ * Use Content-Type to determine POST params parsing
+ * Update Rack::Utils::HTTP_STATUS_CODES hash
+ * Add status code lookup utility
+ * Response should call #to_i on the status
+ * Add Request#user_agent
+ * Request#host knows about forwared host
+ * Return an empty string for Request#host if HTTP_HOST and
+ SERVER_NAME are both missing
+ * Allow MockRequest to accept hash params
+ * Optimizations to HeaderHash
+ * Refactored rackup into Rack::Server
+ * Added Utils.build_nested_query to complement Utils.parse_nested_query
+ * Added Utils::Multipart.build_multipart to complement
+ Utils::Multipart.parse_multipart
+ * Extracted set and delete cookie helpers into Utils so they can be
+ used outside Response
+ * Extract parse_query and parse_multipart in Request so subclasses
+ can change their behavior
+ * Enforce binary encoding in RewindableInput
+ * Set correct external_encoding for handlers that don't use RewindableInput
+
+* March 13th, 2011: Twelfth public release 1.2.2/1.1.2.
+ * Security fix in Rack::Auth::Digest::MD5: when authenticator
+ returned nil, permission was granted on empty password.
+
+* December 28th, 2011: Twenty first public release: 1.1.3.
+ * Security fix. http://www.ocert.org/advisories/ocert-2011-003.html
+ Further information here: http://jruby.org/2011/12/27/jruby-1-6-5-1
+
== Contact
-Please mail bugs, suggestions and patches to
-<mailto:rack-devel@googlegroups.com>.
+Please post bugs, suggestions and patches to
+the bug tracker at <http://rack.lighthouseapp.com/>.
Mailing list archives are available at
<http://groups.google.com/group/rack-devel>.
-There is a bug tracker at <http://rack.lighthouseapp.com/>.
-
Git repository (send Git patches to the mailing list):
* http://github.com/rack/rack
* http://git.vuxu.org/cgi-bin/gitweb.cgi?p=rack.git
@@ -318,8 +354,14 @@ would like to thank:
* Luc Heinrich for the Cookie sessions, the static file handler and bugfixes.
* Armin Ronacher, for the logo and racktools.
* Aredridel, Ben Alpert, Dan Kubb, Daniel Roethlisberger, Matt Todd,
- Tom Robinson, Phil Hagelberg, and S. Brent Faulkner for bug fixing
- and other improvements.
+ Tom Robinson, Phil Hagelberg, S. Brent Faulkner, Bosko Milekic,
+ Daniel Rodríguez Troitiño, Genki Takiuchi, Geoffrey Grosenbach,
+ Julien Sanchez, Kamal Fariz Mahyuddin, Masayoshi Takahashi, Patrick
+ Aljordm, Mig, and Kazuhiro Nishiyama for bug fixing and other
+ improvements.
+* Eric Wong, Hongli Lai, Jeremy Kemper for their continuous support
+ and API improvements.
+* Yehuda Katz and Carl Lerche for refactoring rackup.
* Brian Candler, for Rack::ContentType.
* Graham Batty, for improved handler loading.
* Stephen Bannasch, for bug reports and documentation.
@@ -334,7 +376,7 @@ would like to thank:
== Copyright
-Copyright (C) 2007, 2008, 2009 Christian Neukirchen <http://purl.org/net/chneukirchen>
+Copyright (C) 2007, 2008, 2009, 2010 Christian Neukirchen <http://purl.org/net/chneukirchen>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
@@ -349,7 +391,7 @@ all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -358,6 +400,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Rack:: <http://rack.rubyforge.org/>
Rack's Rubyforge project:: <http://rubyforge.org/projects/rack>
Official Rack repositories:: <http://github.com/rack>
+Rack Lighthouse Bug Tracking:: <http://rack.lighthouseapp.com/>
rack-devel mailing list:: <http://groups.google.com/group/rack-devel>
Christian Neukirchen:: <http://chneukirchen.org/>
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/SPEC b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/SPEC
index e4d252ecb01..d2260cbe70f 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/SPEC
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/SPEC
@@ -52,7 +52,7 @@ below.
request.
In addition to this, the Rack environment must include these
Rack-specific variables:
-<tt>rack.version</tt>:: The Array [1,0], representing this version of Rack.
+<tt>rack.version</tt>:: The Array [1,1], representing this version of Rack.
<tt>rack.url_scheme</tt>:: +http+ or +https+, depending on the request URL.
<tt>rack.input</tt>:: See below, the input stream.
<tt>rack.errors</tt>:: See below, the error stream.
@@ -68,6 +68,13 @@ be implemented by the server.
fetch(key, default = nil) (aliased as []);
delete(key);
clear;
+<tt>rack.logger</tt>:: A common object interface for logging messages.
+ The object must implement:
+ info(message, &block)
+ debug(message, &block)
+ warn(message, &block)
+ error(message, &block)
+ fatal(message, &block)
The server or the application can store their own data in the
environment, too. The keys must contain at least one dot,
and should be prefixed uniquely. The prefix <tt>rack.</tt>
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/bin/rackup b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/bin/rackup
new file mode 100755
index 00000000000..ad94af4be3b
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/bin/rackup
@@ -0,0 +1,4 @@
+#!/usr/bin/env ruby
+
+require "rack"
+Rack::Server.start
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/contrib/rack_logo.svg b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/contrib/rack_logo.svg
new file mode 100755
index 00000000000..905dcd32b45
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/contrib/rack_logo.svg
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/)
+ by Armin Ronacher (mitsuhiko), MIT-licensed.
+-->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="200"
+ height="100"
+ id="svg2"
+ sodipodi:version="0.32"
+ inkscape:version="0.44"
+ version="1.0"
+ inkscape:export-filename="/home/blackbird/Desktop/rack_logo_final.png"
+ inkscape:export-xdpi="360"
+ inkscape:export-ydpi="360"
+ sodipodi:docbase="/home/blackbird/Desktop"
+ sodipodi:docname="rack_logo.svg">
+ <defs
+ id="defs4" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ gridtolerance="10000"
+ guidetolerance="10"
+ objecttolerance="10"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="3.959798"
+ inkscape:cx="148.56163"
+ inkscape:cy="67.007749"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ width="200px"
+ height="100px"
+ inkscape:window-width="1400"
+ inkscape:window-height="975"
+ inkscape:window-x="0"
+ inkscape:window-y="24" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1">
+ <path
+ style="font-size:33.17043304px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Frutiger"
+ d="M 102.28876,57.97848 L 102.28876,64.972684 C 101.77662,64.784857 101.19214,64.690938 100.5353,64.690927 C 99.767107,64.690938 99.026757,64.873251 98.314248,65.237867 C 97.612848,65.591455 97.056197,66.050001 96.644288,66.613505 C 96.343688,67.022337 96.121018,67.541654 95.976308,68.171455 C 95.876091,68.558187 95.826008,69.094078 95.826016,69.779128 L 95.826016,75.861765 L 87.125504,75.861765 L 87.125504,58.144219 L 95.274924,58.144219 L 95.274924,62.105392 C 95.987422,60.569555 96.783437,59.481201 97.662958,58.840325 C 98.542463,58.188434 99.622368,57.86248 100.90268,57.862463 C 101.30345,57.86248 101.76548,57.901153 102.28876,57.97848 M 115.63175,75.861765 L 115.63175,73.342526 C 114.26238,75.364548 112.21945,76.375557 109.50299,76.375558 C 107.49902,76.375557 105.94039,75.86729 104.82709,74.850755 C 103.71379,73.834221 103.15714,72.552504 103.15714,71.0056 C 103.15714,69.867528 103.41875,68.867568 103.94202,68.005716 C 104.4764,67.13283 105.22231,66.431201 106.17978,65.900825 C 106.79207,65.558307 107.65489,65.276551 108.7682,65.055554 C 109.89264,64.82353 111.22861,64.707512 112.7761,64.707501 C 113.47749,64.707512 114.37371,64.735135 115.46475,64.790371 C 115.44246,63.994833 115.12518,63.353974 114.51288,62.867793 C 113.90056,62.381638 112.86517,62.138553 111.40674,62.13854 C 110.47156,62.138553 109.50298,62.254571 108.50101,62.486592 C 107.76623,62.663395 106.66962,63.05012 105.21119,63.646768 L 105.21119,58.740881 C 106.54715,58.365223 107.78292,58.10004 108.91851,57.945332 C 110.05407,57.79066 111.31211,57.713315 112.69263,57.713297 C 114.85243,57.713315 116.71722,57.912202 118.28699,58.309959 C 119.05515,58.497815 119.76766,58.79062 120.42454,59.188378 C 121.08138,59.586169 121.59907,60.02814 121.97762,60.514293 C 122.36724,60.989428 122.68454,61.591614 122.9295,62.320853 C 123.18553,63.05012 123.31357,64.055605 123.31358,65.33731 L 123.31358,75.861765 L 115.63175,75.861765 M 115.69855,67.972568 C 114.30691,67.961526 113.33832,68.011249 112.79282,68.121734 C 112.24727,68.232234 111.81866,68.469793 111.50693,68.834413 C 111.19522,69.199047 111.03934,69.613395 111.03935,70.077459 C 111.03934,70.574683 111.22861,71.005604 111.60714,71.370227 C 111.98566,71.723808 112.44768,71.900596 112.99322,71.900593 C 113.67231,71.900596 114.29577,71.607791 114.86358,71.022173 C 115.43134,70.436566 115.71525,69.596821 115.71525,68.502934 C 115.71525,68.381399 115.70968,68.20461 115.69855,67.972568 M 142.55155,58.376254 L 142.55155,63.646768 C 141.04855,63.03907 139.76826,62.735215 138.71063,62.735202 C 137.41918,62.735215 136.38381,63.110891 135.6045,63.86223 C 134.82518,64.613593 134.43552,65.59698 134.43553,66.812392 C 134.43552,68.171463 134.82518,69.248768 135.6045,70.044311 C 136.39494,70.828816 137.46928,71.221066 138.82753,71.221061 C 139.92968,71.221066 141.22114,70.867489 142.70184,70.160328 L 142.70184,75.46399 C 140.50862,76.071702 138.34322,76.375557 136.20569,76.375558 C 134.44665,76.375557 132.80452,76.115898 131.27929,75.596582 C 130.13258,75.209858 129.13618,74.646344 128.29007,73.90604 C 127.45508,73.15469 126.80936,72.325994 126.35291,71.419948 C 125.69606,70.116137 125.36763,68.646582 125.36763,67.011279 C 125.36763,63.89539 126.52547,61.459022 128.84117,59.70217 C 130.66698,58.309976 133.14964,57.613871 136.2892,57.613853 C 138.47127,57.613871 140.55871,57.868005 142.55155,58.376254 M 154.2413,65.221293 L 159.21776,58.144219 L 168.95366,58.144219 L 162.94178,66.000268 L 169.20414,75.861765 L 159.13426,75.861765 L 154.2413,67.259888 L 154.2413,75.861765 L 145.52407,75.861765 L 145.52407,50.255022 L 154.2413,50.255022 L 154.2413,65.221293"
+ id="text2980" />
+ <path
+ style="font-size:9.72235012px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Frutiger45-Light"
+ d="M 87.460353,88.057465 L 88.081744,88.057465 L 88.081744,85.211201 L 88.101471,85.211201 C 88.259282,85.530647 88.463124,85.770232 88.712998,85.929955 C 88.962867,86.083288 89.281782,86.159955 89.669743,86.159955 C 90.33387,86.159955 90.843476,85.923565 91.198561,85.450785 C 91.560211,84.971618 91.741039,84.355087 91.741044,83.601194 C 91.741039,82.815359 91.579938,82.202023 91.25774,81.761184 C 91.086772,81.531188 90.869779,81.355493 90.60676,81.234098 C 90.343734,81.106325 90.031395,81.042436 89.669743,81.042431 C 89.43302,81.042436 89.222602,81.077575 89.038488,81.147848 C 88.85437,81.211743 88.699845,81.294798 88.574911,81.397016 C 88.456549,81.499244 88.361203,81.601466 88.288874,81.703684 C 88.216541,81.799522 88.147498,81.901745 88.081744,82.010353 L 88.062018,82.048686 L 88.042291,82.048686 L 88.081744,81.157431 L 87.460353,81.157431 L 87.460353,88.057465 M 91.060474,83.601194 C 91.06047,83.863141 91.037455,84.112309 90.991431,84.348697 C 90.945397,84.585088 90.863203,84.802312 90.744847,85.000367 C 90.633058,85.192035 90.478533,85.348563 90.281269,85.469952 C 90.090575,85.584954 89.853854,85.642454 89.571109,85.642453 C 89.308084,85.642454 89.081227,85.581759 88.890538,85.460369 C 88.699845,85.33898 88.545319,85.179258 88.426961,84.9812 C 88.308599,84.776755 88.219829,84.556338 88.160651,84.319947 C 88.108045,84.077169 88.081743,83.837586 88.081744,83.601194 C 88.081743,83.364806 88.108045,83.128416 88.160651,82.892023 C 88.219829,82.649248 88.305311,82.42883 88.417097,82.23077 C 88.535456,82.026329 88.689981,81.863412 88.880675,81.742018 C 89.077939,81.620632 89.308084,81.559938 89.571109,81.559933 C 89.853854,81.559938 90.090575,81.620632 90.281269,81.742018 C 90.478533,81.857022 90.633058,82.01355 90.744847,82.211603 C 90.863203,82.403275 90.945397,82.617303 90.991431,82.853689 C 91.037455,83.090082 91.06047,83.33925 91.060474,83.601194 M 92.509615,83.601194 C 92.509614,83.939808 92.555643,84.265642 92.647702,84.578698 C 92.746334,84.885367 92.890996,85.156896 93.081688,85.393285 C 93.272378,85.629676 93.515674,85.818149 93.811576,85.958705 C 94.11405,86.092872 94.462554,86.159955 94.85709,86.159955 C 95.251621,86.159955 95.596838,86.092872 95.892741,85.958705 C 96.195213,85.818149 96.441797,85.629676 96.632492,85.393285 C 96.823179,85.150508 96.964554,84.875783 97.056616,84.569114 C 97.155245,84.262449 97.204561,83.939808 97.204567,83.601194 C 97.204561,83.262583 97.155245,82.939944 97.056616,82.633272 C 96.964554,82.320218 96.823179,82.045495 96.632492,81.809101 C 96.441797,81.572716 96.195213,81.387438 95.892741,81.253266 C 95.596838,81.112714 95.251621,81.042436 94.85709,81.042431 C 94.462554,81.042436 94.117338,81.112714 93.821439,81.253266 C 93.525538,81.387438 93.278954,81.575911 93.081688,81.818685 C 92.890996,82.055079 92.746334,82.326608 92.647702,82.633272 C 92.555643,82.939944 92.509614,83.262583 92.509615,83.601194 M 93.190185,83.601194 C 93.190184,83.013416 93.334846,82.527858 93.624172,82.144519 C 93.920071,81.7548 94.331043,81.559938 94.85709,81.559933 C 95.383132,81.559938 95.790816,81.7548 96.080145,82.144519 C 96.376041,82.527858 96.523991,83.013416 96.523995,83.601194 C 96.523991,84.188976 96.376041,84.677727 96.080145,85.06745 C 95.790816,85.450786 95.383132,85.642454 94.85709,85.642453 C 94.331043,85.642454 93.920071,85.450786 93.624172,85.06745 C 93.334846,84.677727 93.190184,84.188976 93.190185,83.601194 M 105.09447,81.157431 L 104.47308,81.157431 L 103.08235,85.383702 L 103.06262,85.383702 L 101.73107,81.157431 L 100.98146,81.157431 L 99.580861,85.383702 L 99.561135,85.383702 L 98.239447,81.157431 L 97.558876,81.157431 L 99.176464,86.044955 L 99.926079,86.044955 L 101.29708,81.818685 L 101.31681,81.818685 L 102.68781,86.044955 L 103.43743,86.044955 L 105.09447,81.157431 M 109.15539,85.278285 C 109.00415,85.374119 108.78387,85.460369 108.49455,85.537035 C 108.2118,85.607314 107.96192,85.642454 107.74493,85.642453 C 107.22547,85.642454 106.81778,85.466758 106.52188,85.115367 C 106.23255,84.763978 106.0879,84.316754 106.0879,83.773694 L 109.5302,83.773694 L 109.5302,83.467026 C 109.5302,83.128416 109.49075,82.815359 109.41184,82.527854 C 109.33293,82.233968 109.21128,81.975217 109.04689,81.751601 C 108.88908,81.527994 108.68195,81.355493 108.42551,81.234098 C 108.16905,81.106325 107.86987,81.042436 107.52794,81.042431 C 107.21889,81.042436 106.93285,81.106325 106.66983,81.234098 C 106.4068,81.355493 106.17995,81.531188 105.98927,81.761184 C 105.80514,81.99119 105.66049,82.262718 105.55527,82.575772 C 105.45664,82.888832 105.40733,83.230639 105.40733,83.601194 C 105.40733,83.978141 105.45007,84.323142 105.53555,84.636199 C 105.62103,84.942868 105.75254,85.211201 105.93008,85.441202 C 106.11419,85.671204 106.35091,85.850093 106.64024,85.977872 C 106.93614,86.09926 107.28793,86.159955 107.69562,86.159955 C 107.93891,86.159955 108.18879,86.1344 108.44523,86.083288 C 108.70825,86.038566 108.94498,85.974677 109.15539,85.89162 L 109.15539,85.278285 M 106.0879,83.256192 C 106.0879,83.051749 106.12078,82.850499 106.18652,82.652439 C 106.25886,82.447997 106.35749,82.262718 106.48242,82.096603 C 106.61393,81.930495 106.77175,81.799522 106.95587,81.703684 C 107.13998,81.607855 107.34383,81.559938 107.56739,81.559933 C 107.79096,81.559938 107.98494,81.607855 108.14933,81.703684 C 108.31372,81.793134 108.44523,81.917717 108.54386,82.077436 C 108.64908,82.237163 108.72469,82.419247 108.77073,82.623689 C 108.82333,82.821749 108.84962,83.032582 108.84963,83.256192 L 106.0879,83.256192 M 110.61748,86.044955 L 111.23887,86.044955 L 111.23887,83.629944 C 111.23887,83.387167 111.2586,83.153972 111.29805,82.930357 C 111.33751,82.700359 111.40654,82.492719 111.50518,82.307437 C 111.60381,82.115773 111.73204,81.96244 111.88985,81.847435 C 112.05424,81.732439 112.25479,81.674939 112.49151,81.674934 C 112.66905,81.674939 112.82029,81.694105 112.94523,81.732434 L 112.94523,81.099931 C 112.88604,81.08077 112.81372,81.067992 112.72824,81.061598 C 112.64933,81.048825 112.57699,81.042436 112.51124,81.042431 C 112.21533,81.042436 111.9556,81.141464 111.73204,81.339516 C 111.51504,81.537577 111.34408,81.789939 111.21914,82.096603 L 111.19941,82.096603 L 111.19941,81.157431 L 110.57803,81.157431 C 110.59775,81.323548 110.60761,81.473688 110.60761,81.607851 C 110.61419,81.735634 110.61748,81.949662 110.61748,82.249937 L 110.61748,86.044955 M 113.39078,85.929955 C 113.78531,86.083288 114.25546,86.159955 114.80123,86.159955 C 115.00507,86.159955 115.20892,86.1344 115.41276,86.083288 C 115.61661,86.032177 115.804,85.952315 115.97497,85.843704 C 116.15251,85.735092 116.29389,85.591342 116.3991,85.412452 C 116.5043,85.233563 116.55691,85.019535 116.55691,84.770365 C 116.55691,84.553144 116.51417,84.361476 116.42868,84.195362 C 116.3432,84.029253 116.22813,83.888696 116.08347,83.773694 C 115.94537,83.652307 115.79743,83.553278 115.63961,83.476609 C 115.48838,83.393556 115.2944,83.300917 115.05769,83.198691 C 114.72232,83.051749 114.47575,82.920776 114.31793,82.805773 C 114.16012,82.690776 114.08121,82.547025 114.08121,82.374521 C 114.08121,82.080635 114.17326,81.872995 114.35738,81.751601 C 114.54807,81.623827 114.81767,81.559938 115.16618,81.559933 C 115.33714,81.559938 115.52454,81.582299 115.72839,81.627018 C 115.9388,81.665355 116.12292,81.719661 116.28074,81.789935 L 116.33991,81.262849 C 116.13607,81.186186 115.91579,81.131881 115.67907,81.099931 C 115.44893,81.061603 115.25495,81.042436 115.09713,81.042431 C 114.88014,81.042436 114.67301,81.067992 114.47575,81.119098 C 114.28505,81.163826 114.1108,81.240493 113.95298,81.349099 C 113.80175,81.457716 113.6801,81.598272 113.58805,81.770768 C 113.50256,81.936884 113.45981,82.138135 113.45981,82.374521 C 113.45981,82.547025 113.49598,82.703554 113.56832,82.844106 C 113.64065,82.978277 113.73599,83.096472 113.85435,83.198691 C 113.97272,83.300917 114.09765,83.387167 114.22916,83.457442 C 114.36725,83.527723 114.54478,83.61078 114.76178,83.706611 C 115.13658,83.879113 115.41605,84.038836 115.60016,84.185779 C 115.78428,84.326337 115.87634,84.521199 115.87634,84.770365 C 115.87634,85.038701 115.76784,85.25273 115.55085,85.412452 C 115.33385,85.565786 115.07083,85.642454 114.76178,85.642453 C 114.30807,85.642454 113.87079,85.540231 113.44995,85.335785 L 113.39078,85.929955 M 127.11361,81.157431 L 126.49222,81.157431 L 125.10149,85.383702 L 125.08177,85.383702 L 123.75021,81.157431 L 123.0006,81.157431 L 121.60001,85.383702 L 121.58027,85.383702 L 120.25859,81.157431 L 119.57802,81.157431 L 121.19561,86.044955 L 121.94522,86.044955 L 123.31623,81.818685 L 123.33595,81.818685 L 124.70696,86.044955 L 125.45657,86.044955 L 127.11361,81.157431 M 131.17454,85.278285 C 131.0233,85.374119 130.80301,85.460369 130.51369,85.537035 C 130.23094,85.607314 129.98107,85.642454 129.76408,85.642453 C 129.2446,85.642454 128.83693,85.466758 128.54103,85.115367 C 128.2517,84.763978 128.10703,84.316754 128.10704,83.773694 L 131.54935,83.773694 L 131.54935,83.467026 C 131.54934,83.128416 131.50988,82.815359 131.43099,82.527854 C 131.35207,82.233968 131.23043,81.975217 131.06604,81.751601 C 130.90822,81.527994 130.70109,81.355493 130.44465,81.234098 C 130.1882,81.106325 129.88901,81.042436 129.54709,81.042431 C 129.23803,81.042436 128.95199,81.106325 128.68897,81.234098 C 128.42595,81.355493 128.1991,81.531188 128.0084,81.761184 C 127.82429,81.99119 127.67962,82.262718 127.57442,82.575772 C 127.47578,82.888832 127.42646,83.230639 127.42646,83.601194 C 127.42646,83.978141 127.4692,84.323142 127.55469,84.636199 C 127.64017,84.942868 127.77168,85.211201 127.94923,85.441202 C 128.13334,85.671204 128.37006,85.850093 128.65939,85.977872 C 128.95529,86.09926 129.30708,86.159955 129.71476,86.159955 C 129.95805,86.159955 130.20792,86.1344 130.46438,86.083288 C 130.7274,86.038566 130.96411,85.974677 131.17454,85.89162 L 131.17454,85.278285 M 128.10704,83.256192 C 128.10703,83.051749 128.13991,82.850499 128.20567,82.652439 C 128.278,82.447997 128.37664,82.262718 128.50157,82.096603 C 128.63308,81.930495 128.7909,81.799522 128.97501,81.703684 C 129.15912,81.607855 129.36297,81.559938 129.58654,81.559933 C 129.81011,81.559938 130.00408,81.607855 130.16848,81.703684 C 130.33286,81.793134 130.46437,81.917717 130.56301,82.077436 C 130.66821,82.237163 130.74383,82.419247 130.78986,82.623689 C 130.84246,82.821749 130.86877,83.032582 130.86877,83.256192 L 128.10704,83.256192 M 132.57745,86.044955 L 133.19884,86.044955 L 133.19884,85.268702 L 133.21856,85.268702 C 133.54077,85.862871 134.06352,86.159955 134.78684,86.159955 C 135.45096,86.159955 135.96057,85.923565 136.31565,85.450785 C 136.6773,84.971618 136.85813,84.355087 136.85814,83.601194 C 136.85813,82.815359 136.69703,82.202023 136.37483,81.761184 C 136.20386,81.531188 135.98687,81.355493 135.72385,81.234098 C 135.46082,81.106325 135.14849,81.042436 134.78684,81.042431 C 134.55669,81.042436 134.34627,81.077575 134.15558,81.147848 C 133.97146,81.218131 133.81365,81.304381 133.68214,81.4066 C 133.55063,81.508827 133.44542,81.611049 133.36651,81.713268 C 133.29418,81.815494 133.24487,81.904939 133.21856,81.981603 L 133.19884,81.981603 L 133.19884,78.85742 L 132.57745,78.85742 L 132.57745,86.044955 M 136.17757,83.601194 C 136.17756,83.863141 136.15455,84.112309 136.10852,84.348697 C 136.06249,84.585088 135.9803,84.802312 135.86194,85.000367 C 135.75015,85.192035 135.59563,85.348563 135.39836,85.469952 C 135.20766,85.584954 134.97095,85.642454 134.6882,85.642453 C 134.42518,85.642454 134.19832,85.581759 134.00763,85.460369 C 133.81693,85.33898 133.66241,85.179258 133.54405,84.9812 C 133.42569,84.776755 133.33692,84.556338 133.27775,84.319947 C 133.22513,84.077169 133.19884,83.837586 133.19884,83.601194 C 133.19884,83.358417 133.22513,83.118832 133.27775,82.882439 C 133.33035,82.646053 133.41254,82.42883 133.52433,82.23077 C 133.64268,82.026329 133.79721,81.863412 133.98791,81.742018 C 134.18517,81.620632 134.4186,81.559938 134.6882,81.559933 C 134.97095,81.559938 135.20766,81.620632 135.39836,81.742018 C 135.59563,81.857022 135.75015,82.01355 135.86194,82.211603 C 135.9803,82.403275 136.06249,82.617303 136.10852,82.853689 C 136.15455,83.090082 136.17756,83.33925 136.17757,83.601194 M 143.57908,86.044955 L 144.1906,86.044955 C 144.17087,85.891621 144.15772,85.744676 144.15115,85.60412 C 144.14457,85.463564 144.14129,85.268702 144.14129,85.019534 L 144.14129,82.863273 C 144.14129,82.224385 144.0032,81.761189 143.72703,81.473683 C 143.45085,81.186186 143.00043,81.042436 142.37575,81.042431 C 142.15876,81.042436 141.9056,81.077575 141.61627,81.147848 C 141.32695,81.211743 141.08694,81.288409 140.89625,81.377849 L 140.89625,81.962436 C 141.33023,81.694105 141.8234,81.559938 142.37575,81.559933 C 142.78344,81.559938 143.07605,81.662161 143.25359,81.866601 C 143.43113,82.071051 143.51989,82.387303 143.51989,82.815356 L 143.51989,83.064524 L 143.40154,83.064524 C 142.9807,83.064527 142.6026,83.080499 142.26726,83.112441 C 141.93848,83.144389 141.62285,83.214667 141.32037,83.323276 C 141.0179,83.43189 140.77131,83.60439 140.58062,83.840777 C 140.39651,84.077169 140.30445,84.390227 140.30445,84.779949 C 140.30445,84.914117 140.32417,85.057868 140.36363,85.211201 C 140.40965,85.364536 140.49185,85.514675 140.61021,85.66162 C 140.72857,85.802177 140.89954,85.920372 141.1231,86.016205 C 141.34667,86.112038 141.62613,86.159955 141.96149,86.159955 C 142.29027,86.159955 142.60589,86.080094 142.90837,85.920371 C 143.21085,85.760649 143.42784,85.540231 143.55935,85.259118 L 143.57908,85.259118 L 143.57908,86.044955 M 143.51989,83.879111 C 143.51989,84.077169 143.50675,84.265642 143.48044,84.444531 C 143.46072,84.623422 143.40153,84.805506 143.3029,84.990783 C 143.21085,85.176063 143.0596,85.332591 142.84919,85.460369 C 142.64534,85.581759 142.37246,85.642454 142.03053,85.642453 C 141.72148,85.642454 141.46832,85.572176 141.27106,85.431619 C 141.08036,85.284674 140.98502,85.061063 140.98502,84.760782 C 140.98502,84.505227 141.05077,84.297587 141.18229,84.137862 C 141.32037,83.978141 141.5012,83.859946 141.72477,83.783277 C 141.95491,83.700224 142.2015,83.645918 142.46452,83.62036 C 142.72754,83.594807 143.02015,83.582028 143.34236,83.582027 L 143.51989,83.582027 L 143.51989,83.879111 M 145.46529,88.057465 L 146.08668,88.057465 L 146.08668,85.211201 L 146.10641,85.211201 C 146.26422,85.530647 146.46806,85.770232 146.71794,85.929955 C 146.9678,86.083288 147.28672,86.159955 147.67468,86.159955 C 148.33881,86.159955 148.84841,85.923565 149.2035,85.450785 C 149.56515,84.971618 149.74597,84.355087 149.74598,83.601194 C 149.74597,82.815359 149.58487,82.202023 149.26268,81.761184 C 149.09171,81.531188 148.87472,81.355493 148.6117,81.234098 C 148.34867,81.106325 148.03634,81.042436 147.67468,81.042431 C 147.43795,81.042436 147.22753,81.077575 147.04342,81.147848 C 146.85931,81.211743 146.70478,81.294798 146.57985,81.397016 C 146.46148,81.499244 146.36614,81.601466 146.29381,81.703684 C 146.22148,81.799522 146.15244,81.901745 146.08668,82.010353 L 146.06695,82.048686 L 146.04723,82.048686 L 146.08668,81.157431 L 145.46529,81.157431 L 145.46529,88.057465 M 149.06541,83.601194 C 149.06541,83.863141 149.04239,84.112309 148.99637,84.348697 C 148.95033,84.585088 148.86814,84.802312 148.74978,85.000367 C 148.638,85.192035 148.48347,85.348563 148.28621,85.469952 C 148.09551,85.584954 147.85879,85.642454 147.57605,85.642453 C 147.31302,85.642454 147.08616,85.581759 146.89548,85.460369 C 146.70478,85.33898 146.55025,85.179258 146.4319,84.9812 C 146.31354,84.776755 146.22477,84.556338 146.16558,84.319947 C 146.11298,84.077169 146.08668,83.837586 146.08668,83.601194 C 146.08668,83.364806 146.11298,83.128416 146.16558,82.892023 C 146.22477,82.649248 146.31025,82.42883 146.42203,82.23077 C 146.54039,82.026329 146.69492,81.863412 146.88562,81.742018 C 147.08288,81.620632 147.31302,81.559938 147.57605,81.559933 C 147.85879,81.559938 148.09551,81.620632 148.28621,81.742018 C 148.48347,81.857022 148.638,82.01355 148.74978,82.211603 C 148.86814,82.403275 148.95033,82.617303 148.99637,82.853689 C 149.04239,83.090082 149.06541,83.33925 149.06541,83.601194 M 150.84004,88.057465 L 151.46144,88.057465 L 151.46144,85.211201 L 151.48116,85.211201 C 151.63897,85.530647 151.84281,85.770232 152.09269,85.929955 C 152.34255,86.083288 152.66147,86.159955 153.04943,86.159955 C 153.71356,86.159955 154.22316,85.923565 154.57825,85.450785 C 154.9399,84.971618 155.12072,84.355087 155.12073,83.601194 C 155.12072,82.815359 154.95962,82.202023 154.63743,81.761184 C 154.46646,81.531188 154.24947,81.355493 153.98645,81.234098 C 153.72342,81.106325 153.41109,81.042436 153.04943,81.042431 C 152.8127,81.042436 152.60228,81.077575 152.41817,81.147848 C 152.23406,81.211743 152.07953,81.294798 151.9546,81.397016 C 151.83623,81.499244 151.74089,81.601466 151.66856,81.703684 C 151.59623,81.799522 151.52719,81.901745 151.46144,82.010353 L 151.4417,82.048686 L 151.42198,82.048686 L 151.46144,81.157431 L 150.84004,81.157431 L 150.84004,88.057465 M 154.44016,83.601194 C 154.44016,83.863141 154.41715,84.112309 154.37112,84.348697 C 154.32508,84.585088 154.24289,84.802312 154.12453,85.000367 C 154.01275,85.192035 153.85822,85.348563 153.66096,85.469952 C 153.47026,85.584954 153.23354,85.642454 152.9508,85.642453 C 152.68777,85.642454 152.46091,85.581759 152.27023,85.460369 C 152.07953,85.33898 151.925,85.179258 151.80665,84.9812 C 151.68829,84.776755 151.59952,84.556338 151.54033,84.319947 C 151.48773,84.077169 151.46143,83.837586 151.46144,83.601194 C 151.46143,83.364806 151.48773,83.128416 151.54033,82.892023 C 151.59952,82.649248 151.685,82.42883 151.79679,82.23077 C 151.91514,82.026329 152.06967,81.863412 152.26037,81.742018 C 152.45763,81.620632 152.68777,81.559938 152.9508,81.559933 C 153.23354,81.559938 153.47026,81.620632 153.66096,81.742018 C 153.85822,81.857022 154.01275,82.01355 154.12453,82.211603 C 154.24289,82.403275 154.32508,82.617303 154.37112,82.853689 C 154.41715,83.090082 154.44016,83.33925 154.44016,83.601194 M 156.27397,86.044955 L 156.89536,86.044955 L 156.89536,78.85742 L 156.27397,78.85742 L 156.27397,86.044955 M 158.43157,86.044955 L 159.05296,86.044955 L 159.05296,81.157431 L 158.43157,81.157431 L 158.43157,86.044955 M 159.05296,79.049088 L 158.43157,79.049088 L 158.43157,79.854092 L 159.05296,79.854092 L 159.05296,79.049088 M 163.91314,81.234098 C 163.7619,81.182993 163.58435,81.13827 163.38052,81.099931 C 163.18325,81.061603 162.95638,81.042436 162.69995,81.042431 C 162.33171,81.042436 161.99307,81.106325 161.68401,81.234098 C 161.38154,81.355493 161.11852,81.531188 160.89496,81.761184 C 160.67795,81.9848 160.51028,82.25633 160.39192,82.575772 C 160.27356,82.888832 160.21438,83.230639 160.21438,83.601194 C 160.21438,83.946197 160.2637,84.275226 160.36233,84.588282 C 160.46754,84.89495 160.61878,85.166479 160.81605,85.402869 C 161.01989,85.639259 161.27305,85.824537 161.57552,85.958705 C 161.88457,86.092872 162.23307,86.159955 162.62104,86.159955 C 162.87749,86.159955 163.10762,86.147178 163.31147,86.121622 C 163.51531,86.102455 163.71586,86.057733 163.91314,85.987455 L 163.85395,85.422035 C 163.44627,85.568981 163.06817,85.642454 162.71967,85.642453 C 162.44349,85.642454 162.19033,85.591342 161.96019,85.489119 C 161.73663,85.380508 161.54593,85.233563 161.38812,85.048284 C 161.23031,84.856617 161.10866,84.639394 161.02318,84.396614 C 160.9377,84.147448 160.89496,83.882308 160.89496,83.601194 C 160.89496,82.994249 161.06263,82.502303 161.39799,82.125353 C 161.73333,81.748411 162.19691,81.559938 162.78872,81.559933 C 162.94652,81.559938 163.12077,81.582299 163.31147,81.627018 C 163.50215,81.671744 163.68628,81.732439 163.86381,81.809101 L 163.91314,81.234098 M 167.77509,86.044955 L 168.38662,86.044955 C 168.36688,85.891621 168.35374,85.744676 168.34716,85.60412 C 168.34059,85.463564 168.3373,85.268702 168.3373,85.019534 L 168.3373,82.863273 C 168.3373,82.224385 168.19921,81.761189 167.92304,81.473683 C 167.64686,81.186186 167.19644,81.042436 166.57176,81.042431 C 166.35477,81.042436 166.10161,81.077575 165.81229,81.147848 C 165.52296,81.211743 165.28295,81.288409 165.09226,81.377849 L 165.09226,81.962436 C 165.52625,81.694105 166.01942,81.559938 166.57176,81.559933 C 166.97945,81.559938 167.27205,81.662161 167.4496,81.866601 C 167.62714,82.071051 167.71591,82.387303 167.71591,82.815356 L 167.71591,83.064524 L 167.59756,83.064524 C 167.17671,83.064527 166.79862,83.080499 166.46327,83.112441 C 166.13448,83.144389 165.81886,83.214667 165.51639,83.323276 C 165.21391,83.43189 164.96733,83.60439 164.77663,83.840777 C 164.59252,84.077169 164.50047,84.390227 164.50047,84.779949 C 164.50047,84.914117 164.52019,85.057868 164.55964,85.211201 C 164.60567,85.364536 164.68786,85.514675 164.80623,85.66162 C 164.92459,85.802177 165.09555,85.920372 165.31912,86.016205 C 165.54268,86.112038 165.82215,86.159955 166.1575,86.159955 C 166.48628,86.159955 166.8019,86.080094 167.10439,85.920371 C 167.40686,85.760649 167.62385,85.540231 167.75536,85.259118 L 167.77509,85.259118 L 167.77509,86.044955 M 167.71591,83.879111 C 167.71591,84.077169 167.70276,84.265642 167.67645,84.444531 C 167.65673,84.623422 167.59755,84.805506 167.49892,84.990783 C 167.40686,85.176063 167.25562,85.332591 167.0452,85.460369 C 166.84136,85.581759 166.56848,85.642454 166.22655,85.642453 C 165.91749,85.642454 165.66433,85.572176 165.46707,85.431619 C 165.27638,85.284674 165.18103,85.061063 165.18103,84.760782 C 165.18103,84.505227 165.24678,84.297587 165.3783,84.137862 C 165.51639,83.978141 165.69721,83.859946 165.92079,83.783277 C 166.15093,83.700224 166.39751,83.645918 166.66053,83.62036 C 166.92355,83.594807 167.21617,83.582028 167.53837,83.582027 L 167.71591,83.582027 L 167.71591,83.879111 M 171.89041,81.157431 L 170.74627,81.157431 L 170.74627,79.767842 L 170.12487,79.978676 L 170.12487,81.157431 L 169.13855,81.157431 L 169.13855,81.674934 L 170.12487,81.674934 L 170.12487,84.530781 C 170.12487,84.805506 170.13474,85.032313 170.15447,85.211201 C 170.17419,85.390091 170.22022,85.553009 170.29255,85.699953 C 170.36489,85.84051 170.47996,85.952315 170.63778,86.035372 C 170.79558,86.118427 171.006,86.159955 171.26903,86.159955 C 171.40711,86.159955 171.5452,86.143983 171.68328,86.112038 C 171.82795,86.086483 171.94301,86.057733 172.02851,86.025788 L 171.98905,85.527452 C 171.89041,85.565786 171.79507,85.594537 171.70301,85.613703 C 171.61753,85.63287 171.52218,85.642454 171.41697,85.642453 C 171.18025,85.642454 171.00929,85.568981 170.90408,85.422035 C 170.79887,85.275091 170.74627,85.080229 170.74627,84.837449 L 170.74627,81.674934 L 171.89041,81.674934 L 171.89041,81.157431 M 172.93762,86.044955 L 173.55901,86.044955 L 173.55901,81.157431 L 172.93762,81.157431 L 172.93762,86.044955 M 173.55901,79.049088 L 172.93762,79.049088 L 172.93762,79.854092 L 173.55901,79.854092 L 173.55901,79.049088 M 174.71057,83.601194 C 174.71057,83.939808 174.75659,84.265642 174.84866,84.578698 C 174.94729,84.885367 175.09195,85.156896 175.28264,85.393285 C 175.47333,85.629676 175.71663,85.818149 176.01253,85.958705 C 176.315,86.092872 176.66351,86.159955 177.05804,86.159955 C 177.45257,86.159955 177.7978,86.092872 178.0937,85.958705 C 178.39617,85.818149 178.64275,85.629676 178.83345,85.393285 C 179.02414,85.150508 179.16551,84.875783 179.25757,84.569114 C 179.35619,84.262449 179.40552,83.939808 179.40552,83.601194 C 179.40552,83.262583 179.35619,82.939944 179.25757,82.633272 C 179.16551,82.320218 179.02414,82.045495 178.83345,81.809101 C 178.64275,81.572716 178.39617,81.387438 178.0937,81.253266 C 177.7978,81.112714 177.45257,81.042436 177.05804,81.042431 C 176.66351,81.042436 176.31829,81.112714 176.0224,81.253266 C 175.72649,81.387438 175.47991,81.575911 175.28264,81.818685 C 175.09195,82.055079 174.94729,82.326608 174.84866,82.633272 C 174.75659,82.939944 174.71057,83.262583 174.71057,83.601194 M 175.39114,83.601194 C 175.39113,83.013416 175.5358,82.527858 175.82513,82.144519 C 176.12103,81.7548 176.53199,81.559938 177.05804,81.559933 C 177.58408,81.559938 177.99177,81.7548 178.2811,82.144519 C 178.57699,82.527858 178.72495,83.013416 178.72495,83.601194 C 178.72495,84.188976 178.57699,84.677727 178.2811,85.06745 C 177.99177,85.450786 177.58408,85.642454 177.05804,85.642453 C 176.53199,85.642454 176.12103,85.450786 175.82513,85.06745 C 175.5358,84.677727 175.39113,84.188976 175.39114,83.601194 M 180.46998,86.044955 L 181.09138,86.044955 L 181.09138,83.342442 C 181.09138,83.125222 181.11768,82.914387 181.17029,82.709939 C 181.22289,82.499108 181.30508,82.307441 181.41687,82.134936 C 181.53523,81.95605 181.68975,81.815494 181.88045,81.713268 C 182.07772,81.611049 182.31114,81.559938 182.58075,81.559933 C 182.995,81.559938 183.29748,81.690911 183.48817,81.952852 C 183.67886,82.214802 183.77421,82.588553 183.77421,83.074107 L 183.77421,86.044955 L 184.3956,86.044955 L 184.3956,82.920774 C 184.3956,82.345775 184.25751,81.888967 183.98134,81.55035 C 183.70516,81.211743 183.27118,81.042436 182.67938,81.042431 C 182.43608,81.042436 182.21909,81.071186 182.0284,81.128681 C 181.84428,81.186186 181.68975,81.262854 181.56482,81.358683 C 181.44646,81.454521 181.34782,81.556744 181.26893,81.665351 C 181.19001,81.773967 181.11768,81.895356 181.05192,82.029519 L 181.0322,82.029519 L 181.0322,81.157431 L 180.43054,81.157431 C 180.45684,81.419382 180.46998,81.802717 180.46998,82.307437 L 180.46998,86.044955 M 185.42016,85.929955 C 185.81469,86.083288 186.28484,86.159955 186.83061,86.159955 C 187.03445,86.159955 187.2383,86.1344 187.44214,86.083288 C 187.64598,86.032177 187.83338,85.952315 188.00435,85.843704 C 188.18188,85.735092 188.32326,85.591342 188.42848,85.412452 C 188.53368,85.233563 188.58628,85.019535 188.58628,84.770365 C 188.58628,84.553144 188.54354,84.361476 188.45806,84.195362 C 188.37258,84.029253 188.2575,83.888696 188.11285,83.773694 C 187.97475,83.652307 187.82681,83.553278 187.66899,83.476609 C 187.51776,83.393556 187.32378,83.300917 187.08706,83.198691 C 186.7517,83.051749 186.50513,82.920776 186.34731,82.805773 C 186.18949,82.690776 186.11059,82.547025 186.11059,82.374521 C 186.11059,82.080635 186.20264,81.872995 186.38676,81.751601 C 186.57745,81.623827 186.84705,81.559938 187.19555,81.559933 C 187.36652,81.559938 187.55392,81.582299 187.75777,81.627018 C 187.96818,81.665355 188.1523,81.719661 188.31012,81.789935 L 188.36929,81.262849 C 188.16545,81.186186 187.94517,81.131881 187.70845,81.099931 C 187.47831,81.061603 187.28432,81.042436 187.12652,81.042431 C 186.90952,81.042436 186.70238,81.067992 186.50513,81.119098 C 186.31443,81.163826 186.14018,81.240493 185.98236,81.349099 C 185.83113,81.457716 185.70948,81.598272 185.61743,81.770768 C 185.53194,81.936884 185.48919,82.138135 185.4892,82.374521 C 185.48919,82.547025 185.52536,82.703554 185.59769,82.844106 C 185.67003,82.978277 185.76537,83.096472 185.88373,83.198691 C 186.00209,83.300917 186.12703,83.387167 186.25854,83.457442 C 186.39662,83.527723 186.57416,83.61078 186.79116,83.706611 C 187.16596,83.879113 187.44543,84.038836 187.62955,84.185779 C 187.81366,84.326337 187.90572,84.521199 187.90572,84.770365 C 187.90572,85.038701 187.79722,85.25273 187.58022,85.412452 C 187.36323,85.565786 187.10021,85.642454 186.79116,85.642453 C 186.33745,85.642454 185.90017,85.540231 185.47933,85.335785 L 185.42016,85.929955"
+ id="text2985" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:2.95839429;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 12.925286,86.778391 L 13.286986,19.159668 L 58.155285,26.942569 L 57.772633,93.67717 L 12.925286,86.778391 z "
+ id="path2990" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;fill-opacity:1"
+ d="M 13.488233,19.049404 L 37.172883,11.162464 L 77.786022,19.420245 L 57.107048,26.22552 L 13.488233,19.049404 z "
+ id="path3877" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 57.997556,93.629361 L 77.486975,86.74764 L 77.759697,19.547174 L 58.5016,26.445081 L 57.997556,93.629361 z "
+ id="path3879"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 14.330613,38.606641 L 36.912066,32.135194 L 76.635736,40.056811 L 58.346077,46.531185 L 14.330613,38.606641 z "
+ id="path3881"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 14.150271,65.640082 L 36.731724,59.168636 L 77.314157,65.640929 L 57.787539,72.680481 L 14.150271,65.640082 z "
+ id="path3883"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 13.820355,86.361841 L 35.130498,79.541609 L 76.834867,85.878963"
+ id="path3887" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 34.866065,79.042658 L 35.146638,69.563169"
+ id="path3889" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 36.154699,58.803397 L 36.535174,42.88001"
+ id="path3891" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 36.776858,31.759485 L 36.855284,23.494878"
+ id="path3893"
+ sodipodi:nodetypes="cc" />
+ </g>
+</svg>
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/example/lobster.ru b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/example/lobster.ru
new file mode 100755
index 00000000000..cc7ffcae889
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/example/lobster.ru
@@ -0,0 +1,4 @@
+require 'rack/lobster'
+
+use Rack::ShowExceptions
+run Rack::Lobster.new
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/example/protectedlobster.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/example/protectedlobster.rb
new file mode 100755
index 00000000000..108b9d05e7e
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/example/protectedlobster.rb
@@ -0,0 +1,14 @@
+require 'rack'
+require 'rack/lobster'
+
+lobster = Rack::Lobster.new
+
+protected_lobster = Rack::Auth::Basic.new(lobster) do |username, password|
+ 'secret' == password
+end
+
+protected_lobster.realm = 'Lobster 2.0'
+
+pretty_protected_lobster = Rack::ShowStatus.new(Rack::ShowExceptions.new(protected_lobster))
+
+Rack::Handler::WEBrick.run pretty_protected_lobster, :Port => 9292
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/example/protectedlobster.ru b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/example/protectedlobster.ru
new file mode 100755
index 00000000000..b0da62f0ce2
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/example/protectedlobster.ru
@@ -0,0 +1,8 @@
+require 'rack/lobster'
+
+use Rack::ShowExceptions
+use Rack::Auth::Basic, "Lobster 2.0" do |username, password|
+ 'secret' == password
+end
+
+run Rack::Lobster.new
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack.rb
index 371d0156905..527f445e0aa 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack.rb
@@ -1,12 +1,8 @@
-# Copyright (C) 2007, 2008, 2009 Christian Neukirchen <purl.org/net/chneukirchen>
+# Copyright (C) 2007, 2008, 2009, 2010 Christian Neukirchen <purl.org/net/chneukirchen>
#
# Rack is freely distributable under the terms of an MIT-style license.
# See COPYING or http://www.opensource.org/licenses/mit-license.php.
-path = File.expand_path(File.dirname(__FILE__))
-$:.unshift(path) unless $:.include?(path)
-
-
# The Rack main module, serving as a namespace for all core Rack
# modules and classes.
#
@@ -15,7 +11,7 @@ $:.unshift(path) unless $:.include?(path)
module Rack
# The Rack protocol version number implemented.
- VERSION = [1,0]
+ VERSION = [1,1]
# Return the Rack protocol version as a dotted string.
def self.version
@@ -24,7 +20,7 @@ module Rack
# Return the Rack release as a dotted string.
def self.release
- "1.0"
+ "1.1.3"
end
autoload :Builder, "rack/builder"
@@ -32,8 +28,10 @@ module Rack
autoload :Chunked, "rack/chunked"
autoload :CommonLogger, "rack/commonlogger"
autoload :ConditionalGet, "rack/conditionalget"
+ autoload :Config, "rack/config"
autoload :ContentLength, "rack/content_length"
autoload :ContentType, "rack/content_type"
+ autoload :ETag, "rack/etag"
autoload :File, "rack/file"
autoload :Deflater, "rack/deflater"
autoload :Directory, "rack/directory"
@@ -42,10 +40,15 @@ module Rack
autoload :Head, "rack/head"
autoload :Lint, "rack/lint"
autoload :Lock, "rack/lock"
+ autoload :Logger, "rack/logger"
autoload :MethodOverride, "rack/methodoverride"
autoload :Mime, "rack/mime"
+ autoload :NullLogger, "rack/nulllogger"
autoload :Recursive, "rack/recursive"
autoload :Reloader, "rack/reloader"
+ autoload :Runtime, "rack/runtime"
+ autoload :Sendfile, "rack/sendfile"
+ autoload :Server, "rack/server"
autoload :ShowExceptions, "rack/showexceptions"
autoload :ShowStatus, "rack/showstatus"
autoload :Static, "rack/static"
@@ -62,7 +65,6 @@ module Rack
autoload :Basic, "rack/auth/basic"
autoload :AbstractRequest, "rack/auth/abstract/request"
autoload :AbstractHandler, "rack/auth/abstract/handler"
- autoload :OpenID, "rack/auth/openid"
module Digest
autoload :MD5, "rack/auth/digest/md5"
autoload :Nonce, "rack/auth/digest/nonce"
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/adapter/camping.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/adapter/camping.rb
index 63bc787f545..63bc787f545 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/adapter/camping.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/adapter/camping.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/auth/abstract/handler.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/auth/abstract/handler.rb
index 214df6299e1..214df6299e1 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/auth/abstract/handler.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/auth/abstract/handler.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/auth/abstract/request.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/auth/abstract/request.rb
index 1d9ccec6859..1d9ccec6859 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/auth/abstract/request.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/auth/abstract/request.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/auth/basic.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/auth/basic.rb
index 9557224648c..9557224648c 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/auth/basic.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/auth/basic.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/auth/digest/md5.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/auth/digest/md5.rb
index e579dc96325..d277571c804 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/auth/digest/md5.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/auth/digest/md5.rb
@@ -91,7 +91,8 @@ module Rack
end
def valid_digest?(auth)
- digest(auth, @authenticator.call(auth.username)) == auth.response
+ pw = @authenticator.call(auth.username)
+ pw && digest(auth, pw) == auth.response
end
def md5(data)
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/auth/digest/nonce.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/auth/digest/nonce.rb
index dbe109f29ac..dbe109f29ac 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/auth/digest/nonce.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/auth/digest/nonce.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/auth/digest/params.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/auth/digest/params.rb
index 730e2efdc80..730e2efdc80 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/auth/digest/params.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/auth/digest/params.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/auth/digest/request.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/auth/digest/request.rb
index a8aa3bf996b..a8aa3bf996b 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/auth/digest/request.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/auth/digest/request.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/builder.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/builder.rb
index 295235e56a9..530f0aaf07e 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/builder.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/builder.rb
@@ -24,6 +24,23 @@ module Rack
# You can use +map+ to construct a Rack::URLMap in a convenient way.
class Builder
+ def self.parse_file(config, opts = Server::Options.new)
+ options = {}
+ if config =~ /\.ru$/
+ cfgfile = ::File.read(config)
+ if cfgfile[/^#\\(.*)/] && opts
+ options = opts.parse! $1.split(/\s+/)
+ end
+ cfgfile.sub!(/^__END__\n.*/, '')
+ app = eval "Rack::Builder.new {( " + cfgfile + "\n )}.to_app",
+ TOPLEVEL_BINDING, config
+ else
+ require config
+ app = Object.const_get(::File.basename(config, '.rb').capitalize)
+ end
+ return app, options
+ end
+
def initialize(&block)
@ins = []
instance_eval(&block) if block_given?
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/cascade.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/cascade.rb
index a038aa1105d..14c3e54d350 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/cascade.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/cascade.rb
@@ -4,31 +4,36 @@ module Rack
# status codes).
class Cascade
+ NotFound = [404, {}, []]
+
attr_reader :apps
def initialize(apps, catch=404)
- @apps = apps
- @catch = [*catch]
+ @apps = []; @has_app = {}
+ apps.each { |app| add app }
+
+ @catch = {}
+ [*catch].each { |status| @catch[status] = true }
end
def call(env)
- status = headers = body = nil
- raise ArgumentError, "empty cascade" if @apps.empty?
- @apps.each { |app|
- begin
- status, headers, body = app.call(env)
- break unless @catch.include?(status.to_i)
- end
- }
- [status, headers, body]
+ result = NotFound
+
+ @apps.each do |app|
+ result = app.call(env)
+ break unless @catch.include?(result[0].to_i)
+ end
+
+ result
end
def add app
+ @has_app[app] = true
@apps << app
end
def include? app
- @apps.include? app
+ @has_app.include? app
end
alias_method :<<, :add
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/chunked.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/chunked.rb
index 280d89dd65a..dddf9694cb9 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/chunked.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/chunked.rb
@@ -19,7 +19,7 @@ module Rack
STATUS_WITH_NO_ENTITY_BODY.include?(status) ||
headers['Content-Length'] ||
headers['Transfer-Encoding']
- [status, headers.to_hash, body]
+ [status, headers, body]
else
dup.chunk(status, headers, body)
end
@@ -29,7 +29,7 @@ module Rack
@body = body
headers.delete('Content-Length')
headers['Transfer-Encoding'] = 'chunked'
- [status, headers.to_hash, self]
+ [status, headers, self]
end
def each
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/commonlogger.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/commonlogger.rb
new file mode 100755
index 00000000000..1edc9b83607
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/commonlogger.rb
@@ -0,0 +1,49 @@
+module Rack
+ # Rack::CommonLogger forwards every request to an +app+ given, and
+ # logs a line in the Apache common log format to the +logger+, or
+ # rack.errors by default.
+ class CommonLogger
+ # Common Log Format: http://httpd.apache.org/docs/1.3/logs.html#common
+ # lilith.local - - [07/Aug/2006 23:58:02] "GET / HTTP/1.1" 500 -
+ # %{%s - %s [%s] "%s %s%s %s" %d %s\n} %
+ FORMAT = %{%s - %s [%s] "%s %s%s %s" %d %s %0.4f\n}
+
+ def initialize(app, logger=nil)
+ @app = app
+ @logger = logger
+ end
+
+ def call(env)
+ began_at = Time.now
+ status, header, body = @app.call(env)
+ header = Utils::HeaderHash.new(header)
+ log(env, status, header, began_at)
+ [status, header, body]
+ end
+
+ private
+
+ def log(env, status, header, began_at)
+ now = Time.now
+ length = extract_content_length(header)
+
+ logger = @logger || env['rack.errors']
+ logger.write FORMAT % [
+ env['HTTP_X_FORWARDED_FOR'] || env["REMOTE_ADDR"] || "-",
+ env["REMOTE_USER"] || "-",
+ now.strftime("%d/%b/%Y %H:%M:%S"),
+ env["REQUEST_METHOD"],
+ env["PATH_INFO"],
+ env["QUERY_STRING"].empty? ? "" : "?"+env["QUERY_STRING"],
+ env["HTTP_VERSION"],
+ status.to_s[0..3],
+ length,
+ now - began_at ]
+ end
+
+ def extract_content_length(headers)
+ value = headers['Content-Length'] or return '-'
+ value.to_s == '0' ? '-' : value
+ end
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/conditionalget.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/conditionalget.rb
index 046ebdb00ab..046ebdb00ab 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/conditionalget.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/conditionalget.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/config.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/config.rb
new file mode 100755
index 00000000000..c6d446c0c85
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/config.rb
@@ -0,0 +1,15 @@
+module Rack
+ # Rack::Config modifies the environment using the block given during
+ # initialization.
+ class Config
+ def initialize(app, &block)
+ @app = app
+ @block = block
+ end
+
+ def call(env)
+ @block.call(env)
+ @app.call(env)
+ end
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/content_length.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/content_length.rb
index 1e56d438531..1e56d438531 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/content_length.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/content_length.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/content_type.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/content_type.rb
index 0c1e1ca3e1d..874c28cd7be 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/content_type.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/content_type.rb
@@ -17,7 +17,7 @@ module Rack
status, headers, body = @app.call(env)
headers = Utils::HeaderHash.new(headers)
headers['Content-Type'] ||= @content_type
- [status, headers.to_hash, body]
+ [status, headers, body]
end
end
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/deflater.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/deflater.rb
index ad0f53161b6..ad0f53161b6 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/deflater.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/deflater.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/directory.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/directory.rb
index acdd3029d31..927ac0c9fb8 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/directory.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/directory.rb
@@ -71,7 +71,9 @@ table { width:100%%; }
body = "Forbidden\n"
size = Rack::Utils.bytesize(body)
- return [403, {"Content-Type" => "text/plain","Content-Length" => size.to_s}, [body]]
+ return [403, {"Content-Type" => "text/plain",
+ "Content-Length" => size.to_s,
+ "X-Cascade" => "pass"}, [body]]
end
def list_directory
@@ -123,7 +125,9 @@ table { width:100%%; }
def entity_not_found
body = "Entity not found: #{@path_info}\n"
size = Rack::Utils.bytesize(body)
- return [404, {"Content-Type" => "text/plain", "Content-Length" => size.to_s}, [body]]
+ return [404, {"Content-Type" => "text/plain",
+ "Content-Length" => size.to_s,
+ "X-Cascade" => "pass"}, [body]]
end
def each
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/etag.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/etag.rb
new file mode 100755
index 00000000000..06dbc6aa5f8
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/etag.rb
@@ -0,0 +1,23 @@
+require 'digest/md5'
+
+module Rack
+ # Automatically sets the ETag header on all String bodies
+ class ETag
+ def initialize(app)
+ @app = app
+ end
+
+ def call(env)
+ status, headers, body = @app.call(env)
+
+ if !headers.has_key?('ETag')
+ parts = []
+ body.each { |part| parts << part.to_s }
+ headers['ETag'] = %("#{Digest::MD5.hexdigest(parts.join(""))}")
+ [status, headers, parts]
+ else
+ [status, headers, body]
+ end
+ end
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/file.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/file.rb
index fe62bd6b86f..14af7b3bd74 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/file.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/file.rb
@@ -45,7 +45,8 @@ module Rack
def forbidden
body = "Forbidden\n"
[403, {"Content-Type" => "text/plain",
- "Content-Length" => body.size.to_s},
+ "Content-Length" => body.size.to_s,
+ "X-Cascade" => "pass"},
[body]]
end
@@ -73,7 +74,8 @@ module Rack
def not_found
body = "File not found: #{@path_info}\n"
[404, {"Content-Type" => "text/plain",
- "Content-Length" => body.size.to_s},
+ "Content-Length" => body.size.to_s,
+ "X-Cascade" => "pass"},
[body]]
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/handler.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/handler.rb
index 5624a1e79d2..3c09883ed5f 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/handler.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/handler.rb
@@ -22,6 +22,25 @@ module Rack
end
end
+ def self.default(options = {})
+ # Guess.
+ if ENV.include?("PHP_FCGI_CHILDREN")
+ # We already speak FastCGI
+ options.delete :File
+ options.delete :Port
+
+ Rack::Handler::FastCGI
+ elsif ENV.include?("REQUEST_METHOD")
+ Rack::Handler::CGI
+ else
+ begin
+ Rack::Handler::Mongrel
+ rescue LoadError => e
+ Rack::Handler::WEBrick
+ end
+ end
+ end
+
# Transforms server-name constants to their canonical form as filenames,
# then tries to require them but silences the LoadError if not found
#
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/handler/cgi.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/handler/cgi.rb
index f45f3d735af..c6903f1558a 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/handler/cgi.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/handler/cgi.rb
@@ -15,7 +15,7 @@ module Rack
env["SCRIPT_NAME"] = "" if env["SCRIPT_NAME"] == "/"
- env.update({"rack.version" => [1,0],
+ env.update({"rack.version" => [1,1],
"rack.input" => $stdin,
"rack.errors" => $stderr,
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/handler/evented_mongrel.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/handler/evented_mongrel.rb
index 0f5cbf72939..0f5cbf72939 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/handler/evented_mongrel.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/handler/evented_mongrel.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/handler/fastcgi.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/handler/fastcgi.rb
index 1739d659392..b992a5f48cd 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/handler/fastcgi.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/handler/fastcgi.rb
@@ -33,10 +33,10 @@ module Rack
env.delete "HTTP_CONTENT_LENGTH"
env["SCRIPT_NAME"] = "" if env["SCRIPT_NAME"] == "/"
-
+
rack_input = RewindableInput.new(request.in)
- env.update({"rack.version" => [1,0],
+ env.update({"rack.version" => [1,1],
"rack.input" => rack_input,
"rack.errors" => request.err,
@@ -50,7 +50,6 @@ module Rack
env["QUERY_STRING"] ||= ""
env["HTTP_VERSION"] ||= env["SERVER_PROTOCOL"]
env["REQUEST_PATH"] ||= "/"
- env.delete "PATH_INFO" if env["PATH_INFO"] == ""
env.delete "CONTENT_TYPE" if env["CONTENT_TYPE"] == ""
env.delete "CONTENT_LENGTH" if env["CONTENT_LENGTH"] == ""
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/handler/lsws.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/handler/lsws.rb
index b4ddf4bba58..eabc0bc9b17 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/handler/lsws.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/handler/lsws.rb
@@ -1,5 +1,6 @@
require 'lsapi'
require 'rack/content_length'
+require 'rack/rewindable_input'
module Rack
module Handler
@@ -19,7 +20,7 @@ module Rack
rack_input = RewindableInput.new($stdin.read.to_s)
env.update(
- "rack.version" => [1,0],
+ "rack.version" => [1,1],
"rack.input" => rack_input,
"rack.errors" => $stderr,
"rack.multithread" => false,
@@ -38,6 +39,8 @@ module Rack
ensure
body.close if body.respond_to? :close
end
+ ensure
+ rack_input.close
end
def self.send_headers(status, headers)
print "Status: #{status}\r\n"
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/handler/mongrel.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/handler/mongrel.rb
index 7b448261c5e..b6b775ea811 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/handler/mongrel.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/handler/mongrel.rb
@@ -7,10 +7,14 @@ module Rack
module Handler
class Mongrel < ::Mongrel::HttpHandler
def self.run(app, options={})
- server = ::Mongrel::HttpServer.new(options[:Host] || '0.0.0.0',
- options[:Port] || 8080)
+ server = ::Mongrel::HttpServer.new(
+ options[:Host] || '0.0.0.0',
+ options[:Port] || 8080,
+ options[:num_processors] || 950,
+ options[:throttle] || 0,
+ options[:timeout] || 60)
# Acts like Rack::URLMap, utilizing Mongrel's own path finding methods.
- # Use is similar to #run, replacing the app argument with a hash of
+ # Use is similar to #run, replacing the app argument with a hash of
# { path=>app, ... } or an instance of Rack::URLMap.
if options[:map]
if app.is_a? Hash
@@ -48,7 +52,7 @@ module Rack
rack_input = request.body || StringIO.new('')
rack_input.set_encoding(Encoding::BINARY) if rack_input.respond_to?(:set_encoding)
- env.update({"rack.version" => [1,0],
+ env.update({"rack.version" => [1,1],
"rack.input" => rack_input,
"rack.errors" => $stderr,
@@ -59,7 +63,6 @@ module Rack
"rack.url_scheme" => "http",
})
env["QUERY_STRING"] ||= ""
- env.delete "PATH_INFO" if env["PATH_INFO"] == ""
status, headers, body = @app.call(env)
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/handler/scgi.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/handler/scgi.rb
index bd860a5d4b2..79a6b2bd183 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/handler/scgi.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/handler/scgi.rb
@@ -7,14 +7,14 @@ module Rack
module Handler
class SCGI < ::SCGI::Processor
attr_accessor :app
-
+
def self.run(app, options=nil)
new(options.merge(:app=>app,
:host=>options[:Host],
:port=>options[:Port],
:socket=>options[:Socket])).listen
end
-
+
def initialize(settings = {})
@app = Rack::Chunked.new(Rack::ContentLength.new(settings[:app]))
@log = Object.new
@@ -22,7 +22,7 @@ module Rack
def @log.error(*args); end
super(settings)
end
-
+
def process_request(request, input_body, socket)
env = {}.replace(request)
env.delete "HTTP_CONTENT_TYPE"
@@ -36,7 +36,7 @@ module Rack
rack_input = StringIO.new(input_body)
rack_input.set_encoding(Encoding::BINARY) if rack_input.respond_to?(:set_encoding)
- env.update({"rack.version" => [1,0],
+ env.update({"rack.version" => [1,1],
"rack.input" => rack_input,
"rack.errors" => $stderr,
"rack.multithread" => true,
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/handler/swiftiplied_mongrel.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/handler/swiftiplied_mongrel.rb
index 4bafd0b9533..4bafd0b9533 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/handler/swiftiplied_mongrel.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/handler/swiftiplied_mongrel.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/handler/thin.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/handler/thin.rb
index 3d4fedff75c..3d4fedff75c 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/handler/thin.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/handler/thin.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/handler/webrick.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/handler/webrick.rb
index 5b9ae7408b0..8d7f5724aff 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/handler/webrick.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/handler/webrick.rb
@@ -26,7 +26,7 @@ module Rack
rack_input = StringIO.new(req.body.to_s)
rack_input.set_encoding(Encoding::BINARY) if rack_input.respond_to?(:set_encoding)
- env.update({"rack.version" => [1,0],
+ env.update({"rack.version" => [1,1],
"rack.input" => rack_input,
"rack.errors" => $stderr,
@@ -40,9 +40,7 @@ module Rack
env["HTTP_VERSION"] ||= env["SERVER_PROTOCOL"]
env["QUERY_STRING"] ||= ""
env["REQUEST_PATH"] ||= "/"
- if env["PATH_INFO"] == ""
- env.delete "PATH_INFO"
- else
+ unless env["PATH_INFO"] == ""
path, n = req.request_uri.path, env["SCRIPT_NAME"].length
env["PATH_INFO"] = path[n, path.length-n]
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/head.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/head.rb
index deab822a999..deab822a999 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/head.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/head.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/lint.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/lint.rb
index 796807a019d..534375b9344 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/lint.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/lint.rb
@@ -61,7 +61,7 @@ module Rack
## subclassing allowed) that includes CGI-like headers.
## The application is free to modify the environment.
assert("env #{env.inspect} is not a Hash, but #{env.class}") {
- env.instance_of? Hash
+ env.kind_of? Hash
}
##
@@ -111,7 +111,7 @@ module Rack
## In addition to this, the Rack environment must include these
## Rack-specific variables:
- ## <tt>rack.version</tt>:: The Array [1,0], representing this version of Rack.
+ ## <tt>rack.version</tt>:: The Array [1,1], representing this version of Rack.
## <tt>rack.url_scheme</tt>:: +http+ or +https+, depending on the request URL.
## <tt>rack.input</tt>:: See below, the input stream.
## <tt>rack.errors</tt>:: See below, the error stream.
@@ -148,6 +148,35 @@ module Rack
}
end
+ ## <tt>rack.logger</tt>:: A common object interface for logging messages.
+ ## The object must implement:
+ if logger = env['rack.logger']
+ ## info(message, &block)
+ assert("logger #{logger.inspect} must respond to info") {
+ logger.respond_to?(:info)
+ }
+
+ ## debug(message, &block)
+ assert("logger #{logger.inspect} must respond to debug") {
+ logger.respond_to?(:debug)
+ }
+
+ ## warn(message, &block)
+ assert("logger #{logger.inspect} must respond to warn") {
+ logger.respond_to?(:warn)
+ }
+
+ ## error(message, &block)
+ assert("logger #{logger.inspect} must respond to error") {
+ logger.respond_to?(:error)
+ }
+
+ ## fatal(message, &block)
+ assert("logger #{logger.inspect} must respond to fatal") {
+ logger.respond_to?(:fatal)
+ }
+ end
+
## The server or the application can store their own data in the
## environment, too. The keys must contain at least one dot,
## and should be prefixed uniquely. The prefix <tt>rack.</tt>
@@ -175,7 +204,7 @@ module Rack
env.each { |key, value|
next if key.include? "." # Skip extensions
assert("env variable #{key} has non-string value #{value.inspect}") {
- value.instance_of? String
+ value.kind_of? String
}
}
@@ -184,7 +213,7 @@ module Rack
## * <tt>rack.version</tt> must be an array of Integers.
assert("rack.version must be an Array, was #{env["rack.version"].class}") {
- env["rack.version"].instance_of? Array
+ env["rack.version"].kind_of? Array
}
## * <tt>rack.url_scheme</tt> must either be +http+ or +https+.
assert("rack.url_scheme unknown: #{env["rack.url_scheme"].inspect}") {
@@ -243,7 +272,7 @@ module Rack
assert("rack.input #{input} is not opened in binary mode") {
input.binmode?
} if input.respond_to?(:binmode?)
-
+
## The input stream must respond to +gets+, +each+, +read+ and +rewind+.
[:gets, :each, :read, :rewind].each { |method|
assert("rack.input #{input} does not respond to ##{method}") {
@@ -269,7 +298,7 @@ module Rack
assert("rack.input#gets called with arguments") { args.size == 0 }
v = @input.gets
assert("rack.input#gets didn't return a String") {
- v.nil? or v.instance_of? String
+ v.nil? or v.kind_of? String
}
v
end
@@ -300,18 +329,18 @@ module Rack
args[1].kind_of?(String)
}
end
-
+
v = @input.read(*args)
-
+
assert("rack.input#read didn't return nil or a String") {
- v.nil? or v.instance_of? String
+ v.nil? or v.kind_of? String
}
if args[0].nil?
assert("rack.input#read(nil) returned nil on EOF") {
!v.nil?
}
end
-
+
v
end
@@ -320,12 +349,12 @@ module Rack
assert("rack.input#each called with arguments") { args.size == 0 }
@input.each { |line|
assert("rack.input#each didn't yield a String") {
- line.instance_of? String
+ line.kind_of? String
}
yield line
}
end
-
+
## * +rewind+ must be called without arguments. It rewinds the input
## stream back to the beginning. It must not raise Errno::ESPIPE:
## that is, it may not be a pipe or a socket. Therefore, handler
@@ -373,7 +402,7 @@ module Rack
## * +write+ must be called with a single argument that is a String.
def write(str)
- assert("rack.errors#write not called with a String") { str.instance_of? String }
+ assert("rack.errors#write not called with a String") { str.kind_of? String }
@error.write str
end
@@ -407,7 +436,7 @@ module Rack
header.each { |key, value|
## The header keys must be Strings.
assert("header key must be a string, was #{key.class}") {
- key.instance_of? String
+ key.kind_of? String
}
## The header must not contain a +Status+ key,
assert("header must not contain Status") { key.downcase != "status" }
@@ -499,7 +528,7 @@ module Rack
@body.each { |part|
## and must only yield String values.
assert("Body yielded non-string value #{part.inspect}") {
- part.instance_of? String
+ part.kind_of? String
}
yield part
}
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/lobster.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/lobster.rb
index f63f419a494..f63f419a494 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/lobster.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/lobster.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/lock.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/lock.rb
index 93238528c44..93238528c44 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/lock.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/lock.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/logger.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/logger.rb
new file mode 100755
index 00000000000..d67d8ce2d28
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/logger.rb
@@ -0,0 +1,20 @@
+require 'logger'
+
+module Rack
+ # Sets up rack.logger to write to rack.errors stream
+ class Logger
+ def initialize(app, level = ::Logger::INFO)
+ @app, @level = app, level
+ end
+
+ def call(env)
+ logger = ::Logger.new(env['rack.errors'])
+ logger.level = @level
+
+ env['rack.logger'] = logger
+ @app.call(env)
+ ensure
+ logger.close
+ end
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/methodoverride.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/methodoverride.rb
index 0eed29f4713..0eed29f4713 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/methodoverride.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/methodoverride.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/mime.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/mime.rb
index 5a6a73a97be..1414d19a510 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/mime.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/mime.rb
@@ -14,7 +14,7 @@ module Rack
# Rack::Mime::MIME_TYPES.fetch('.foo', 'application/octet-stream')
def mime_type(ext, fallback='application/octet-stream')
- MIME_TYPES.fetch(ext, fallback)
+ MIME_TYPES.fetch(ext.to_s.downcase, fallback)
end
module_function :mime_type
@@ -105,6 +105,7 @@ module Rack
".m3u" => "audio/x-mpegurl",
".m4v" => "video/mp4",
".man" => "text/troff",
+ ".manifest"=> "text/cache-manifest",
".mathml" => "application/mathml+xml",
".mbox" => "application/mbox",
".mdoc" => "text/troff",
@@ -126,6 +127,7 @@ module Rack
".ods" => "application/vnd.oasis.opendocument.spreadsheet",
".odt" => "application/vnd.oasis.opendocument.text",
".ogg" => "application/ogg",
+ ".ogv" => "video/ogg",
".p" => "text/x-pascal",
".pas" => "text/x-pascal",
".pbm" => "image/x-portable-bitmap",
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/mock.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/mock.rb
index c34a2d7a150..23ecba178db 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/mock.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/mock.rb
@@ -40,7 +40,7 @@ module Rack
end
DEFAULT_ENV = {
- "rack.version" => [1,0],
+ "rack.version" => [1,1],
"rack.input" => StringIO.new,
"rack.errors" => StringIO.new,
"rack.multithread" => true,
@@ -73,14 +73,17 @@ module Rack
# Return the Rack environment used for a request to +uri+.
def self.env_for(uri="", opts={})
uri = URI(uri)
+ uri.path = "/#{uri.path}" unless uri.path[0] == ?/
+
env = DEFAULT_ENV.dup
- env["REQUEST_METHOD"] = opts[:method] || "GET"
+ env["REQUEST_METHOD"] = opts[:method] ? opts[:method].to_s.upcase : "GET"
env["SERVER_NAME"] = uri.host || "example.org"
env["SERVER_PORT"] = uri.port ? uri.port.to_s : "80"
env["QUERY_STRING"] = uri.query.to_s
env["PATH_INFO"] = (!uri.path || uri.path.empty?) ? "/" : uri.path
env["rack.url_scheme"] = uri.scheme || "http"
+ env["HTTPS"] = env["rack.url_scheme"] == "https" ? "on" : "off"
env["SCRIPT_NAME"] = opts[:script_name] || ""
@@ -90,7 +93,30 @@ module Rack
env["rack.errors"] = StringIO.new
end
- opts[:input] ||= ""
+ if params = opts[:params]
+ if env["REQUEST_METHOD"] == "GET"
+ params = Utils.parse_nested_query(params) if params.is_a?(String)
+ params.update(Utils.parse_nested_query(env["QUERY_STRING"]))
+ env["QUERY_STRING"] = Utils.build_nested_query(params)
+ elsif !opts.has_key?(:input)
+ opts["CONTENT_TYPE"] = "application/x-www-form-urlencoded"
+ if params.is_a?(Hash)
+ if data = Utils::Multipart.build_multipart(params)
+ opts[:input] = data
+ opts["CONTENT_LENGTH"] ||= data.length.to_s
+ opts["CONTENT_TYPE"] = "multipart/form-data; boundary=#{Utils::Multipart::MULTIPART_BOUNDARY}"
+ else
+ opts[:input] = Utils.build_nested_query(params)
+ end
+ else
+ opts[:input] = params
+ end
+ end
+ end
+
+ empty_str = ""
+ empty_str.force_encoding("ASCII-8BIT") if empty_str.respond_to? :force_encoding
+ opts[:input] ||= empty_str
if String === opts[:input]
rack_input = StringIO.new(opts[:input])
else
@@ -128,7 +154,7 @@ module Rack
@body = ""
body.each { |part| @body << part }
- @errors = errors.string
+ @errors = errors.string if errors.respond_to?(:string)
end
# Status
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/nulllogger.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/nulllogger.rb
new file mode 100755
index 00000000000..77fb637deea
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/nulllogger.rb
@@ -0,0 +1,18 @@
+module Rack
+ class NullLogger
+ def initialize(app)
+ @app = app
+ end
+
+ def call(env)
+ env['rack.logger'] = self
+ @app.call(env)
+ end
+
+ def info(progname = nil, &block); end
+ def debug(progname = nil, &block); end
+ def warn(progname = nil, &block); end
+ def error(progname = nil, &block); end
+ def fatal(progname = nil, &block); end
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/recursive.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/recursive.rb
index bf8b9659255..bf8b9659255 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/recursive.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/recursive.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/reloader.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/reloader.rb
index a9c566f7f55..a06de23abe8 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/reloader.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/reloader.rb
@@ -1,5 +1,6 @@
# Copyright (c) 2009 Michael Fellinger m.fellinger@gmail.com
-# All files in this distribution are subject to the terms of the Ruby license.
+# Rack::Reloader is subject to the terms of an MIT-style license.
+# See COPYING or http://www.opensource.org/licenses/mit-license.php.
require 'pathname'
@@ -92,6 +93,8 @@ module Rack
found, stat = safe_stat(path)
return ::File.expand_path(found), stat if found
end
+
+ return false, false
end
def safe_stat(file)
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/request.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/request.rb
index 2f64bd6cfb3..b3de1ce4685 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/request.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/request.rb
@@ -32,6 +32,7 @@ module Rack
def content_type; @env['CONTENT_TYPE'] end
def session; @env['rack.session'] ||= {} end
def session_options; @env['rack.session.options'] ||= {} end
+ def logger; @env['rack.logger'] end
# The media type (type/subtype) portion of the CONTENT_TYPE header
# without any media type parameters. e.g., when CONTENT_TYPE is
@@ -63,9 +64,17 @@ module Rack
media_type_params['charset']
end
+ def host_with_port
+ if forwarded = @env["HTTP_X_FORWARDED_HOST"]
+ forwarded.split(/,\s?/).last
+ else
+ @env['HTTP_HOST'] || "#{@env['SERVER_NAME'] || @env['SERVER_ADDR']}:#{@env['SERVER_PORT']}"
+ end
+ end
+
def host
# Remove port number.
- (@env["HTTP_HOST"] || @env["SERVER_NAME"]).to_s.gsub(/:\d+\z/, '')
+ host_with_port.to_s.gsub(/:\d+\z/, '')
end
def script_name=(s); @env["SCRIPT_NAME"] = s.to_s end
@@ -81,7 +90,6 @@ module Rack
# one of the media types presents in this list will not be eligible
# for form-data / param parsing.
FORM_DATA_MEDIA_TYPES = [
- nil,
'application/x-www-form-urlencoded',
'multipart/form-data'
]
@@ -92,15 +100,20 @@ module Rack
PARSEABLE_DATA_MEDIA_TYPES = [
'multipart/related',
'multipart/mixed'
- ]
+ ]
# Determine whether the request body contains form-data by checking
- # the request media_type against registered form-data media-types:
- # "application/x-www-form-urlencoded" and "multipart/form-data". The
+ # the request Content-Type for one of the media-types:
+ # "application/x-www-form-urlencoded" or "multipart/form-data". The
# list of form-data media types can be modified through the
# +FORM_DATA_MEDIA_TYPES+ array.
+ #
+ # A request body is also assumed to contain form-data when no
+ # Content-Type header is provided and the request_method is POST.
def form_data?
- FORM_DATA_MEDIA_TYPES.include?(media_type)
+ type = media_type
+ meth = env["rack.methodoverride.original_method"] || env['REQUEST_METHOD']
+ (meth == 'POST' && type.nil?) || FORM_DATA_MEDIA_TYPES.include?(type)
end
# Determine whether the request body contains data by checking
@@ -115,8 +128,7 @@ module Rack
@env["rack.request.query_hash"]
else
@env["rack.request.query_string"] = query_string
- @env["rack.request.query_hash"] =
- Utils.parse_nested_query(query_string)
+ @env["rack.request.query_hash"] = parse_query(query_string)
end
end
@@ -125,19 +137,20 @@ module Rack
# This method support both application/x-www-form-urlencoded and
# multipart/form-data.
def POST
- if @env["rack.request.form_input"].eql? @env["rack.input"]
+ if @env["rack.input"].nil?
+ raise "Missing rack.input"
+ elsif @env["rack.request.form_input"].eql? @env["rack.input"]
@env["rack.request.form_hash"]
elsif form_data? || parseable_data?
@env["rack.request.form_input"] = @env["rack.input"]
- unless @env["rack.request.form_hash"] =
- Utils::Multipart.parse_multipart(env)
+ unless @env["rack.request.form_hash"] = parse_multipart(env)
form_vars = @env["rack.input"].read
# Fix for Safari Ajax postings that always append \0
form_vars.sub!(/\0\z/, '')
@env["rack.request.form_vars"] = form_vars
- @env["rack.request.form_hash"] = Utils.parse_nested_query(form_vars)
+ @env["rack.request.form_hash"] = parse_query(form_vars)
@env["rack.input"].rewind
end
@@ -149,7 +162,7 @@ module Rack
# The union of GET and POST data.
def params
- self.put? ? self.GET : self.GET.update(self.POST)
+ self.GET.update(self.POST)
rescue EOFError => e
self.GET
end
@@ -175,6 +188,9 @@ module Rack
end
alias referrer referer
+ def user_agent
+ @env['HTTP_USER_AGENT']
+ end
def cookies
return {} unless @env["HTTP_COOKIE"]
@@ -214,11 +230,11 @@ module Rack
url
end
-
+
def path
script_name + path_info
end
-
+
def fullpath
query_string.empty? ? path : "#{path}?#{query_string}"
end
@@ -242,5 +258,14 @@ module Rack
@env['REMOTE_ADDR']
end
end
+
+ protected
+ def parse_query(qs)
+ Utils.parse_nested_query(qs)
+ end
+
+ def parse_multipart(env)
+ Utils::Multipart.parse_multipart(env)
+ end
end
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/response.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/response.rb
index 28b4d8302fb..a7f9bf2b7d8 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/response.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/response.rb
@@ -19,7 +19,7 @@ module Rack
attr_accessor :length
def initialize(body=[], status=200, header={}, &block)
- @status = status
+ @status = status.to_i
@header = Utils::HeaderHash.new({"Content-Type" => "text/html"}.
merge(header))
@@ -54,45 +54,11 @@ module Rack
end
def set_cookie(key, value)
- case value
- when Hash
- domain = "; domain=" + value[:domain] if value[:domain]
- path = "; path=" + value[:path] if value[:path]
- # According to RFC 2109, we need dashes here.
- # N.B.: cgi.rb uses spaces...
- expires = "; expires=" + value[:expires].clone.gmtime.
- strftime("%a, %d-%b-%Y %H:%M:%S GMT") if value[:expires]
- secure = "; secure" if value[:secure]
- httponly = "; HttpOnly" if value[:httponly]
- value = value[:value]
- end
- value = [value] unless Array === value
- cookie = Utils.escape(key) + "=" +
- value.map { |v| Utils.escape v }.join("&") +
- "#{domain}#{path}#{expires}#{secure}#{httponly}"
-
- case self["Set-Cookie"]
- when Array
- self["Set-Cookie"] << cookie
- when String
- self["Set-Cookie"] = [self["Set-Cookie"], cookie]
- when nil
- self["Set-Cookie"] = cookie
- end
+ Utils.set_cookie_header!(header, key, value)
end
def delete_cookie(key, value={})
- unless Array === self["Set-Cookie"]
- self["Set-Cookie"] = [self["Set-Cookie"]].compact
- end
-
- self["Set-Cookie"].reject! { |cookie|
- cookie =~ /\A#{Utils.escape(key)}=/
- }
-
- set_cookie(key,
- {:value => '', :path => nil, :domain => nil,
- :expires => Time.at(0) }.merge(value))
+ Utils.delete_cookie_header!(header, key, value)
end
def redirect(target, status=302)
@@ -105,9 +71,9 @@ module Rack
if [204, 304].include?(status.to_i)
header.delete "Content-Type"
- [status.to_i, header.to_hash, []]
+ [status.to_i, header, []]
else
- [status.to_i, header.to_hash, self]
+ [status.to_i, header, self]
end
end
alias to_a finish # For *response
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/rewindable_input.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/rewindable_input.rb
index accd96becf9..accd96becf9 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/rewindable_input.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/rewindable_input.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/runtime.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/runtime.rb
new file mode 100755
index 00000000000..1bd411fd1dc
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/runtime.rb
@@ -0,0 +1,27 @@
+module Rack
+ # Sets an "X-Runtime" response header, indicating the response
+ # time of the request, in seconds
+ #
+ # You can put it right before the application to see the processing
+ # time, or before all the other middlewares to include time for them,
+ # too.
+ class Runtime
+ def initialize(app, name = nil)
+ @app = app
+ @header_name = "X-Runtime"
+ @header_name << "-#{name}" if name
+ end
+
+ def call(env)
+ start_time = Time.now
+ status, headers, body = @app.call(env)
+ request_time = Time.now - start_time
+
+ if !headers.has_key?(@header_name)
+ headers[@header_name] = "%0.6f" % request_time
+ end
+
+ [status, headers, body]
+ end
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/sendfile.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/sendfile.rb
new file mode 100755
index 00000000000..4fa829462bc
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/sendfile.rb
@@ -0,0 +1,142 @@
+require 'rack/file'
+
+module Rack
+ class File #:nodoc:
+ alias :to_path :path
+ end
+
+ # = Sendfile
+ #
+ # The Sendfile middleware intercepts responses whose body is being
+ # served from a file and replaces it with a server specific X-Sendfile
+ # header. The web server is then responsible for writing the file contents
+ # to the client. This can dramatically reduce the amount of work required
+ # by the Ruby backend and takes advantage of the web servers optimized file
+ # delivery code.
+ #
+ # In order to take advantage of this middleware, the response body must
+ # respond to +to_path+ and the request must include an X-Sendfile-Type
+ # header. Rack::File and other components implement +to_path+ so there's
+ # rarely anything you need to do in your application. The X-Sendfile-Type
+ # header is typically set in your web servers configuration. The following
+ # sections attempt to document
+ #
+ # === Nginx
+ #
+ # Nginx supports the X-Accel-Redirect header. This is similar to X-Sendfile
+ # but requires parts of the filesystem to be mapped into a private URL
+ # hierarachy.
+ #
+ # The following example shows the Nginx configuration required to create
+ # a private "/files/" area, enable X-Accel-Redirect, and pass the special
+ # X-Sendfile-Type and X-Accel-Mapping headers to the backend:
+ #
+ # location /files/ {
+ # internal;
+ # alias /var/www/;
+ # }
+ #
+ # location / {
+ # proxy_redirect false;
+ #
+ # proxy_set_header Host $host;
+ # proxy_set_header X-Real-IP $remote_addr;
+ # proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ #
+ # proxy_set_header X-Sendfile-Type X-Accel-Redirect
+ # proxy_set_header X-Accel-Mapping /files/=/var/www/;
+ #
+ # proxy_pass http://127.0.0.1:8080/;
+ # }
+ #
+ # Note that the X-Sendfile-Type header must be set exactly as shown above. The
+ # X-Accel-Mapping header should specify the name of the private URL pattern,
+ # followed by an equals sign (=), followed by the location on the file system
+ # that it maps to. The middleware performs a simple substitution on the
+ # resulting path.
+ #
+ # See Also: http://wiki.codemongers.com/NginxXSendfile
+ #
+ # === lighttpd
+ #
+ # Lighttpd has supported some variation of the X-Sendfile header for some
+ # time, although only recent version support X-Sendfile in a reverse proxy
+ # configuration.
+ #
+ # $HTTP["host"] == "example.com" {
+ # proxy-core.protocol = "http"
+ # proxy-core.balancer = "round-robin"
+ # proxy-core.backends = (
+ # "127.0.0.1:8000",
+ # "127.0.0.1:8001",
+ # ...
+ # )
+ #
+ # proxy-core.allow-x-sendfile = "enable"
+ # proxy-core.rewrite-request = (
+ # "X-Sendfile-Type" => (".*" => "X-Sendfile")
+ # )
+ # }
+ #
+ # See Also: http://redmine.lighttpd.net/wiki/lighttpd/Docs:ModProxyCore
+ #
+ # === Apache
+ #
+ # X-Sendfile is supported under Apache 2.x using a separate module:
+ #
+ # http://tn123.ath.cx/mod_xsendfile/
+ #
+ # Once the module is compiled and installed, you can enable it using
+ # XSendFile config directive:
+ #
+ # RequestHeader Set X-Sendfile-Type X-Sendfile
+ # ProxyPassReverse / http://localhost:8001/
+ # XSendFile on
+
+ class Sendfile
+ F = ::File
+
+ def initialize(app, variation=nil)
+ @app = app
+ @variation = variation
+ end
+
+ def call(env)
+ status, headers, body = @app.call(env)
+ if body.respond_to?(:to_path)
+ case type = variation(env)
+ when 'X-Accel-Redirect'
+ path = F.expand_path(body.to_path)
+ if url = map_accel_path(env, path)
+ headers[type] = url
+ body = []
+ else
+ env['rack.errors'] << "X-Accel-Mapping header missing"
+ end
+ when 'X-Sendfile', 'X-Lighttpd-Send-File'
+ path = F.expand_path(body.to_path)
+ headers[type] = path
+ body = []
+ when '', nil
+ else
+ env['rack.errors'] << "Unknown x-sendfile variation: '#{variation}'.\n"
+ end
+ end
+ [status, headers, body]
+ end
+
+ private
+ def variation(env)
+ @variation ||
+ env['sendfile.type'] ||
+ env['HTTP_X_SENDFILE_TYPE']
+ end
+
+ def map_accel_path(env, file)
+ if mapping = env['HTTP_X_ACCEL_MAPPING']
+ internal, external = mapping.split('=', 2).map{ |p| p.strip }
+ file.sub(/^#{internal}/i, external)
+ end
+ end
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/server.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/server.rb
new file mode 100755
index 00000000000..4afe513faaa
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/server.rb
@@ -0,0 +1,212 @@
+require 'optparse'
+
+module Rack
+ class Server
+ class Options
+ def parse!(args)
+ options = {}
+ opt_parser = OptionParser.new("", 24, ' ') do |opts|
+ opts.banner = "Usage: rackup [ruby options] [rack options] [rackup config]"
+
+ opts.separator ""
+ opts.separator "Ruby options:"
+
+ lineno = 1
+ opts.on("-e", "--eval LINE", "evaluate a LINE of code") { |line|
+ eval line, TOPLEVEL_BINDING, "-e", lineno
+ lineno += 1
+ }
+
+ opts.on("-d", "--debug", "set debugging flags (set $DEBUG to true)") {
+ options[:debug] = true
+ }
+ opts.on("-w", "--warn", "turn warnings on for your script") {
+ options[:warn] = true
+ }
+
+ opts.on("-I", "--include PATH",
+ "specify $LOAD_PATH (may be used more than once)") { |path|
+ options[:include] = path.split(":")
+ }
+
+ opts.on("-r", "--require LIBRARY",
+ "require the library, before executing your script") { |library|
+ options[:require] = library
+ }
+
+ opts.separator ""
+ opts.separator "Rack options:"
+ opts.on("-s", "--server SERVER", "serve using SERVER (webrick/mongrel)") { |s|
+ options[:server] = s
+ }
+
+ opts.on("-o", "--host HOST", "listen on HOST (default: 0.0.0.0)") { |host|
+ options[:Host] = host
+ }
+
+ opts.on("-p", "--port PORT", "use PORT (default: 9292)") { |port|
+ options[:Port] = port
+ }
+
+ opts.on("-E", "--env ENVIRONMENT", "use ENVIRONMENT for defaults (default: development)") { |e|
+ options[:environment] = e
+ }
+
+ opts.on("-D", "--daemonize", "run daemonized in the background") { |d|
+ options[:daemonize] = d ? true : false
+ }
+
+ opts.on("-P", "--pid FILE", "file to store PID (default: rack.pid)") { |f|
+ options[:pid] = ::File.expand_path(f, Dir.pwd)
+ }
+
+ opts.separator ""
+ opts.separator "Common options:"
+
+ opts.on_tail("-h", "--help", "Show this message") do
+ puts opts
+ exit
+ end
+
+ opts.on_tail("--version", "Show version") do
+ puts "Rack #{Rack.version}"
+ exit
+ end
+ end
+ opt_parser.parse! args
+ options[:config] = args.last if args.last
+ options
+ end
+ end
+
+ def self.start
+ new.start
+ end
+
+ attr_accessor :options
+
+ def initialize(options = nil)
+ @options = options
+ end
+
+ def options
+ @options ||= parse_options(ARGV)
+ end
+
+ def default_options
+ {
+ :environment => "development",
+ :pid => nil,
+ :Port => 9292,
+ :Host => "0.0.0.0",
+ :AccessLog => [],
+ :config => ::File.expand_path("config.ru", Dir.pwd)
+ }
+ end
+
+ def app
+ @app ||= begin
+ if !::File.exist? options[:config]
+ abort "configuration #{options[:config]} not found"
+ end
+
+ app, options = Rack::Builder.parse_file(self.options[:config], opt_parser)
+ self.options.merge! options
+ app
+ end
+ end
+
+ def self.middleware
+ @middleware ||= begin
+ m = Hash.new {|h,k| h[k] = []}
+ m["deployment"].concat [lambda {|server| server.server =~ /CGI/ ? nil : [Rack::CommonLogger, $stderr] }]
+ m["development"].concat m["deployment"] + [[Rack::ShowExceptions], [Rack::Lint]]
+ m
+ end
+ end
+
+ def middleware
+ self.class.middleware
+ end
+
+ def start
+ if options[:debug]
+ $DEBUG = true
+ require 'pp'
+ p options[:server]
+ pp wrapped_app
+ pp app
+ end
+
+ if options[:warn]
+ $-w = true
+ end
+
+ if includes = options[:include]
+ $LOAD_PATH.unshift *includes
+ end
+
+ if library = options[:require]
+ require library
+ end
+
+ daemonize_app if options[:daemonize]
+ write_pid if options[:pid]
+ server.run wrapped_app, options
+ end
+
+ def server
+ @_server ||= Rack::Handler.get(options[:server]) || Rack::Handler.default
+ end
+
+ private
+ def parse_options(args)
+ options = default_options
+
+ # Don't evaluate CGI ISINDEX parameters.
+ # http://hoohoo.ncsa.uiuc.edu/cgi/cl.html
+ args.clear if ENV.include?("REQUEST_METHOD")
+
+ options.merge! opt_parser.parse! args
+ options
+ end
+
+ def opt_parser
+ Options.new
+ end
+
+ def build_app(app)
+ middleware[options[:environment]].reverse_each do |middleware|
+ middleware = middleware.call(self) if middleware.respond_to?(:call)
+ next unless middleware
+ klass = middleware.shift
+ app = klass.new(app, *middleware)
+ end
+ app
+ end
+
+ def wrapped_app
+ @wrapped_app ||= build_app app
+ end
+
+ def daemonize_app
+ if RUBY_VERSION < "1.9"
+ exit if fork
+ Process.setsid
+ exit if fork
+ Dir.chdir "/"
+ ::File.umask 0000
+ STDIN.reopen "/dev/null"
+ STDOUT.reopen "/dev/null", "a"
+ STDERR.reopen "/dev/null", "a"
+ else
+ Process.daemon
+ end
+ end
+
+ def write_pid
+ ::File.open(options[:pid], 'w'){ |f| f.write("#{Process.pid}") }
+ at_exit { ::File.delete(options[:pid]) if ::File.exist?(options[:pid]) }
+ end
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/session/abstract/id.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/session/abstract/id.rb
index 218144c17f2..987467050a6 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/session/abstract/id.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/session/abstract/id.rb
@@ -107,18 +107,16 @@ module Rack
if not session_id = set_session(env, session_id, session, options)
env["rack.errors"].puts("Warning! #{self.class.name} failed to save session. Content dropped.")
- [status, headers, body]
elsif options[:defer] and not options[:renew]
env["rack.errors"].puts("Defering cookie for #{session_id}") if $VERBOSE
- [status, headers, body]
else
cookie = Hash.new
cookie[:value] = session_id
cookie[:expires] = Time.now + options[:expire_after] unless options[:expire_after].nil?
- response = Rack::Response.new(body, status, headers)
- response.set_cookie(@key, cookie.merge(options))
- response.to_a
+ Utils.set_cookie_header!(headers, @key, cookie.merge(options))
end
+
+ [status, headers, body]
end
# All thread safety and session retrival proceedures should occur here.
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/session/cookie.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/session/cookie.rb
index eace9bd0c6f..240e6c8dbe5 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/session/cookie.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/session/cookie.rb
@@ -70,16 +70,15 @@ module Rack
if session_data.size > (4096 - @key.size)
env["rack.errors"].puts("Warning! Rack::Session::Cookie data size exceeds 4K. Content dropped.")
- [status, headers, body]
else
options = env["rack.session.options"]
cookie = Hash.new
cookie[:value] = session_data
cookie[:expires] = Time.now + options[:expire_after] unless options[:expire_after].nil?
- response = Rack::Response.new(body, status, headers)
- response.set_cookie(@key, cookie.merge(options))
- response.to_a
+ Utils.set_cookie_header!(headers, @key, cookie.merge(options))
end
+
+ [status, headers, body]
end
def generate_hmac(data)
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/session/memcache.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/session/memcache.rb
new file mode 100755
index 00000000000..44629da3588
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/session/memcache.rb
@@ -0,0 +1,119 @@
+# AUTHOR: blink <blinketje@gmail.com>; blink#ruby-lang@irc.freenode.net
+
+require 'rack/session/abstract/id'
+require 'memcache'
+
+module Rack
+ module Session
+ # Rack::Session::Memcache provides simple cookie based session management.
+ # Session data is stored in memcached. The corresponding session key is
+ # maintained in the cookie.
+ # You may treat Session::Memcache as you would Session::Pool with the
+ # following caveats.
+ #
+ # * Setting :expire_after to 0 would note to the Memcache server to hang
+ # onto the session data until it would drop it according to it's own
+ # specifications. However, the cookie sent to the client would expire
+ # immediately.
+ #
+ # Note that memcache does drop data before it may be listed to expire. For
+ # a full description of behaviour, please see memcache's documentation.
+
+ class Memcache < Abstract::ID
+ attr_reader :mutex, :pool
+ DEFAULT_OPTIONS = Abstract::ID::DEFAULT_OPTIONS.merge \
+ :namespace => 'rack:session',
+ :memcache_server => 'localhost:11211'
+
+ def initialize(app, options={})
+ super
+
+ @mutex = Mutex.new
+ mserv = @default_options[:memcache_server]
+ mopts = @default_options.
+ reject{|k,v| MemCache::DEFAULT_OPTIONS.include? k }
+ @pool = MemCache.new mserv, mopts
+ unless @pool.active? and @pool.servers.any?{|c| c.alive? }
+ raise 'No memcache servers'
+ end
+ end
+
+ def generate_sid
+ loop do
+ sid = super
+ break sid unless @pool.get(sid, true)
+ end
+ end
+
+ def get_session(env, session_id)
+ @mutex.lock if env['rack.multithread']
+ unless session_id and session = @pool.get(session_id)
+ session_id, session = generate_sid, {}
+ unless /^STORED/ =~ @pool.add(session_id, session)
+ raise "Session collision on '#{session_id.inspect}'"
+ end
+ end
+ session.instance_variable_set '@old', @pool.get(session_id, true)
+ return [session_id, session]
+ rescue MemCache::MemCacheError, Errno::ECONNREFUSED
+ # MemCache server cannot be contacted
+ warn "#{self} is unable to find memcached server."
+ warn $!.inspect
+ return [ nil, {} ]
+ ensure
+ @mutex.unlock if @mutex.locked?
+ end
+
+ def set_session(env, session_id, new_session, options)
+ expiry = options[:expire_after]
+ expiry = expiry.nil? ? 0 : expiry + 1
+
+ @mutex.lock if env['rack.multithread']
+ if options[:renew] or options[:drop]
+ @pool.delete session_id
+ return false if options[:drop]
+ session_id = generate_sid
+ @pool.add session_id, {} # so we don't worry about cache miss on #set
+ end
+
+ session = @pool.get(session_id) || {}
+ old_session = new_session.instance_variable_get '@old'
+ old_session = old_session ? Marshal.load(old_session) : {}
+
+ unless Hash === old_session and Hash === new_session
+ env['rack.errors'].
+ puts 'Bad old_session or new_session sessions provided.'
+ else # merge sessions
+ # alterations are either update or delete, making as few changes as
+ # possible to prevent possible issues.
+
+ # removed keys
+ delete = old_session.keys - new_session.keys
+ if $VERBOSE and not delete.empty?
+ env['rack.errors'].
+ puts "//@#{session_id}: delete #{delete*','}"
+ end
+ delete.each{|k| session.delete k }
+
+ # added or altered keys
+ update = new_session.keys.
+ select{|k| new_session[k] != old_session[k] }
+ if $VERBOSE and not update.empty?
+ env['rack.errors'].puts "//@#{session_id}: update #{update*','}"
+ end
+ update.each{|k| session[k] = new_session[k] }
+ end
+
+ @pool.set session_id, session, expiry
+ return session_id
+ rescue MemCache::MemCacheError, Errno::ECONNREFUSED
+ # MemCache server cannot be contacted
+ warn "#{self} is unable to find memcached server."
+ warn $!.inspect
+ return false
+ ensure
+ @mutex.unlock if @mutex.locked?
+ end
+ end
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/session/pool.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/session/pool.rb
index f6f87408bbc..b3f8bd726a1 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/session/pool.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/session/pool.rb
@@ -13,7 +13,7 @@ module Rack
# In the context of a multithreaded environment, sessions being
# committed to the pool is done in a merging manner.
#
- # The :drop option is available in rack.session.options if you with to
+ # The :drop option is available in rack.session.options if you wish to
# explicitly remove the session from the session cache.
#
# Example:
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/showexceptions.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/showexceptions.rb
index 697bc41fdb1..697bc41fdb1 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/showexceptions.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/showexceptions.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/showstatus.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/showstatus.rb
index 28258c7c892..28258c7c892 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/showstatus.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/showstatus.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/static.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/static.rb
index 168e8f83b2c..168e8f83b2c 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/static.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/static.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/urlmap.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/urlmap.rb
index fcf6616c58c..b699d35b943 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/urlmap.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/urlmap.rb
@@ -28,27 +28,28 @@ module Rack
raise ArgumentError, "paths need to start with /"
end
location = location.chomp('/')
+ match = Regexp.new("^#{Regexp.quote(location).gsub('/', '/+')}(.*)", nil, 'n')
- [host, location, app]
- }.sort_by { |(h, l, a)| [h ? -h.size : (-1.0 / 0.0), -l.size] } # Longest path first
+ [host, location, match, app]
+ }.sort_by { |(h, l, m, a)| [h ? -h.size : (-1.0 / 0.0), -l.size] } # Longest path first
end
def call(env)
- path = env["PATH_INFO"].to_s.squeeze("/")
+ path = env["PATH_INFO"].to_s
script_name = env['SCRIPT_NAME']
hHost, sName, sPort = env.values_at('HTTP_HOST','SERVER_NAME','SERVER_PORT')
- @mapping.each { |host, location, app|
+ @mapping.each { |host, location, match, app|
next unless (hHost == host || sName == host \
|| (host.nil? && (hHost == sName || hHost == sName+':'+sPort)))
- next unless location == path[0, location.size]
- next unless path[location.size] == nil || path[location.size] == ?/
+ next unless path =~ match && rest = $1
+ next unless rest.empty? || rest[0] == ?/
return app.call(
env.merge(
'SCRIPT_NAME' => (script_name + location),
- 'PATH_INFO' => path[location.size..-1]))
+ 'PATH_INFO' => rest))
}
- [404, {"Content-Type" => "text/plain"}, ["Not Found: #{path}"]]
+ [404, {"Content-Type" => "text/plain", "X-Cascade" => "pass"}, ["Not Found: #{path}"]]
end
end
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/utils.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/utils.rb
index d54c928c48b..fc6e8a2b1ee 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/utils.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/utils.rb
@@ -27,7 +27,15 @@ module Rack
module_function :unescape
DEFAULT_SEP = /[&;] */n
-
+
+ class << self
+ attr_accessor :key_space_limit
+ end
+
+ # The default number of bytes to allow parameter keys to take up.
+ # This helps prevent a rogue client from flooding a Request.
+ self.key_space_limit = 65536
+
# Stolen from Mongrel, with some small modifications:
# Parses a query string by breaking it up at the '&'
# and ';' characters. You can also use this to parse
@@ -36,9 +44,19 @@ module Rack
def parse_query(qs, d = nil)
params = {}
+ max_key_space = Utils.key_space_limit
+ bytes = 0
+
(qs || '').split(d ? /[#{d}] */n : DEFAULT_SEP).each do |p|
k, v = p.split('=', 2).map { |x| unescape(x) }
+ if k
+ bytes += k.size
+ if bytes > max_key_space
+ raise RangeError, "exceeded available parameter key space"
+ end
+ end
+
if cur = params[k]
if cur.class == Array
params[k] << v
@@ -57,8 +75,19 @@ module Rack
def parse_nested_query(qs, d = nil)
params = {}
+ max_key_space = Utils.key_space_limit
+ bytes = 0
+
(qs || '').split(d ? /[#{d}] */n : DEFAULT_SEP).each do |p|
k, v = unescape(p).split('=', 2)
+
+ if k
+ bytes += k.size
+ if bytes > max_key_space
+ raise RangeError, "exceeded available parameter key space"
+ end
+ end
+
normalize_params(params, k, v)
end
@@ -109,6 +138,25 @@ module Rack
end
module_function :build_query
+ def build_nested_query(value, prefix = nil)
+ case value
+ when Array
+ value.map { |v|
+ build_nested_query(v, "#{prefix}[]")
+ }.join("&")
+ when Hash
+ value.map { |k, v|
+ build_nested_query(v, prefix ? "#{prefix}[#{escape(k)}]" : escape(k))
+ }.join("&")
+ when String
+ raise ArgumentError, "value must be a Hash" if prefix.nil?
+ "#{prefix}=#{escape(value)}"
+ else
+ prefix
+ end
+ end
+ module_function :build_nested_query
+
# Escape ampersands, brackets and quotes to their HTML/XML entities.
def escape_html(string)
string.to_s.gsub("&", "&amp;").
@@ -149,6 +197,81 @@ module Rack
end
module_function :select_best_encoding
+ def set_cookie_header!(header, key, value)
+ case value
+ when Hash
+ domain = "; domain=" + value[:domain] if value[:domain]
+ path = "; path=" + value[:path] if value[:path]
+ # According to RFC 2109, we need dashes here.
+ # N.B.: cgi.rb uses spaces...
+ expires = "; expires=" +
+ rfc2822(value[:expires].clone.gmtime) if value[:expires]
+ secure = "; secure" if value[:secure]
+ httponly = "; HttpOnly" if value[:httponly]
+ value = value[:value]
+ end
+ value = [value] unless Array === value
+ cookie = escape(key) + "=" +
+ value.map { |v| escape v }.join("&") +
+ "#{domain}#{path}#{expires}#{secure}#{httponly}"
+
+ case header["Set-Cookie"]
+ when nil, ''
+ header["Set-Cookie"] = cookie
+ when String
+ header["Set-Cookie"] = [header["Set-Cookie"], cookie].join("\n")
+ when Array
+ header["Set-Cookie"] = (header["Set-Cookie"] + [cookie]).join("\n")
+ end
+
+ nil
+ end
+ module_function :set_cookie_header!
+
+ def delete_cookie_header!(header, key, value = {})
+ case header["Set-Cookie"]
+ when nil, ''
+ cookies = []
+ when String
+ cookies = header["Set-Cookie"].split("\n")
+ when Array
+ cookies = header["Set-Cookie"]
+ end
+
+ cookies.reject! { |cookie|
+ if value[:domain]
+ cookie =~ /\A#{escape(key)}=.*domain=#{value[:domain]}/
+ else
+ cookie =~ /\A#{escape(key)}=/
+ end
+ }
+
+ header["Set-Cookie"] = cookies.join("\n")
+
+ set_cookie_header!(header, key,
+ {:value => '', :path => nil, :domain => nil,
+ :expires => Time.at(0) }.merge(value))
+
+ nil
+ end
+ module_function :delete_cookie_header!
+
+ # Modified version of stdlib time.rb Time#rfc2822 to use '%d-%b-%Y' instead
+ # of '% %b %Y'.
+ # It assumes that the time is in GMT to comply to the RFC 2109.
+ #
+ # NOTE: I'm not sure the RFC says it requires GMT, but is ambigous enough
+ # that I'm certain someone implemented only that option.
+ # Do not use %a and %b from Time.strptime, it would use localized names for
+ # weekday and month.
+ #
+ def rfc2822(time)
+ wday = Time::RFC2822_DAY_NAME[time.wday]
+ mon = Time::RFC2822_MONTH_NAME[time.mon - 1]
+ time.strftime("#{wday}, %d-#{mon}-%Y %H:%M:%S GMT")
+ end
+ module_function :rfc2822
+
# Return the bytesize of String; uses String#length under Ruby 1.8 and
# String#bytesize under 1.9.
if ''.respond_to?(:bytesize)
@@ -191,11 +314,22 @@ module Rack
# A case-insensitive Hash that preserves the original case of a
# header when set.
class HeaderHash < Hash
+ def self.new(hash={})
+ HeaderHash === hash ? hash : super(hash)
+ end
+
def initialize(hash={})
+ super()
@names = {}
hash.each { |k, v| self[k] = v }
end
+ def each
+ super do |k, v|
+ yield(k, v.respond_to?(:to_ary) ? v.to_ary.join("\n") : v)
+ end
+ end
+
def to_hash
inject({}) do |hash, (k,v)|
if v.respond_to? :to_ary
@@ -208,21 +342,24 @@ module Rack
end
def [](k)
- super @names[k.downcase]
+ super(@names[k] ||= @names[k.downcase])
end
def []=(k, v)
delete k
- @names[k.downcase] = k
+ @names[k] = @names[k.downcase] = k
super k, v
end
def delete(k)
- super @names.delete(k.downcase)
+ canonical = k.downcase
+ result = super @names.delete(canonical)
+ @names.delete_if { |name,| name.downcase == canonical }
+ result
end
def include?(k)
- @names.has_key? k.downcase
+ @names.include?(k) || @names.include?(k.downcase)
end
alias_method :has_key?, :include?
@@ -238,13 +375,23 @@ module Rack
hash = dup
hash.merge! other
end
+
+ def replace(other)
+ clear
+ other.each { |k, v| self[k] = v }
+ self
+ end
end
# Every standard HTTP code mapped to the appropriate message.
- # Stolen from Mongrel.
+ # Generated with:
+ # curl -s http://www.iana.org/assignments/http-status-codes | \
+ # ruby -ane 'm = /^(\d{3}) +(\S[^\[(]+)/.match($_) and
+ # puts " #{m[1]} => \x27#{m[2].strip}x27,"'
HTTP_STATUS_CODES = {
100 => 'Continue',
101 => 'Switching Protocols',
+ 102 => 'Processing',
200 => 'OK',
201 => 'Created',
202 => 'Accepted',
@@ -252,12 +399,15 @@ module Rack
204 => 'No Content',
205 => 'Reset Content',
206 => 'Partial Content',
+ 207 => 'Multi-Status',
+ 226 => 'IM Used',
300 => 'Multiple Choices',
301 => 'Moved Permanently',
302 => 'Found',
303 => 'See Other',
304 => 'Not Modified',
305 => 'Use Proxy',
+ 306 => 'Reserved',
307 => 'Temporary Redirect',
400 => 'Bad Request',
401 => 'Unauthorized',
@@ -273,27 +423,76 @@ module Rack
411 => 'Length Required',
412 => 'Precondition Failed',
413 => 'Request Entity Too Large',
- 414 => 'Request-URI Too Large',
+ 414 => 'Request-URI Too Long',
415 => 'Unsupported Media Type',
416 => 'Requested Range Not Satisfiable',
417 => 'Expectation Failed',
+ 422 => 'Unprocessable Entity',
+ 423 => 'Locked',
+ 424 => 'Failed Dependency',
+ 426 => 'Upgrade Required',
500 => 'Internal Server Error',
501 => 'Not Implemented',
502 => 'Bad Gateway',
503 => 'Service Unavailable',
504 => 'Gateway Timeout',
- 505 => 'HTTP Version Not Supported'
+ 505 => 'HTTP Version Not Supported',
+ 506 => 'Variant Also Negotiates',
+ 507 => 'Insufficient Storage',
+ 510 => 'Not Extended',
}
# Responses with HTTP status codes that should not have an entity body
STATUS_WITH_NO_ENTITY_BODY = Set.new((100..199).to_a << 204 << 304)
+ SYMBOL_TO_STATUS_CODE = HTTP_STATUS_CODES.inject({}) { |hash, (code, message)|
+ hash[message.downcase.gsub(/\s|-/, '_').to_sym] = code
+ hash
+ }
+
+ def status_code(status)
+ if status.is_a?(Symbol)
+ SYMBOL_TO_STATUS_CODE[status] || 500
+ else
+ status.to_i
+ end
+ end
+ module_function :status_code
+
# A multipart form data parser, adapted from IOWA.
#
# Usually, Rack::Request#POST takes care of calling this.
module Multipart
+ class UploadedFile
+ # The filename, *not* including the path, of the "uploaded" file
+ attr_reader :original_filename
+
+ # The content type of the "uploaded" file
+ attr_accessor :content_type
+
+ def initialize(path, content_type = "text/plain", binary = false)
+ raise "#{path} file does not exist" unless ::File.exist?(path)
+ @content_type = content_type
+ @original_filename = ::File.basename(path)
+ @tempfile = Tempfile.new(@original_filename)
+ @tempfile.set_encoding(Encoding::BINARY) if @tempfile.respond_to?(:set_encoding)
+ @tempfile.binmode if binary
+ FileUtils.copy_file(path, @tempfile.path)
+ end
+
+ def path
+ @tempfile.path
+ end
+ alias_method :local_path, :path
+
+ def method_missing(method_name, *args, &block) #:nodoc:
+ @tempfile.__send__(method_name, *args, &block)
+ end
+ end
+
EOL = "\r\n"
+ MULTIPART_BOUNDARY = "AaB03x"
def self.parse_multipart(env)
unless env['CONTENT_TYPE'] =~
@@ -320,6 +519,9 @@ module Rack
rx = /(?:#{EOL})?#{Regexp.quote boundary}(#{EOL}|--)/n
+ max_key_space = Utils.key_space_limit
+ bytes = 0
+
loop {
head = nil
body = ''
@@ -334,6 +536,13 @@ module Rack
content_type = head[/Content-Type: (.*)#{EOL}/ni, 1]
name = head[/Content-Disposition:.*\s+name="?([^\";]*)"?/ni, 1] || head[/Content-ID:\s*([^#{EOL}]*)/ni, 1]
+ if name
+ bytes += name.size
+ if bytes > max_key_space
+ raise RangeError, "exceeded available parameter key space"
+ end
+ end
+
if content_type || filename
body = Tempfile.new("RackMultipart")
body.binmode if body.respond_to?(:binmode)
@@ -378,7 +587,7 @@ module Rack
:name => name, :tempfile => body, :head => head}
elsif !filename && content_type
body.rewind
-
+
# Generic multipart cases, not coming from a form
data = {:type => content_type,
:name => name, :tempfile => body, :head => head}
@@ -388,7 +597,8 @@ module Rack
Utils.normalize_params(params, name, data) unless data.nil?
- break if buf.empty? || content_length == -1
+ # break if we're at the end of a buffer, but not if it is the end of a field
+ break if (buf.empty? && $1 != EOL) || content_length == -1
}
input.rewind
@@ -396,6 +606,76 @@ module Rack
params
end
end
+
+ def self.build_multipart(params, first = true)
+ if first
+ unless params.is_a?(Hash)
+ raise ArgumentError, "value must be a Hash"
+ end
+
+ multipart = false
+ query = lambda { |value|
+ case value
+ when Array
+ value.each(&query)
+ when Hash
+ value.values.each(&query)
+ when UploadedFile
+ multipart = true
+ end
+ }
+ params.values.each(&query)
+ return nil unless multipart
+ end
+
+ flattened_params = Hash.new
+
+ params.each do |key, value|
+ k = first ? key.to_s : "[#{key}]"
+
+ case value
+ when Array
+ value.map { |v|
+ build_multipart(v, false).each { |subkey, subvalue|
+ flattened_params["#{k}[]#{subkey}"] = subvalue
+ }
+ }
+ when Hash
+ build_multipart(value, false).each { |subkey, subvalue|
+ flattened_params[k + subkey] = subvalue
+ }
+ else
+ flattened_params[k] = value
+ end
+ end
+
+ if first
+ flattened_params.map { |name, file|
+ if file.respond_to?(:original_filename)
+ ::File.open(file.path, "rb") do |f|
+ f.set_encoding(Encoding::BINARY) if f.respond_to?(:set_encoding)
+<<-EOF
+--#{MULTIPART_BOUNDARY}\r
+Content-Disposition: form-data; name="#{name}"; filename="#{Utils.escape(file.original_filename)}"\r
+Content-Type: #{file.content_type}\r
+Content-Length: #{::File.stat(file.path).size}\r
+\r
+#{f.read}\r
+EOF
+ end
+ else
+<<-EOF
+--#{MULTIPART_BOUNDARY}\r
+Content-Disposition: form-data; name="#{name}"\r
+\r
+#{file}\r
+EOF
+ end
+ }.join + "--#{MULTIPART_BOUNDARY}--\r"
+ else
+ flattened_params
+ end
+ end
end
end
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/rack.gemspec b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/rack.gemspec
new file mode 100755
index 00000000000..1f04bcc7c54
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/rack.gemspec
@@ -0,0 +1,42 @@
+$:.unshift(File.expand_path('../lib', __FILE__))
+require 'rack' # For Rack.release
+
+Gem::Specification.new do |s|
+ s.name = "rack"
+ s.version = Rack.release
+ s.platform = Gem::Platform::RUBY
+ s.summary = "a modular Ruby webserver interface"
+
+ s.description = <<-EOF
+Rack provides minimal, modular and adaptable interface for developing
+web applications in Ruby. By wrapping HTTP requests and responses in
+the simplest way possible, it unifies and distills the API for web
+servers, web frameworks, and software in between (the so-called
+middleware) into a single method call.
+
+Also see http://rack.rubyforge.org.
+EOF
+
+ s.files = Dir['{bin/*,contrib/*,example/*,lib/**/*}'] +
+ %w(COPYING KNOWN-ISSUES rack.gemspec RDOX README SPEC)
+ s.bindir = 'bin'
+ s.executables << 'rackup'
+ s.require_path = 'lib'
+ s.has_rdoc = true
+ s.extra_rdoc_files = ['README', 'SPEC', 'KNOWN-ISSUES']
+ s.test_files = Dir['test/{test,spec}_*.rb']
+
+ s.author = 'Christian Neukirchen'
+ s.email = 'chneukirchen@gmail.com'
+ s.homepage = 'http://rack.rubyforge.org'
+ s.rubyforge_project = 'rack'
+
+ s.add_development_dependency 'test-spec'
+
+ s.add_development_dependency 'activesupport', '< 2'
+ s.add_development_dependency 'camping', '< 1.6'
+ s.add_development_dependency 'fcgi'
+ s.add_development_dependency 'memcache-client'
+ s.add_development_dependency 'mongrel'
+ s.add_development_dependency 'thin', '< 1.2' # since 1.2 or so, specs fail on Method
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_auth_basic.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_auth_basic.rb
new file mode 100755
index 00000000000..0176efc8b30
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_auth_basic.rb
@@ -0,0 +1,73 @@
+require 'test/spec'
+
+require 'rack/auth/basic'
+require 'rack/mock'
+
+context 'Rack::Auth::Basic' do
+
+ def realm
+ 'WallysWorld'
+ end
+
+ def unprotected_app
+ lambda { |env| [ 200, {'Content-Type' => 'text/plain'}, ["Hi #{env['REMOTE_USER']}"] ] }
+ end
+
+ def protected_app
+ app = Rack::Auth::Basic.new(unprotected_app) { |username, password| 'Boss' == username }
+ app.realm = realm
+ app
+ end
+
+ setup do
+ @request = Rack::MockRequest.new(protected_app)
+ end
+
+ def request_with_basic_auth(username, password, &block)
+ request 'HTTP_AUTHORIZATION' => 'Basic ' + ["#{username}:#{password}"].pack("m*"), &block
+ end
+
+ def request(headers = {})
+ yield @request.get('/', headers)
+ end
+
+ def assert_basic_auth_challenge(response)
+ response.should.be.a.client_error
+ response.status.should.equal 401
+ response.should.include 'WWW-Authenticate'
+ response.headers['WWW-Authenticate'].should =~ /Basic realm="#{Regexp.escape(realm)}"/
+ response.body.should.be.empty
+ end
+
+ specify 'should challenge correctly when no credentials are specified' do
+ request do |response|
+ assert_basic_auth_challenge response
+ end
+ end
+
+ specify 'should rechallenge if incorrect credentials are specified' do
+ request_with_basic_auth 'joe', 'password' do |response|
+ assert_basic_auth_challenge response
+ end
+ end
+
+ specify 'should return application output if correct credentials are specified' do
+ request_with_basic_auth 'Boss', 'password' do |response|
+ response.status.should.equal 200
+ response.body.to_s.should.equal 'Hi Boss'
+ end
+ end
+
+ specify 'should return 400 Bad Request if different auth scheme used' do
+ request 'HTTP_AUTHORIZATION' => 'Digest params' do |response|
+ response.should.be.a.client_error
+ response.status.should.equal 400
+ response.should.not.include 'WWW-Authenticate'
+ end
+ end
+
+ specify 'realm as optional constructor arg' do
+ app = Rack::Auth::Basic.new(unprotected_app, realm) { true }
+ assert_equal realm, app.realm
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_auth_digest.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_auth_digest.rb
new file mode 100755
index 00000000000..7413aa48ed0
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_auth_digest.rb
@@ -0,0 +1,232 @@
+require 'test/spec'
+
+require 'rack/auth/digest/md5'
+require 'rack/mock'
+
+context 'Rack::Auth::Digest::MD5' do
+
+ def realm
+ 'WallysWorld'
+ end
+
+ def unprotected_app
+ lambda do |env|
+ [ 200, {'Content-Type' => 'text/plain'}, ["Hi #{env['REMOTE_USER']}"] ]
+ end
+ end
+
+ def protected_app
+ app = Rack::Auth::Digest::MD5.new(unprotected_app) do |username|
+ { 'Alice' => 'correct-password' }[username]
+ end
+ app.realm = realm
+ app.opaque = 'this-should-be-secret'
+ app
+ end
+
+ def protected_app_with_hashed_passwords
+ app = Rack::Auth::Digest::MD5.new(unprotected_app) do |username|
+ username == 'Alice' ? Digest::MD5.hexdigest("Alice:#{realm}:correct-password") : nil
+ end
+ app.realm = realm
+ app.opaque = 'this-should-be-secret'
+ app.passwords_hashed = true
+ app
+ end
+
+ def partially_protected_app
+ Rack::URLMap.new({
+ '/' => unprotected_app,
+ '/protected' => protected_app
+ })
+ end
+
+ def protected_app_with_method_override
+ Rack::MethodOverride.new(protected_app)
+ end
+
+ setup do
+ @request = Rack::MockRequest.new(protected_app)
+ end
+
+ def request(method, path, headers = {}, &block)
+ response = @request.request(method, path, headers)
+ block.call(response) if block
+ return response
+ end
+
+ class MockDigestRequest
+ def initialize(params)
+ @params = params
+ end
+ def method_missing(sym)
+ if @params.has_key? k = sym.to_s
+ return @params[k]
+ end
+ super
+ end
+ def method
+ @params['method']
+ end
+ def response(password)
+ Rack::Auth::Digest::MD5.new(nil).send :digest, self, password
+ end
+ end
+
+ def request_with_digest_auth(method, path, username, password, options = {}, &block)
+ request_options = {}
+ request_options[:input] = options.delete(:input) if options.include? :input
+
+ response = request(method, path, request_options)
+
+ return response unless response.status == 401
+
+ if wait = options.delete(:wait)
+ sleep wait
+ end
+
+ challenge = response['WWW-Authenticate'].split(' ', 2).last
+
+ params = Rack::Auth::Digest::Params.parse(challenge)
+
+ params['username'] = username
+ params['nc'] = '00000001'
+ params['cnonce'] = 'nonsensenonce'
+ params['uri'] = path
+
+ params['method'] = method
+
+ params.update options
+
+ params['response'] = MockDigestRequest.new(params).response(password)
+
+ request(method, path, request_options.merge('HTTP_AUTHORIZATION' => "Digest #{params}"), &block)
+ end
+
+ def assert_digest_auth_challenge(response)
+ response.should.be.a.client_error
+ response.status.should.equal 401
+ response.should.include 'WWW-Authenticate'
+ response.headers['WWW-Authenticate'].should =~ /^Digest /
+ response.body.should.be.empty
+ end
+
+ def assert_bad_request(response)
+ response.should.be.a.client_error
+ response.status.should.equal 400
+ response.should.not.include 'WWW-Authenticate'
+ end
+
+ specify 'should challenge when no credentials are specified' do
+ request 'GET', '/' do |response|
+ assert_digest_auth_challenge response
+ end
+ end
+
+ specify 'should return application output if correct credentials given' do
+ request_with_digest_auth 'GET', '/', 'Alice', 'correct-password' do |response|
+ response.status.should.equal 200
+ response.body.to_s.should.equal 'Hi Alice'
+ end
+ end
+
+ specify 'should return application output if correct credentials given (hashed passwords)' do
+ @request = Rack::MockRequest.new(protected_app_with_hashed_passwords)
+
+ request_with_digest_auth 'GET', '/', 'Alice', 'correct-password' do |response|
+ response.status.should.equal 200
+ response.body.to_s.should.equal 'Hi Alice'
+ end
+ end
+
+ specify 'should rechallenge if incorrect username given' do
+ request_with_digest_auth 'GET', '/', 'Bob', 'correct-password' do |response|
+ assert_digest_auth_challenge response
+ end
+ end
+
+ specify 'should rechallenge if incorrect password given' do
+ request_with_digest_auth 'GET', '/', 'Alice', 'wrong-password' do |response|
+ assert_digest_auth_challenge response
+ end
+ end
+
+ specify 'rechallenge if incorrect user and blank password given' do
+ request_with_digest_auth 'GET', '/', 'Bob', '' do |response|
+ assert_digest_auth_challenge response
+ end
+ end
+
+ specify 'should rechallenge with stale parameter if nonce is stale' do
+ begin
+ Rack::Auth::Digest::Nonce.time_limit = 1
+
+ request_with_digest_auth 'GET', '/', 'Alice', 'correct-password', :wait => 2 do |response|
+ assert_digest_auth_challenge response
+ response.headers['WWW-Authenticate'].should =~ /\bstale=true\b/
+ end
+ ensure
+ Rack::Auth::Digest::Nonce.time_limit = nil
+ end
+ end
+
+ specify 'should return 400 Bad Request if incorrect qop given' do
+ request_with_digest_auth 'GET', '/', 'Alice', 'correct-password', 'qop' => 'auth-int' do |response|
+ assert_bad_request response
+ end
+ end
+
+ specify 'should return 400 Bad Request if incorrect uri given' do
+ request_with_digest_auth 'GET', '/', 'Alice', 'correct-password', 'uri' => '/foo' do |response|
+ assert_bad_request response
+ end
+ end
+
+ specify 'should return 400 Bad Request if different auth scheme used' do
+ request 'GET', '/', 'HTTP_AUTHORIZATION' => 'Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==' do |response|
+ assert_bad_request response
+ end
+ end
+
+ specify 'should not require credentials for unprotected path' do
+ @request = Rack::MockRequest.new(partially_protected_app)
+ request 'GET', '/' do |response|
+ response.should.be.ok
+ end
+ end
+
+ specify 'should challenge when no credentials are specified for protected path' do
+ @request = Rack::MockRequest.new(partially_protected_app)
+ request 'GET', '/protected' do |response|
+ assert_digest_auth_challenge response
+ end
+ end
+
+ specify 'should return application output if correct credentials given for protected path' do
+ @request = Rack::MockRequest.new(partially_protected_app)
+ request_with_digest_auth 'GET', '/protected', 'Alice', 'correct-password' do |response|
+ response.status.should.equal 200
+ response.body.to_s.should.equal 'Hi Alice'
+ end
+ end
+
+ specify 'should return application output if correct credentials given for POST' do
+ request_with_digest_auth 'POST', '/', 'Alice', 'correct-password' do |response|
+ response.status.should.equal 200
+ response.body.to_s.should.equal 'Hi Alice'
+ end
+ end
+
+ specify 'should return application output if correct credentials given for PUT (using method override of POST)' do
+ @request = Rack::MockRequest.new(protected_app_with_method_override)
+ request_with_digest_auth 'POST', '/', 'Alice', 'correct-password', :input => "_method=put" do |response|
+ response.status.should.equal 200
+ response.body.to_s.should.equal 'Hi Alice'
+ end
+ end
+
+ specify 'realm as optional constructor arg' do
+ app = Rack::Auth::Digest::MD5.new(unprotected_app, realm) { true }
+ assert_equal realm, app.realm
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_builder.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_builder.rb
new file mode 100755
index 00000000000..3fad9810e3c
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_builder.rb
@@ -0,0 +1,84 @@
+require 'test/spec'
+
+require 'rack/builder'
+require 'rack/mock'
+require 'rack/showexceptions'
+require 'rack/auth/basic'
+
+context "Rack::Builder" do
+ specify "chains apps by default" do
+ app = Rack::Builder.new do
+ use Rack::ShowExceptions
+ run lambda { |env| raise "bzzzt" }
+ end.to_app
+
+ Rack::MockRequest.new(app).get("/").should.be.server_error
+ Rack::MockRequest.new(app).get("/").should.be.server_error
+ Rack::MockRequest.new(app).get("/").should.be.server_error
+ end
+
+ specify "has implicit #to_app" do
+ app = Rack::Builder.new do
+ use Rack::ShowExceptions
+ run lambda { |env| raise "bzzzt" }
+ end
+
+ Rack::MockRequest.new(app).get("/").should.be.server_error
+ Rack::MockRequest.new(app).get("/").should.be.server_error
+ Rack::MockRequest.new(app).get("/").should.be.server_error
+ end
+
+ specify "supports blocks on use" do
+ app = Rack::Builder.new do
+ use Rack::ShowExceptions
+ use Rack::Auth::Basic do |username, password|
+ 'secret' == password
+ end
+
+ run lambda { |env| [200, {}, ['Hi Boss']] }
+ end
+
+ response = Rack::MockRequest.new(app).get("/")
+ response.should.be.client_error
+ response.status.should.equal 401
+
+ # with auth...
+ response = Rack::MockRequest.new(app).get("/",
+ 'HTTP_AUTHORIZATION' => 'Basic ' + ["joe:secret"].pack("m*"))
+ response.status.should.equal 200
+ response.body.to_s.should.equal 'Hi Boss'
+ end
+
+ specify "has explicit #to_app" do
+ app = Rack::Builder.app do
+ use Rack::ShowExceptions
+ run lambda { |env| raise "bzzzt" }
+ end
+
+ Rack::MockRequest.new(app).get("/").should.be.server_error
+ Rack::MockRequest.new(app).get("/").should.be.server_error
+ Rack::MockRequest.new(app).get("/").should.be.server_error
+ end
+
+ specify "apps are initialized once" do
+ app = Rack::Builder.new do
+ class AppClass
+ def initialize
+ @called = 0
+ end
+ def call(env)
+ raise "bzzzt" if @called > 0
+ @called += 1
+ [200, {'Content-Type' => 'text/plain'}, ['OK']]
+ end
+ end
+
+ use Rack::ShowExceptions
+ run AppClass.new
+ end
+
+ Rack::MockRequest.new(app).get("/").status.should.equal 200
+ Rack::MockRequest.new(app).get("/").should.be.server_error
+ end
+
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_camping.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_camping.rb
new file mode 100755
index 00000000000..e7597f07e0a
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_camping.rb
@@ -0,0 +1,55 @@
+require 'test/spec'
+require 'stringio'
+require 'uri'
+
+begin
+ require 'rack/mock'
+
+ $-w, w = nil, $-w # yuck
+
+ # campings dependencies also don't pull this in anymore:
+ class Object;def meta_def m,&b;(class<<self;self;end).send:define_method,m,&b end end
+
+ require 'camping'
+ require 'rack/adapter/camping'
+
+ Camping.goes :CampApp
+ module CampApp
+ module Controllers
+ class HW < R('/')
+ def get
+ @headers["X-Served-By"] = URI("http://rack.rubyforge.org")
+ "Camping works!"
+ end
+
+ def post
+ "Data: #{input.foo}"
+ end
+ end
+ end
+ end
+ $-w = w
+
+ context "Rack::Adapter::Camping" do
+ specify "works with GET" do
+ res = Rack::MockRequest.new(Rack::Adapter::Camping.new(CampApp)).
+ get("/")
+
+ res.should.be.ok
+ res["Content-Type"].should.equal "text/html"
+ res["X-Served-By"].should.equal "http://rack.rubyforge.org"
+
+ res.body.should.equal "Camping works!"
+ end
+
+ specify "works with POST" do
+ res = Rack::MockRequest.new(Rack::Adapter::Camping.new(CampApp)).
+ post("/", :input => "foo=bar")
+
+ res.should.be.ok
+ res.body.should.equal "Data: bar"
+ end
+ end
+rescue LoadError
+ $stderr.puts "Skipping Rack::Adapter::Camping tests (Camping is required). `gem install camping` and try again."
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_cascade.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_cascade.rb
new file mode 100755
index 00000000000..cf3c29b4821
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_cascade.rb
@@ -0,0 +1,48 @@
+require 'test/spec'
+
+require 'rack/cascade'
+require 'rack/mock'
+
+require 'rack/urlmap'
+require 'rack/file'
+
+context "Rack::Cascade" do
+ docroot = File.expand_path(File.dirname(__FILE__))
+ app1 = Rack::File.new(docroot)
+
+ app2 = Rack::URLMap.new("/crash" => lambda { |env| raise "boom" })
+
+ app3 = Rack::URLMap.new("/foo" => lambda { |env|
+ [200, { "Content-Type" => "text/plain"}, [""]]})
+
+ specify "should dispatch onward on 404 by default" do
+ cascade = Rack::Cascade.new([app1, app2, app3])
+ Rack::MockRequest.new(cascade).get("/cgi/test").should.be.ok
+ Rack::MockRequest.new(cascade).get("/foo").should.be.ok
+ Rack::MockRequest.new(cascade).get("/toobad").should.be.not_found
+ Rack::MockRequest.new(cascade).get("/cgi/../bla").should.be.forbidden
+ end
+
+ specify "should dispatch onward on whatever is passed" do
+ cascade = Rack::Cascade.new([app1, app2, app3], [404, 403])
+ Rack::MockRequest.new(cascade).get("/cgi/../bla").should.be.not_found
+ end
+
+ specify "should return 404 if empty" do
+ Rack::MockRequest.new(Rack::Cascade.new([])).get('/').should.be.not_found
+ end
+
+ specify "should append new app" do
+ cascade = Rack::Cascade.new([], [404, 403])
+ Rack::MockRequest.new(cascade).get('/').should.be.not_found
+ cascade << app2
+ Rack::MockRequest.new(cascade).get('/cgi/test').should.be.not_found
+ Rack::MockRequest.new(cascade).get('/cgi/../bla').should.be.not_found
+ cascade << app1
+ Rack::MockRequest.new(cascade).get('/cgi/test').should.be.ok
+ Rack::MockRequest.new(cascade).get('/cgi/../bla').should.be.forbidden
+ Rack::MockRequest.new(cascade).get('/foo').should.be.not_found
+ cascade << app3
+ Rack::MockRequest.new(cascade).get('/foo').should.be.ok
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_cgi.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_cgi.rb
new file mode 100755
index 00000000000..df08656d06e
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_cgi.rb
@@ -0,0 +1,89 @@
+require 'test/spec'
+require 'testrequest'
+
+context "Rack::Handler::CGI" do
+ include TestRequest::Helpers
+
+ setup do
+ @host = '0.0.0.0'
+ @port = 9203
+ end
+
+ # Keep this first.
+ specify "startup" do
+ $pid = fork {
+ Dir.chdir(File.join(File.dirname(__FILE__), "..", "test", "cgi"))
+ exec "lighttpd -D -f lighttpd.conf"
+ }
+ end
+
+ specify "should respond" do
+ sleep 1
+ lambda {
+ GET("/test")
+ }.should.not.raise
+ end
+
+ specify "should be a lighttpd" do
+ GET("/test")
+ status.should.be 200
+ response["SERVER_SOFTWARE"].should =~ /lighttpd/
+ response["HTTP_VERSION"].should.equal "HTTP/1.1"
+ response["SERVER_PROTOCOL"].should.equal "HTTP/1.1"
+ response["SERVER_PORT"].should.equal @port.to_s
+ response["SERVER_NAME"].should =~ @host
+ end
+
+ specify "should have rack headers" do
+ GET("/test")
+ response["rack.version"].should.equal [1,1]
+ response["rack.multithread"].should.be false
+ response["rack.multiprocess"].should.be true
+ response["rack.run_once"].should.be true
+ end
+
+ specify "should have CGI headers on GET" do
+ GET("/test")
+ response["REQUEST_METHOD"].should.equal "GET"
+ response["SCRIPT_NAME"].should.equal "/test"
+ response["REQUEST_PATH"].should.equal "/"
+ response["PATH_INFO"].should.be nil
+ response["QUERY_STRING"].should.equal ""
+ response["test.postdata"].should.equal ""
+
+ GET("/test/foo?quux=1")
+ response["REQUEST_METHOD"].should.equal "GET"
+ response["SCRIPT_NAME"].should.equal "/test"
+ response["REQUEST_PATH"].should.equal "/"
+ response["PATH_INFO"].should.equal "/foo"
+ response["QUERY_STRING"].should.equal "quux=1"
+ end
+
+ specify "should have CGI headers on POST" do
+ POST("/test", {"rack-form-data" => "23"}, {'X-test-header' => '42'})
+ status.should.equal 200
+ response["REQUEST_METHOD"].should.equal "POST"
+ response["SCRIPT_NAME"].should.equal "/test"
+ response["REQUEST_PATH"].should.equal "/"
+ response["QUERY_STRING"].should.equal ""
+ response["HTTP_X_TEST_HEADER"].should.equal "42"
+ response["test.postdata"].should.equal "rack-form-data=23"
+ end
+
+ specify "should support HTTP auth" do
+ GET("/test", {:user => "ruth", :passwd => "secret"})
+ response["HTTP_AUTHORIZATION"].should.equal "Basic cnV0aDpzZWNyZXQ="
+ end
+
+ specify "should set status" do
+ GET("/test?secret")
+ status.should.equal 403
+ response["rack.url_scheme"].should.equal "http"
+ end
+
+ # Keep this last.
+ specify "shutdown" do
+ Process.kill 15, $pid
+ Process.wait($pid).should.equal $pid
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_chunked.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_chunked.rb
new file mode 100755
index 00000000000..39eea4824cd
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_chunked.rb
@@ -0,0 +1,62 @@
+require 'rack/mock'
+require 'rack/chunked'
+require 'rack/utils'
+
+context "Rack::Chunked" do
+
+ before do
+ @env = Rack::MockRequest.
+ env_for('/', 'HTTP_VERSION' => '1.1', 'REQUEST_METHOD' => 'GET')
+ end
+
+ specify 'chunks responses with no Content-Length' do
+ app = lambda { |env| [200, {}, ['Hello', ' ', 'World!']] }
+ response = Rack::MockResponse.new(*Rack::Chunked.new(app).call(@env))
+ response.headers.should.not.include 'Content-Length'
+ response.headers['Transfer-Encoding'].should.equal 'chunked'
+ response.body.should.equal "5\r\nHello\r\n1\r\n \r\n6\r\nWorld!\r\n0\r\n\r\n"
+ end
+
+ specify 'chunks empty bodies properly' do
+ app = lambda { |env| [200, {}, []] }
+ response = Rack::MockResponse.new(*Rack::Chunked.new(app).call(@env))
+ response.headers.should.not.include 'Content-Length'
+ response.headers['Transfer-Encoding'].should.equal 'chunked'
+ response.body.should.equal "0\r\n\r\n"
+ end
+
+ specify 'does not modify response when Content-Length header present' do
+ app = lambda { |env| [200, {'Content-Length'=>'12'}, ['Hello', ' ', 'World!']] }
+ status, headers, body = Rack::Chunked.new(app).call(@env)
+ status.should.equal 200
+ headers.should.not.include 'Transfer-Encoding'
+ headers.should.include 'Content-Length'
+ body.join.should.equal 'Hello World!'
+ end
+
+ specify 'does not modify response when client is HTTP/1.0' do
+ app = lambda { |env| [200, {}, ['Hello', ' ', 'World!']] }
+ @env['HTTP_VERSION'] = 'HTTP/1.0'
+ status, headers, body = Rack::Chunked.new(app).call(@env)
+ status.should.equal 200
+ headers.should.not.include 'Transfer-Encoding'
+ body.join.should.equal 'Hello World!'
+ end
+
+ specify 'does not modify response when Transfer-Encoding header already present' do
+ app = lambda { |env| [200, {'Transfer-Encoding' => 'identity'}, ['Hello', ' ', 'World!']] }
+ status, headers, body = Rack::Chunked.new(app).call(@env)
+ status.should.equal 200
+ headers['Transfer-Encoding'].should.equal 'identity'
+ body.join.should.equal 'Hello World!'
+ end
+
+ [100, 204, 304].each do |status_code|
+ specify "does not modify response when status code is #{status_code}" do
+ app = lambda { |env| [status_code, {}, []] }
+ status, headers, body = Rack::Chunked.new(app).call(@env)
+ status.should.equal status_code
+ headers.should.not.include 'Transfer-Encoding'
+ end
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_commonlogger.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_commonlogger.rb
new file mode 100755
index 00000000000..46a72e86be8
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_commonlogger.rb
@@ -0,0 +1,61 @@
+require 'test/spec'
+require 'stringio'
+
+require 'rack/commonlogger'
+require 'rack/lobster'
+require 'rack/mock'
+
+context "Rack::CommonLogger" do
+ app = lambda { |env|
+ [200,
+ {"Content-Type" => "text/html", "Content-Length" => length.to_s},
+ [obj]]}
+ app_without_length = lambda { |env|
+ [200,
+ {"Content-Type" => "text/html"},
+ []]}
+ app_with_zero_length = lambda { |env|
+ [200,
+ {"Content-Type" => "text/html", "Content-Length" => "0"},
+ []]}
+
+ specify "should log to rack.errors by default" do
+ res = Rack::MockRequest.new(Rack::CommonLogger.new(app)).get("/")
+
+ res.errors.should.not.be.empty
+ res.errors.should =~ /"GET \/ " 200 #{length} /
+ end
+
+ specify "should log to anything with +write+" do
+ log = StringIO.new
+ res = Rack::MockRequest.new(Rack::CommonLogger.new(app, log)).get("/")
+
+ log.string.should =~ /"GET \/ " 200 #{length} /
+ end
+
+ specify "should log - content length if header is missing" do
+ res = Rack::MockRequest.new(Rack::CommonLogger.new(app_without_length)).get("/")
+
+ res.errors.should.not.be.empty
+ res.errors.should =~ /"GET \/ " 200 - /
+ end
+
+ specify "should log - content length if header is zero" do
+ res = Rack::MockRequest.new(Rack::CommonLogger.new(app_with_zero_length)).get("/")
+
+ res.errors.should.not.be.empty
+ res.errors.should =~ /"GET \/ " 200 - /
+ end
+
+ def length
+ self.class.length
+ end
+
+ def self.length
+ 123
+ end
+
+ def self.obj
+ "hello world"
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_conditionalget.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_conditionalget.rb
new file mode 100755
index 00000000000..ca34cc922c0
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_conditionalget.rb
@@ -0,0 +1,41 @@
+require 'test/spec'
+require 'time'
+
+require 'rack/mock'
+require 'rack/conditionalget'
+
+context "Rack::ConditionalGet" do
+ specify "should set a 304 status and truncate body when If-Modified-Since hits" do
+ timestamp = Time.now.httpdate
+ app = Rack::ConditionalGet.new(lambda { |env|
+ [200, {'Last-Modified'=>timestamp}, ['TEST']] })
+
+ response = Rack::MockRequest.new(app).
+ get("/", 'HTTP_IF_MODIFIED_SINCE' => timestamp)
+
+ response.status.should.equal 304
+ response.body.should.be.empty
+ end
+
+ specify "should set a 304 status and truncate body when If-None-Match hits" do
+ app = Rack::ConditionalGet.new(lambda { |env|
+ [200, {'Etag'=>'1234'}, ['TEST']] })
+
+ response = Rack::MockRequest.new(app).
+ get("/", 'HTTP_IF_NONE_MATCH' => '1234')
+
+ response.status.should.equal 304
+ response.body.should.be.empty
+ end
+
+ specify "should not affect non-GET/HEAD requests" do
+ app = Rack::ConditionalGet.new(lambda { |env|
+ [200, {'Etag'=>'1234'}, ['TEST']] })
+
+ response = Rack::MockRequest.new(app).
+ post("/", 'HTTP_IF_NONE_MATCH' => '1234')
+
+ response.status.should.equal 200
+ response.body.should.equal 'TEST'
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_config.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_config.rb
new file mode 100755
index 00000000000..a508ea4beb5
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_config.rb
@@ -0,0 +1,24 @@
+require 'test/spec'
+require 'rack/mock'
+require 'rack/builder'
+require 'rack/content_length'
+require 'rack/config'
+
+context "Rack::Config" do
+
+ specify "should accept a block that modifies the environment" do
+ app = Rack::Builder.new do
+ use Rack::Lint
+ use Rack::ContentLength
+ use Rack::Config do |env|
+ env['greeting'] = 'hello'
+ end
+ run lambda { |env|
+ [200, {'Content-Type' => 'text/plain'}, [env['greeting'] || '']]
+ }
+ end
+ response = Rack::MockRequest.new(app).get('/')
+ response.body.should.equal('hello')
+ end
+
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_content_length.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_content_length.rb
new file mode 100755
index 00000000000..7db9345f860
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_content_length.rb
@@ -0,0 +1,43 @@
+require 'rack/mock'
+require 'rack/content_length'
+
+context "Rack::ContentLength" do
+ specify "sets Content-Length on String bodies if none is set" do
+ app = lambda { |env| [200, {'Content-Type' => 'text/plain'}, "Hello, World!"] }
+ response = Rack::ContentLength.new(app).call({})
+ response[1]['Content-Length'].should.equal '13'
+ end
+
+ specify "sets Content-Length on Array bodies if none is set" do
+ app = lambda { |env| [200, {'Content-Type' => 'text/plain'}, ["Hello, World!"]] }
+ response = Rack::ContentLength.new(app).call({})
+ response[1]['Content-Length'].should.equal '13'
+ end
+
+ specify "does not set Content-Length on variable length bodies" do
+ body = lambda { "Hello World!" }
+ def body.each ; yield call ; end
+
+ app = lambda { |env| [200, {'Content-Type' => 'text/plain'}, body] }
+ response = Rack::ContentLength.new(app).call({})
+ response[1]['Content-Length'].should.be.nil
+ end
+
+ specify "does not change Content-Length if it is already set" do
+ app = lambda { |env| [200, {'Content-Type' => 'text/plain', 'Content-Length' => '1'}, "Hello, World!"] }
+ response = Rack::ContentLength.new(app).call({})
+ response[1]['Content-Length'].should.equal '1'
+ end
+
+ specify "does not set Content-Length on 304 responses" do
+ app = lambda { |env| [304, {'Content-Type' => 'text/plain'}, []] }
+ response = Rack::ContentLength.new(app).call({})
+ response[1]['Content-Length'].should.equal nil
+ end
+
+ specify "does not set Content-Length when Transfer-Encoding is chunked" do
+ app = lambda { |env| [200, {'Transfer-Encoding' => 'chunked'}, []] }
+ response = Rack::ContentLength.new(app).call({})
+ response[1]['Content-Length'].should.equal nil
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_content_type.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_content_type.rb
new file mode 100755
index 00000000000..9975b94d62b
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_content_type.rb
@@ -0,0 +1,30 @@
+require 'rack/mock'
+require 'rack/content_type'
+
+context "Rack::ContentType" do
+ specify "sets Content-Type to default text/html if none is set" do
+ app = lambda { |env| [200, {}, "Hello, World!"] }
+ status, headers, body = Rack::ContentType.new(app).call({})
+ headers['Content-Type'].should.equal 'text/html'
+ end
+
+ specify "sets Content-Type to chosen default if none is set" do
+ app = lambda { |env| [200, {}, "Hello, World!"] }
+ status, headers, body =
+ Rack::ContentType.new(app, 'application/octet-stream').call({})
+ headers['Content-Type'].should.equal 'application/octet-stream'
+ end
+
+ specify "does not change Content-Type if it is already set" do
+ app = lambda { |env| [200, {'Content-Type' => 'foo/bar'}, "Hello, World!"] }
+ status, headers, body = Rack::ContentType.new(app).call({})
+ headers['Content-Type'].should.equal 'foo/bar'
+ end
+
+ specify "case insensitive detection of Content-Type" do
+ app = lambda { |env| [200, {'CONTENT-Type' => 'foo/bar'}, "Hello, World!"] }
+ status, headers, body = Rack::ContentType.new(app).call({})
+ headers.to_a.select { |k,v| k.downcase == "content-type" }.
+ should.equal [["CONTENT-Type","foo/bar"]]
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_deflater.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_deflater.rb
new file mode 100755
index 00000000000..c9bb318942f
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_deflater.rb
@@ -0,0 +1,127 @@
+require 'test/spec'
+
+require 'rack/mock'
+require 'rack/deflater'
+require 'stringio'
+require 'time' # for Time#httpdate
+
+context "Rack::Deflater" do
+ def build_response(status, body, accept_encoding, headers = {})
+ body = [body] if body.respond_to? :to_str
+ app = lambda { |env| [status, {}, body] }
+ request = Rack::MockRequest.env_for("", headers.merge("HTTP_ACCEPT_ENCODING" => accept_encoding))
+ response = Rack::Deflater.new(app).call(request)
+
+ return response
+ end
+
+ specify "should be able to deflate bodies that respond to each" do
+ body = Object.new
+ class << body; def each; yield("foo"); yield("bar"); end; end
+
+ response = build_response(200, body, "deflate")
+
+ response[0].should.equal(200)
+ response[1].should.equal({
+ "Content-Encoding" => "deflate",
+ "Vary" => "Accept-Encoding"
+ })
+ buf = ''
+ response[2].each { |part| buf << part }
+ buf.should.equal("K\313\317OJ,\002\000")
+ end
+
+ # TODO: This is really just a special case of the above...
+ specify "should be able to deflate String bodies" do
+ response = build_response(200, "Hello world!", "deflate")
+
+ response[0].should.equal(200)
+ response[1].should.equal({
+ "Content-Encoding" => "deflate",
+ "Vary" => "Accept-Encoding"
+ })
+ buf = ''
+ response[2].each { |part| buf << part }
+ buf.should.equal("\363H\315\311\311W(\317/\312IQ\004\000")
+ end
+
+ specify "should be able to gzip bodies that respond to each" do
+ body = Object.new
+ class << body; def each; yield("foo"); yield("bar"); end; end
+
+ response = build_response(200, body, "gzip")
+
+ response[0].should.equal(200)
+ response[1].should.equal({
+ "Content-Encoding" => "gzip",
+ "Vary" => "Accept-Encoding",
+ })
+
+ buf = ''
+ response[2].each { |part| buf << part }
+ io = StringIO.new(buf)
+ gz = Zlib::GzipReader.new(io)
+ gz.read.should.equal("foobar")
+ gz.close
+ end
+
+ specify "should be able to fallback to no deflation" do
+ response = build_response(200, "Hello world!", "superzip")
+
+ response[0].should.equal(200)
+ response[1].should.equal({ "Vary" => "Accept-Encoding" })
+ response[2].should.equal(["Hello world!"])
+ end
+
+ specify "should be able to skip when there is no response entity body" do
+ response = build_response(304, [], "gzip")
+
+ response[0].should.equal(304)
+ response[1].should.equal({})
+ response[2].should.equal([])
+ end
+
+ specify "should handle the lack of an acceptable encoding" do
+ response1 = build_response(200, "Hello world!", "identity;q=0", "PATH_INFO" => "/")
+ response1[0].should.equal(406)
+ response1[1].should.equal({"Content-Type" => "text/plain", "Content-Length" => "71"})
+ response1[2].should.equal(["An acceptable encoding for the requested resource / could not be found."])
+
+ response2 = build_response(200, "Hello world!", "identity;q=0", "SCRIPT_NAME" => "/foo", "PATH_INFO" => "/bar")
+ response2[0].should.equal(406)
+ response2[1].should.equal({"Content-Type" => "text/plain", "Content-Length" => "78"})
+ response2[2].should.equal(["An acceptable encoding for the requested resource /foo/bar could not be found."])
+ end
+
+ specify "should handle gzip response with Last-Modified header" do
+ last_modified = Time.now.httpdate
+
+ app = lambda { |env| [200, { "Last-Modified" => last_modified }, ["Hello World!"]] }
+ request = Rack::MockRequest.env_for("", "HTTP_ACCEPT_ENCODING" => "gzip")
+ response = Rack::Deflater.new(app).call(request)
+
+ response[0].should.equal(200)
+ response[1].should.equal({
+ "Content-Encoding" => "gzip",
+ "Vary" => "Accept-Encoding",
+ "Last-Modified" => last_modified
+ })
+
+ buf = ''
+ response[2].each { |part| buf << part }
+ io = StringIO.new(buf)
+ gz = Zlib::GzipReader.new(io)
+ gz.read.should.equal("Hello World!")
+ gz.close
+ end
+
+ specify "should do nothing when no-transform Cache-Control directive present" do
+ app = lambda { |env| [200, {'Cache-Control' => 'no-transform'}, ['Hello World!']] }
+ request = Rack::MockRequest.env_for("", "HTTP_ACCEPT_ENCODING" => "gzip")
+ response = Rack::Deflater.new(app).call(request)
+
+ response[0].should.equal(200)
+ response[1].should.not.include "Content-Encoding"
+ response[2].join.should.equal("Hello World!")
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_directory.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_directory.rb
new file mode 100755
index 00000000000..d255c91da5c
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_directory.rb
@@ -0,0 +1,61 @@
+require 'test/spec'
+
+require 'rack/directory'
+require 'rack/lint'
+
+require 'rack/mock'
+
+context "Rack::Directory" do
+ DOCROOT = File.expand_path(File.dirname(__FILE__)) unless defined? DOCROOT
+ FILE_CATCH = proc{|env| [200, {'Content-Type'=>'text/plain', "Content-Length" => "7"}, ['passed!']] }
+ app = Rack::Directory.new DOCROOT, FILE_CATCH
+
+ specify "serves directory indices" do
+ res = Rack::MockRequest.new(Rack::Lint.new(app)).
+ get("/cgi/")
+
+ res.should.be.ok
+ res.should =~ /<html><head>/
+ end
+
+ specify "passes to app if file found" do
+ res = Rack::MockRequest.new(Rack::Lint.new(app)).
+ get("/cgi/test")
+
+ res.should.be.ok
+ res.should =~ /passed!/
+ end
+
+ specify "serves uri with URL encoded filenames" do
+ res = Rack::MockRequest.new(Rack::Lint.new(app)).
+ get("/%63%67%69/") # "/cgi/test"
+
+ res.should.be.ok
+ res.should =~ /<html><head>/
+
+ res = Rack::MockRequest.new(Rack::Lint.new(app)).
+ get("/cgi/%74%65%73%74") # "/cgi/test"
+
+ res.should.be.ok
+ res.should =~ /passed!/
+ end
+
+ specify "does not allow directory traversal" do
+ res = Rack::MockRequest.new(Rack::Lint.new(app)).
+ get("/cgi/../test")
+
+ res.should.be.forbidden
+
+ res = Rack::MockRequest.new(Rack::Lint.new(app)).
+ get("/cgi/%2E%2E/test")
+
+ res.should.be.forbidden
+ end
+
+ specify "404s if it can't find the file" do
+ res = Rack::MockRequest.new(Rack::Lint.new(app)).
+ get("/cgi/blubb")
+
+ res.should.be.not_found
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_etag.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_etag.rb
new file mode 100755
index 00000000000..73cd31ac02e
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_etag.rb
@@ -0,0 +1,17 @@
+require 'test/spec'
+require 'rack/mock'
+require 'rack/etag'
+
+context "Rack::ETag" do
+ specify "sets ETag if none is set" do
+ app = lambda { |env| [200, {'Content-Type' => 'text/plain'}, ["Hello, World!"]] }
+ response = Rack::ETag.new(app).call({})
+ response[1]['ETag'].should.equal "\"65a8e27d8879283831b664bd8b7f0ad4\""
+ end
+
+ specify "does not change ETag if it is already set" do
+ app = lambda { |env| [200, {'Content-Type' => 'text/plain', 'ETag' => '"abc"'}, ["Hello, World!"]] }
+ response = Rack::ETag.new(app).call({})
+ response[1]['ETag'].should.equal "\"abc\""
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_fastcgi.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_fastcgi.rb
new file mode 100755
index 00000000000..1ae55ace69b
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_fastcgi.rb
@@ -0,0 +1,89 @@
+require 'test/spec'
+require 'testrequest'
+
+context "Rack::Handler::FastCGI" do
+ include TestRequest::Helpers
+
+ setup do
+ @host = '0.0.0.0'
+ @port = 9203
+ end
+
+ # Keep this first.
+ specify "startup" do
+ $pid = fork {
+ Dir.chdir(File.join(File.dirname(__FILE__), "..", "test", "cgi"))
+ exec "lighttpd -D -f lighttpd.conf"
+ }
+ end
+
+ specify "should respond" do
+ sleep 1
+ lambda {
+ GET("/test.fcgi")
+ }.should.not.raise
+ end
+
+ specify "should be a lighttpd" do
+ GET("/test.fcgi")
+ status.should.be 200
+ response["SERVER_SOFTWARE"].should =~ /lighttpd/
+ response["HTTP_VERSION"].should.equal "HTTP/1.1"
+ response["SERVER_PROTOCOL"].should.equal "HTTP/1.1"
+ response["SERVER_PORT"].should.equal @port.to_s
+ response["SERVER_NAME"].should =~ @host
+ end
+
+ specify "should have rack headers" do
+ GET("/test.fcgi")
+ response["rack.version"].should.equal [1,1]
+ response["rack.multithread"].should.be false
+ response["rack.multiprocess"].should.be true
+ response["rack.run_once"].should.be false
+ end
+
+ specify "should have CGI headers on GET" do
+ GET("/test.fcgi")
+ response["REQUEST_METHOD"].should.equal "GET"
+ response["SCRIPT_NAME"].should.equal "/test.fcgi"
+ response["REQUEST_PATH"].should.equal "/"
+ response["PATH_INFO"].should.equal ""
+ response["QUERY_STRING"].should.equal ""
+ response["test.postdata"].should.equal ""
+
+ GET("/test.fcgi/foo?quux=1")
+ response["REQUEST_METHOD"].should.equal "GET"
+ response["SCRIPT_NAME"].should.equal "/test.fcgi"
+ response["REQUEST_PATH"].should.equal "/"
+ response["PATH_INFO"].should.equal "/foo"
+ response["QUERY_STRING"].should.equal "quux=1"
+ end
+
+ specify "should have CGI headers on POST" do
+ POST("/test.fcgi", {"rack-form-data" => "23"}, {'X-test-header' => '42'})
+ status.should.equal 200
+ response["REQUEST_METHOD"].should.equal "POST"
+ response["SCRIPT_NAME"].should.equal "/test.fcgi"
+ response["REQUEST_PATH"].should.equal "/"
+ response["QUERY_STRING"].should.equal ""
+ response["HTTP_X_TEST_HEADER"].should.equal "42"
+ response["test.postdata"].should.equal "rack-form-data=23"
+ end
+
+ specify "should support HTTP auth" do
+ GET("/test.fcgi", {:user => "ruth", :passwd => "secret"})
+ response["HTTP_AUTHORIZATION"].should.equal "Basic cnV0aDpzZWNyZXQ="
+ end
+
+ specify "should set status" do
+ GET("/test.fcgi?secret")
+ status.should.equal 403
+ response["rack.url_scheme"].should.equal "http"
+ end
+
+ # Keep this last.
+ specify "shutdown" do
+ Process.kill 15, $pid
+ Process.wait($pid).should.equal $pid
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_file.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_file.rb
new file mode 100755
index 00000000000..0a2f8ee81c8
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_file.rb
@@ -0,0 +1,75 @@
+require 'test/spec'
+
+require 'rack/file'
+require 'rack/lint'
+
+require 'rack/mock'
+
+context "Rack::File" do
+ DOCROOT = File.expand_path(File.dirname(__FILE__)) unless defined? DOCROOT
+
+ specify "serves files" do
+ res = Rack::MockRequest.new(Rack::Lint.new(Rack::File.new(DOCROOT))).
+ get("/cgi/test")
+
+ res.should.be.ok
+ res.should =~ /ruby/
+ end
+
+ specify "sets Last-Modified header" do
+ res = Rack::MockRequest.new(Rack::Lint.new(Rack::File.new(DOCROOT))).
+ get("/cgi/test")
+
+ path = File.join(DOCROOT, "/cgi/test")
+
+ res.should.be.ok
+ res["Last-Modified"].should.equal File.mtime(path).httpdate
+ end
+
+ specify "serves files with URL encoded filenames" do
+ res = Rack::MockRequest.new(Rack::Lint.new(Rack::File.new(DOCROOT))).
+ get("/cgi/%74%65%73%74") # "/cgi/test"
+
+ res.should.be.ok
+ res.should =~ /ruby/
+ end
+
+ specify "does not allow directory traversal" do
+ res = Rack::MockRequest.new(Rack::Lint.new(Rack::File.new(DOCROOT))).
+ get("/cgi/../test")
+
+ res.should.be.forbidden
+ end
+
+ specify "does not allow directory traversal with encoded periods" do
+ res = Rack::MockRequest.new(Rack::Lint.new(Rack::File.new(DOCROOT))).
+ get("/%2E%2E/README")
+
+ res.should.be.forbidden
+ end
+
+ specify "404s if it can't find the file" do
+ res = Rack::MockRequest.new(Rack::Lint.new(Rack::File.new(DOCROOT))).
+ get("/cgi/blubb")
+
+ res.should.be.not_found
+ end
+
+ specify "detects SystemCallErrors" do
+ res = Rack::MockRequest.new(Rack::Lint.new(Rack::File.new(DOCROOT))).
+ get("/cgi")
+
+ res.should.be.not_found
+ end
+
+ specify "returns bodies that respond to #to_path" do
+ env = Rack::MockRequest.env_for("/cgi/test")
+ status, headers, body = Rack::File.new(DOCROOT).call(env)
+
+ path = File.join(DOCROOT, "/cgi/test")
+
+ status.should.equal 200
+ body.should.respond_to :to_path
+ body.to_path.should.equal path
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_handler.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_handler.rb
new file mode 100755
index 00000000000..fcf19b78012
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_handler.rb
@@ -0,0 +1,43 @@
+require 'test/spec'
+
+require 'rack/handler'
+
+class Rack::Handler::Lobster; end
+class RockLobster; end
+
+context "Rack::Handler" do
+ specify "has registered default handlers" do
+ Rack::Handler.get('cgi').should.equal Rack::Handler::CGI
+ Rack::Handler.get('fastcgi').should.equal Rack::Handler::FastCGI
+ Rack::Handler.get('mongrel').should.equal Rack::Handler::Mongrel
+ Rack::Handler.get('webrick').should.equal Rack::Handler::WEBrick
+ end
+
+ specify "handler that doesn't exist should raise a NameError" do
+ lambda {
+ Rack::Handler.get('boom')
+ }.should.raise(NameError)
+ end
+
+ specify "should get unregistered, but already required, handler by name" do
+ Rack::Handler.get('Lobster').should.equal Rack::Handler::Lobster
+ end
+
+ specify "should register custom handler" do
+ Rack::Handler.register('rock_lobster', 'RockLobster')
+ Rack::Handler.get('rock_lobster').should.equal RockLobster
+ end
+
+ specify "should not need registration for properly coded handlers even if not already required" do
+ begin
+ $:.push "test/unregistered_handler"
+ Rack::Handler.get('Unregistered').should.equal Rack::Handler::Unregistered
+ lambda {
+ Rack::Handler.get('UnRegistered')
+ }.should.raise(NameError)
+ Rack::Handler.get('UnregisteredLongOne').should.equal Rack::Handler::UnregisteredLongOne
+ ensure
+ $:.delete "test/unregistered_handler"
+ end
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_head.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_head.rb
new file mode 100755
index 00000000000..48d3f81ff2a
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_head.rb
@@ -0,0 +1,30 @@
+require 'rack/head'
+require 'rack/mock'
+
+context "Rack::Head" do
+ def test_response(headers = {})
+ app = lambda { |env| [200, {"Content-type" => "test/plain", "Content-length" => "3"}, ["foo"]] }
+ request = Rack::MockRequest.env_for("/", headers)
+ response = Rack::Head.new(app).call(request)
+
+ return response
+ end
+
+ specify "passes GET, POST, PUT, DELETE, OPTIONS, TRACE requests" do
+ %w[GET POST PUT DELETE OPTIONS TRACE].each do |type|
+ resp = test_response("REQUEST_METHOD" => type)
+
+ resp[0].should.equal(200)
+ resp[1].should.equal({"Content-type" => "test/plain", "Content-length" => "3"})
+ resp[2].should.equal(["foo"])
+ end
+ end
+
+ specify "removes body from HEAD requests" do
+ resp = test_response("REQUEST_METHOD" => "HEAD")
+
+ resp[0].should.equal(200)
+ resp[1].should.equal({"Content-type" => "test/plain", "Content-length" => "3"})
+ resp[2].should.equal([])
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_lint.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_lint.rb
new file mode 100755
index 00000000000..bbf75c17a40
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_lint.rb
@@ -0,0 +1,528 @@
+require 'test/spec'
+require 'stringio'
+
+require 'rack/lint'
+require 'rack/mock'
+
+context "Rack::Lint" do
+ def env(*args)
+ Rack::MockRequest.env_for("/", *args)
+ end
+
+ specify "passes valid request" do
+ lambda {
+ Rack::Lint.new(lambda { |env|
+ [200, {"Content-type" => "test/plain", "Content-length" => "3"}, ["foo"]]
+ }).call(env({}))
+ }.should.not.raise
+ end
+
+ specify "notices fatal errors" do
+ lambda { Rack::Lint.new(nil).call }.should.raise(Rack::Lint::LintError).
+ message.should.match(/No env given/)
+ end
+
+ specify "notices environment errors" do
+ lambda { Rack::Lint.new(nil).call 5 }.should.raise(Rack::Lint::LintError).
+ message.should.match(/not a Hash/)
+
+ lambda {
+ e = env
+ e.delete("REQUEST_METHOD")
+ Rack::Lint.new(nil).call(e)
+ }.should.raise(Rack::Lint::LintError).
+ message.should.match(/missing required key REQUEST_METHOD/)
+
+ lambda {
+ e = env
+ e.delete("SERVER_NAME")
+ Rack::Lint.new(nil).call(e)
+ }.should.raise(Rack::Lint::LintError).
+ message.should.match(/missing required key SERVER_NAME/)
+
+
+ lambda {
+ Rack::Lint.new(nil).call(env("HTTP_CONTENT_TYPE" => "text/plain"))
+ }.should.raise(Rack::Lint::LintError).
+ message.should.match(/contains HTTP_CONTENT_TYPE/)
+
+ lambda {
+ Rack::Lint.new(nil).call(env("HTTP_CONTENT_LENGTH" => "42"))
+ }.should.raise(Rack::Lint::LintError).
+ message.should.match(/contains HTTP_CONTENT_LENGTH/)
+
+ lambda {
+ Rack::Lint.new(nil).call(env("FOO" => Object.new))
+ }.should.raise(Rack::Lint::LintError).
+ message.should.match(/non-string value/)
+
+ lambda {
+ Rack::Lint.new(nil).call(env("rack.version" => "0.2"))
+ }.should.raise(Rack::Lint::LintError).
+ message.should.match(/must be an Array/)
+
+ lambda {
+ Rack::Lint.new(nil).call(env("rack.url_scheme" => "gopher"))
+ }.should.raise(Rack::Lint::LintError).
+ message.should.match(/url_scheme unknown/)
+
+ lambda {
+ Rack::Lint.new(nil).call(env("rack.session" => []))
+ }.should.raise(Rack::Lint::LintError).
+ message.should.equal("session [] must respond to store and []=")
+
+ lambda {
+ Rack::Lint.new(nil).call(env("rack.logger" => []))
+ }.should.raise(Rack::Lint::LintError).
+ message.should.equal("logger [] must respond to info")
+
+ lambda {
+ Rack::Lint.new(nil).call(env("REQUEST_METHOD" => "FUCKUP?"))
+ }.should.raise(Rack::Lint::LintError).
+ message.should.match(/REQUEST_METHOD/)
+
+ lambda {
+ Rack::Lint.new(nil).call(env("SCRIPT_NAME" => "howdy"))
+ }.should.raise(Rack::Lint::LintError).
+ message.should.match(/must start with/)
+
+ lambda {
+ Rack::Lint.new(nil).call(env("PATH_INFO" => "../foo"))
+ }.should.raise(Rack::Lint::LintError).
+ message.should.match(/must start with/)
+
+ lambda {
+ Rack::Lint.new(nil).call(env("CONTENT_LENGTH" => "xcii"))
+ }.should.raise(Rack::Lint::LintError).
+ message.should.match(/Invalid CONTENT_LENGTH/)
+
+ lambda {
+ e = env
+ e.delete("PATH_INFO")
+ e.delete("SCRIPT_NAME")
+ Rack::Lint.new(nil).call(e)
+ }.should.raise(Rack::Lint::LintError).
+ message.should.match(/One of .* must be set/)
+
+ lambda {
+ Rack::Lint.new(nil).call(env("SCRIPT_NAME" => "/"))
+ }.should.raise(Rack::Lint::LintError).
+ message.should.match(/cannot be .* make it ''/)
+ end
+
+ specify "notices input errors" do
+ lambda {
+ Rack::Lint.new(nil).call(env("rack.input" => ""))
+ }.should.raise(Rack::Lint::LintError).
+ message.should.match(/does not respond to #gets/)
+
+ lambda {
+ input = Object.new
+ def input.binmode?
+ false
+ end
+ Rack::Lint.new(nil).call(env("rack.input" => input))
+ }.should.raise(Rack::Lint::LintError).
+ message.should.match(/is not opened in binary mode/)
+
+ lambda {
+ input = Object.new
+ def input.external_encoding
+ result = Object.new
+ def result.name
+ "US-ASCII"
+ end
+ result
+ end
+ Rack::Lint.new(nil).call(env("rack.input" => input))
+ }.should.raise(Rack::Lint::LintError).
+ message.should.match(/does not have ASCII-8BIT as its external encoding/)
+ end
+
+ specify "notices error errors" do
+ lambda {
+ Rack::Lint.new(nil).call(env("rack.errors" => ""))
+ }.should.raise(Rack::Lint::LintError).
+ message.should.match(/does not respond to #puts/)
+ end
+
+ specify "notices status errors" do
+ lambda {
+ Rack::Lint.new(lambda { |env|
+ ["cc", {}, ""]
+ }).call(env({}))
+ }.should.raise(Rack::Lint::LintError).
+ message.should.match(/must be >=100 seen as integer/)
+
+ lambda {
+ Rack::Lint.new(lambda { |env|
+ [42, {}, ""]
+ }).call(env({}))
+ }.should.raise(Rack::Lint::LintError).
+ message.should.match(/must be >=100 seen as integer/)
+ end
+
+ specify "notices header errors" do
+ lambda {
+ Rack::Lint.new(lambda { |env|
+ [200, Object.new, []]
+ }).call(env({}))
+ }.should.raise(Rack::Lint::LintError).
+ message.should.equal("headers object should respond to #each, but doesn't (got Object as headers)")
+
+ lambda {
+ Rack::Lint.new(lambda { |env|
+ [200, {true=>false}, []]
+ }).call(env({}))
+ }.should.raise(Rack::Lint::LintError).
+ message.should.equal("header key must be a string, was TrueClass")
+
+ lambda {
+ Rack::Lint.new(lambda { |env|
+ [200, {"Status" => "404"}, []]
+ }).call(env({}))
+ }.should.raise(Rack::Lint::LintError).
+ message.should.match(/must not contain Status/)
+
+ lambda {
+ Rack::Lint.new(lambda { |env|
+ [200, {"Content-Type:" => "text/plain"}, []]
+ }).call(env({}))
+ }.should.raise(Rack::Lint::LintError).
+ message.should.match(/must not contain :/)
+
+ lambda {
+ Rack::Lint.new(lambda { |env|
+ [200, {"Content-" => "text/plain"}, []]
+ }).call(env({}))
+ }.should.raise(Rack::Lint::LintError).
+ message.should.match(/must not end/)
+
+ lambda {
+ Rack::Lint.new(lambda { |env|
+ [200, {"..%%quark%%.." => "text/plain"}, []]
+ }).call(env({}))
+ }.should.raise(Rack::Lint::LintError).
+ message.should.equal("invalid header name: ..%%quark%%..")
+
+ lambda {
+ Rack::Lint.new(lambda { |env|
+ [200, {"Foo" => Object.new}, []]
+ }).call(env({}))
+ }.should.raise(Rack::Lint::LintError).
+ message.should.equal("a header value must be a String, but the value of 'Foo' is a Object")
+
+ lambda {
+ Rack::Lint.new(lambda { |env|
+ [200, {"Foo" => [1, 2, 3]}, []]
+ }).call(env({}))
+ }.should.raise(Rack::Lint::LintError).
+ message.should.equal("a header value must be a String, but the value of 'Foo' is a Array")
+
+
+ lambda {
+ Rack::Lint.new(lambda { |env|
+ [200, {"Foo-Bar" => "text\000plain"}, []]
+ }).call(env({}))
+ }.should.raise(Rack::Lint::LintError).
+ message.should.match(/invalid header/)
+
+ # line ends (010) should be allowed in header values.
+ lambda {
+ Rack::Lint.new(lambda { |env|
+ [200, {"Foo-Bar" => "one\ntwo\nthree", "Content-Length" => "0", "Content-Type" => "text/plain" }, []]
+ }).call(env({}))
+ }.should.not.raise(Rack::Lint::LintError)
+ end
+
+ specify "notices content-type errors" do
+ lambda {
+ Rack::Lint.new(lambda { |env|
+ [200, {"Content-length" => "0"}, []]
+ }).call(env({}))
+ }.should.raise(Rack::Lint::LintError).
+ message.should.match(/No Content-Type/)
+
+ [100, 101, 204, 304].each do |status|
+ lambda {
+ Rack::Lint.new(lambda { |env|
+ [status, {"Content-type" => "text/plain", "Content-length" => "0"}, []]
+ }).call(env({}))
+ }.should.raise(Rack::Lint::LintError).
+ message.should.match(/Content-Type header found/)
+ end
+ end
+
+ specify "notices content-length errors" do
+ [100, 101, 204, 304].each do |status|
+ lambda {
+ Rack::Lint.new(lambda { |env|
+ [status, {"Content-length" => "0"}, []]
+ }).call(env({}))
+ }.should.raise(Rack::Lint::LintError).
+ message.should.match(/Content-Length header found/)
+ end
+
+ lambda {
+ Rack::Lint.new(lambda { |env|
+ [200, {"Content-type" => "text/plain", "Content-Length" => "1"}, []]
+ }).call(env({}))
+ }.should.raise(Rack::Lint::LintError).
+ message.should.match(/Content-Length header was 1, but should be 0/)
+ end
+
+ specify "notices body errors" do
+ lambda {
+ status, header, body = Rack::Lint.new(lambda { |env|
+ [200, {"Content-type" => "text/plain","Content-length" => "3"}, [1,2,3]]
+ }).call(env({}))
+ body.each { |part| }
+ }.should.raise(Rack::Lint::LintError).
+ message.should.match(/yielded non-string/)
+ end
+
+ specify "notices input handling errors" do
+ lambda {
+ Rack::Lint.new(lambda { |env|
+ env["rack.input"].gets("\r\n")
+ [201, {"Content-type" => "text/plain", "Content-length" => "0"}, []]
+ }).call(env({}))
+ }.should.raise(Rack::Lint::LintError).
+ message.should.match(/gets called with arguments/)
+
+ lambda {
+ Rack::Lint.new(lambda { |env|
+ env["rack.input"].read(1, 2, 3)
+ [201, {"Content-type" => "text/plain", "Content-length" => "0"}, []]
+ }).call(env({}))
+ }.should.raise(Rack::Lint::LintError).
+ message.should.match(/read called with too many arguments/)
+
+ lambda {
+ Rack::Lint.new(lambda { |env|
+ env["rack.input"].read("foo")
+ [201, {"Content-type" => "text/plain", "Content-length" => "0"}, []]
+ }).call(env({}))
+ }.should.raise(Rack::Lint::LintError).
+ message.should.match(/read called with non-integer and non-nil length/)
+
+ lambda {
+ Rack::Lint.new(lambda { |env|
+ env["rack.input"].read(-1)
+ [201, {"Content-type" => "text/plain", "Content-length" => "0"}, []]
+ }).call(env({}))
+ }.should.raise(Rack::Lint::LintError).
+ message.should.match(/read called with a negative length/)
+
+ lambda {
+ Rack::Lint.new(lambda { |env|
+ env["rack.input"].read(nil, nil)
+ [201, {"Content-type" => "text/plain", "Content-length" => "0"}, []]
+ }).call(env({}))
+ }.should.raise(Rack::Lint::LintError).
+ message.should.match(/read called with non-String buffer/)
+
+ lambda {
+ Rack::Lint.new(lambda { |env|
+ env["rack.input"].read(nil, 1)
+ [201, {"Content-type" => "text/plain", "Content-length" => "0"}, []]
+ }).call(env({}))
+ }.should.raise(Rack::Lint::LintError).
+ message.should.match(/read called with non-String buffer/)
+
+ lambda {
+ Rack::Lint.new(lambda { |env|
+ env["rack.input"].rewind(0)
+ [201, {"Content-type" => "text/plain", "Content-length" => "0"}, []]
+ }).call(env({}))
+ }.should.raise(Rack::Lint::LintError).
+ message.should.match(/rewind called with arguments/)
+
+ weirdio = Object.new
+ class << weirdio
+ def gets
+ 42
+ end
+
+ def read
+ 23
+ end
+
+ def each
+ yield 23
+ yield 42
+ end
+
+ def rewind
+ raise Errno::ESPIPE, "Errno::ESPIPE"
+ end
+ end
+
+ eof_weirdio = Object.new
+ class << eof_weirdio
+ def gets
+ nil
+ end
+
+ def read(*args)
+ nil
+ end
+
+ def each
+ end
+
+ def rewind
+ end
+ end
+
+ lambda {
+ Rack::Lint.new(lambda { |env|
+ env["rack.input"].gets
+ [201, {"Content-type" => "text/plain", "Content-length" => "0"}, []]
+ }).call(env("rack.input" => weirdio))
+ }.should.raise(Rack::Lint::LintError).
+ message.should.match(/gets didn't return a String/)
+
+ lambda {
+ Rack::Lint.new(lambda { |env|
+ env["rack.input"].each { |x| }
+ [201, {"Content-type" => "text/plain", "Content-length" => "0"}, []]
+ }).call(env("rack.input" => weirdio))
+ }.should.raise(Rack::Lint::LintError).
+ message.should.match(/each didn't yield a String/)
+
+ lambda {
+ Rack::Lint.new(lambda { |env|
+ env["rack.input"].read
+ [201, {"Content-type" => "text/plain", "Content-length" => "0"}, []]
+ }).call(env("rack.input" => weirdio))
+ }.should.raise(Rack::Lint::LintError).
+ message.should.match(/read didn't return nil or a String/)
+
+ lambda {
+ Rack::Lint.new(lambda { |env|
+ env["rack.input"].read
+ [201, {"Content-type" => "text/plain", "Content-length" => "0"}, []]
+ }).call(env("rack.input" => eof_weirdio))
+ }.should.raise(Rack::Lint::LintError).
+ message.should.match(/read\(nil\) returned nil on EOF/)
+
+ lambda {
+ Rack::Lint.new(lambda { |env|
+ env["rack.input"].rewind
+ [201, {"Content-type" => "text/plain", "Content-length" => "0"}, []]
+ }).call(env("rack.input" => weirdio))
+ }.should.raise(Rack::Lint::LintError).
+ message.should.match(/rewind raised Errno::ESPIPE/)
+
+
+ lambda {
+ Rack::Lint.new(lambda { |env|
+ env["rack.input"].close
+ [201, {"Content-type" => "text/plain", "Content-length" => "0"}, []]
+ }).call(env({}))
+ }.should.raise(Rack::Lint::LintError).
+ message.should.match(/close must not be called/)
+ end
+
+ specify "notices error handling errors" do
+ lambda {
+ Rack::Lint.new(lambda { |env|
+ env["rack.errors"].write(42)
+ [201, {"Content-type" => "text/plain", "Content-length" => "0"}, []]
+ }).call(env({}))
+ }.should.raise(Rack::Lint::LintError).
+ message.should.match(/write not called with a String/)
+
+ lambda {
+ Rack::Lint.new(lambda { |env|
+ env["rack.errors"].close
+ [201, {"Content-type" => "text/plain", "Content-length" => "0"}, []]
+ }).call(env({}))
+ }.should.raise(Rack::Lint::LintError).
+ message.should.match(/close must not be called/)
+ end
+
+ specify "notices HEAD errors" do
+ lambda {
+ Rack::Lint.new(lambda { |env|
+ [200, {"Content-type" => "test/plain", "Content-length" => "3"}, []]
+ }).call(env({"REQUEST_METHOD" => "HEAD"}))
+ }.should.not.raise
+
+ lambda {
+ Rack::Lint.new(lambda { |env|
+ [200, {"Content-type" => "test/plain", "Content-length" => "3"}, ["foo"]]
+ }).call(env({"REQUEST_METHOD" => "HEAD"}))
+ }.should.raise(Rack::Lint::LintError).
+ message.should.match(/body was given for HEAD/)
+ end
+
+ specify "passes valid read calls" do
+ hello_str = "hello world"
+ hello_str.force_encoding("ASCII-8BIT") if hello_str.respond_to? :force_encoding
+ lambda {
+ Rack::Lint.new(lambda { |env|
+ env["rack.input"].read
+ [201, {"Content-type" => "text/plain", "Content-length" => "0"}, []]
+ }).call(env({"rack.input" => StringIO.new(hello_str)}))
+ }.should.not.raise(Rack::Lint::LintError)
+
+ lambda {
+ Rack::Lint.new(lambda { |env|
+ env["rack.input"].read(0)
+ [201, {"Content-type" => "text/plain", "Content-length" => "0"}, []]
+ }).call(env({"rack.input" => StringIO.new(hello_str)}))
+ }.should.not.raise(Rack::Lint::LintError)
+
+ lambda {
+ Rack::Lint.new(lambda { |env|
+ env["rack.input"].read(1)
+ [201, {"Content-type" => "text/plain", "Content-length" => "0"}, []]
+ }).call(env({"rack.input" => StringIO.new(hello_str)}))
+ }.should.not.raise(Rack::Lint::LintError)
+
+ lambda {
+ Rack::Lint.new(lambda { |env|
+ env["rack.input"].read(nil)
+ [201, {"Content-type" => "text/plain", "Content-length" => "0"}, []]
+ }).call(env({"rack.input" => StringIO.new(hello_str)}))
+ }.should.not.raise(Rack::Lint::LintError)
+
+ lambda {
+ Rack::Lint.new(lambda { |env|
+ env["rack.input"].read(nil, '')
+ [201, {"Content-type" => "text/plain", "Content-length" => "0"}, []]
+ }).call(env({"rack.input" => StringIO.new(hello_str)}))
+ }.should.not.raise(Rack::Lint::LintError)
+
+ lambda {
+ Rack::Lint.new(lambda { |env|
+ env["rack.input"].read(1, '')
+ [201, {"Content-type" => "text/plain", "Content-length" => "0"}, []]
+ }).call(env({"rack.input" => StringIO.new(hello_str)}))
+ }.should.not.raise(Rack::Lint::LintError)
+ end
+end
+
+context "Rack::Lint::InputWrapper" do
+ specify "delegates :size to underlying IO object" do
+ class IOMock
+ def size
+ 101
+ end
+ end
+
+ wrapper = Rack::Lint::InputWrapper.new(IOMock.new)
+ wrapper.size.should == 101
+ end
+
+ specify "delegates :rewind to underlying IO object" do
+ io = StringIO.new("123")
+ wrapper = Rack::Lint::InputWrapper.new(io)
+ wrapper.read.should.equal "123"
+ wrapper.read.should.equal ""
+ wrapper.rewind
+ wrapper.read.should.equal "123"
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_lobster.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_lobster.rb
new file mode 100755
index 00000000000..7be267a28c0
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_lobster.rb
@@ -0,0 +1,45 @@
+require 'test/spec'
+
+require 'rack/lobster'
+require 'rack/mock'
+
+context "Rack::Lobster::LambdaLobster" do
+ specify "should be a single lambda" do
+ Rack::Lobster::LambdaLobster.should.be.kind_of Proc
+ end
+
+ specify "should look like a lobster" do
+ res = Rack::MockRequest.new(Rack::Lobster::LambdaLobster).get("/")
+ res.should.be.ok
+ res.body.should.include "(,(,,(,,,("
+ res.body.should.include "?flip"
+ end
+
+ specify "should be flippable" do
+ res = Rack::MockRequest.new(Rack::Lobster::LambdaLobster).get("/?flip")
+ res.should.be.ok
+ res.body.should.include "(,,,(,,(,("
+ end
+end
+
+context "Rack::Lobster" do
+ specify "should look like a lobster" do
+ res = Rack::MockRequest.new(Rack::Lobster.new).get("/")
+ res.should.be.ok
+ res.body.should.include "(,(,,(,,,("
+ res.body.should.include "?flip"
+ res.body.should.include "crash"
+ end
+
+ specify "should be flippable" do
+ res = Rack::MockRequest.new(Rack::Lobster.new).get("/?flip=left")
+ res.should.be.ok
+ res.body.should.include "(,,,(,,(,("
+ end
+
+ specify "should provide crashing for testing purposes" do
+ lambda {
+ Rack::MockRequest.new(Rack::Lobster.new).get("/?flip=crash")
+ }.should.raise
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_lock.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_lock.rb
new file mode 100755
index 00000000000..18af2b2347e
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_lock.rb
@@ -0,0 +1,38 @@
+require 'test/spec'
+
+require 'rack/mock'
+require 'rack/lock'
+
+context "Rack::Lock" do
+ class Lock
+ attr_reader :synchronized
+
+ def initialize
+ @synchronized = false
+ end
+
+ def synchronize
+ @synchronized = true
+ yield
+ end
+ end
+
+ specify "should call synchronize on lock" do
+ lock = Lock.new
+ env = Rack::MockRequest.env_for("/")
+ app = Rack::Lock.new(lambda { |env| }, lock)
+ lock.synchronized.should.equal false
+ app.call(env)
+ lock.synchronized.should.equal true
+ end
+
+ specify "should set multithread flag to false" do
+ app = Rack::Lock.new(lambda { |env| env['rack.multithread'] })
+ app.call(Rack::MockRequest.env_for("/")).should.equal false
+ end
+
+ specify "should reset original multithread flag when exiting lock" do
+ app = Rack::Lock.new(lambda { |env| env })
+ app.call(Rack::MockRequest.env_for("/"))['rack.multithread'].should.equal true
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_logger.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_logger.rb
new file mode 100755
index 00000000000..2033006774e
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_logger.rb
@@ -0,0 +1,21 @@
+require 'rack/logger'
+require 'rack/lint'
+require 'stringio'
+
+context "Rack::Logger" do
+ specify "logs to rack.errors" do
+ app = lambda { |env|
+ log = env['rack.logger']
+ log.debug("Created logger")
+ log.info("Program started")
+ log.warn("Nothing to do!")
+
+ [200, {'Content-Type' => 'text/plain'}, ["Hello, World!"]]
+ }
+
+ errors = StringIO.new
+ Rack::Logger.new(app).call({'rack.errors' => errors})
+ errors.string.should.match "Program started"
+ errors.string.should.match "Nothing to do"
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_methodoverride.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_methodoverride.rb
new file mode 100755
index 00000000000..57452394c31
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_methodoverride.rb
@@ -0,0 +1,60 @@
+require 'test/spec'
+
+require 'rack/mock'
+require 'rack/methodoverride'
+require 'stringio'
+
+context "Rack::MethodOverride" do
+ specify "should not affect GET requests" do
+ env = Rack::MockRequest.env_for("/?_method=delete", :method => "GET")
+ app = Rack::MethodOverride.new(lambda { |env| Rack::Request.new(env) })
+ req = app.call(env)
+
+ req.env["REQUEST_METHOD"].should.equal "GET"
+ end
+
+ specify "_method parameter should modify REQUEST_METHOD for POST requests" do
+ env = Rack::MockRequest.env_for("/", :method => "POST", :input => "_method=put")
+ app = Rack::MethodOverride.new(lambda { |env| Rack::Request.new(env) })
+ req = app.call(env)
+
+ req.env["REQUEST_METHOD"].should.equal "PUT"
+ end
+
+ specify "X-HTTP-Method-Override header should modify REQUEST_METHOD for POST requests" do
+ env = Rack::MockRequest.env_for("/",
+ :method => "POST",
+ "HTTP_X_HTTP_METHOD_OVERRIDE" => "PUT"
+ )
+ app = Rack::MethodOverride.new(lambda { |env| Rack::Request.new(env) })
+ req = app.call(env)
+
+ req.env["REQUEST_METHOD"].should.equal "PUT"
+ end
+
+ specify "should not modify REQUEST_METHOD if the method is unknown" do
+ env = Rack::MockRequest.env_for("/", :method => "POST", :input => "_method=foo")
+ app = Rack::MethodOverride.new(lambda { |env| Rack::Request.new(env) })
+ req = app.call(env)
+
+ req.env["REQUEST_METHOD"].should.equal "POST"
+ end
+
+ specify "should not modify REQUEST_METHOD when _method is nil" do
+ env = Rack::MockRequest.env_for("/", :method => "POST", :input => "foo=bar")
+ app = Rack::MethodOverride.new(lambda { |env| Rack::Request.new(env) })
+ req = app.call(env)
+
+ req.env["REQUEST_METHOD"].should.equal "POST"
+ end
+
+ specify "should store the original REQUEST_METHOD prior to overriding" do
+ env = Rack::MockRequest.env_for("/",
+ :method => "POST",
+ :input => "_method=options")
+ app = Rack::MethodOverride.new(lambda { |env| Rack::Request.new(env) })
+ req = app.call(env)
+
+ req.env["rack.methodoverride.original_method"].should.equal "POST"
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_mock.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_mock.rb
new file mode 100755
index 00000000000..a03bedc21c5
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_mock.rb
@@ -0,0 +1,243 @@
+require 'yaml'
+require 'rack/mock'
+require 'rack/request'
+require 'rack/response'
+
+app = lambda { |env|
+ req = Rack::Request.new(env)
+
+ env["mock.postdata"] = env["rack.input"].read
+ if req.GET["error"]
+ env["rack.errors"].puts req.GET["error"]
+ env["rack.errors"].flush
+ end
+
+ Rack::Response.new(env.to_yaml,
+ req.GET["status"] || 200,
+ "Content-Type" => "text/yaml").finish
+}
+
+context "Rack::MockRequest" do
+ specify "should return a MockResponse" do
+ res = Rack::MockRequest.new(app).get("")
+ res.should.be.kind_of Rack::MockResponse
+ end
+
+ specify "should be able to only return the environment" do
+ env = Rack::MockRequest.env_for("")
+ env.should.be.kind_of Hash
+ env.should.include "rack.version"
+ end
+
+ specify "should provide sensible defaults" do
+ res = Rack::MockRequest.new(app).request
+
+ env = YAML.load(res.body)
+ env["REQUEST_METHOD"].should.equal "GET"
+ env["SERVER_NAME"].should.equal "example.org"
+ env["SERVER_PORT"].should.equal "80"
+ env["QUERY_STRING"].should.equal ""
+ env["PATH_INFO"].should.equal "/"
+ env["SCRIPT_NAME"].should.equal ""
+ env["rack.url_scheme"].should.equal "http"
+ env["mock.postdata"].should.be.empty
+ end
+
+ specify "should allow GET/POST/PUT/DELETE" do
+ res = Rack::MockRequest.new(app).get("", :input => "foo")
+ env = YAML.load(res.body)
+ env["REQUEST_METHOD"].should.equal "GET"
+
+ res = Rack::MockRequest.new(app).post("", :input => "foo")
+ env = YAML.load(res.body)
+ env["REQUEST_METHOD"].should.equal "POST"
+
+ res = Rack::MockRequest.new(app).put("", :input => "foo")
+ env = YAML.load(res.body)
+ env["REQUEST_METHOD"].should.equal "PUT"
+
+ res = Rack::MockRequest.new(app).delete("", :input => "foo")
+ env = YAML.load(res.body)
+ env["REQUEST_METHOD"].should.equal "DELETE"
+
+ Rack::MockRequest.env_for("/", :method => "OPTIONS")["REQUEST_METHOD"].
+ should.equal "OPTIONS"
+ end
+
+ specify "should set content length" do
+ env = Rack::MockRequest.env_for("/", :input => "foo")
+ env["CONTENT_LENGTH"].should.equal "3"
+ end
+
+ specify "should allow posting" do
+ res = Rack::MockRequest.new(app).get("", :input => "foo")
+ env = YAML.load(res.body)
+ env["mock.postdata"].should.equal "foo"
+
+ res = Rack::MockRequest.new(app).post("", :input => StringIO.new("foo"))
+ env = YAML.load(res.body)
+ env["mock.postdata"].should.equal "foo"
+ end
+
+ specify "should use all parts of an URL" do
+ res = Rack::MockRequest.new(app).
+ get("https://bla.example.org:9292/meh/foo?bar")
+ res.should.be.kind_of Rack::MockResponse
+
+ env = YAML.load(res.body)
+ env["REQUEST_METHOD"].should.equal "GET"
+ env["SERVER_NAME"].should.equal "bla.example.org"
+ env["SERVER_PORT"].should.equal "9292"
+ env["QUERY_STRING"].should.equal "bar"
+ env["PATH_INFO"].should.equal "/meh/foo"
+ env["rack.url_scheme"].should.equal "https"
+ end
+
+ specify "should set SSL port and HTTP flag on when using https" do
+ res = Rack::MockRequest.new(app).
+ get("https://example.org/foo")
+ res.should.be.kind_of Rack::MockResponse
+
+ env = YAML.load(res.body)
+ env["REQUEST_METHOD"].should.equal "GET"
+ env["SERVER_NAME"].should.equal "example.org"
+ env["SERVER_PORT"].should.equal "443"
+ env["QUERY_STRING"].should.equal ""
+ env["PATH_INFO"].should.equal "/foo"
+ env["rack.url_scheme"].should.equal "https"
+ env["HTTPS"].should.equal "on"
+ end
+
+ specify "should prepend slash to uri path" do
+ res = Rack::MockRequest.new(app).
+ get("foo")
+ res.should.be.kind_of Rack::MockResponse
+
+ env = YAML.load(res.body)
+ env["REQUEST_METHOD"].should.equal "GET"
+ env["SERVER_NAME"].should.equal "example.org"
+ env["SERVER_PORT"].should.equal "80"
+ env["QUERY_STRING"].should.equal ""
+ env["PATH_INFO"].should.equal "/foo"
+ env["rack.url_scheme"].should.equal "http"
+ end
+
+ specify "should properly convert method name to an uppercase string" do
+ res = Rack::MockRequest.new(app).request(:get)
+ env = YAML.load(res.body)
+ env["REQUEST_METHOD"].should.equal "GET"
+ end
+
+ specify "should accept params and build query string for GET requests" do
+ res = Rack::MockRequest.new(app).get("/foo?baz=2", :params => {:foo => {:bar => "1"}})
+ env = YAML.load(res.body)
+ env["REQUEST_METHOD"].should.equal "GET"
+ env["QUERY_STRING"].should.match "baz=2"
+ env["QUERY_STRING"].should.match "foo[bar]=1"
+ env["PATH_INFO"].should.equal "/foo"
+ env["mock.postdata"].should.equal ""
+ end
+
+ specify "should accept raw input in params for GET requests" do
+ res = Rack::MockRequest.new(app).get("/foo?baz=2", :params => "foo[bar]=1")
+ env = YAML.load(res.body)
+ env["REQUEST_METHOD"].should.equal "GET"
+ env["QUERY_STRING"].should.match "baz=2"
+ env["QUERY_STRING"].should.match "foo[bar]=1"
+ env["PATH_INFO"].should.equal "/foo"
+ env["mock.postdata"].should.equal ""
+ end
+
+ specify "should accept params and build url encoded params for POST requests" do
+ res = Rack::MockRequest.new(app).post("/foo", :params => {:foo => {:bar => "1"}})
+ env = YAML.load(res.body)
+ env["REQUEST_METHOD"].should.equal "POST"
+ env["QUERY_STRING"].should.equal ""
+ env["PATH_INFO"].should.equal "/foo"
+ env["CONTENT_TYPE"].should.equal "application/x-www-form-urlencoded"
+ env["mock.postdata"].should.equal "foo[bar]=1"
+ end
+
+ specify "should accept raw input in params for POST requests" do
+ res = Rack::MockRequest.new(app).post("/foo", :params => "foo[bar]=1")
+ env = YAML.load(res.body)
+ env["REQUEST_METHOD"].should.equal "POST"
+ env["QUERY_STRING"].should.equal ""
+ env["PATH_INFO"].should.equal "/foo"
+ env["CONTENT_TYPE"].should.equal "application/x-www-form-urlencoded"
+ env["mock.postdata"].should.equal "foo[bar]=1"
+ end
+
+ specify "should accept params and build multipart encoded params for POST requests" do
+ files = Rack::Utils::Multipart::UploadedFile.new(File.join(File.dirname(__FILE__), "multipart", "file1.txt"))
+ res = Rack::MockRequest.new(app).post("/foo", :params => { "submit-name" => "Larry", "files" => files })
+ env = YAML.load(res.body)
+ env["REQUEST_METHOD"].should.equal "POST"
+ env["QUERY_STRING"].should.equal ""
+ env["PATH_INFO"].should.equal "/foo"
+ env["CONTENT_TYPE"].should.equal "multipart/form-data; boundary=AaB03x"
+ env["mock.postdata"].length.should.equal 206
+ end
+
+ specify "should behave valid according to the Rack spec" do
+ lambda {
+ res = Rack::MockRequest.new(app).
+ get("https://bla.example.org:9292/meh/foo?bar", :lint => true)
+ }.should.not.raise(Rack::Lint::LintError)
+ end
+end
+
+context "Rack::MockResponse" do
+ specify "should provide access to the HTTP status" do
+ res = Rack::MockRequest.new(app).get("")
+ res.should.be.successful
+ res.should.be.ok
+
+ res = Rack::MockRequest.new(app).get("/?status=404")
+ res.should.not.be.successful
+ res.should.be.client_error
+ res.should.be.not_found
+
+ res = Rack::MockRequest.new(app).get("/?status=501")
+ res.should.not.be.successful
+ res.should.be.server_error
+
+ res = Rack::MockRequest.new(app).get("/?status=307")
+ res.should.be.redirect
+
+ res = Rack::MockRequest.new(app).get("/?status=201", :lint => true)
+ res.should.be.empty
+ end
+
+ specify "should provide access to the HTTP headers" do
+ res = Rack::MockRequest.new(app).get("")
+ res.should.include "Content-Type"
+ res.headers["Content-Type"].should.equal "text/yaml"
+ res.original_headers["Content-Type"].should.equal "text/yaml"
+ res["Content-Type"].should.equal "text/yaml"
+ res.content_type.should.equal "text/yaml"
+ res.content_length.should.be 414 # needs change often.
+ res.location.should.be.nil
+ end
+
+ specify "should provide access to the HTTP body" do
+ res = Rack::MockRequest.new(app).get("")
+ res.body.should =~ /rack/
+ res.should =~ /rack/
+ res.should.match(/rack/)
+ res.should.satisfy { |r| r.match(/rack/) }
+ end
+
+ specify "should provide access to the Rack errors" do
+ res = Rack::MockRequest.new(app).get("/?error=foo", :lint => true)
+ res.should.be.ok
+ res.errors.should.not.be.empty
+ res.errors.should.include "foo"
+ end
+
+ specify "should optionally make Rack errors fatal" do
+ lambda {
+ Rack::MockRequest.new(app).get("/?error=foo", :fatal => true)
+ }.should.raise(Rack::MockRequest::FatalWarning)
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_mongrel.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_mongrel.rb
new file mode 100755
index 00000000000..4b38689132b
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_mongrel.rb
@@ -0,0 +1,189 @@
+require 'test/spec'
+
+begin
+require 'rack/handler/mongrel'
+require 'rack/urlmap'
+require 'rack/lint'
+require 'testrequest'
+require 'timeout'
+
+Thread.abort_on_exception = true
+$tcp_defer_accept_opts = nil
+$tcp_cork_opts = nil
+
+context "Rack::Handler::Mongrel" do
+ include TestRequest::Helpers
+
+ setup do
+ server = Mongrel::HttpServer.new(@host='0.0.0.0', @port=9201)
+ server.register('/test',
+ Rack::Handler::Mongrel.new(Rack::Lint.new(TestRequest.new)))
+ server.register('/stream',
+ Rack::Handler::Mongrel.new(Rack::Lint.new(StreamingRequest)))
+ @acc = server.run
+ end
+
+ specify "should respond" do
+ lambda {
+ GET("/test")
+ }.should.not.raise
+ end
+
+ specify "should be a Mongrel" do
+ GET("/test")
+ status.should.be 200
+ response["SERVER_SOFTWARE"].should =~ /Mongrel/
+ response["HTTP_VERSION"].should.equal "HTTP/1.1"
+ response["SERVER_PROTOCOL"].should.equal "HTTP/1.1"
+ response["SERVER_PORT"].should.equal "9201"
+ response["SERVER_NAME"].should.equal "0.0.0.0"
+ end
+
+ specify "should have rack headers" do
+ GET("/test")
+ response["rack.version"].should.equal [1,1]
+ response["rack.multithread"].should.be true
+ response["rack.multiprocess"].should.be false
+ response["rack.run_once"].should.be false
+ end
+
+ specify "should have CGI headers on GET" do
+ GET("/test")
+ response["REQUEST_METHOD"].should.equal "GET"
+ response["SCRIPT_NAME"].should.equal "/test"
+ response["REQUEST_PATH"].should.equal "/test"
+ response["PATH_INFO"].should.be.equal ""
+ response["QUERY_STRING"].should.equal ""
+ response["test.postdata"].should.equal ""
+
+ GET("/test/foo?quux=1")
+ response["REQUEST_METHOD"].should.equal "GET"
+ response["SCRIPT_NAME"].should.equal "/test"
+ response["REQUEST_PATH"].should.equal "/test/foo"
+ response["PATH_INFO"].should.equal "/foo"
+ response["QUERY_STRING"].should.equal "quux=1"
+ end
+
+ specify "should have CGI headers on POST" do
+ POST("/test", {"rack-form-data" => "23"}, {'X-test-header' => '42'})
+ status.should.equal 200
+ response["REQUEST_METHOD"].should.equal "POST"
+ response["SCRIPT_NAME"].should.equal "/test"
+ response["REQUEST_PATH"].should.equal "/test"
+ response["QUERY_STRING"].should.equal ""
+ response["HTTP_X_TEST_HEADER"].should.equal "42"
+ response["test.postdata"].should.equal "rack-form-data=23"
+ end
+
+ specify "should support HTTP auth" do
+ GET("/test", {:user => "ruth", :passwd => "secret"})
+ response["HTTP_AUTHORIZATION"].should.equal "Basic cnV0aDpzZWNyZXQ="
+ end
+
+ specify "should set status" do
+ GET("/test?secret")
+ status.should.equal 403
+ response["rack.url_scheme"].should.equal "http"
+ end
+
+ specify "should provide a .run" do
+ block_ran = false
+ Thread.new {
+ Rack::Handler::Mongrel.run(lambda {}, {:Port => 9211}) { |server|
+ server.should.be.kind_of Mongrel::HttpServer
+ block_ran = true
+ }
+ }
+ sleep 1
+ block_ran.should.be true
+ end
+
+ specify "should provide a .run that maps a hash" do
+ block_ran = false
+ Thread.new {
+ map = {'/'=>lambda{},'/foo'=>lambda{}}
+ Rack::Handler::Mongrel.run(map, :map => true, :Port => 9221) { |server|
+ server.should.be.kind_of Mongrel::HttpServer
+ server.classifier.uris.size.should.be 2
+ server.classifier.uris.should.not.include '/arf'
+ server.classifier.uris.should.include '/'
+ server.classifier.uris.should.include '/foo'
+ block_ran = true
+ }
+ }
+ sleep 1
+ block_ran.should.be true
+ end
+
+ specify "should provide a .run that maps a urlmap" do
+ block_ran = false
+ Thread.new {
+ map = Rack::URLMap.new({'/'=>lambda{},'/bar'=>lambda{}})
+ Rack::Handler::Mongrel.run(map, {:map => true, :Port => 9231}) { |server|
+ server.should.be.kind_of Mongrel::HttpServer
+ server.classifier.uris.size.should.be 2
+ server.classifier.uris.should.not.include '/arf'
+ server.classifier.uris.should.include '/'
+ server.classifier.uris.should.include '/bar'
+ block_ran = true
+ }
+ }
+ sleep 1
+ block_ran.should.be true
+ end
+
+ specify "should provide a .run that maps a urlmap restricting by host" do
+ block_ran = false
+ Thread.new {
+ map = Rack::URLMap.new({
+ '/' => lambda{},
+ '/foo' => lambda{},
+ '/bar' => lambda{},
+ 'http://localhost/' => lambda{},
+ 'http://localhost/bar' => lambda{},
+ 'http://falsehost/arf' => lambda{},
+ 'http://falsehost/qux' => lambda{}
+ })
+ opt = {:map => true, :Port => 9241, :Host => 'localhost'}
+ Rack::Handler::Mongrel.run(map, opt) { |server|
+ server.should.be.kind_of Mongrel::HttpServer
+ server.classifier.uris.should.include '/'
+ server.classifier.handler_map['/'].size.should.be 2
+ server.classifier.uris.should.include '/foo'
+ server.classifier.handler_map['/foo'].size.should.be 1
+ server.classifier.uris.should.include '/bar'
+ server.classifier.handler_map['/bar'].size.should.be 2
+ server.classifier.uris.should.not.include '/qux'
+ server.classifier.uris.should.not.include '/arf'
+ server.classifier.uris.size.should.be 3
+ block_ran = true
+ }
+ }
+ sleep 1
+ block_ran.should.be true
+ end
+
+ specify "should stream #each part of the response" do
+ body = ''
+ begin
+ Timeout.timeout(1) do
+ Net::HTTP.start(@host, @port) do |http|
+ get = Net::HTTP::Get.new('/stream')
+ http.request(get) do |response|
+ response.read_body { |part| body << part }
+ end
+ end
+ end
+ rescue Timeout::Error
+ end
+ body.should.not.be.empty
+ end
+
+ teardown do
+ @acc.raise Mongrel::StopServer
+ end
+end
+
+rescue LoadError
+ $stderr.puts "Skipping Rack::Handler::Mongrel tests (Mongrel is required). `gem install mongrel` and try again."
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_nulllogger.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_nulllogger.rb
new file mode 100755
index 00000000000..b3c2bc9c658
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_nulllogger.rb
@@ -0,0 +1,13 @@
+require 'rack/nulllogger'
+require 'rack/lint'
+require 'rack/mock'
+
+context "Rack::NullLogger" do
+ specify "acks as a nop logger" do
+ app = lambda { |env|
+ env['rack.logger'].warn "b00m"
+ [200, {'Content-Type' => 'text/plain'}, ["Hello, World!"]]
+ }
+ Rack::NullLogger.new(app).call({})
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_recursive.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_recursive.rb
new file mode 100755
index 00000000000..afc1a0d9a9c
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_recursive.rb
@@ -0,0 +1,77 @@
+require 'test/spec'
+
+require 'rack/recursive'
+require 'rack/urlmap'
+require 'rack/response'
+require 'rack/mock'
+
+context "Rack::Recursive" do
+ setup do
+
+ @app1 = lambda { |env|
+ res = Rack::Response.new
+ res["X-Path-Info"] = env["PATH_INFO"]
+ res["X-Query-String"] = env["QUERY_STRING"]
+ res.finish do |res|
+ res.write "App1"
+ end
+ }
+
+ @app2 = lambda { |env|
+ Rack::Response.new.finish do |res|
+ res.write "App2"
+ _, _, body = env['rack.recursive.include'].call(env, "/app1")
+ body.each { |b|
+ res.write b
+ }
+ end
+ }
+
+ @app3 = lambda { |env|
+ raise Rack::ForwardRequest.new("/app1")
+ }
+
+ @app4 = lambda { |env|
+ raise Rack::ForwardRequest.new("http://example.org/app1/quux?meh")
+ }
+
+ end
+
+ specify "should allow for subrequests" do
+ res = Rack::MockRequest.new(Rack::Recursive.new(
+ Rack::URLMap.new("/app1" => @app1,
+ "/app2" => @app2))).
+ get("/app2")
+
+ res.should.be.ok
+ res.body.should.equal "App2App1"
+ end
+
+ specify "should raise error on requests not below the app" do
+ app = Rack::URLMap.new("/app1" => @app1,
+ "/app" => Rack::Recursive.new(
+ Rack::URLMap.new("/1" => @app1,
+ "/2" => @app2)))
+
+ lambda {
+ Rack::MockRequest.new(app).get("/app/2")
+ }.should.raise(ArgumentError).
+ message.should =~ /can only include below/
+ end
+
+ specify "should support forwarding" do
+ app = Rack::Recursive.new(Rack::URLMap.new("/app1" => @app1,
+ "/app3" => @app3,
+ "/app4" => @app4))
+
+ res = Rack::MockRequest.new(app).get("/app3")
+ res.should.be.ok
+ res.body.should.equal "App1"
+
+ res = Rack::MockRequest.new(app).get("/app4")
+ res.should.be.ok
+ res.body.should.equal "App1"
+ res["X-Path-Info"].should.equal "/quux"
+ res["X-Query-String"].should.equal "meh"
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_request.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_request.rb
new file mode 100755
index 00000000000..a34a9675f9c
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_request.rb
@@ -0,0 +1,594 @@
+require 'test/spec'
+require 'stringio'
+
+require 'rack/request'
+require 'rack/mock'
+
+context "Rack::Request" do
+ specify "wraps the rack variables" do
+ req = Rack::Request.new(Rack::MockRequest.env_for("http://example.com:8080/"))
+
+ req.body.should.respond_to? :gets
+ req.scheme.should.equal "http"
+ req.request_method.should.equal "GET"
+
+ req.should.be.get
+ req.should.not.be.post
+ req.should.not.be.put
+ req.should.not.be.delete
+ req.should.not.be.head
+
+ req.script_name.should.equal ""
+ req.path_info.should.equal "/"
+ req.query_string.should.equal ""
+
+ req.host.should.equal "example.com"
+ req.port.should.equal 8080
+
+ req.content_length.should.equal "0"
+ req.content_type.should.be.nil
+ end
+
+ specify "can figure out the correct host" do
+ req = Rack::Request.new \
+ Rack::MockRequest.env_for("/", "HTTP_HOST" => "www2.example.org")
+ req.host.should.equal "www2.example.org"
+
+ req = Rack::Request.new \
+ Rack::MockRequest.env_for("/", "SERVER_NAME" => "example.org", "SERVER_PORT" => "9292")
+ req.host.should.equal "example.org"
+
+ req = Rack::Request.new \
+ Rack::MockRequest.env_for("/", "HTTP_HOST" => "localhost:81", "HTTP_X_FORWARDED_HOST" => "example.org:9292")
+ req.host.should.equal "example.org"
+
+ env = Rack::MockRequest.env_for("/", "SERVER_ADDR" => "192.168.1.1", "SERVER_PORT" => "9292")
+ env.delete("SERVER_NAME")
+ req = Rack::Request.new(env)
+ req.host.should.equal "192.168.1.1"
+
+ env = Rack::MockRequest.env_for("/")
+ env.delete("SERVER_NAME")
+ req = Rack::Request.new(env)
+ req.host.should.equal ""
+ end
+
+ specify "can parse the query string" do
+ req = Rack::Request.new(Rack::MockRequest.env_for("/?foo=bar&quux=bla"))
+ req.query_string.should.equal "foo=bar&quux=bla"
+ req.GET.should.equal "foo" => "bar", "quux" => "bla"
+ req.POST.should.be.empty
+ req.params.should.equal "foo" => "bar", "quux" => "bla"
+ end
+
+ specify "raises if rack.input is missing" do
+ req = Rack::Request.new({})
+ lambda { req.POST }.should.raise(RuntimeError)
+ end
+
+ specify "can parse POST data when method is POST and no Content-Type given" do
+ req = Rack::Request.new \
+ Rack::MockRequest.env_for("/?foo=quux",
+ "REQUEST_METHOD" => 'POST',
+ :input => "foo=bar&quux=bla")
+ req.content_type.should.be.nil
+ req.media_type.should.be.nil
+ req.query_string.should.equal "foo=quux"
+ req.GET.should.equal "foo" => "quux"
+ req.POST.should.equal "foo" => "bar", "quux" => "bla"
+ req.params.should.equal "foo" => "bar", "quux" => "bla"
+ end
+
+ specify "limit the keys from the GET query string" do
+ env = Rack::MockRequest.env_for("/?foo=bar")
+
+ old, Rack::Utils.key_space_limit = Rack::Utils.key_space_limit, 1
+ begin
+ req = Rack::Request.new(env)
+ lambda { req.GET }.should.raise(RangeError)
+ ensure
+ Rack::Utils.key_space_limit = old
+ end
+ end
+
+ specify "limit the keys from the POST form data" do
+ env = Rack::MockRequest.env_for("",
+ "REQUEST_METHOD" => 'POST',
+ :input => "foo=bar&quux=bla")
+
+ old, Rack::Utils.key_space_limit = Rack::Utils.key_space_limit, 1
+ begin
+ req = Rack::Request.new(env)
+ lambda { req.POST }.should.raise(RangeError)
+ ensure
+ Rack::Utils.key_space_limit = old
+ end
+ end
+
+ specify "can parse POST data with explicit content type regardless of method" do
+ req = Rack::Request.new \
+ Rack::MockRequest.env_for("/",
+ "CONTENT_TYPE" => 'application/x-www-form-urlencoded;foo=bar',
+ :input => "foo=bar&quux=bla")
+ req.content_type.should.equal 'application/x-www-form-urlencoded;foo=bar'
+ req.media_type.should.equal 'application/x-www-form-urlencoded'
+ req.media_type_params['foo'].should.equal 'bar'
+ req.POST.should.equal "foo" => "bar", "quux" => "bla"
+ req.params.should.equal "foo" => "bar", "quux" => "bla"
+ end
+
+ specify "does not parse POST data when media type is not form-data" do
+ req = Rack::Request.new \
+ Rack::MockRequest.env_for("/?foo=quux",
+ "REQUEST_METHOD" => 'POST',
+ "CONTENT_TYPE" => 'text/plain;charset=utf-8',
+ :input => "foo=bar&quux=bla")
+ req.content_type.should.equal 'text/plain;charset=utf-8'
+ req.media_type.should.equal 'text/plain'
+ req.media_type_params['charset'].should.equal 'utf-8'
+ req.POST.should.be.empty
+ req.params.should.equal "foo" => "quux"
+ req.body.read.should.equal "foo=bar&quux=bla"
+ end
+
+ specify "can parse POST data on PUT when media type is form-data" do
+ req = Rack::Request.new \
+ Rack::MockRequest.env_for("/?foo=quux",
+ "REQUEST_METHOD" => 'PUT',
+ "CONTENT_TYPE" => 'application/x-www-form-urlencoded',
+ :input => "foo=bar&quux=bla")
+ req.POST.should.equal "foo" => "bar", "quux" => "bla"
+ req.body.read.should.equal "foo=bar&quux=bla"
+ end
+
+ specify "rewinds input after parsing POST data" do
+ input = StringIO.new("foo=bar&quux=bla")
+ req = Rack::Request.new \
+ Rack::MockRequest.env_for("/",
+ "CONTENT_TYPE" => 'application/x-www-form-urlencoded;foo=bar',
+ :input => input)
+ req.params.should.equal "foo" => "bar", "quux" => "bla"
+ input.read.should.equal "foo=bar&quux=bla"
+ end
+
+ specify "cleans up Safari's ajax POST body" do
+ req = Rack::Request.new \
+ Rack::MockRequest.env_for("/",
+ 'REQUEST_METHOD' => 'POST', :input => "foo=bar&quux=bla\0")
+ req.POST.should.equal "foo" => "bar", "quux" => "bla"
+ end
+
+ specify "can get value by key from params with #[]" do
+ req = Rack::Request.new \
+ Rack::MockRequest.env_for("?foo=quux")
+ req['foo'].should.equal 'quux'
+ req[:foo].should.equal 'quux'
+ end
+
+ specify "can set value to key on params with #[]=" do
+ req = Rack::Request.new \
+ Rack::MockRequest.env_for("?foo=duh")
+ req['foo'].should.equal 'duh'
+ req[:foo].should.equal 'duh'
+ req.params.should.equal 'foo' => 'duh'
+
+ req['foo'] = 'bar'
+ req.params.should.equal 'foo' => 'bar'
+ req['foo'].should.equal 'bar'
+ req[:foo].should.equal 'bar'
+
+ req[:foo] = 'jaz'
+ req.params.should.equal 'foo' => 'jaz'
+ req['foo'].should.equal 'jaz'
+ req[:foo].should.equal 'jaz'
+ end
+
+ specify "values_at answers values by keys in order given" do
+ req = Rack::Request.new \
+ Rack::MockRequest.env_for("?foo=baz&wun=der&bar=ful")
+ req.values_at('foo').should.equal ['baz']
+ req.values_at('foo', 'wun').should.equal ['baz', 'der']
+ req.values_at('bar', 'foo', 'wun').should.equal ['ful', 'baz', 'der']
+ end
+
+ specify "referrer should be extracted correct" do
+ req = Rack::Request.new \
+ Rack::MockRequest.env_for("/", "HTTP_REFERER" => "/some/path")
+ req.referer.should.equal "/some/path"
+
+ req = Rack::Request.new \
+ Rack::MockRequest.env_for("/")
+ req.referer.should.equal "/"
+ end
+
+ specify "user agent should be extracted correct" do
+ req = Rack::Request.new \
+ Rack::MockRequest.env_for("/", "HTTP_USER_AGENT" => "Mozilla/4.0 (compatible)")
+ req.user_agent.should.equal "Mozilla/4.0 (compatible)"
+
+ req = Rack::Request.new \
+ Rack::MockRequest.env_for("/")
+ req.user_agent.should.equal nil
+ end
+
+ specify "can cache, but invalidates the cache" do
+ req = Rack::Request.new \
+ Rack::MockRequest.env_for("/?foo=quux",
+ "CONTENT_TYPE" => "application/x-www-form-urlencoded",
+ :input => "foo=bar&quux=bla")
+ req.GET.should.equal "foo" => "quux"
+ req.GET.should.equal "foo" => "quux"
+ req.env["QUERY_STRING"] = "bla=foo"
+ req.GET.should.equal "bla" => "foo"
+ req.GET.should.equal "bla" => "foo"
+
+ req.POST.should.equal "foo" => "bar", "quux" => "bla"
+ req.POST.should.equal "foo" => "bar", "quux" => "bla"
+ req.env["rack.input"] = StringIO.new("foo=bla&quux=bar")
+ req.POST.should.equal "foo" => "bla", "quux" => "bar"
+ req.POST.should.equal "foo" => "bla", "quux" => "bar"
+ end
+
+ specify "can figure out if called via XHR" do
+ req = Rack::Request.new(Rack::MockRequest.env_for(""))
+ req.should.not.be.xhr
+
+ req = Rack::Request.new \
+ Rack::MockRequest.env_for("", "HTTP_X_REQUESTED_WITH" => "XMLHttpRequest")
+ req.should.be.xhr
+ end
+
+ specify "can parse cookies" do
+ req = Rack::Request.new \
+ Rack::MockRequest.env_for("", "HTTP_COOKIE" => "foo=bar;quux=h&m")
+ req.cookies.should.equal "foo" => "bar", "quux" => "h&m"
+ req.cookies.should.equal "foo" => "bar", "quux" => "h&m"
+ req.env.delete("HTTP_COOKIE")
+ req.cookies.should.equal({})
+ end
+
+ specify "parses cookies according to RFC 2109" do
+ req = Rack::Request.new \
+ Rack::MockRequest.env_for('', 'HTTP_COOKIE' => 'foo=bar;foo=car')
+ req.cookies.should.equal 'foo' => 'bar'
+ end
+
+ specify "provides setters" do
+ req = Rack::Request.new(e=Rack::MockRequest.env_for(""))
+ req.script_name.should.equal ""
+ req.script_name = "/foo"
+ req.script_name.should.equal "/foo"
+ e["SCRIPT_NAME"].should.equal "/foo"
+
+ req.path_info.should.equal "/"
+ req.path_info = "/foo"
+ req.path_info.should.equal "/foo"
+ e["PATH_INFO"].should.equal "/foo"
+ end
+
+ specify "provides the original env" do
+ req = Rack::Request.new(e=Rack::MockRequest.env_for(""))
+ req.env.should.be e
+ end
+
+ specify "can restore the URL" do
+ Rack::Request.new(Rack::MockRequest.env_for("")).url.
+ should.equal "http://example.org/"
+ Rack::Request.new(Rack::MockRequest.env_for("", "SCRIPT_NAME" => "/foo")).url.
+ should.equal "http://example.org/foo/"
+ Rack::Request.new(Rack::MockRequest.env_for("/foo")).url.
+ should.equal "http://example.org/foo"
+ Rack::Request.new(Rack::MockRequest.env_for("?foo")).url.
+ should.equal "http://example.org/?foo"
+ Rack::Request.new(Rack::MockRequest.env_for("http://example.org:8080/")).url.
+ should.equal "http://example.org:8080/"
+ Rack::Request.new(Rack::MockRequest.env_for("https://example.org/")).url.
+ should.equal "https://example.org/"
+
+ Rack::Request.new(Rack::MockRequest.env_for("https://example.com:8080/foo?foo")).url.
+ should.equal "https://example.com:8080/foo?foo"
+ end
+
+ specify "can restore the full path" do
+ Rack::Request.new(Rack::MockRequest.env_for("")).fullpath.
+ should.equal "/"
+ Rack::Request.new(Rack::MockRequest.env_for("", "SCRIPT_NAME" => "/foo")).fullpath.
+ should.equal "/foo/"
+ Rack::Request.new(Rack::MockRequest.env_for("/foo")).fullpath.
+ should.equal "/foo"
+ Rack::Request.new(Rack::MockRequest.env_for("?foo")).fullpath.
+ should.equal "/?foo"
+ Rack::Request.new(Rack::MockRequest.env_for("http://example.org:8080/")).fullpath.
+ should.equal "/"
+ Rack::Request.new(Rack::MockRequest.env_for("https://example.org/")).fullpath.
+ should.equal "/"
+
+ Rack::Request.new(Rack::MockRequest.env_for("https://example.com:8080/foo?foo")).fullpath.
+ should.equal "/foo?foo"
+ end
+
+ specify "can handle multiple media type parameters" do
+ req = Rack::Request.new \
+ Rack::MockRequest.env_for("/",
+ "CONTENT_TYPE" => 'text/plain; foo=BAR,baz=bizzle dizzle;BLING=bam')
+ req.should.not.be.form_data
+ req.media_type_params.should.include 'foo'
+ req.media_type_params['foo'].should.equal 'BAR'
+ req.media_type_params.should.include 'baz'
+ req.media_type_params['baz'].should.equal 'bizzle dizzle'
+ req.media_type_params.should.not.include 'BLING'
+ req.media_type_params.should.include 'bling'
+ req.media_type_params['bling'].should.equal 'bam'
+ end
+
+ specify "raise RangeError if the key space is exhausted" do
+ input = <<EOF
+--AaB03x\r
+Content-Disposition: form-data; name="text"\r
+Content-Type: text/plain; charset=US-ASCII\r
+\r
+contents\r
+--AaB03x--\r
+EOF
+
+ env = Rack::MockRequest.env_for("/",
+ "CONTENT_TYPE" => "multipart/form-data, boundary=AaB03x",
+ "CONTENT_LENGTH" => input.size,
+ :input => input)
+
+ old, Rack::Utils.key_space_limit = Rack::Utils.key_space_limit, 1
+ begin
+ lambda { Rack::Utils::Multipart.parse_multipart(env) }.should.raise(RangeError)
+ ensure
+ Rack::Utils.key_space_limit = old
+ end
+ end
+
+ specify "can parse multipart form data" do
+ # Adapted from RFC 1867.
+ input = <<EOF
+--AaB03x\r
+content-disposition: form-data; name="reply"\r
+\r
+yes\r
+--AaB03x\r
+content-disposition: form-data; name="fileupload"; filename="dj.jpg"\r
+Content-Type: image/jpeg\r
+Content-Transfer-Encoding: base64\r
+\r
+/9j/4AAQSkZJRgABAQAAAQABAAD//gA+Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcg\r
+--AaB03x--\r
+EOF
+ req = Rack::Request.new Rack::MockRequest.env_for("/",
+ "CONTENT_TYPE" => "multipart/form-data, boundary=AaB03x",
+ "CONTENT_LENGTH" => input.size,
+ :input => input)
+
+ req.POST.should.include "fileupload"
+ req.POST.should.include "reply"
+
+ req.should.be.form_data
+ req.content_length.should.equal input.size
+ req.media_type.should.equal 'multipart/form-data'
+ req.media_type_params.should.include 'boundary'
+ req.media_type_params['boundary'].should.equal 'AaB03x'
+
+ req.POST["reply"].should.equal "yes"
+
+ f = req.POST["fileupload"]
+ f.should.be.kind_of Hash
+ f[:type].should.equal "image/jpeg"
+ f[:filename].should.equal "dj.jpg"
+ f.should.include :tempfile
+ f[:tempfile].size.should.equal 76
+ end
+
+ specify "can parse big multipart form data" do
+ input = <<EOF
+--AaB03x\r
+content-disposition: form-data; name="huge"; filename="huge"\r
+\r
+#{"x"*32768}\r
+--AaB03x\r
+content-disposition: form-data; name="mean"; filename="mean"\r
+\r
+--AaB03xha\r
+--AaB03x--\r
+EOF
+ req = Rack::Request.new Rack::MockRequest.env_for("/",
+ "CONTENT_TYPE" => "multipart/form-data, boundary=AaB03x",
+ "CONTENT_LENGTH" => input.size,
+ :input => input)
+
+ req.POST["huge"][:tempfile].size.should.equal 32768
+ req.POST["mean"][:tempfile].size.should.equal 10
+ req.POST["mean"][:tempfile].read.should.equal "--AaB03xha"
+ end
+
+ specify "can detect invalid multipart form data" do
+ input = <<EOF
+--AaB03x\r
+content-disposition: form-data; name="huge"; filename="huge"\r
+EOF
+ req = Rack::Request.new Rack::MockRequest.env_for("/",
+ "CONTENT_TYPE" => "multipart/form-data, boundary=AaB03x",
+ "CONTENT_LENGTH" => input.size,
+ :input => input)
+
+ lambda { req.POST }.should.raise(EOFError)
+
+ input = <<EOF
+--AaB03x\r
+content-disposition: form-data; name="huge"; filename="huge"\r
+\r
+foo\r
+EOF
+ req = Rack::Request.new Rack::MockRequest.env_for("/",
+ "CONTENT_TYPE" => "multipart/form-data, boundary=AaB03x",
+ "CONTENT_LENGTH" => input.size,
+ :input => input)
+
+ lambda { req.POST }.should.raise(EOFError)
+
+ input = <<EOF
+--AaB03x\r
+content-disposition: form-data; name="huge"; filename="huge"\r
+\r
+foo\r
+EOF
+ req = Rack::Request.new Rack::MockRequest.env_for("/",
+ "CONTENT_TYPE" => "multipart/form-data, boundary=AaB03x",
+ "CONTENT_LENGTH" => input.size,
+ :input => input)
+
+ lambda { req.POST }.should.raise(EOFError)
+ end
+
+ specify "shouldn't try to interpret binary as utf8" do
+ begin
+ original_kcode = $KCODE
+ $KCODE='UTF8'
+
+ input = <<EOF
+--AaB03x\r
+content-disposition: form-data; name="fileupload"; filename="junk.a"\r
+content-type: application/octet-stream\r
+\r
+#{[0x36,0xCF,0x0A,0xF8].pack('c*')}\r
+--AaB03x--\r
+EOF
+
+ req = Rack::Request.new Rack::MockRequest.env_for("/",
+ "CONTENT_TYPE" => "multipart/form-data, boundary=AaB03x",
+ "CONTENT_LENGTH" => input.size,
+ :input => input)
+
+ lambda{req.POST}.should.not.raise(EOFError)
+ req.POST["fileupload"][:tempfile].size.should.equal 4
+ ensure
+ $KCODE = original_kcode
+ end
+ end
+
+
+ specify "should work around buggy 1.8.* Tempfile equality" do
+ input = <<EOF
+--AaB03x\r
+content-disposition: form-data; name="huge"; filename="huge"\r
+\r
+foo\r
+--AaB03x--
+EOF
+
+ rack_input = Tempfile.new("rackspec")
+ rack_input.write(input)
+ rack_input.rewind
+
+ req = Rack::Request.new Rack::MockRequest.env_for("/",
+ "CONTENT_TYPE" => "multipart/form-data, boundary=AaB03x",
+ "CONTENT_LENGTH" => input.size,
+ :input => rack_input)
+
+ lambda {req.POST}.should.not.raise
+ lambda {req.POST}.should.blaming("input re-processed!").not.raise
+ end
+
+ specify "does conform to the Rack spec" do
+ app = lambda { |env|
+ content = Rack::Request.new(env).POST["file"].inspect
+ size = content.respond_to?(:bytesize) ? content.bytesize : content.size
+ [200, {"Content-Type" => "text/html", "Content-Length" => size.to_s}, [content]]
+ }
+
+ input = <<EOF
+--AaB03x\r
+content-disposition: form-data; name="reply"\r
+\r
+yes\r
+--AaB03x\r
+content-disposition: form-data; name="fileupload"; filename="dj.jpg"\r
+Content-Type: image/jpeg\r
+Content-Transfer-Encoding: base64\r
+\r
+/9j/4AAQSkZJRgABAQAAAQABAAD//gA+Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcg\r
+--AaB03x--\r
+EOF
+ input.force_encoding("ASCII-8BIT") if input.respond_to? :force_encoding
+ res = Rack::MockRequest.new(Rack::Lint.new(app)).get "/",
+ "CONTENT_TYPE" => "multipart/form-data, boundary=AaB03x",
+ "CONTENT_LENGTH" => input.size.to_s, "rack.input" => StringIO.new(input)
+
+ res.should.be.ok
+ end
+
+ specify "should parse Accept-Encoding correctly" do
+ parser = lambda do |x|
+ Rack::Request.new(Rack::MockRequest.env_for("", "HTTP_ACCEPT_ENCODING" => x)).accept_encoding
+ end
+
+ parser.call(nil).should.equal([])
+
+ parser.call("compress, gzip").should.equal([["compress", 1.0], ["gzip", 1.0]])
+ parser.call("").should.equal([])
+ parser.call("*").should.equal([["*", 1.0]])
+ parser.call("compress;q=0.5, gzip;q=1.0").should.equal([["compress", 0.5], ["gzip", 1.0]])
+ parser.call("gzip;q=1.0, identity; q=0.5, *;q=0").should.equal([["gzip", 1.0], ["identity", 0.5], ["*", 0] ])
+
+ lambda { parser.call("gzip ; q=1.0") }.should.raise(RuntimeError)
+ end
+
+ specify 'should provide ip information' do
+ app = lambda { |env|
+ request = Rack::Request.new(env)
+ response = Rack::Response.new
+ response.write request.ip
+ response.finish
+ }
+
+ mock = Rack::MockRequest.new(Rack::Lint.new(app))
+ res = mock.get '/', 'REMOTE_ADDR' => '123.123.123.123'
+ res.body.should.equal '123.123.123.123'
+
+ res = mock.get '/',
+ 'REMOTE_ADDR' => '123.123.123.123',
+ 'HTTP_X_FORWARDED_FOR' => '234.234.234.234'
+
+ res.body.should.equal '234.234.234.234'
+
+ res = mock.get '/',
+ 'REMOTE_ADDR' => '123.123.123.123',
+ 'HTTP_X_FORWARDED_FOR' => '234.234.234.234,212.212.212.212'
+
+ res.body.should.equal '212.212.212.212'
+ end
+
+ class MyRequest < Rack::Request
+ def params
+ {:foo => "bar"}
+ end
+ end
+
+ specify "should allow subclass request to be instantiated after parent request" do
+ env = Rack::MockRequest.env_for("/?foo=bar")
+
+ req1 = Rack::Request.new(env)
+ req1.GET.should.equal "foo" => "bar"
+ req1.params.should.equal "foo" => "bar"
+
+ req2 = MyRequest.new(env)
+ req2.GET.should.equal "foo" => "bar"
+ req2.params.should.equal :foo => "bar"
+ end
+
+ specify "should allow parent request to be instantiated after subclass request" do
+ env = Rack::MockRequest.env_for("/?foo=bar")
+
+ req1 = MyRequest.new(env)
+ req1.GET.should.equal "foo" => "bar"
+ req1.params.should.equal :foo => "bar"
+
+ req2 = Rack::Request.new(env)
+ req2.GET.should.equal "foo" => "bar"
+ req2.params.should.equal "foo" => "bar"
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_response.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_response.rb
new file mode 100755
index 00000000000..31c7f3ad520
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_response.rb
@@ -0,0 +1,221 @@
+require 'test/spec'
+require 'set'
+
+require 'rack/response'
+
+context "Rack::Response" do
+ specify "has sensible default values" do
+ response = Rack::Response.new
+ status, header, body = response.finish
+ status.should.equal 200
+ header.should.equal "Content-Type" => "text/html"
+ body.each { |part|
+ part.should.equal ""
+ }
+
+ response = Rack::Response.new
+ status, header, body = *response
+ status.should.equal 200
+ header.should.equal "Content-Type" => "text/html"
+ body.each { |part|
+ part.should.equal ""
+ }
+ end
+
+ specify "can be written to" do
+ response = Rack::Response.new
+
+ status, header, body = response.finish do
+ response.write "foo"
+ response.write "bar"
+ response.write "baz"
+ end
+
+ parts = []
+ body.each { |part| parts << part }
+
+ parts.should.equal ["foo", "bar", "baz"]
+ end
+
+ specify "can set and read headers" do
+ response = Rack::Response.new
+ response["Content-Type"].should.equal "text/html"
+ response["Content-Type"] = "text/plain"
+ response["Content-Type"].should.equal "text/plain"
+ end
+
+ specify "can set cookies" do
+ response = Rack::Response.new
+
+ response.set_cookie "foo", "bar"
+ response["Set-Cookie"].should.equal "foo=bar"
+ response.set_cookie "foo2", "bar2"
+ response["Set-Cookie"].should.equal ["foo=bar", "foo2=bar2"].join("\n")
+ response.set_cookie "foo3", "bar3"
+ response["Set-Cookie"].should.equal ["foo=bar", "foo2=bar2", "foo3=bar3"].join("\n")
+ end
+
+ specify "formats the Cookie expiration date accordingly to RFC 2109" do
+ response = Rack::Response.new
+
+ response.set_cookie "foo", {:value => "bar", :expires => Time.now+10}
+ response["Set-Cookie"].should.match(
+ /expires=..., \d\d-...-\d\d\d\d \d\d:\d\d:\d\d .../)
+ end
+
+ specify "can set secure cookies" do
+ response = Rack::Response.new
+ response.set_cookie "foo", {:value => "bar", :secure => true}
+ response["Set-Cookie"].should.equal "foo=bar; secure"
+ end
+
+ specify "can set http only cookies" do
+ response = Rack::Response.new
+ response.set_cookie "foo", {:value => "bar", :httponly => true}
+ response["Set-Cookie"].should.equal "foo=bar; HttpOnly"
+ end
+
+ specify "can delete cookies" do
+ response = Rack::Response.new
+ response.set_cookie "foo", "bar"
+ response.set_cookie "foo2", "bar2"
+ response.delete_cookie "foo"
+ response["Set-Cookie"].should.equal ["foo2=bar2",
+ "foo=; expires=Thu, 01-Jan-1970 00:00:00 GMT"].join("\n")
+ end
+
+ specify "can do redirects" do
+ response = Rack::Response.new
+ response.redirect "/foo"
+ status, header, body = response.finish
+
+ status.should.equal 302
+ header["Location"].should.equal "/foo"
+
+ response = Rack::Response.new
+ response.redirect "/foo", 307
+ status, header, body = response.finish
+
+ status.should.equal 307
+ end
+
+ specify "has a useful constructor" do
+ r = Rack::Response.new("foo")
+ status, header, body = r.finish
+ str = ""; body.each { |part| str << part }
+ str.should.equal "foo"
+
+ r = Rack::Response.new(["foo", "bar"])
+ status, header, body = r.finish
+ str = ""; body.each { |part| str << part }
+ str.should.equal "foobar"
+
+ r = Rack::Response.new(["foo", "bar"].to_set)
+ r.write "foo"
+ status, header, body = r.finish
+ str = ""; body.each { |part| str << part }
+ str.should.equal "foobarfoo"
+
+ r = Rack::Response.new([], 500)
+ r.status.should.equal 500
+
+ r = Rack::Response.new([], "200 OK")
+ r.status.should.equal 200
+ end
+
+ specify "has a constructor that can take a block" do
+ r = Rack::Response.new { |res|
+ res.status = 404
+ res.write "foo"
+ }
+ status, header, body = r.finish
+ str = ""; body.each { |part| str << part }
+ str.should.equal "foo"
+ status.should.equal 404
+ end
+
+ specify "doesn't return invalid responses" do
+ r = Rack::Response.new(["foo", "bar"], 204)
+ status, header, body = r.finish
+ str = ""; body.each { |part| str << part }
+ str.should.be.empty
+ header["Content-Type"].should.equal nil
+
+ lambda {
+ Rack::Response.new(Object.new)
+ }.should.raise(TypeError).
+ message.should =~ /stringable or iterable required/
+ end
+
+ specify "knows if it's empty" do
+ r = Rack::Response.new
+ r.should.be.empty
+ r.write "foo"
+ r.should.not.be.empty
+
+ r = Rack::Response.new
+ r.should.be.empty
+ r.finish
+ r.should.be.empty
+
+ r = Rack::Response.new
+ r.should.be.empty
+ r.finish { }
+ r.should.not.be.empty
+ end
+
+ specify "should provide access to the HTTP status" do
+ res = Rack::Response.new
+ res.status = 200
+ res.should.be.successful
+ res.should.be.ok
+
+ res.status = 404
+ res.should.not.be.successful
+ res.should.be.client_error
+ res.should.be.not_found
+
+ res.status = 501
+ res.should.not.be.successful
+ res.should.be.server_error
+
+ res.status = 307
+ res.should.be.redirect
+ end
+
+ specify "should provide access to the HTTP headers" do
+ res = Rack::Response.new
+ res["Content-Type"] = "text/yaml"
+
+ res.should.include "Content-Type"
+ res.headers["Content-Type"].should.equal "text/yaml"
+ res["Content-Type"].should.equal "text/yaml"
+ res.content_type.should.equal "text/yaml"
+ res.content_length.should.be.nil
+ res.location.should.be.nil
+ end
+
+ specify "does not add or change Content-Length when #finish()ing" do
+ res = Rack::Response.new
+ res.status = 200
+ res.finish
+ res.headers["Content-Length"].should.be.nil
+
+ res = Rack::Response.new
+ res.status = 200
+ res.headers["Content-Length"] = "10"
+ res.finish
+ res.headers["Content-Length"].should.equal "10"
+ end
+
+ specify "updates Content-Length when body appended to using #write" do
+ res = Rack::Response.new
+ res.status = 200
+ res.headers["Content-Length"].should.be.nil
+ res.write "Hi"
+ res.headers["Content-Length"].should.equal "2"
+ res.write " there"
+ res.headers["Content-Length"].should.equal "8"
+ end
+
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_rewindable_input.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_rewindable_input.rb
new file mode 100755
index 00000000000..78bebfc90ae
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_rewindable_input.rb
@@ -0,0 +1,118 @@
+require 'test/spec'
+require 'stringio'
+require 'rack/rewindable_input'
+
+shared_context "a rewindable IO object" do
+ setup do
+ @rio = Rack::RewindableInput.new(@io)
+ end
+
+ teardown do
+ @rio.close
+ end
+
+ specify "should be able to handle to read()" do
+ @rio.read.should.equal "hello world"
+ end
+
+ specify "should be able to handle to read(nil)" do
+ @rio.read(nil).should.equal "hello world"
+ end
+
+ specify "should be able to handle to read(length)" do
+ @rio.read(1).should.equal "h"
+ end
+
+ specify "should be able to handle to read(length, buffer)" do
+ buffer = ""
+ result = @rio.read(1, buffer)
+ result.should.equal "h"
+ result.object_id.should.equal buffer.object_id
+ end
+
+ specify "should be able to handle to read(nil, buffer)" do
+ buffer = ""
+ result = @rio.read(nil, buffer)
+ result.should.equal "hello world"
+ result.object_id.should.equal buffer.object_id
+ end
+
+ specify "should rewind to the beginning when #rewind is called" do
+ @rio.read(1)
+ @rio.rewind
+ @rio.read.should.equal "hello world"
+ end
+
+ specify "should be able to handle gets" do
+ @rio.gets.should == "hello world"
+ end
+
+ specify "should be able to handle each" do
+ array = []
+ @rio.each do |data|
+ array << data
+ end
+ array.should.equal(["hello world"])
+ end
+
+ specify "should not buffer into a Tempfile if no data has been read yet" do
+ @rio.instance_variable_get(:@rewindable_io).should.be.nil
+ end
+
+ specify "should buffer into a Tempfile when data has been consumed for the first time" do
+ @rio.read(1)
+ tempfile = @rio.instance_variable_get(:@rewindable_io)
+ tempfile.should.not.be.nil
+ @rio.read(1)
+ tempfile2 = @rio.instance_variable_get(:@rewindable_io)
+ tempfile2.should.equal tempfile
+ end
+
+ specify "should close the underlying tempfile upon calling #close" do
+ @rio.read(1)
+ tempfile = @rio.instance_variable_get(:@rewindable_io)
+ @rio.close
+ tempfile.should.be.closed
+ end
+
+ specify "should be possibel to call #close when no data has been buffered yet" do
+ @rio.close
+ end
+
+ specify "should be possible to call #close multiple times" do
+ @rio.close
+ @rio.close
+ end
+end
+
+context "Rack::RewindableInput" do
+ context "given an IO object that is already rewindable" do
+ setup do
+ @io = StringIO.new("hello world")
+ end
+
+ it_should_behave_like "a rewindable IO object"
+ end
+
+ context "given an IO object that is not rewindable" do
+ setup do
+ @io = StringIO.new("hello world")
+ @io.instance_eval do
+ undef :rewind
+ end
+ end
+
+ it_should_behave_like "a rewindable IO object"
+ end
+
+ context "given an IO object whose rewind method raises Errno::ESPIPE" do
+ setup do
+ @io = StringIO.new("hello world")
+ def @io.rewind
+ raise Errno::ESPIPE, "You can't rewind this!"
+ end
+ end
+
+ it_should_behave_like "a rewindable IO object"
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_runtime.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_runtime.rb
new file mode 100755
index 00000000000..62d8095646d
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_runtime.rb
@@ -0,0 +1,35 @@
+require 'test/spec'
+require 'rack/mock'
+require 'rack/runtime'
+
+context "Rack::Runtime" do
+ specify "sets X-Runtime is none is set" do
+ app = lambda { |env| [200, {'Content-Type' => 'text/plain'}, "Hello, World!"] }
+ response = Rack::Runtime.new(app).call({})
+ response[1]['X-Runtime'].should =~ /[\d\.]+/
+ end
+
+ specify "does not set the X-Runtime if it is already set" do
+ app = lambda { |env| [200, {'Content-Type' => 'text/plain', "X-Runtime" => "foobar"}, "Hello, World!"] }
+ response = Rack::Runtime.new(app).call({})
+ response[1]['X-Runtime'].should == "foobar"
+ end
+
+ specify "should allow a suffix to be set" do
+ app = lambda { |env| [200, {'Content-Type' => 'text/plain'}, "Hello, World!"] }
+ response = Rack::Runtime.new(app, "Test").call({})
+ response[1]['X-Runtime-Test'].should =~ /[\d\.]+/
+ end
+
+ specify "should allow multiple timers to be set" do
+ app = lambda { |env| [200, {'Content-Type' => 'text/plain'}, "Hello, World!"] }
+ runtime1 = Rack::Runtime.new(app, "App")
+ runtime2 = Rack::Runtime.new(runtime1, "All")
+ response = runtime2.call({})
+
+ response[1]['X-Runtime-App'].should =~ /[\d\.]+/
+ response[1]['X-Runtime-All'].should =~ /[\d\.]+/
+
+ Float(response[1]['X-Runtime-All']).should > Float(response[1]['X-Runtime-App'])
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_sendfile.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_sendfile.rb
new file mode 100755
index 00000000000..8cfe2017b52
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_sendfile.rb
@@ -0,0 +1,86 @@
+require 'test/spec'
+require 'rack/mock'
+require 'rack/sendfile'
+
+context "Rack::File" do
+ specify "should respond to #to_path" do
+ Rack::File.new(Dir.pwd).should.respond_to :to_path
+ end
+end
+
+context "Rack::Sendfile" do
+ def sendfile_body
+ res = ['Hello World']
+ def res.to_path ; "/tmp/hello.txt" ; end
+ res
+ end
+
+ def simple_app(body=sendfile_body)
+ lambda { |env| [200, {'Content-Type' => 'text/plain'}, body] }
+ end
+
+ def sendfile_app(body=sendfile_body)
+ Rack::Sendfile.new(simple_app(body))
+ end
+
+ setup do
+ @request = Rack::MockRequest.new(sendfile_app)
+ end
+
+ def request(headers={})
+ yield @request.get('/', headers)
+ end
+
+ specify "does nothing when no X-Sendfile-Type header present" do
+ request do |response|
+ response.should.be.ok
+ response.body.should.equal 'Hello World'
+ response.headers.should.not.include 'X-Sendfile'
+ end
+ end
+
+ specify "sets X-Sendfile response header and discards body" do
+ request 'HTTP_X_SENDFILE_TYPE' => 'X-Sendfile' do |response|
+ response.should.be.ok
+ response.body.should.be.empty
+ response.headers['X-Sendfile'].should.equal '/tmp/hello.txt'
+ end
+ end
+
+ specify "sets X-Lighttpd-Send-File response header and discards body" do
+ request 'HTTP_X_SENDFILE_TYPE' => 'X-Lighttpd-Send-File' do |response|
+ response.should.be.ok
+ response.body.should.be.empty
+ response.headers['X-Lighttpd-Send-File'].should.equal '/tmp/hello.txt'
+ end
+ end
+
+ specify "sets X-Accel-Redirect response header and discards body" do
+ headers = {
+ 'HTTP_X_SENDFILE_TYPE' => 'X-Accel-Redirect',
+ 'HTTP_X_ACCEL_MAPPING' => '/tmp/=/foo/bar/'
+ }
+ request headers do |response|
+ response.should.be.ok
+ response.body.should.be.empty
+ response.headers['X-Accel-Redirect'].should.equal '/foo/bar/hello.txt'
+ end
+ end
+
+ specify 'writes to rack.error when no X-Accel-Mapping is specified' do
+ request 'HTTP_X_SENDFILE_TYPE' => 'X-Accel-Redirect' do |response|
+ response.should.be.ok
+ response.body.should.equal 'Hello World'
+ response.headers.should.not.include 'X-Accel-Redirect'
+ response.errors.should.include 'X-Accel-Mapping'
+ end
+ end
+
+ specify 'does nothing when body does not respond to #to_path' do
+ @request = Rack::MockRequest.new(sendfile_app(['Not a file...']))
+ request 'HTTP_X_SENDFILE_TYPE' => 'X-Sendfile' do |response|
+ response.body.should.equal 'Not a file...'
+ response.headers.should.not.include 'X-Sendfile'
+ end
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_session_cookie.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_session_cookie.rb
new file mode 100755
index 00000000000..fba3f83bfa1
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_session_cookie.rb
@@ -0,0 +1,73 @@
+require 'test/spec'
+
+require 'rack/session/cookie'
+require 'rack/mock'
+require 'rack/response'
+
+context "Rack::Session::Cookie" do
+ incrementor = lambda { |env|
+ env["rack.session"]["counter"] ||= 0
+ env["rack.session"]["counter"] += 1
+ Rack::Response.new(env["rack.session"].inspect).to_a
+ }
+
+ specify "creates a new cookie" do
+ res = Rack::MockRequest.new(Rack::Session::Cookie.new(incrementor)).get("/")
+ res["Set-Cookie"].should.match("rack.session=")
+ res.body.should.equal '{"counter"=>1}'
+ end
+
+ specify "loads from a cookie" do
+ res = Rack::MockRequest.new(Rack::Session::Cookie.new(incrementor)).get("/")
+ cookie = res["Set-Cookie"]
+ res = Rack::MockRequest.new(Rack::Session::Cookie.new(incrementor)).
+ get("/", "HTTP_COOKIE" => cookie)
+ res.body.should.equal '{"counter"=>2}'
+ cookie = res["Set-Cookie"]
+ res = Rack::MockRequest.new(Rack::Session::Cookie.new(incrementor)).
+ get("/", "HTTP_COOKIE" => cookie)
+ res.body.should.equal '{"counter"=>3}'
+ end
+
+ specify "survives broken cookies" do
+ res = Rack::MockRequest.new(Rack::Session::Cookie.new(incrementor)).
+ get("/", "HTTP_COOKIE" => "rack.session=blarghfasel")
+ res.body.should.equal '{"counter"=>1}'
+ end
+
+ bigcookie = lambda { |env|
+ env["rack.session"]["cookie"] = "big" * 3000
+ Rack::Response.new(env["rack.session"].inspect).to_a
+ }
+
+ specify "barks on too big cookies" do
+ lambda {
+ Rack::MockRequest.new(Rack::Session::Cookie.new(bigcookie)).
+ get("/", :fatal => true)
+ }.should.raise(Rack::MockRequest::FatalWarning)
+ end
+
+ specify "loads from a cookie wih integrity hash" do
+ res = Rack::MockRequest.new(Rack::Session::Cookie.new(incrementor, :secret => 'test')).get("/")
+ cookie = res["Set-Cookie"]
+ res = Rack::MockRequest.new(Rack::Session::Cookie.new(incrementor, :secret => 'test')).
+ get("/", "HTTP_COOKIE" => cookie)
+ res.body.should.equal '{"counter"=>2}'
+ cookie = res["Set-Cookie"]
+ res = Rack::MockRequest.new(Rack::Session::Cookie.new(incrementor, :secret => 'test')).
+ get("/", "HTTP_COOKIE" => cookie)
+ res.body.should.equal '{"counter"=>3}'
+ end
+
+ specify "ignores tampered with session cookies" do
+ app = Rack::Session::Cookie.new(incrementor, :secret => 'test')
+ response1 = Rack::MockRequest.new(app).get("/")
+ _, digest = response1["Set-Cookie"].split("--")
+ tampered_with_cookie = "hackerman-was-here" + "--" + digest
+ response2 = Rack::MockRequest.new(app).get("/", "HTTP_COOKIE" =>
+ tampered_with_cookie)
+
+ # The tampered-with cookie is ignored, so we get back an identical Set-Cookie
+ response2["Set-Cookie"].should.equal(response1["Set-Cookie"])
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_session_memcache.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_session_memcache.rb
new file mode 100755
index 00000000000..faac796ebd9
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_session_memcache.rb
@@ -0,0 +1,273 @@
+require 'test/spec'
+
+begin
+ require 'rack/session/memcache'
+ require 'rack/mock'
+ require 'rack/response'
+ require 'thread'
+
+ context "Rack::Session::Memcache" do
+ session_key = Rack::Session::Memcache::DEFAULT_OPTIONS[:key]
+ session_match = /#{session_key}=([0-9a-fA-F]+);/
+ incrementor = lambda do |env|
+ env["rack.session"]["counter"] ||= 0
+ env["rack.session"]["counter"] += 1
+ Rack::Response.new(env["rack.session"].inspect).to_a
+ end
+ drop_session = proc do |env|
+ env['rack.session.options'][:drop] = true
+ incrementor.call(env)
+ end
+ renew_session = proc do |env|
+ env['rack.session.options'][:renew] = true
+ incrementor.call(env)
+ end
+ defer_session = proc do |env|
+ env['rack.session.options'][:defer] = true
+ incrementor.call(env)
+ end
+
+ specify "faults on no connection" do
+ if RUBY_VERSION < "1.9"
+ lambda do
+ Rack::Session::Memcache.new incrementor, :memcache_server => 'nosuchserver'
+ end.should.raise
+ else
+ lambda do
+ Rack::Session::Memcache.new incrementor, :memcache_server => 'nosuchserver'
+ end.should.raise ArgumentError
+ end
+ end
+
+ specify "connect to existing server" do
+ test_pool = MemCache.new incrementor, :namespace => 'test:rack:session'
+ end
+
+ specify "creates a new cookie" do
+ pool = Rack::Session::Memcache.new(incrementor)
+ res = Rack::MockRequest.new(pool).get("/")
+ res["Set-Cookie"].should.match("#{session_key}=")
+ res.body.should.equal '{"counter"=>1}'
+ end
+
+ specify "determines session from a cookie" do
+ pool = Rack::Session::Memcache.new(incrementor)
+ req = Rack::MockRequest.new(pool)
+ res = req.get("/")
+ cookie = res["Set-Cookie"]
+ req.get("/", "HTTP_COOKIE" => cookie).
+ body.should.equal '{"counter"=>2}'
+ req.get("/", "HTTP_COOKIE" => cookie).
+ body.should.equal '{"counter"=>3}'
+ end
+
+ specify "survives nonexistant cookies" do
+ bad_cookie = "rack.session=blarghfasel"
+ pool = Rack::Session::Memcache.new(incrementor)
+ res = Rack::MockRequest.new(pool).
+ get("/", "HTTP_COOKIE" => bad_cookie)
+ res.body.should.equal '{"counter"=>1}'
+ cookie = res["Set-Cookie"][session_match]
+ cookie.should.not.match(/#{bad_cookie}/)
+ end
+
+ specify "maintains freshness" do
+ pool = Rack::Session::Memcache.new(incrementor, :expire_after => 3)
+ res = Rack::MockRequest.new(pool).get('/')
+ res.body.should.include '"counter"=>1'
+ cookie = res["Set-Cookie"]
+ res = Rack::MockRequest.new(pool).get('/', "HTTP_COOKIE" => cookie)
+ res["Set-Cookie"].should.equal cookie
+ res.body.should.include '"counter"=>2'
+ puts 'Sleeping to expire session' if $DEBUG
+ sleep 4
+ res = Rack::MockRequest.new(pool).get('/', "HTTP_COOKIE" => cookie)
+ res["Set-Cookie"].should.not.equal cookie
+ res.body.should.include '"counter"=>1'
+ end
+
+ specify "deletes cookies with :drop option" do
+ pool = Rack::Session::Memcache.new(incrementor)
+ req = Rack::MockRequest.new(pool)
+ drop = Rack::Utils::Context.new(pool, drop_session)
+ dreq = Rack::MockRequest.new(drop)
+
+ res0 = req.get("/")
+ session = (cookie = res0["Set-Cookie"])[session_match]
+ res0.body.should.equal '{"counter"=>1}'
+
+ res1 = req.get("/", "HTTP_COOKIE" => cookie)
+ res1["Set-Cookie"][session_match].should.equal session
+ res1.body.should.equal '{"counter"=>2}'
+
+ res2 = dreq.get("/", "HTTP_COOKIE" => cookie)
+ res2["Set-Cookie"].should.equal nil
+ res2.body.should.equal '{"counter"=>3}'
+
+ res3 = req.get("/", "HTTP_COOKIE" => cookie)
+ res3["Set-Cookie"][session_match].should.not.equal session
+ res3.body.should.equal '{"counter"=>1}'
+ end
+
+ specify "provides new session id with :renew option" do
+ pool = Rack::Session::Memcache.new(incrementor)
+ req = Rack::MockRequest.new(pool)
+ renew = Rack::Utils::Context.new(pool, renew_session)
+ rreq = Rack::MockRequest.new(renew)
+
+ res0 = req.get("/")
+ session = (cookie = res0["Set-Cookie"])[session_match]
+ res0.body.should.equal '{"counter"=>1}'
+
+ res1 = req.get("/", "HTTP_COOKIE" => cookie)
+ res1["Set-Cookie"][session_match].should.equal session
+ res1.body.should.equal '{"counter"=>2}'
+
+ res2 = rreq.get("/", "HTTP_COOKIE" => cookie)
+ new_cookie = res2["Set-Cookie"]
+ new_session = new_cookie[session_match]
+ new_session.should.not.equal session
+ res2.body.should.equal '{"counter"=>3}'
+
+ res3 = req.get("/", "HTTP_COOKIE" => new_cookie)
+ res3["Set-Cookie"][session_match].should.equal new_session
+ res3.body.should.equal '{"counter"=>4}'
+ end
+
+ specify "omits cookie with :defer option" do
+ pool = Rack::Session::Memcache.new(incrementor)
+ req = Rack::MockRequest.new(pool)
+ defer = Rack::Utils::Context.new(pool, defer_session)
+ dreq = Rack::MockRequest.new(defer)
+
+ res0 = req.get("/")
+ session = (cookie = res0["Set-Cookie"])[session_match]
+ res0.body.should.equal '{"counter"=>1}'
+
+ res1 = req.get("/", "HTTP_COOKIE" => cookie)
+ res1["Set-Cookie"][session_match].should.equal session
+ res1.body.should.equal '{"counter"=>2}'
+
+ res2 = dreq.get("/", "HTTP_COOKIE" => cookie)
+ res2["Set-Cookie"].should.equal nil
+ res2.body.should.equal '{"counter"=>3}'
+
+ res3 = req.get("/", "HTTP_COOKIE" => cookie)
+ res3["Set-Cookie"][session_match].should.equal session
+ res3.body.should.equal '{"counter"=>4}'
+ end
+
+ specify "deep hashes are correctly updated" do
+ store = nil
+ hash_check = proc do |env|
+ session = env['rack.session']
+ unless session.include? 'test'
+ session.update :a => :b, :c => { :d => :e },
+ :f => { :g => { :h => :i} }, 'test' => true
+ else
+ session[:f][:g][:h] = :j
+ end
+ [200, {}, session.inspect]
+ end
+ pool = Rack::Session::Memcache.new(hash_check)
+ req = Rack::MockRequest.new(pool)
+
+ res0 = req.get("/")
+ session_id = (cookie = res0["Set-Cookie"])[session_match, 1]
+ ses0 = pool.pool.get(session_id, true)
+
+ res1 = req.get("/", "HTTP_COOKIE" => cookie)
+ ses1 = pool.pool.get(session_id, true)
+
+ ses1.should.not.equal ses0
+ end
+
+ # anyone know how to do this better?
+ specify "multithread: should cleanly merge sessions" do
+ next unless $DEBUG
+ warn 'Running multithread test for Session::Memcache'
+ pool = Rack::Session::Memcache.new(incrementor)
+ req = Rack::MockRequest.new(pool)
+
+ res = req.get('/')
+ res.body.should.equal '{"counter"=>1}'
+ cookie = res["Set-Cookie"]
+ session_id = cookie[session_match, 1]
+
+ delta_incrementor = lambda do |env|
+ # emulate disconjoinment of threading
+ env['rack.session'] = env['rack.session'].dup
+ Thread.stop
+ env['rack.session'][(Time.now.usec*rand).to_i] = true
+ incrementor.call(env)
+ end
+ tses = Rack::Utils::Context.new pool, delta_incrementor
+ treq = Rack::MockRequest.new(tses)
+ tnum = rand(7).to_i+5
+ r = Array.new(tnum) do
+ Thread.new(treq) do |run|
+ run.get('/', "HTTP_COOKIE" => cookie, 'rack.multithread' => true)
+ end
+ end.reverse.map{|t| t.run.join.value }
+ r.each do |request|
+ request['Set-Cookie'].should.equal cookie
+ request.body.should.include '"counter"=>2'
+ end
+
+ session = pool.pool.get(session_id)
+ session.size.should.be tnum+1 # counter
+ session['counter'].should.be 2 # meeeh
+
+ tnum = rand(7).to_i+5
+ r = Array.new(tnum) do |i|
+ delta_time = proc do |env|
+ env['rack.session'][i] = Time.now
+ Thread.stop
+ env['rack.session'] = env['rack.session'].dup
+ env['rack.session'][i] -= Time.now
+ incrementor.call(env)
+ end
+ app = Rack::Utils::Context.new pool, time_delta
+ req = Rack::MockRequest.new app
+ Thread.new(req) do |run|
+ run.get('/', "HTTP_COOKIE" => cookie, 'rack.multithread' => true)
+ end
+ end.reverse.map{|t| t.run.join.value }
+ r.each do |request|
+ request['Set-Cookie'].should.equal cookie
+ request.body.should.include '"counter"=>3'
+ end
+
+ session = pool.pool.get(session_id)
+ session.size.should.be tnum+1
+ session['counter'].should.be 3
+
+ drop_counter = proc do |env|
+ env['rack.session'].delete 'counter'
+ env['rack.session']['foo'] = 'bar'
+ [200, {'Content-Type'=>'text/plain'}, env['rack.session'].inspect]
+ end
+ tses = Rack::Utils::Context.new pool, drop_counter
+ treq = Rack::MockRequest.new(tses)
+ tnum = rand(7).to_i+5
+ r = Array.new(tnum) do
+ Thread.new(treq) do |run|
+ run.get('/', "HTTP_COOKIE" => cookie, 'rack.multithread' => true)
+ end
+ end.reverse.map{|t| t.run.join.value }
+ r.each do |request|
+ request['Set-Cookie'].should.equal cookie
+ request.body.should.include '"foo"=>"bar"'
+ end
+
+ session = pool.pool.get(session_id)
+ session.size.should.be r.size+1
+ session['counter'].should.be.nil?
+ session['foo'].should.equal 'bar'
+ end
+ end
+rescue RuntimeError
+ $stderr.puts "Skipping Rack::Session::Memcache tests. Start memcached and try again."
+rescue LoadError
+ $stderr.puts "Skipping Rack::Session::Memcache tests (Memcache is required). `gem install memcache-client` and try again."
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_session_pool.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_session_pool.rb
new file mode 100755
index 00000000000..6be382ec758
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_session_pool.rb
@@ -0,0 +1,172 @@
+require 'test/spec'
+
+require 'rack/session/pool'
+require 'rack/mock'
+require 'rack/response'
+require 'thread'
+
+context "Rack::Session::Pool" do
+ session_key = Rack::Session::Pool::DEFAULT_OPTIONS[:key]
+ session_match = /#{session_key}=[0-9a-fA-F]+;/
+ incrementor = lambda do |env|
+ env["rack.session"]["counter"] ||= 0
+ env["rack.session"]["counter"] += 1
+ Rack::Response.new(env["rack.session"].inspect).to_a
+ end
+ drop_session = proc do |env|
+ env['rack.session.options'][:drop] = true
+ incrementor.call(env)
+ end
+ renew_session = proc do |env|
+ env['rack.session.options'][:renew] = true
+ incrementor.call(env)
+ end
+ defer_session = proc do |env|
+ env['rack.session.options'][:defer] = true
+ incrementor.call(env)
+ end
+
+ specify "creates a new cookie" do
+ pool = Rack::Session::Pool.new(incrementor)
+ res = Rack::MockRequest.new(pool).get("/")
+ res["Set-Cookie"].should.match session_match
+ res.body.should.equal '{"counter"=>1}'
+ end
+
+ specify "determines session from a cookie" do
+ pool = Rack::Session::Pool.new(incrementor)
+ req = Rack::MockRequest.new(pool)
+ cookie = req.get("/")["Set-Cookie"]
+ req.get("/", "HTTP_COOKIE" => cookie).
+ body.should.equal '{"counter"=>2}'
+ req.get("/", "HTTP_COOKIE" => cookie).
+ body.should.equal '{"counter"=>3}'
+ end
+
+ specify "survives nonexistant cookies" do
+ pool = Rack::Session::Pool.new(incrementor)
+ res = Rack::MockRequest.new(pool).
+ get("/", "HTTP_COOKIE" => "#{session_key}=blarghfasel")
+ res.body.should.equal '{"counter"=>1}'
+ end
+
+ specify "deletes cookies with :drop option" do
+ pool = Rack::Session::Pool.new(incrementor)
+ req = Rack::MockRequest.new(pool)
+ drop = Rack::Utils::Context.new(pool, drop_session)
+ dreq = Rack::MockRequest.new(drop)
+
+ res0 = req.get("/")
+ session = (cookie = res0["Set-Cookie"])[session_match]
+ res0.body.should.equal '{"counter"=>1}'
+ pool.pool.size.should.be 1
+
+ res1 = req.get("/", "HTTP_COOKIE" => cookie)
+ res1["Set-Cookie"][session_match].should.equal session
+ res1.body.should.equal '{"counter"=>2}'
+ pool.pool.size.should.be 1
+
+ res2 = dreq.get("/", "HTTP_COOKIE" => cookie)
+ res2["Set-Cookie"].should.equal nil
+ res2.body.should.equal '{"counter"=>3}'
+ pool.pool.size.should.be 0
+
+ res3 = req.get("/", "HTTP_COOKIE" => cookie)
+ res3["Set-Cookie"][session_match].should.not.equal session
+ res3.body.should.equal '{"counter"=>1}'
+ pool.pool.size.should.be 1
+ end
+
+ specify "provides new session id with :renew option" do
+ pool = Rack::Session::Pool.new(incrementor)
+ req = Rack::MockRequest.new(pool)
+ renew = Rack::Utils::Context.new(pool, renew_session)
+ rreq = Rack::MockRequest.new(renew)
+
+ res0 = req.get("/")
+ session = (cookie = res0["Set-Cookie"])[session_match]
+ res0.body.should.equal '{"counter"=>1}'
+ pool.pool.size.should.be 1
+
+ res1 = req.get("/", "HTTP_COOKIE" => cookie)
+ res1["Set-Cookie"][session_match].should.equal session
+ res1.body.should.equal '{"counter"=>2}'
+ pool.pool.size.should.be 1
+
+ res2 = rreq.get("/", "HTTP_COOKIE" => cookie)
+ new_cookie = res2["Set-Cookie"]
+ new_session = new_cookie[session_match]
+ new_session.should.not.equal session
+ res2.body.should.equal '{"counter"=>3}'
+ pool.pool.size.should.be 1
+
+ res3 = req.get("/", "HTTP_COOKIE" => new_cookie)
+ res3["Set-Cookie"][session_match].should.equal new_session
+ res3.body.should.equal '{"counter"=>4}'
+ pool.pool.size.should.be 1
+ end
+
+ specify "omits cookie with :defer option" do
+ pool = Rack::Session::Pool.new(incrementor)
+ req = Rack::MockRequest.new(pool)
+ defer = Rack::Utils::Context.new(pool, defer_session)
+ dreq = Rack::MockRequest.new(defer)
+
+ res0 = req.get("/")
+ session = (cookie = res0["Set-Cookie"])[session_match]
+ res0.body.should.equal '{"counter"=>1}'
+ pool.pool.size.should.be 1
+
+ res1 = req.get("/", "HTTP_COOKIE" => cookie)
+ res1["Set-Cookie"][session_match].should.equal session
+ res1.body.should.equal '{"counter"=>2}'
+ pool.pool.size.should.be 1
+
+ res2 = dreq.get("/", "HTTP_COOKIE" => cookie)
+ res2["Set-Cookie"].should.equal nil
+ res2.body.should.equal '{"counter"=>3}'
+ pool.pool.size.should.be 1
+
+ res3 = req.get("/", "HTTP_COOKIE" => cookie)
+ res3["Set-Cookie"][session_match].should.equal session
+ res3.body.should.equal '{"counter"=>4}'
+ pool.pool.size.should.be 1
+ end
+
+ # anyone know how to do this better?
+ specify "multithread: should merge sessions" do
+ next unless $DEBUG
+ warn 'Running multithread tests for Session::Pool'
+ pool = Rack::Session::Pool.new(incrementor)
+ req = Rack::MockRequest.new(pool)
+
+ res = req.get('/')
+ res.body.should.equal '{"counter"=>1}'
+ cookie = res["Set-Cookie"]
+ sess_id = cookie[/#{pool.key}=([^,;]+)/,1]
+
+ delta_incrementor = lambda do |env|
+ # emulate disconjoinment of threading
+ env['rack.session'] = env['rack.session'].dup
+ Thread.stop
+ env['rack.session'][(Time.now.usec*rand).to_i] = true
+ incrementor.call(env)
+ end
+ tses = Rack::Utils::Context.new pool, delta_incrementor
+ treq = Rack::MockRequest.new(tses)
+ tnum = rand(7).to_i+5
+ r = Array.new(tnum) do
+ Thread.new(treq) do |run|
+ run.get('/', "HTTP_COOKIE" => cookie, 'rack.multithread' => true)
+ end
+ end.reverse.map{|t| t.run.join.value }
+ r.each do |res|
+ res['Set-Cookie'].should.equal cookie
+ res.body.should.include '"counter"=>2'
+ end
+
+ session = pool.pool[sess_id]
+ session.size.should.be tnum+1 # counter
+ session['counter'].should.be 2 # meeeh
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_showexceptions.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_showexceptions.rb
new file mode 100755
index 00000000000..bdbc1201341
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_showexceptions.rb
@@ -0,0 +1,21 @@
+require 'test/spec'
+
+require 'rack/showexceptions'
+require 'rack/mock'
+
+context "Rack::ShowExceptions" do
+ specify "catches exceptions" do
+ res = nil
+ req = Rack::MockRequest.new(Rack::ShowExceptions.new(lambda { |env|
+ raise RuntimeError
+ }))
+ lambda {
+ res = req.get("/")
+ }.should.not.raise
+ res.should.be.a.server_error
+ res.status.should.equal 500
+
+ res.should =~ /RuntimeError/
+ res.should =~ /ShowExceptions/
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_showstatus.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_showstatus.rb
new file mode 100755
index 00000000000..7870013412f
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_showstatus.rb
@@ -0,0 +1,72 @@
+require 'test/spec'
+
+require 'rack/showstatus'
+require 'rack/mock'
+
+context "Rack::ShowStatus" do
+ specify "should provide a default status message" do
+ req = Rack::MockRequest.new(Rack::ShowStatus.new(lambda { |env|
+ [404, {"Content-Type" => "text/plain", "Content-Length" => "0"}, []]
+ }))
+
+ res = req.get("/", :lint => true)
+ res.should.be.not_found
+ res.should.be.not.empty
+
+ res["Content-Type"].should.equal("text/html")
+ res.should =~ /404/
+ res.should =~ /Not Found/
+ end
+
+ specify "should let the app provide additional information" do
+ req = Rack::MockRequest.new(Rack::ShowStatus.new(lambda { |env|
+ env["rack.showstatus.detail"] = "gone too meta."
+ [404, {"Content-Type" => "text/plain", "Content-Length" => "0"}, []]
+ }))
+
+ res = req.get("/", :lint => true)
+ res.should.be.not_found
+ res.should.be.not.empty
+
+ res["Content-Type"].should.equal("text/html")
+ res.should =~ /404/
+ res.should =~ /Not Found/
+ res.should =~ /too meta/
+ end
+
+ specify "should not replace existing messages" do
+ req = Rack::MockRequest.new(Rack::ShowStatus.new(lambda { |env|
+ [404, {"Content-Type" => "text/plain", "Content-Length" => "4"}, ["foo!"]]
+ }))
+ res = req.get("/", :lint => true)
+ res.should.be.not_found
+
+ res.body.should == "foo!"
+ end
+
+ specify "should pass on original headers" do
+ headers = {"WWW-Authenticate" => "Basic blah"}
+
+ req = Rack::MockRequest.new(Rack::ShowStatus.new(lambda { |env| [401, headers, []] }))
+ res = req.get("/", :lint => true)
+
+ res["WWW-Authenticate"].should.equal("Basic blah")
+ end
+
+ specify "should replace existing messages if there is detail" do
+ req = Rack::MockRequest.new(Rack::ShowStatus.new(lambda { |env|
+ env["rack.showstatus.detail"] = "gone too meta."
+ [404, {"Content-Type" => "text/plain", "Content-Length" => "4"}, ["foo!"]]
+ }))
+
+ res = req.get("/", :lint => true)
+ res.should.be.not_found
+ res.should.be.not.empty
+
+ res["Content-Type"].should.equal("text/html")
+ res["Content-Length"].should.not.equal("4")
+ res.should =~ /404/
+ res.should =~ /too meta/
+ res.body.should.not =~ /foo/
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_static.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_static.rb
new file mode 100755
index 00000000000..19d2ecb7eaf
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_static.rb
@@ -0,0 +1,37 @@
+require 'test/spec'
+
+require 'rack/static'
+require 'rack/mock'
+
+class DummyApp
+ def call(env)
+ [200, {}, ["Hello World"]]
+ end
+end
+
+context "Rack::Static" do
+ root = File.expand_path(File.dirname(__FILE__))
+ OPTIONS = {:urls => ["/cgi"], :root => root}
+
+ setup do
+ @request = Rack::MockRequest.new(Rack::Static.new(DummyApp.new, OPTIONS))
+ end
+
+ specify "serves files" do
+ res = @request.get("/cgi/test")
+ res.should.be.ok
+ res.body.should =~ /ruby/
+ end
+
+ specify "404s if url root is known but it can't find the file" do
+ res = @request.get("/cgi/foo")
+ res.should.be.not_found
+ end
+
+ specify "calls down the chain if url root is not known" do
+ res = @request.get("/something/else")
+ res.should.be.ok
+ res.body.should == "Hello World"
+ end
+
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_thin.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_thin.rb
new file mode 100755
index 00000000000..324f64986fa
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_thin.rb
@@ -0,0 +1,91 @@
+require 'test/spec'
+
+begin
+require 'rack/handler/thin'
+require 'testrequest'
+require 'timeout'
+
+context "Rack::Handler::Thin" do
+ include TestRequest::Helpers
+
+ setup do
+ @app = Rack::Lint.new(TestRequest.new)
+ @server = nil
+ Thin::Logging.silent = true
+ @thread = Thread.new do
+ Rack::Handler::Thin.run(@app, :Host => @host='0.0.0.0', :Port => @port=9204) do |server|
+ @server = server
+ end
+ end
+ Thread.pass until @server && @server.running?
+ end
+
+ specify "should respond" do
+ lambda {
+ GET("/")
+ }.should.not.raise
+ end
+
+ specify "should be a Thin" do
+ GET("/")
+ status.should.be 200
+ response["SERVER_SOFTWARE"].should =~ /thin/
+ response["HTTP_VERSION"].should.equal "HTTP/1.1"
+ response["SERVER_PROTOCOL"].should.equal "HTTP/1.1"
+ response["SERVER_PORT"].should.equal "9204"
+ response["SERVER_NAME"].should.equal "0.0.0.0"
+ end
+
+ specify "should have rack headers" do
+ GET("/")
+ response["rack.version"].should.equal [0,3]
+ response["rack.multithread"].should.be false
+ response["rack.multiprocess"].should.be false
+ response["rack.run_once"].should.be false
+ end
+
+ specify "should have CGI headers on GET" do
+ GET("/")
+ response["REQUEST_METHOD"].should.equal "GET"
+ response["REQUEST_PATH"].should.equal "/"
+ response["PATH_INFO"].should.be.equal "/"
+ response["QUERY_STRING"].should.equal ""
+ response["test.postdata"].should.equal ""
+
+ GET("/test/foo?quux=1")
+ response["REQUEST_METHOD"].should.equal "GET"
+ response["REQUEST_PATH"].should.equal "/test/foo"
+ response["PATH_INFO"].should.equal "/test/foo"
+ response["QUERY_STRING"].should.equal "quux=1"
+ end
+
+ specify "should have CGI headers on POST" do
+ POST("/", {"rack-form-data" => "23"}, {'X-test-header' => '42'})
+ status.should.equal 200
+ response["REQUEST_METHOD"].should.equal "POST"
+ response["REQUEST_PATH"].should.equal "/"
+ response["QUERY_STRING"].should.equal ""
+ response["HTTP_X_TEST_HEADER"].should.equal "42"
+ response["test.postdata"].should.equal "rack-form-data=23"
+ end
+
+ specify "should support HTTP auth" do
+ GET("/test", {:user => "ruth", :passwd => "secret"})
+ response["HTTP_AUTHORIZATION"].should.equal "Basic cnV0aDpzZWNyZXQ="
+ end
+
+ specify "should set status" do
+ GET("/test?secret")
+ status.should.equal 403
+ response["rack.url_scheme"].should.equal "http"
+ end
+
+ teardown do
+ @server.stop!
+ @thread.kill
+ end
+end
+
+rescue LoadError
+ $stderr.puts "Skipping Rack::Handler::Thin tests (Thin is required). `gem install thin` and try again."
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_urlmap.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_urlmap.rb
new file mode 100755
index 00000000000..3d8fe60538f
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_urlmap.rb
@@ -0,0 +1,215 @@
+require 'test/spec'
+
+require 'rack/urlmap'
+require 'rack/mock'
+
+context "Rack::URLMap" do
+ specify "dispatches paths correctly" do
+ app = lambda { |env|
+ [200, {
+ 'X-ScriptName' => env['SCRIPT_NAME'],
+ 'X-PathInfo' => env['PATH_INFO'],
+ 'Content-Type' => 'text/plain'
+ }, [""]]
+ }
+ map = Rack::URLMap.new({
+ 'http://foo.org/bar' => app,
+ '/foo' => app,
+ '/foo/bar' => app
+ })
+
+ res = Rack::MockRequest.new(map).get("/")
+ res.should.be.not_found
+
+ res = Rack::MockRequest.new(map).get("/qux")
+ res.should.be.not_found
+
+ res = Rack::MockRequest.new(map).get("/foo")
+ res.should.be.ok
+ res["X-ScriptName"].should.equal "/foo"
+ res["X-PathInfo"].should.equal ""
+
+ res = Rack::MockRequest.new(map).get("/foo/")
+ res.should.be.ok
+ res["X-ScriptName"].should.equal "/foo"
+ res["X-PathInfo"].should.equal "/"
+
+ res = Rack::MockRequest.new(map).get("/foo/bar")
+ res.should.be.ok
+ res["X-ScriptName"].should.equal "/foo/bar"
+ res["X-PathInfo"].should.equal ""
+
+ res = Rack::MockRequest.new(map).get("/foo/bar/")
+ res.should.be.ok
+ res["X-ScriptName"].should.equal "/foo/bar"
+ res["X-PathInfo"].should.equal "/"
+
+ res = Rack::MockRequest.new(map).get("/foo///bar//quux")
+ res.status.should.equal 200
+ res.should.be.ok
+ res["X-ScriptName"].should.equal "/foo/bar"
+ res["X-PathInfo"].should.equal "//quux"
+
+ res = Rack::MockRequest.new(map).get("/foo/quux", "SCRIPT_NAME" => "/bleh")
+ res.should.be.ok
+ res["X-ScriptName"].should.equal "/bleh/foo"
+ res["X-PathInfo"].should.equal "/quux"
+
+ res = Rack::MockRequest.new(map).get("/bar", 'HTTP_HOST' => 'foo.org')
+ res.should.be.ok
+ res["X-ScriptName"].should.equal "/bar"
+ res["X-PathInfo"].should.be.empty
+
+ res = Rack::MockRequest.new(map).get("/bar/", 'HTTP_HOST' => 'foo.org')
+ res.should.be.ok
+ res["X-ScriptName"].should.equal "/bar"
+ res["X-PathInfo"].should.equal '/'
+ end
+
+
+ specify "dispatches hosts correctly" do
+ map = Rack::URLMap.new("http://foo.org/" => lambda { |env|
+ [200,
+ { "Content-Type" => "text/plain",
+ "X-Position" => "foo.org",
+ "X-Host" => env["HTTP_HOST"] || env["SERVER_NAME"],
+ }, [""]]},
+ "http://subdomain.foo.org/" => lambda { |env|
+ [200,
+ { "Content-Type" => "text/plain",
+ "X-Position" => "subdomain.foo.org",
+ "X-Host" => env["HTTP_HOST"] || env["SERVER_NAME"],
+ }, [""]]},
+ "http://bar.org/" => lambda { |env|
+ [200,
+ { "Content-Type" => "text/plain",
+ "X-Position" => "bar.org",
+ "X-Host" => env["HTTP_HOST"] || env["SERVER_NAME"],
+ }, [""]]},
+ "/" => lambda { |env|
+ [200,
+ { "Content-Type" => "text/plain",
+ "X-Position" => "default.org",
+ "X-Host" => env["HTTP_HOST"] || env["SERVER_NAME"],
+ }, [""]]}
+ )
+
+ res = Rack::MockRequest.new(map).get("/")
+ res.should.be.ok
+ res["X-Position"].should.equal "default.org"
+
+ res = Rack::MockRequest.new(map).get("/", "HTTP_HOST" => "bar.org")
+ res.should.be.ok
+ res["X-Position"].should.equal "bar.org"
+
+ res = Rack::MockRequest.new(map).get("/", "HTTP_HOST" => "foo.org")
+ res.should.be.ok
+ res["X-Position"].should.equal "foo.org"
+
+ res = Rack::MockRequest.new(map).get("/", "HTTP_HOST" => "subdomain.foo.org", "SERVER_NAME" => "foo.org")
+ res.should.be.ok
+ res["X-Position"].should.equal "subdomain.foo.org"
+
+ res = Rack::MockRequest.new(map).get("http://foo.org/")
+ res.should.be.ok
+ res["X-Position"].should.equal "default.org"
+
+ res = Rack::MockRequest.new(map).get("/", "HTTP_HOST" => "example.org")
+ res.should.be.ok
+ res["X-Position"].should.equal "default.org"
+
+ res = Rack::MockRequest.new(map).get("/",
+ "HTTP_HOST" => "example.org:9292",
+ "SERVER_PORT" => "9292")
+ res.should.be.ok
+ res["X-Position"].should.equal "default.org"
+ end
+
+ specify "should be nestable" do
+ map = Rack::URLMap.new("/foo" =>
+ Rack::URLMap.new("/bar" =>
+ Rack::URLMap.new("/quux" => lambda { |env|
+ [200,
+ { "Content-Type" => "text/plain",
+ "X-Position" => "/foo/bar/quux",
+ "X-PathInfo" => env["PATH_INFO"],
+ "X-ScriptName" => env["SCRIPT_NAME"],
+ }, [""]]}
+ )))
+
+ res = Rack::MockRequest.new(map).get("/foo/bar")
+ res.should.be.not_found
+
+ res = Rack::MockRequest.new(map).get("/foo/bar/quux")
+ res.should.be.ok
+ res["X-Position"].should.equal "/foo/bar/quux"
+ res["X-PathInfo"].should.equal ""
+ res["X-ScriptName"].should.equal "/foo/bar/quux"
+ end
+
+ specify "should route root apps correctly" do
+ map = Rack::URLMap.new("/" => lambda { |env|
+ [200,
+ { "Content-Type" => "text/plain",
+ "X-Position" => "root",
+ "X-PathInfo" => env["PATH_INFO"],
+ "X-ScriptName" => env["SCRIPT_NAME"]
+ }, [""]]},
+ "/foo" => lambda { |env|
+ [200,
+ { "Content-Type" => "text/plain",
+ "X-Position" => "foo",
+ "X-PathInfo" => env["PATH_INFO"],
+ "X-ScriptName" => env["SCRIPT_NAME"]
+ }, [""]]}
+ )
+
+ res = Rack::MockRequest.new(map).get("/foo/bar")
+ res.should.be.ok
+ res["X-Position"].should.equal "foo"
+ res["X-PathInfo"].should.equal "/bar"
+ res["X-ScriptName"].should.equal "/foo"
+
+ res = Rack::MockRequest.new(map).get("/foo")
+ res.should.be.ok
+ res["X-Position"].should.equal "foo"
+ res["X-PathInfo"].should.equal ""
+ res["X-ScriptName"].should.equal "/foo"
+
+ res = Rack::MockRequest.new(map).get("/bar")
+ res.should.be.ok
+ res["X-Position"].should.equal "root"
+ res["X-PathInfo"].should.equal "/bar"
+ res["X-ScriptName"].should.equal ""
+
+ res = Rack::MockRequest.new(map).get("")
+ res.should.be.ok
+ res["X-Position"].should.equal "root"
+ res["X-PathInfo"].should.equal "/"
+ res["X-ScriptName"].should.equal ""
+ end
+
+ specify "should not squeeze slashes" do
+ map = Rack::URLMap.new("/" => lambda { |env|
+ [200,
+ { "Content-Type" => "text/plain",
+ "X-Position" => "root",
+ "X-PathInfo" => env["PATH_INFO"],
+ "X-ScriptName" => env["SCRIPT_NAME"]
+ }, [""]]},
+ "/foo" => lambda { |env|
+ [200,
+ { "Content-Type" => "text/plain",
+ "X-Position" => "foo",
+ "X-PathInfo" => env["PATH_INFO"],
+ "X-ScriptName" => env["SCRIPT_NAME"]
+ }, [""]]}
+ )
+
+ res = Rack::MockRequest.new(map).get("/http://example.org/bar")
+ res.should.be.ok
+ res["X-Position"].should.equal "root"
+ res["X-PathInfo"].should.equal "/http://example.org/bar"
+ res["X-ScriptName"].should.equal ""
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_utils.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_utils.rb
new file mode 100755
index 00000000000..227f878546b
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_utils.rb
@@ -0,0 +1,552 @@
+require 'test/spec'
+
+require 'rack/utils'
+require 'rack/lint'
+require 'rack/mock'
+
+context "Rack::Utils" do
+ specify "should escape correctly" do
+ Rack::Utils.escape("fo<o>bar").should.equal "fo%3Co%3Ebar"
+ Rack::Utils.escape("a space").should.equal "a+space"
+ Rack::Utils.escape("q1!2\"'w$5&7/z8)?\\").
+ should.equal "q1%212%22%27w%245%267%2Fz8%29%3F%5C"
+ end
+
+ specify "should escape correctly for multibyte characters" do
+ matz_name = "\xE3\x81\xBE\xE3\x81\xA4\xE3\x82\x82\xE3\x81\xA8".unpack("a*")[0] # Matsumoto
+ matz_name.force_encoding("UTF-8") if matz_name.respond_to? :force_encoding
+ Rack::Utils.escape(matz_name).should.equal '%E3%81%BE%E3%81%A4%E3%82%82%E3%81%A8'
+ matz_name_sep = "\xE3\x81\xBE\xE3\x81\xA4 \xE3\x82\x82\xE3\x81\xA8".unpack("a*")[0] # Matsu moto
+ matz_name_sep.force_encoding("UTF-8") if matz_name_sep.respond_to? :force_encoding
+ Rack::Utils.escape(matz_name_sep).should.equal '%E3%81%BE%E3%81%A4+%E3%82%82%E3%81%A8'
+ end
+
+ specify "should unescape correctly" do
+ Rack::Utils.unescape("fo%3Co%3Ebar").should.equal "fo<o>bar"
+ Rack::Utils.unescape("a+space").should.equal "a space"
+ Rack::Utils.unescape("a%20space").should.equal "a space"
+ Rack::Utils.unescape("q1%212%22%27w%245%267%2Fz8%29%3F%5C").
+ should.equal "q1!2\"'w$5&7/z8)?\\"
+ end
+
+ specify "should parse query strings correctly" do
+ Rack::Utils.parse_query("foo=bar").
+ should.equal "foo" => "bar"
+ Rack::Utils.parse_query("foo=\"bar\"").
+ should.equal "foo" => "\"bar\""
+ Rack::Utils.parse_query("foo=bar&foo=quux").
+ should.equal "foo" => ["bar", "quux"]
+ Rack::Utils.parse_query("foo=1&bar=2").
+ should.equal "foo" => "1", "bar" => "2"
+ Rack::Utils.parse_query("my+weird+field=q1%212%22%27w%245%267%2Fz8%29%3F").
+ should.equal "my weird field" => "q1!2\"'w$5&7/z8)?"
+ Rack::Utils.parse_query("foo%3Dbaz=bar").should.equal "foo=baz" => "bar"
+ end
+
+ specify "should parse nested query strings correctly" do
+ Rack::Utils.parse_nested_query("foo").
+ should.equal "foo" => nil
+ Rack::Utils.parse_nested_query("foo=").
+ should.equal "foo" => ""
+ Rack::Utils.parse_nested_query("foo=bar").
+ should.equal "foo" => "bar"
+ Rack::Utils.parse_nested_query("foo=\"bar\"").
+ should.equal "foo" => "\"bar\""
+
+ Rack::Utils.parse_nested_query("foo=bar&foo=quux").
+ should.equal "foo" => "quux"
+ Rack::Utils.parse_nested_query("foo&foo=").
+ should.equal "foo" => ""
+ Rack::Utils.parse_nested_query("foo=1&bar=2").
+ should.equal "foo" => "1", "bar" => "2"
+ Rack::Utils.parse_nested_query("&foo=1&&bar=2").
+ should.equal "foo" => "1", "bar" => "2"
+ Rack::Utils.parse_nested_query("foo&bar=").
+ should.equal "foo" => nil, "bar" => ""
+ Rack::Utils.parse_nested_query("foo=bar&baz=").
+ should.equal "foo" => "bar", "baz" => ""
+ Rack::Utils.parse_nested_query("my+weird+field=q1%212%22%27w%245%267%2Fz8%29%3F").
+ should.equal "my weird field" => "q1!2\"'w$5&7/z8)?"
+
+ Rack::Utils.parse_nested_query("foo[]").
+ should.equal "foo" => [nil]
+ Rack::Utils.parse_nested_query("foo[]=").
+ should.equal "foo" => [""]
+ Rack::Utils.parse_nested_query("foo[]=bar").
+ should.equal "foo" => ["bar"]
+
+ Rack::Utils.parse_nested_query("foo[]=1&foo[]=2").
+ should.equal "foo" => ["1", "2"]
+ Rack::Utils.parse_nested_query("foo=bar&baz[]=1&baz[]=2&baz[]=3").
+ should.equal "foo" => "bar", "baz" => ["1", "2", "3"]
+ Rack::Utils.parse_nested_query("foo[]=bar&baz[]=1&baz[]=2&baz[]=3").
+ should.equal "foo" => ["bar"], "baz" => ["1", "2", "3"]
+
+ Rack::Utils.parse_nested_query("x[y][z]=1").
+ should.equal "x" => {"y" => {"z" => "1"}}
+ Rack::Utils.parse_nested_query("x[y][z][]=1").
+ should.equal "x" => {"y" => {"z" => ["1"]}}
+ Rack::Utils.parse_nested_query("x[y][z]=1&x[y][z]=2").
+ should.equal "x" => {"y" => {"z" => "2"}}
+ Rack::Utils.parse_nested_query("x[y][z][]=1&x[y][z][]=2").
+ should.equal "x" => {"y" => {"z" => ["1", "2"]}}
+
+ Rack::Utils.parse_nested_query("x[y][][z]=1").
+ should.equal "x" => {"y" => [{"z" => "1"}]}
+ Rack::Utils.parse_nested_query("x[y][][z][]=1").
+ should.equal "x" => {"y" => [{"z" => ["1"]}]}
+ Rack::Utils.parse_nested_query("x[y][][z]=1&x[y][][w]=2").
+ should.equal "x" => {"y" => [{"z" => "1", "w" => "2"}]}
+
+ Rack::Utils.parse_nested_query("x[y][][v][w]=1").
+ should.equal "x" => {"y" => [{"v" => {"w" => "1"}}]}
+ Rack::Utils.parse_nested_query("x[y][][z]=1&x[y][][v][w]=2").
+ should.equal "x" => {"y" => [{"z" => "1", "v" => {"w" => "2"}}]}
+
+ Rack::Utils.parse_nested_query("x[y][][z]=1&x[y][][z]=2").
+ should.equal "x" => {"y" => [{"z" => "1"}, {"z" => "2"}]}
+ Rack::Utils.parse_nested_query("x[y][][z]=1&x[y][][w]=a&x[y][][z]=2&x[y][][w]=3").
+ should.equal "x" => {"y" => [{"z" => "1", "w" => "a"}, {"z" => "2", "w" => "3"}]}
+
+ lambda { Rack::Utils.parse_nested_query("x[y]=1&x[y]z=2") }.
+ should.raise(TypeError).
+ message.should.equal "expected Hash (got String) for param `y'"
+
+ lambda { Rack::Utils.parse_nested_query("x[y]=1&x[]=1") }.
+ should.raise(TypeError).
+ message.should.equal "expected Array (got Hash) for param `x'"
+
+ lambda { Rack::Utils.parse_nested_query("x[y]=1&x[y][][w]=2") }.
+ should.raise(TypeError).
+ message.should.equal "expected Array (got String) for param `y'"
+ end
+
+ specify "should build query strings correctly" do
+ Rack::Utils.build_query("foo" => "bar").should.equal "foo=bar"
+ Rack::Utils.build_query("foo" => ["bar", "quux"]).
+ should.equal "foo=bar&foo=quux"
+ Rack::Utils.build_query("foo" => "1", "bar" => "2").
+ should.equal "foo=1&bar=2"
+ Rack::Utils.build_query("my weird field" => "q1!2\"'w$5&7/z8)?").
+ should.equal "my+weird+field=q1%212%22%27w%245%267%2Fz8%29%3F"
+ end
+
+ specify "should build nested query strings correctly" do
+ Rack::Utils.build_nested_query("foo" => nil).should.equal "foo"
+ Rack::Utils.build_nested_query("foo" => "").should.equal "foo="
+ Rack::Utils.build_nested_query("foo" => "bar").should.equal "foo=bar"
+
+ Rack::Utils.build_nested_query("foo" => "1", "bar" => "2").
+ should.equal "foo=1&bar=2"
+ Rack::Utils.build_nested_query("my weird field" => "q1!2\"'w$5&7/z8)?").
+ should.equal "my+weird+field=q1%212%22%27w%245%267%2Fz8%29%3F"
+
+ Rack::Utils.build_nested_query("foo" => [nil]).
+ should.equal "foo[]"
+ Rack::Utils.build_nested_query("foo" => [""]).
+ should.equal "foo[]="
+ Rack::Utils.build_nested_query("foo" => ["bar"]).
+ should.equal "foo[]=bar"
+
+ # The ordering of the output query string is unpredictable with 1.8's
+ # unordered hash. Test that build_nested_query performs the inverse
+ # function of parse_nested_query.
+ [{"foo" => nil, "bar" => ""},
+ {"foo" => "bar", "baz" => ""},
+ {"foo" => ["1", "2"]},
+ {"foo" => "bar", "baz" => ["1", "2", "3"]},
+ {"foo" => ["bar"], "baz" => ["1", "2", "3"]},
+ {"foo" => ["1", "2"]},
+ {"foo" => "bar", "baz" => ["1", "2", "3"]},
+ {"x" => {"y" => {"z" => "1"}}},
+ {"x" => {"y" => {"z" => ["1"]}}},
+ {"x" => {"y" => {"z" => ["1", "2"]}}},
+ {"x" => {"y" => [{"z" => "1"}]}},
+ {"x" => {"y" => [{"z" => ["1"]}]}},
+ {"x" => {"y" => [{"z" => "1", "w" => "2"}]}},
+ {"x" => {"y" => [{"v" => {"w" => "1"}}]}},
+ {"x" => {"y" => [{"z" => "1", "v" => {"w" => "2"}}]}},
+ {"x" => {"y" => [{"z" => "1"}, {"z" => "2"}]}},
+ {"x" => {"y" => [{"z" => "1", "w" => "a"}, {"z" => "2", "w" => "3"}]}}
+ ].each { |params|
+ qs = Rack::Utils.build_nested_query(params)
+ Rack::Utils.parse_nested_query(qs).should.equal params
+ }
+
+ lambda { Rack::Utils.build_nested_query("foo=bar") }.
+ should.raise(ArgumentError).
+ message.should.equal "value must be a Hash"
+ end
+
+ specify "should figure out which encodings are acceptable" do
+ helper = lambda do |a, b|
+ request = Rack::Request.new(Rack::MockRequest.env_for("", "HTTP_ACCEPT_ENCODING" => a))
+ Rack::Utils.select_best_encoding(a, b)
+ end
+
+ helper.call(%w(), [["x", 1]]).should.equal(nil)
+ helper.call(%w(identity), [["identity", 0.0]]).should.equal(nil)
+ helper.call(%w(identity), [["*", 0.0]]).should.equal(nil)
+
+ helper.call(%w(identity), [["compress", 1.0], ["gzip", 1.0]]).should.equal("identity")
+
+ helper.call(%w(compress gzip identity), [["compress", 1.0], ["gzip", 1.0]]).should.equal("compress")
+ helper.call(%w(compress gzip identity), [["compress", 0.5], ["gzip", 1.0]]).should.equal("gzip")
+
+ helper.call(%w(foo bar identity), []).should.equal("identity")
+ helper.call(%w(foo bar identity), [["*", 1.0]]).should.equal("foo")
+ helper.call(%w(foo bar identity), [["*", 1.0], ["foo", 0.9]]).should.equal("bar")
+
+ helper.call(%w(foo bar identity), [["foo", 0], ["bar", 0]]).should.equal("identity")
+ helper.call(%w(foo bar baz identity), [["*", 0], ["identity", 0.1]]).should.equal("identity")
+ end
+
+ specify "should return the bytesize of String" do
+ Rack::Utils.bytesize("FOO\xE2\x82\xAC").should.equal 6
+ end
+
+ specify "should return status code for integer" do
+ Rack::Utils.status_code(200).should.equal 200
+ end
+
+ specify "should return status code for string" do
+ Rack::Utils.status_code("200").should.equal 200
+ end
+
+ specify "should return status code for symbol" do
+ Rack::Utils.status_code(:ok).should.equal 200
+ end
+end
+
+context "Rack::Utils::HeaderHash" do
+ specify "should retain header case" do
+ h = Rack::Utils::HeaderHash.new("Content-MD5" => "d5ff4e2a0 ...")
+ h['ETag'] = 'Boo!'
+ h.to_hash.should.equal "Content-MD5" => "d5ff4e2a0 ...", "ETag" => 'Boo!'
+ end
+
+ specify "should check existence of keys case insensitively" do
+ h = Rack::Utils::HeaderHash.new("Content-MD5" => "d5ff4e2a0 ...")
+ h.should.include 'content-md5'
+ h.should.not.include 'ETag'
+ end
+
+ specify "should merge case-insensitively" do
+ h = Rack::Utils::HeaderHash.new("ETag" => 'HELLO', "content-length" => '123')
+ merged = h.merge("Etag" => 'WORLD', 'Content-Length' => '321', "Foo" => 'BAR')
+ merged.should.equal "Etag"=>'WORLD', "Content-Length"=>'321', "Foo"=>'BAR'
+ end
+
+ specify "should overwrite case insensitively and assume the new key's case" do
+ h = Rack::Utils::HeaderHash.new("Foo-Bar" => "baz")
+ h["foo-bar"] = "bizzle"
+ h["FOO-BAR"].should.equal "bizzle"
+ h.length.should.equal 1
+ h.to_hash.should.equal "foo-bar" => "bizzle"
+ end
+
+ specify "should be converted to real Hash" do
+ h = Rack::Utils::HeaderHash.new("foo" => "bar")
+ h.to_hash.should.be.instance_of Hash
+ end
+
+ specify "should convert Array values to Strings when converting to Hash" do
+ h = Rack::Utils::HeaderHash.new("foo" => ["bar", "baz"])
+ h.to_hash.should.equal({ "foo" => "bar\nbaz" })
+ end
+
+ specify "should replace hashes correctly" do
+ h = Rack::Utils::HeaderHash.new("Foo-Bar" => "baz")
+ j = {"foo" => "bar"}
+ h.replace(j)
+ h["foo"].should.equal "bar"
+ end
+
+ specify "should be able to delete the given key case-sensitively" do
+ h = Rack::Utils::HeaderHash.new("foo" => "bar")
+ h.delete("foo")
+ h["foo"].should.be.nil
+ h["FOO"].should.be.nil
+ end
+
+ specify "should be able to delete the given key case-insensitively" do
+ h = Rack::Utils::HeaderHash.new("foo" => "bar")
+ h.delete("FOO")
+ h["foo"].should.be.nil
+ h["FOO"].should.be.nil
+ end
+
+ specify "should return the deleted value when #delete is called on an existing key" do
+ h = Rack::Utils::HeaderHash.new("foo" => "bar")
+ h.delete("Foo").should.equal("bar")
+ end
+
+ specify "should return nil when #delete is called on a non-existant key" do
+ h = Rack::Utils::HeaderHash.new("foo" => "bar")
+ h.delete("Hello").should.be.nil
+ end
+
+ specify "should avoid unnecessary object creation if possible" do
+ a = Rack::Utils::HeaderHash.new("foo" => "bar")
+ b = Rack::Utils::HeaderHash.new(a)
+ b.object_id.should.equal(a.object_id)
+ b.should.equal(a)
+ end
+
+ specify "should convert Array values to Strings when responding to #each" do
+ h = Rack::Utils::HeaderHash.new("foo" => ["bar", "baz"])
+ h.each do |k,v|
+ k.should.equal("foo")
+ v.should.equal("bar\nbaz")
+ end
+ end
+
+end
+
+context "Rack::Utils::Context" do
+ class ContextTest
+ attr_reader :app
+ def initialize app; @app=app; end
+ def call env; context env; end
+ def context env, app=@app; app.call(env); end
+ end
+ test_target1 = proc{|e| e.to_s+' world' }
+ test_target2 = proc{|e| e.to_i+2 }
+ test_target3 = proc{|e| nil }
+ test_target4 = proc{|e| [200,{'Content-Type'=>'text/plain', 'Content-Length'=>'0'},['']] }
+ test_app = ContextTest.new test_target4
+
+ specify "should set context correctly" do
+ test_app.app.should.equal test_target4
+ c1 = Rack::Utils::Context.new(test_app, test_target1)
+ c1.for.should.equal test_app
+ c1.app.should.equal test_target1
+ c2 = Rack::Utils::Context.new(test_app, test_target2)
+ c2.for.should.equal test_app
+ c2.app.should.equal test_target2
+ end
+
+ specify "should alter app on recontexting" do
+ c1 = Rack::Utils::Context.new(test_app, test_target1)
+ c2 = c1.recontext(test_target2)
+ c2.for.should.equal test_app
+ c2.app.should.equal test_target2
+ c3 = c2.recontext(test_target3)
+ c3.for.should.equal test_app
+ c3.app.should.equal test_target3
+ end
+
+ specify "should run different apps" do
+ c1 = Rack::Utils::Context.new test_app, test_target1
+ c2 = c1.recontext test_target2
+ c3 = c2.recontext test_target3
+ c4 = c3.recontext test_target4
+ a4 = Rack::Lint.new c4
+ a5 = Rack::Lint.new test_app
+ r1 = c1.call('hello')
+ r1.should.equal 'hello world'
+ r2 = c2.call(2)
+ r2.should.equal 4
+ r3 = c3.call(:misc_symbol)
+ r3.should.be.nil
+ r4 = Rack::MockRequest.new(a4).get('/')
+ r4.status.should.be 200
+ r5 = Rack::MockRequest.new(a5).get('/')
+ r5.status.should.be 200
+ r4.body.should.equal r5.body
+ end
+end
+
+context "Rack::Utils::Multipart" do
+ specify "should return nil if content type is not multipart" do
+ env = Rack::MockRequest.env_for("/",
+ "CONTENT_TYPE" => 'application/x-www-form-urlencoded')
+ Rack::Utils::Multipart.parse_multipart(env).should.equal nil
+ end
+
+ specify "should parse multipart upload with text file" do
+ env = Rack::MockRequest.env_for("/", multipart_fixture(:text))
+ params = Rack::Utils::Multipart.parse_multipart(env)
+ params["submit-name"].should.equal "Larry"
+ params["files"][:type].should.equal "text/plain"
+ params["files"][:filename].should.equal "file1.txt"
+ params["files"][:head].should.equal "Content-Disposition: form-data; " +
+ "name=\"files\"; filename=\"file1.txt\"\r\n" +
+ "Content-Type: text/plain\r\n"
+ params["files"][:name].should.equal "files"
+ params["files"][:tempfile].read.should.equal "contents"
+ end
+
+ specify "should parse multipart upload with nested parameters" do
+ env = Rack::MockRequest.env_for("/", multipart_fixture(:nested))
+ params = Rack::Utils::Multipart.parse_multipart(env)
+ params["foo"]["submit-name"].should.equal "Larry"
+ params["foo"]["files"][:type].should.equal "text/plain"
+ params["foo"]["files"][:filename].should.equal "file1.txt"
+ params["foo"]["files"][:head].should.equal "Content-Disposition: form-data; " +
+ "name=\"foo[files]\"; filename=\"file1.txt\"\r\n" +
+ "Content-Type: text/plain\r\n"
+ params["foo"]["files"][:name].should.equal "foo[files]"
+ params["foo"]["files"][:tempfile].read.should.equal "contents"
+ end
+
+ specify "should parse multipart upload with binary file" do
+ env = Rack::MockRequest.env_for("/", multipart_fixture(:binary))
+ params = Rack::Utils::Multipart.parse_multipart(env)
+ params["submit-name"].should.equal "Larry"
+ params["files"][:type].should.equal "image/png"
+ params["files"][:filename].should.equal "rack-logo.png"
+ params["files"][:head].should.equal "Content-Disposition: form-data; " +
+ "name=\"files\"; filename=\"rack-logo.png\"\r\n" +
+ "Content-Type: image/png\r\n"
+ params["files"][:name].should.equal "files"
+ params["files"][:tempfile].read.length.should.equal 26473
+ end
+
+ specify "should parse multipart upload with empty file" do
+ env = Rack::MockRequest.env_for("/", multipart_fixture(:empty))
+ params = Rack::Utils::Multipart.parse_multipart(env)
+ params["submit-name"].should.equal "Larry"
+ params["files"][:type].should.equal "text/plain"
+ params["files"][:filename].should.equal "file1.txt"
+ params["files"][:head].should.equal "Content-Disposition: form-data; " +
+ "name=\"files\"; filename=\"file1.txt\"\r\n" +
+ "Content-Type: text/plain\r\n"
+ params["files"][:name].should.equal "files"
+ params["files"][:tempfile].read.should.equal ""
+ end
+
+ specify "should parse multipart upload with filename with semicolons" do
+ env = Rack::MockRequest.env_for("/", multipart_fixture(:semicolon))
+ params = Rack::Utils::Multipart.parse_multipart(env)
+ params["files"][:type].should.equal "text/plain"
+ params["files"][:filename].should.equal "fi;le1.txt"
+ params["files"][:head].should.equal "Content-Disposition: form-data; " +
+ "name=\"files\"; filename=\"fi;le1.txt\"\r\n" +
+ "Content-Type: text/plain\r\n"
+ params["files"][:name].should.equal "files"
+ params["files"][:tempfile].read.should.equal "contents"
+ end
+
+ specify "should not include file params if no file was selected" do
+ env = Rack::MockRequest.env_for("/", multipart_fixture(:none))
+ params = Rack::Utils::Multipart.parse_multipart(env)
+ params["submit-name"].should.equal "Larry"
+ params["files"].should.equal nil
+ params.keys.should.not.include "files"
+ end
+
+ specify "should parse IE multipart upload and clean up filename" do
+ env = Rack::MockRequest.env_for("/", multipart_fixture(:ie))
+ params = Rack::Utils::Multipart.parse_multipart(env)
+ params["files"][:type].should.equal "text/plain"
+ params["files"][:filename].should.equal "file1.txt"
+ params["files"][:head].should.equal "Content-Disposition: form-data; " +
+ "name=\"files\"; " +
+ 'filename="C:\Documents and Settings\Administrator\Desktop\file1.txt"' +
+ "\r\nContent-Type: text/plain\r\n"
+ params["files"][:name].should.equal "files"
+ params["files"][:tempfile].read.should.equal "contents"
+ end
+
+ specify "rewinds input after parsing upload" do
+ options = multipart_fixture(:text)
+ input = options[:input]
+ env = Rack::MockRequest.env_for("/", options)
+ params = Rack::Utils::Multipart.parse_multipart(env)
+ params["submit-name"].should.equal "Larry"
+ params["files"][:filename].should.equal "file1.txt"
+ input.read.length.should.equal 197
+ end
+
+ specify "builds multipart body" do
+ files = Rack::Utils::Multipart::UploadedFile.new(multipart_file("file1.txt"))
+ data = Rack::Utils::Multipart.build_multipart("submit-name" => "Larry", "files" => files)
+
+ options = {
+ "CONTENT_TYPE" => "multipart/form-data; boundary=AaB03x",
+ "CONTENT_LENGTH" => data.length.to_s,
+ :input => StringIO.new(data)
+ }
+ env = Rack::MockRequest.env_for("/", options)
+ params = Rack::Utils::Multipart.parse_multipart(env)
+ params["submit-name"].should.equal "Larry"
+ params["files"][:filename].should.equal "file1.txt"
+ params["files"][:tempfile].read.should.equal "contents"
+ end
+
+ specify "builds nested multipart body" do
+ files = Rack::Utils::Multipart::UploadedFile.new(multipart_file("file1.txt"))
+ data = Rack::Utils::Multipart.build_multipart("people" => [{"submit-name" => "Larry", "files" => files}])
+
+ options = {
+ "CONTENT_TYPE" => "multipart/form-data; boundary=AaB03x",
+ "CONTENT_LENGTH" => data.length.to_s,
+ :input => StringIO.new(data)
+ }
+ env = Rack::MockRequest.env_for("/", options)
+ params = Rack::Utils::Multipart.parse_multipart(env)
+ params["people"][0]["submit-name"].should.equal "Larry"
+ params["people"][0]["files"][:filename].should.equal "file1.txt"
+ params["people"][0]["files"][:tempfile].read.should.equal "contents"
+ end
+
+ specify "can parse fields that end at the end of the buffer" do
+ input = File.read(multipart_file("bad_robots"))
+
+ req = Rack::Request.new Rack::MockRequest.env_for("/",
+ "CONTENT_TYPE" => "multipart/form-data, boundary=1yy3laWhgX31qpiHinh67wJXqKalukEUTvqTzmon",
+ "CONTENT_LENGTH" => input.size,
+ :input => input)
+
+ req.POST['file.path'].should.equal "/var/tmp/uploads/4/0001728414"
+ req.POST['addresses'].should.not.equal nil
+ end
+
+ specify "builds complete params with the chunk size of 16384 slicing exactly on boundary" do
+ data = File.open(multipart_file("fail_16384_nofile")) { |f| f.read }.gsub(/\n/, "\r\n")
+ options = {
+ "CONTENT_TYPE" => "multipart/form-data; boundary=----WebKitFormBoundaryWsY0GnpbI5U7ztzo",
+ "CONTENT_LENGTH" => data.length.to_s,
+ :input => StringIO.new(data)
+ }
+ env = Rack::MockRequest.env_for("/", options)
+ params = Rack::Utils::Multipart.parse_multipart(env)
+
+ params.should.not.equal nil
+ params.keys.should.include "AAAAAAAAAAAAAAAAAAA"
+ params["AAAAAAAAAAAAAAAAAAA"].keys.should.include "PLAPLAPLA_MEMMEMMEMM_ATTRATTRER"
+ params["AAAAAAAAAAAAAAAAAAA"]["PLAPLAPLA_MEMMEMMEMM_ATTRATTRER"].keys.should.include "new"
+ params["AAAAAAAAAAAAAAAAAAA"]["PLAPLAPLA_MEMMEMMEMM_ATTRATTRER"]["new"].keys.should.include "-2"
+ params["AAAAAAAAAAAAAAAAAAA"]["PLAPLAPLA_MEMMEMMEMM_ATTRATTRER"]["new"]["-2"].keys.should.include "ba_unit_id"
+ params["AAAAAAAAAAAAAAAAAAA"]["PLAPLAPLA_MEMMEMMEMM_ATTRATTRER"]["new"]["-2"]["ba_unit_id"].should.equal "1017"
+ end
+
+ specify "should return nil if no UploadedFiles were used" do
+ data = Rack::Utils::Multipart.build_multipart("people" => [{"submit-name" => "Larry", "files" => "contents"}])
+ data.should.equal nil
+ end
+
+ specify "should raise ArgumentError if params is not a Hash" do
+ lambda { Rack::Utils::Multipart.build_multipart("foo=bar") }.
+ should.raise(ArgumentError).
+ message.should.equal "value must be a Hash"
+ end
+
+ private
+ def multipart_fixture(name)
+ file = multipart_file(name)
+ data = File.open(file, 'rb') { |io| io.read }
+
+ type = "multipart/form-data; boundary=AaB03x"
+ length = data.respond_to?(:bytesize) ? data.bytesize : data.size
+
+ { "CONTENT_TYPE" => type,
+ "CONTENT_LENGTH" => length.to_s,
+ :input => StringIO.new(data) }
+ end
+
+ def multipart_file(name)
+ File.join(File.dirname(__FILE__), "multipart", name.to_s)
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_webrick.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_webrick.rb
new file mode 100755
index 00000000000..599425c4f3d
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_webrick.rb
@@ -0,0 +1,130 @@
+require 'test/spec'
+
+require 'rack/handler/webrick'
+require 'rack/lint'
+require 'rack/response'
+require 'testrequest'
+
+Thread.abort_on_exception = true
+
+context "Rack::Handler::WEBrick" do
+ include TestRequest::Helpers
+
+ setup do
+ @server = WEBrick::HTTPServer.new(:Host => @host='0.0.0.0',
+ :Port => @port=9202,
+ :Logger => WEBrick::Log.new(nil, WEBrick::BasicLog::WARN),
+ :AccessLog => [])
+ @server.mount "/test", Rack::Handler::WEBrick,
+ Rack::Lint.new(TestRequest.new)
+ Thread.new { @server.start }
+ trap(:INT) { @server.shutdown }
+ end
+
+ specify "should respond" do
+ lambda {
+ GET("/test")
+ }.should.not.raise
+ end
+
+ specify "should be a WEBrick" do
+ GET("/test")
+ status.should.be 200
+ response["SERVER_SOFTWARE"].should =~ /WEBrick/
+ response["HTTP_VERSION"].should.equal "HTTP/1.1"
+ response["SERVER_PROTOCOL"].should.equal "HTTP/1.1"
+ response["SERVER_PORT"].should.equal "9202"
+ response["SERVER_NAME"].should.equal "0.0.0.0"
+ end
+
+ specify "should have rack headers" do
+ GET("/test")
+ response["rack.version"].should.equal [1,1]
+ response["rack.multithread"].should.be true
+ response["rack.multiprocess"].should.be false
+ response["rack.run_once"].should.be false
+ end
+
+ specify "should have CGI headers on GET" do
+ GET("/test")
+ response["REQUEST_METHOD"].should.equal "GET"
+ response["SCRIPT_NAME"].should.equal "/test"
+ response["REQUEST_PATH"].should.equal "/"
+ response["PATH_INFO"].should.be.equal ""
+ response["QUERY_STRING"].should.equal ""
+ response["test.postdata"].should.equal ""
+
+ GET("/test/foo?quux=1")
+ response["REQUEST_METHOD"].should.equal "GET"
+ response["SCRIPT_NAME"].should.equal "/test"
+ response["REQUEST_PATH"].should.equal "/"
+ response["PATH_INFO"].should.equal "/foo"
+ response["QUERY_STRING"].should.equal "quux=1"
+
+ GET("/test/foo%25encoding?quux=1")
+ response["REQUEST_METHOD"].should.equal "GET"
+ response["SCRIPT_NAME"].should.equal "/test"
+ response["REQUEST_PATH"].should.equal "/"
+ response["PATH_INFO"].should.equal "/foo%25encoding"
+ response["QUERY_STRING"].should.equal "quux=1"
+ end
+
+ specify "should have CGI headers on POST" do
+ POST("/test", {"rack-form-data" => "23"}, {'X-test-header' => '42'})
+ status.should.equal 200
+ response["REQUEST_METHOD"].should.equal "POST"
+ response["SCRIPT_NAME"].should.equal "/test"
+ response["REQUEST_PATH"].should.equal "/"
+ response["QUERY_STRING"].should.equal ""
+ response["HTTP_X_TEST_HEADER"].should.equal "42"
+ response["test.postdata"].should.equal "rack-form-data=23"
+ end
+
+ specify "should support HTTP auth" do
+ GET("/test", {:user => "ruth", :passwd => "secret"})
+ response["HTTP_AUTHORIZATION"].should.equal "Basic cnV0aDpzZWNyZXQ="
+ end
+
+ specify "should set status" do
+ GET("/test?secret")
+ status.should.equal 403
+ response["rack.url_scheme"].should.equal "http"
+ end
+
+ specify "should correctly set cookies" do
+ @server.mount "/cookie-test", Rack::Handler::WEBrick,
+ Rack::Lint.new(lambda { |req|
+ res = Rack::Response.new
+ res.set_cookie "one", "1"
+ res.set_cookie "two", "2"
+ res.finish
+ })
+
+ Net::HTTP.start(@host, @port) { |http|
+ res = http.get("/cookie-test")
+ res.code.to_i.should.equal 200
+ res.get_fields("set-cookie").should.equal ["one=1", "two=2"]
+ }
+ end
+
+ specify "should provide a .run" do
+ block_ran = false
+ catch(:done) {
+ Rack::Handler::WEBrick.run(lambda {},
+ {:Port => 9210,
+ :Logger => WEBrick::Log.new(nil, WEBrick::BasicLog::WARN),
+ :AccessLog => []}) { |server|
+ block_ran = true
+ server.should.be.kind_of WEBrick::HTTPServer
+ @s = server
+ throw :done
+ }
+ }
+ block_ran.should.be true
+ @s.shutdown
+ end
+
+ teardown do
+ @server.shutdown
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rackup.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rackup.rb
new file mode 100755
index 00000000000..55e7dc89e3b
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rackup.rb
@@ -0,0 +1,164 @@
+require 'test/spec'
+require 'testrequest'
+require 'rack/server'
+require 'open3'
+
+begin
+require "mongrel"
+
+context "rackup" do
+ include TestRequest::Helpers
+
+ def run_rackup(*args)
+ options = args.last.is_a?(Hash) ? args.pop : {}
+ flags = args.first
+ @host = options[:host] || "0.0.0.0"
+ @port = options[:port] || 9292
+
+ Dir.chdir("#{root}/test/rackup") do
+ @in, @rackup, @err = Open3.popen3("#{ruby} -S #{rackup} #{flags}")
+ end
+
+ return if options[:port] == false
+
+ # Wait until the server is available
+ i = 0
+ begin
+ GET("/")
+ rescue
+ i += 1
+ if i > 40
+ Dir["#{root}/**/*.pid"].each {|f|
+ Process.kill(9, File.read(f)) rescue nil
+ File.delete(f)
+ }
+ raise "Server did not start"
+ end
+ sleep 0.05
+ retry
+ end
+ end
+
+ def output
+ @rackup.read
+ end
+
+ after do
+ # This doesn't actually return a response, so we rescue
+ GET "/die" rescue nil
+
+ Dir["#{root}/**/*.pid"].each do |file|
+ Process.kill(9, File.read(file).strip.to_i) rescue nil
+ File.delete(file)
+ end
+
+ File.delete("#{root}/log_output") if File.exist?("#{root}/log_output")
+ end
+
+ specify "rackup" do
+ run_rackup
+ response["PATH_INFO"].should.equal '/'
+ response["test.$DEBUG"].should.be false
+ response["test.$EVAL"].should.be nil
+ response["test.$VERBOSE"].should.be false
+ response["test.Ping"].should.be nil
+ response["SERVER_SOFTWARE"].should.not =~ /webrick/
+ end
+
+ specify "rackup --help" do
+ run_rackup "--help", :port => false
+ output.should.match /--port/
+ end
+
+ specify "rackup --port" do
+ run_rackup "--port 9000", :port => 9000
+ response["SERVER_PORT"].should.equal "9000"
+ end
+
+ specify "rackup --debug" do
+ run_rackup "--debug"
+ response["test.$DEBUG"].should.be true
+ end
+
+ specify "rackup --eval" do
+ run_rackup %{--eval "BUKKIT = 'BUKKIT'"}
+ response["test.$EVAL"].should.equal "BUKKIT"
+ end
+
+ specify "rackup --warn" do
+ run_rackup %{--warn}
+ response["test.$VERBOSE"].should.be true
+ end
+
+ specify "rackup --include" do
+ run_rackup %{--include /foo/bar}
+ response["test.$LOAD_PATH"].should.include "/foo/bar"
+ end
+
+ specify "rackup --require" do
+ run_rackup %{--require ping}
+ response["test.Ping"].should.equal "constant"
+ end
+
+ specify "rackup --server" do
+ run_rackup %{--server webrick}
+ response["SERVER_SOFTWARE"].should =~ /webrick/i
+ end
+
+ specify "rackup --host" do
+ run_rackup %{--host 127.0.0.1}, :host => "127.0.0.1"
+ response["REMOTE_ADDR"].should.equal "127.0.0.1"
+ end
+
+ specify "rackup --daemonize --pid" do
+ run_rackup "--daemonize --pid testing.pid"
+ status.should.be 200
+ @rackup.should.be.eof?
+ Dir["#{root}/**/testing.pid"].should.not.be.empty?
+ end
+
+ specify "rackup --pid" do
+ run_rackup %{--pid testing.pid}
+ status.should.be 200
+ Dir["#{root}/**/testing.pid"].should.not.be.empty?
+ end
+
+ specify "rackup --version" do
+ run_rackup %{--version}, :port => false
+ output.should =~ /Rack 1.1/
+ end
+
+ specify "rackup --env development includes lint" do
+ run_rackup
+ GET("/broken_lint")
+ status.should.be 500
+ end
+
+ specify "rackup --env deployment does not include lint" do
+ run_rackup %{--env deployment}
+ GET("/broken_lint")
+ status.should.be 200
+ end
+
+ specify "rackup --env none does not include lint" do
+ run_rackup %{--env none}
+ GET("/broken_lint")
+ status.should.be 200
+ end
+
+ specify "rackup --env deployment does log" do
+ run_rackup %{--env deployment}
+ log = File.read(response["test.stderr"])
+ log.should.be.empty?
+ end
+
+ specify "rackup --env none does not log" do
+ run_rackup %{--env none}
+ GET("/")
+ log = File.read(response["test.stderr"])
+ log.should.be.empty?
+ end
+end
+rescue LoadError
+ $stderr.puts "Skipping rackup --server tests (mongrel is required). `gem install thin` and try again."
+end \ No newline at end of file
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/CHANGELOG b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/CHANGELOG
index a94249b6991..2e29214239c 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/CHANGELOG
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/CHANGELOG
@@ -1,8 +1,29 @@
-*Edge*
+*2.3.11 (February 9, 2011)*
+
+*2.3.10 (October 15, 2010)*
+
+*2.3.9 (September 4, 2010)*
+
+* Deprecates config.load_(once_)paths in favor of autolaod_(once_)paths. [fxn]
+
+
+*2.3.8 (May 24, 2010)*
+*2.3.7 (May 24, 2010)*
+
+* Version bump.
+
+
+*2.3.6 (May 23, 2010)*
+
+* Added config/initializers/cookie_verification_secret.rb with an auto-generated secret for using ActionController::Base#cookies.signed [DHH]
* Fixed that the debugger wouldn't go into IRB mode because of left-over ARGVs [DHH]
-* 1.9 compatibility
+
+*2.3.5 (November 25, 2009)*
+
+* Ruby 1.9 compatibility
+
*2.3.4 (September 4, 2009)*
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/MIT-LICENSE b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/MIT-LICENSE
index e6df48772fe..86bcb23b7cf 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/MIT-LICENSE
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/MIT-LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2004-2009 David Heinemeier Hansson
+Copyright (c) 2004-2010 David Heinemeier Hansson
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/README b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/README
index 37ec8ea2110..37ec8ea2110 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/README
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/README
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/Rakefile b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/Rakefile
index bf88f338702..c3d8eeb7152 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/Rakefile
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/Rakefile
@@ -1,7 +1,7 @@
require 'rake'
require 'rake/testtask'
-require 'rake/rdoctask'
-require 'rake/gempackagetask'
+require 'rdoc/task'
+require 'rubygems/package_task'
require 'date'
require 'rbconfig'
@@ -267,7 +267,7 @@ task :generate_app_doc do
system %{cd #{PKG_DESTINATION}; rake doc:app}
end
-Rake::RDocTask.new { |rdoc|
+RDoc::Task.new { |rdoc|
rdoc.rdoc_dir = 'doc'
rdoc.title = "Railties -- Gluing the Engine to the Rails"
rdoc.options << '--line-numbers' << '--inline-source' << '--accessor' << 'cattr_accessor=object'
@@ -296,7 +296,6 @@ PKG_FILES = FileList[
'doc/**/*',
'dispatches/**/*',
'environments/**/*',
- 'guides/**/*',
'helpers/**/*',
'generators/**/*',
'html/**/*',
@@ -314,20 +313,18 @@ spec = Gem::Specification.new do |s|
EOF
s.add_dependency('rake', '>= 0.8.3')
- s.add_dependency('activesupport', '= 2.3.5' + PKG_BUILD)
- s.add_dependency('activerecord', '= 2.3.5' + PKG_BUILD)
- s.add_dependency('actionpack', '= 2.3.5' + PKG_BUILD)
- s.add_dependency('actionmailer', '= 2.3.5' + PKG_BUILD)
- s.add_dependency('activeresource', '= 2.3.5' + PKG_BUILD)
+ s.add_dependency('activesupport', '= 2.3.14' + PKG_BUILD)
+ s.add_dependency('activerecord', '= 2.3.14' + PKG_BUILD)
+ s.add_dependency('actionpack', '= 2.3.14' + PKG_BUILD)
+ s.add_dependency('actionmailer', '= 2.3.14' + PKG_BUILD)
+ s.add_dependency('activeresource', '= 2.3.14' + PKG_BUILD)
s.rdoc_options << '--exclude' << '.'
- s.has_rdoc = false
- s.files = PKG_FILES.to_a.delete_if {|f| f =~ %r{\.svn|guides/output}}
+ s.files = PKG_FILES
s.require_path = 'lib'
s.bindir = "bin" # Use these for applications.
s.executables = ["rails"]
- s.default_executable = "rails"
s.author = "David Heinemeier Hansson"
s.email = "david@loudthinking.com"
@@ -335,7 +332,7 @@ spec = Gem::Specification.new do |s|
s.rubyforge_project = "rails"
end
-Rake::GemPackageTask.new(spec) do |pkg|
+Gem::PackageTask.new(spec) do |pkg|
pkg.gem_spec = spec
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/builtin/rails_info/rails/info.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/builtin/rails_info/rails/info.rb
index 8c858d23fb3..b2799f0955f 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/builtin/rails_info/rails/info.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/builtin/rails_info/rails/info.rb
@@ -38,7 +38,7 @@ module Rails
def freeze_edge_version
if File.exist?(rails_vendor_root)
begin
- Dir[File.join(rails_vendor_root, 'REVISION_*')].first.scan(/_(\d+)$/).first.first
+ File.readlines(File.join(rails_vendor_root,'REVISION')).first.strip
rescue
Dir[File.join(rails_vendor_root, 'TAG_*')].first.scan(/_(.+)$/).first.first rescue 'unknown'
end
@@ -55,7 +55,7 @@ module Rails
alias inspect to_s
def to_html
- returning table = '<table>' do
+ '<table>'.tap do |table|
properties.each do |(name, value)|
table << %(<tr><td class="name">#{CGI.escapeHTML(name.to_s)}</td>)
table << %(<td class="value">#{CGI.escapeHTML(value.to_s)}</td></tr>)
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/builtin/rails_info/rails/info_controller.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/builtin/rails_info/rails/info_controller.rb
index 05745d606d2..05745d606d2 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/builtin/rails_info/rails/info_controller.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/builtin/rails_info/rails/info_controller.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/builtin/rails_info/rails/info_helper.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/builtin/rails_info/rails/info_helper.rb
index e5605a8d9be..e5605a8d9be 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/builtin/rails_info/rails/info_helper.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/builtin/rails_info/rails/info_helper.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/builtin/rails_info/rails_info_controller.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/builtin/rails_info/rails_info_controller.rb
index 2009eb3a994..2009eb3a994 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/builtin/rails_info/rails_info_controller.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/builtin/rails_info/rails_info_controller.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/databases/frontbase.yml b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/configs/databases/frontbase.yml
index c0c3588be1b..c0c3588be1b 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/databases/frontbase.yml
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/configs/databases/frontbase.yml
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/databases/ibm_db.yml b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/configs/databases/ibm_db.yml
index a9716ddb445..a9716ddb445 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/databases/ibm_db.yml
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/configs/databases/ibm_db.yml
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/databases/mysql.yml b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/configs/databases/mysql.yml
index 1a14bfb332f..1a14bfb332f 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/databases/mysql.yml
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/configs/databases/mysql.yml
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/databases/oracle.yml b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/configs/databases/oracle.yml
index a1883f62560..a1883f62560 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/databases/oracle.yml
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/configs/databases/oracle.yml
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/databases/postgresql.yml b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/configs/databases/postgresql.yml
index f600e054cfd..f600e054cfd 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/databases/postgresql.yml
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/configs/databases/postgresql.yml
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/databases/sqlite2.yml b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/configs/databases/sqlite2.yml
index 46f01cb42c9..46f01cb42c9 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/databases/sqlite2.yml
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/configs/databases/sqlite2.yml
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/databases/sqlite3.yml b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/configs/databases/sqlite3.yml
index 025d62a8d81..025d62a8d81 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/databases/sqlite3.yml
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/configs/databases/sqlite3.yml
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/html/favicon.ico b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/configs/empty.log
index e69de29bb2d..e69de29bb2d 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/html/favicon.ico
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/configs/empty.log
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/initializers/backtrace_silencers.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/configs/initializers/backtrace_silencers.rb
index c2169ed01c5..c2169ed01c5 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/initializers/backtrace_silencers.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/configs/initializers/backtrace_silencers.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/configs/initializers/cookie_verification_secret.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/configs/initializers/cookie_verification_secret.rb
new file mode 100755
index 00000000000..9f05cd5a313
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/configs/initializers/cookie_verification_secret.rb
@@ -0,0 +1,7 @@
+# Be sure to restart your server when you modify this file.
+
+# Your secret key for verifying the integrity of signed cookies.
+# If you change this key, all old signed cookies will become invalid!
+# Make sure the secret is at least 30 characters and all random,
+# no regular words or you'll be exposed to dictionary attacks.
+ActionController::Base.cookie_verifier_secret = '<%= app_secret %>';
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/initializers/inflections.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/configs/initializers/inflections.rb
index d531b8bb825..d531b8bb825 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/initializers/inflections.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/configs/initializers/inflections.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/initializers/mime_types.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/configs/initializers/mime_types.rb
index 72aca7e441e..72aca7e441e 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/initializers/mime_types.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/configs/initializers/mime_types.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/initializers/new_rails_defaults.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/configs/initializers/new_rails_defaults.rb
index c94db0a6642..c94db0a6642 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/initializers/new_rails_defaults.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/configs/initializers/new_rails_defaults.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/initializers/session_store.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/configs/initializers/session_store.rb
index 4499ab84b60..4499ab84b60 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/initializers/session_store.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/configs/initializers/session_store.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/locales/en.yml b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/configs/locales/en.yml
index f265c068d89..f265c068d89 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/locales/en.yml
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/configs/locales/en.yml
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/routes.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/configs/routes.rb
index ea14ce1bfcc..ea14ce1bfcc 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/routes.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/configs/routes.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/seeds.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/configs/seeds.rb
index 3174d0cb8a8..3174d0cb8a8 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/seeds.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/configs/seeds.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/dispatches/config.ru b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/dispatches/config.ru
index acbfe4e9ae1..acbfe4e9ae1 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/dispatches/config.ru
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/dispatches/config.ru
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/dispatches/dispatch.fcgi b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/dispatches/dispatch.fcgi
index 664dbbbee82..664dbbbee82 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/dispatches/dispatch.fcgi
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/dispatches/dispatch.fcgi
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/dispatches/dispatch.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/dispatches/dispatch.rb
index 32fa3b2665a..32fa3b2665a 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/dispatches/dispatch.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/dispatches/dispatch.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/dispatches/gateway.cgi b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/dispatches/gateway.cgi
index 0305b7f810f..0305b7f810f 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/dispatches/gateway.cgi
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/dispatches/gateway.cgi
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/environments/boot.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/environments/boot.rb
index dd5e3b69164..6686664cd94 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/environments/boot.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/environments/boot.rb
@@ -62,8 +62,12 @@ module Rails
gem 'rails'
end
rescue Gem::LoadError => load_error
- $stderr.puts %(Missing the Rails #{version} gem. Please `gem install -v=#{version} rails`, update your RAILS_GEM_VERSION setting in config/environment.rb for the Rails version you do have installed, or comment out RAILS_GEM_VERSION to use the latest version installed.)
- exit 1
+ if load_error.message =~ /Could not find RubyGem rails/
+ STDERR.puts %(Missing the Rails #{version} gem. Please `gem install -v=#{version} rails`, update your RAILS_GEM_VERSION setting in config/environment.rb for the Rails version you do have installed, or comment out RAILS_GEM_VERSION to use the latest version installed.)
+ exit 1
+ else
+ raise
+ end
end
class << self
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/environments/development.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/environments/development.rb
index 85c9a6080ea..85c9a6080ea 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/environments/development.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/environments/development.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/environments/environment.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/environments/environment.rb
index 4a2df363073..250deaf481d 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/environments/environment.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/environments/environment.rb
@@ -12,7 +12,7 @@ Rails::Initializer.run do |config|
# -- all .rb files in that directory are automatically loaded.
# Add additional load paths for your own custom dirs
- # config.load_paths += %W( #{RAILS_ROOT}/extras )
+ # config.autoload_paths += %W( #{RAILS_ROOT}/extras )
# Specify gems that this application depends on and have them installed with rake gems:install
# config.gem "bj"
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/environments/production.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/environments/production.rb
index 27119d2d18b..27119d2d18b 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/environments/production.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/environments/production.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/environments/test.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/environments/test.rb
index d6f80a4080d..d6f80a4080d 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/environments/test.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/environments/test.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/fresh_rakefile b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/fresh_rakefile
index 3bb0e8592a4..3bb0e8592a4 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/fresh_rakefile
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/fresh_rakefile
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/helpers/application_controller.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/helpers/application_controller.rb
index 6635a3f487a..6635a3f487a 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/helpers/application_controller.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/helpers/application_controller.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/helpers/application_helper.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/helpers/application_helper.rb
index 22a7940eb21..22a7940eb21 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/helpers/application_helper.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/helpers/application_helper.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/helpers/performance_test.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/helpers/performance_test.rb
index 4b60558b439..4b60558b439 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/helpers/performance_test.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/helpers/performance_test.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/helpers/test_helper.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/helpers/test_helper.rb
index b9fe2517c84..b9fe2517c84 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/helpers/test_helper.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/helpers/test_helper.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/html/404.html b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/html/404.html
index eff660b90c3..eff660b90c3 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/html/404.html
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/html/404.html
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/html/422.html b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/html/422.html
index b54e4a3cadb..b54e4a3cadb 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/html/422.html
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/html/422.html
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/html/500.html b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/html/500.html
index ec3bbf02c43..ec3bbf02c43 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/html/500.html
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/html/500.html
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/fixture.rhtml b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/html/favicon.ico
index e69de29bb2d..e69de29bb2d 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/fixture.rhtml
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/html/favicon.ico
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/html/images/rails.png b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/html/images/rails.png
new file mode 100755
index 00000000000..d5edc04e65f
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/html/images/rails.png
Binary files differ
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/html/index.html b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/html/index.html
index 0dd5189fb7d..0dd5189fb7d 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/html/index.html
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/html/index.html
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/html/javascripts/application.js b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/html/javascripts/application.js
index fe4577696b2..fe4577696b2 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/html/javascripts/application.js
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/html/javascripts/application.js
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/html/javascripts/controls.js b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/html/javascripts/controls.js
index ca29aefdd1f..ca29aefdd1f 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/html/javascripts/controls.js
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/html/javascripts/controls.js
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/html/javascripts/dragdrop.js b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/html/javascripts/dragdrop.js
index 07229f986f5..07229f986f5 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/html/javascripts/dragdrop.js
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/html/javascripts/dragdrop.js
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/html/javascripts/effects.js b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/html/javascripts/effects.js
index 5a639d2dea9..5a639d2dea9 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/html/javascripts/effects.js
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/html/javascripts/effects.js
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/html/javascripts/prototype.js b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/html/javascripts/prototype.js
index dfe8ab4e136..dfe8ab4e136 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/html/javascripts/prototype.js
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/html/javascripts/prototype.js
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/html/robots.txt b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/html/robots.txt
index 085187fa58b..085187fa58b 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/html/robots.txt
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/html/robots.txt
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/code_statistics.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/code_statistics.rb
index 740d8a1767b..740d8a1767b 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/code_statistics.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/code_statistics.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/commands.rb
index 841e98a0dc0..841e98a0dc0 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/commands.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands/about.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/commands/about.rb
index bc2cfcb948c..bc2cfcb948c 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands/about.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/commands/about.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands/console.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/commands/console.rb
index 63df8346396..63df8346396 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands/console.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/commands/console.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands/dbconsole.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/commands/dbconsole.rb
index e6f11a45db6..b4160494825 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands/dbconsole.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/commands/dbconsole.rb
@@ -45,7 +45,7 @@ def find_cmd(*commands)
end
case config["adapter"]
-when "mysql"
+when /^mysql/
args = {
'host' => '--host',
'port' => '--port',
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands/destroy.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/commands/destroy.rb
index f4b81d65117..f4b81d65117 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands/destroy.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/commands/destroy.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands/generate.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/commands/generate.rb
index 3d3db3d8565..3d3db3d8565 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands/generate.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/commands/generate.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands/ncgi/listener b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/commands/ncgi/listener
index 7079ef78a6e..7079ef78a6e 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands/ncgi/listener
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/commands/ncgi/listener
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands/ncgi/tracker b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/commands/ncgi/tracker
index 4ca12d779b6..4ca12d779b6 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands/ncgi/tracker
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/commands/ncgi/tracker
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands/performance/benchmarker.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/commands/performance/benchmarker.rb
index e8804fe1bfd..e8804fe1bfd 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands/performance/benchmarker.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/commands/performance/benchmarker.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands/performance/profiler.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/commands/performance/profiler.rb
index 7df840f1974..7df840f1974 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands/performance/profiler.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/commands/performance/profiler.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands/plugin.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/commands/plugin.rb
index 9f99a8d5575..9f99a8d5575 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands/plugin.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/commands/plugin.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands/runner.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/commands/runner.rb
index 510128318a5..5a4f244cd1c 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands/runner.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/commands/runner.rb
@@ -18,7 +18,7 @@ ARGV.clone.options do |opts|
opts.on("-h", "--help",
"Show this help message.") { $stderr.puts opts; exit }
- if RUBY_PLATFORM !~ /mswin/
+ if RUBY_PLATFORM !~ /(:?mswin|mingw)/
opts.separator ""
opts.separator "You can also use runner as a shebang line for your scripts like this:"
opts.separator "-------------------------------------------------------------"
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands/server.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/commands/server.rb
index ebe34a42cdb..ebe34a42cdb 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands/server.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/commands/server.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands/update.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/commands/update.rb
index 83ef833300a..83ef833300a 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands/update.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/commands/update.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/console_app.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/console_app.rb
index d7d01d703fc..d7d01d703fc 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/console_app.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/console_app.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/console_sandbox.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/console_sandbox.rb
index 65a3d686191..65a3d686191 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/console_sandbox.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/console_sandbox.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/console_with_helpers.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/console_with_helpers.rb
index 039db667c40..039db667c40 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/console_with_helpers.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/console_with_helpers.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/dispatcher.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/dispatcher.rb
index 9f8b59aa3d2..1ca635f8f9a 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/dispatcher.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/dispatcher.rb
@@ -1,5 +1,5 @@
#--
-# Copyright (c) 2004-2009 David Heinemeier Hansson
+# Copyright (c) 2004-2010 David Heinemeier Hansson
#
# Permission is hereby granted, free of charge, to any person obtaining
# a copy of this software and associated documentation files (the
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/fcgi_handler.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/fcgi_handler.rb
index 0cd2dc51c60..0cd2dc51c60 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/fcgi_handler.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/fcgi_handler.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/initializer.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/initializer.rb
index 196bd93b0c7..fc68d005e61 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/initializer.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/initializer.rb
@@ -236,9 +236,9 @@ module Rails
end
# Set the <tt>$LOAD_PATH</tt> based on the value of
- # Configuration#load_paths. Duplicates are removed.
+ # Configuration#autoload_paths. Duplicates are removed.
def set_load_path
- load_paths = configuration.load_paths + configuration.framework_paths
+ load_paths = configuration.autoload_paths + configuration.framework_paths
load_paths.reverse_each { |dir| $LOAD_PATH.unshift(dir) if File.directory?(dir) }
$LOAD_PATH.uniq!
end
@@ -246,19 +246,19 @@ module Rails
# Set the paths from which Rails will automatically load source files, and
# the load_once paths.
def set_autoload_paths
- ActiveSupport::Dependencies.load_paths = configuration.load_paths.uniq
- ActiveSupport::Dependencies.load_once_paths = configuration.load_once_paths.uniq
+ ActiveSupport::Dependencies.autoload_paths = configuration.autoload_paths.uniq
+ ActiveSupport::Dependencies.autoload_once_paths = configuration.autoload_once_paths.uniq
- extra = ActiveSupport::Dependencies.load_once_paths - ActiveSupport::Dependencies.load_paths
+ extra = ActiveSupport::Dependencies.autoload_once_paths - ActiveSupport::Dependencies.autoload_paths
unless extra.empty?
abort <<-end_error
- load_once_paths must be a subset of the load_paths.
- Extra items in load_once_paths: #{extra * ','}
+ autoload_once_paths must be a subset of the autoload_paths.
+ Extra items in autoload_once_paths: #{extra * ','}
end_error
end
# Freeze the arrays so future modifications will fail rather than do nothing mysteriously
- configuration.load_once_paths.freeze
+ configuration.autoload_once_paths.freeze
end
# Requires all frameworks specified by the Configuration#frameworks
@@ -406,7 +406,7 @@ Run `rake gems:install` to install the missing gems.
# Eager load application classes
def load_application_classes
- return if $rails_rake_task
+ return if $rails_rake_task && configuration.dependency_loading
if configuration.cache_classes
configuration.eager_load_paths.each do |load_path|
matcher = /\A#{Regexp.escape(load_path)}(.*)\.rb\Z/
@@ -696,15 +696,39 @@ Run `rake gems:install` to install the missing gems.
# An array of additional paths to prepend to the load path. By default,
# all +app+, +lib+, +vendor+ and mock paths are included in this list.
- attr_accessor :load_paths
+ attr_accessor :autoload_paths
+
+ # Deprecated, use autoload_paths.
+ def load_paths
+ $stderr.puts("config.load_paths is deprecated and removed in Rails 3, please use autoload_paths instead")
+ autoload_paths
+ end
+
+ # Deprecated, use autoload_paths=.
+ def load_paths=(paths)
+ $stderr.puts("config.load_paths= is deprecated and removed in Rails 3, please use autoload_paths= instead")
+ self.autoload_paths = paths
+ end
# An array of paths from which Rails will automatically load from only once.
- # All elements of this array must also be in +load_paths+.
- attr_accessor :load_once_paths
+ # All elements of this array must also be in +autoload_paths+.
+ attr_accessor :autoload_once_paths
+
+ # Deprecated, use autoload_once_paths.
+ def load_once_paths
+ $stderr.puts("config.load_once_paths is deprecated and removed in Rails 3, please use autoload_once_paths instead")
+ autoload_once_paths
+ end
+
+ # Deprecated, use autoload_once_paths=.
+ def load_once_paths=(paths)
+ $stderr.puts("config.load_once_paths= is deprecated and removed in Rails 3, please use autoload_once_paths= instead")
+ self.autoload_once_paths = paths
+ end
# An array of paths from which Rails will eager load on boot if cache
# classes is enabled. All elements of this array must also be in
- # +load_paths+.
+ # +autoload_paths+.
attr_accessor :eager_load_paths
# The log level to use for the default Rails logger. In production mode,
@@ -764,12 +788,12 @@ Run `rake gems:install` to install the missing gems.
# If <tt>reload_plugins?</tt> is false, add this to your plugin's <tt>init.rb</tt>
# to make it reloadable:
#
- # ActiveSupport::Dependencies.load_once_paths.delete lib_path
+ # ActiveSupport::Dependencies.autoload_once_paths.delete lib_path
#
# If <tt>reload_plugins?</tt> is true, add this to your plugin's <tt>init.rb</tt>
# to only load it once:
#
- # ActiveSupport::Dependencies.load_once_paths << lib_path
+ # ActiveSupport::Dependencies.autoload_once_paths << lib_path
#
attr_accessor :reload_plugins
@@ -836,8 +860,8 @@ Run `rake gems:install` to install the missing gems.
set_root_path!
self.frameworks = default_frameworks
- self.load_paths = default_load_paths
- self.load_once_paths = default_load_once_paths
+ self.autoload_paths = default_autoload_paths
+ self.autoload_once_paths = default_autoload_once_paths
self.eager_load_paths = default_eager_load_paths
self.log_path = default_log_path
self.log_level = default_log_level
@@ -967,7 +991,7 @@ Run `rake gems:install` to install the missing gems.
[ :active_record, :action_controller, :action_view, :action_mailer, :active_resource ]
end
- def default_load_paths
+ def default_autoload_paths
paths = []
# Add the old mock paths only if the directories exists
@@ -991,8 +1015,8 @@ Run `rake gems:install` to install the missing gems.
paths.concat builtin_directories
end
- # Doesn't matter since plugins aren't in load_paths yet.
- def default_load_once_paths
+ # Doesn't matter since plugins aren't in autoload_paths yet.
+ def default_autoload_once_paths
[]
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/performance_test_help.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/performance_test_help.rb
index 5148b4ab77c..5148b4ab77c 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/performance_test_help.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/performance_test_help.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails/backtrace_cleaner.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails/backtrace_cleaner.rb
index 923ed8b31dd..923ed8b31dd 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails/backtrace_cleaner.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails/backtrace_cleaner.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails/gem_builder.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails/gem_builder.rb
index 79c61cc0344..79c61cc0344 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails/gem_builder.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails/gem_builder.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails/gem_dependency.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails/gem_dependency.rb
index 06d830ba24a..1ff608a8c0c 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails/gem_dependency.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails/gem_dependency.rb
@@ -31,12 +31,14 @@ module Rails
def self.from_directory_name(directory_name, load_spec=true)
directory_name_parts = File.basename(directory_name).split('-')
- name = directory_name_parts[0..-2].join('-')
- version = directory_name_parts.last
+
+ version = directory_name_parts.find { |s| s.match(/^\d(\.\d|\.\w+)*$/) }
+ name = directory_name_parts[0..directory_name_parts.index(version)-1].join('-') if version
+
result = self.new(name, :version => version)
spec_filename = File.join(directory_name, '.specification')
if load_spec
- raise "Missing specification file in #{File.dirname(spec_filename)}. Perhaps you need to do a 'rake gems:refresh_specs'?" unless File.exists?(spec_filename)
+ raise "Missing specification file in #{File.dirname(spec_filename)}. Perhaps you need to do a 'rake gems:refresh_specs'\?" unless File.exists?(spec_filename)
spec = YAML::load_file(spec_filename)
result.specification = spec
end
@@ -70,7 +72,15 @@ module Rails
@load_paths_added = @loaded = @frozen = true
return
end
- gem self
+
+ begin
+ dep = Gem::Dependency.new(name, requirement)
+ spec = Gem.source_index.find { |_,s| s.satisfies_requirement?(dep) }.last
+ spec.activate # a way that exists
+ rescue
+ gem self.name, self.requirement # < 1.8 unhappy way
+ end
+
@spec = Gem.loaded_specs[name]
@frozen = @spec.loaded_from.include?(self.class.unpacked_path) if @spec
@load_paths_added = true
@@ -83,7 +93,7 @@ module Rails
specification.dependencies.reject do |dependency|
dependency.type == :development
end.map do |dependency|
- GemDependency.new(dependency.name, :requirement => dependency.version_requirements)
+ GemDependency.new(dependency.name, :requirement => (dependency.respond_to?(:requirement) ? dependency.requirement : dependency.version_requirements))
end
end
@@ -115,11 +125,6 @@ module Rails
@spec = s
end
- def requirement
- r = version_requirements
- (r == Gem::Requirement.default) ? nil : r
- end
-
def built?
return false unless frozen?
@@ -265,9 +270,10 @@ module Rails
end
def ==(other)
- self.name == other.name && self.requirement == other.requirement
+ Gem::Dependency === other.class &&
+ self.name == other.name && self.requirement == other.requirement
end
- alias_method :"eql?", :"=="
+ alias_method :eql?, :"=="
private
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails/plugin.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails/plugin.rb
index 1dc4d142c5f..52912577220 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails/plugin.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails/plugin.rb
@@ -35,7 +35,7 @@ module Rails
def load_paths
report_nonexistant_or_empty_plugin! unless valid?
- returning [] do |load_paths|
+ [].tap do |load_paths|
load_paths << lib_path if has_lib_directory?
load_paths << app_paths if has_app_directory?
end.flatten
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails/plugin/loader.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails/plugin/loader.rb
index 49670b31e6b..a9754426c39 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails/plugin/loader.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails/plugin/loader.rb
@@ -48,16 +48,16 @@ module Rails
# added *after* the application's <tt>lib</tt> directory, to ensure that an application
# can always override code within a plugin.
#
- # Plugin load paths are also added to Dependencies.load_paths, and Dependencies.load_once_paths.
+ # Plugin load paths are also added to Dependencies.autoload_paths, and Dependencies.autoload_once_paths.
def add_plugin_load_paths
plugins.each do |plugin|
plugin.load_paths.each do |path|
$LOAD_PATH.insert(application_lib_index + 1, path)
- ActiveSupport::Dependencies.load_paths << path
+ ActiveSupport::Dependencies.autoload_paths << path
unless configuration.reload_plugins?
- ActiveSupport::Dependencies.load_once_paths << path
+ ActiveSupport::Dependencies.autoload_once_paths << path
end
end
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails/plugin/locator.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails/plugin/locator.rb
index a6fc388a8e7..a6fc388a8e7 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails/plugin/locator.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails/plugin/locator.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails/rack.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails/rack.rb
index 9705f65e52b..9705f65e52b 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails/rack.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails/rack.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails/rack/debugger.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails/rack/debugger.rb
index 0a7b4055534..0a7b4055534 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails/rack/debugger.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails/rack/debugger.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails/rack/log_tailer.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails/rack/log_tailer.rb
index a237cee6bc6..a237cee6bc6 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails/rack/log_tailer.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails/rack/log_tailer.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails/rack/metal.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails/rack/metal.rb
index 8719a5c5812..8719a5c5812 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails/rack/metal.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails/rack/metal.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails/rack/static.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails/rack/static.rb
index f07c6beb5e4..f07c6beb5e4 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails/rack/static.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails/rack/static.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails/vendor_gem_source_index.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails/vendor_gem_source_index.rb
index 5b7721f303f..9324de98189 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails/vendor_gem_source_index.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails/vendor_gem_source_index.rb
@@ -31,13 +31,13 @@ module Rails
def refresh!
# reload the installed gems
- @installed_source_index.refresh!
+ # HACK: I don't think this is needed: @installed_source_index.refresh!
vendor_gems = {}
# handle vendor Rails gems - they are identified by having loaded_from set to ""
# we add them manually to the list, so that other gems can find them via dependencies
Gem.loaded_specs.each do |n, s|
- next unless s.loaded_from.empty?
+ next unless s.loaded_from.to_s.empty?
vendor_gems[s.full_name] = s
end
@@ -101,8 +101,8 @@ module Rails
end
def version_for_dir(d)
- matches = /-([^-]+)$/.match(d)
- Gem::Version.new(matches[1]) if matches
+ version = d.split('-').find { |s| s.match(/^\d(\.\d|\.\w+)*$/) }
+ Gem::Version.new(version)
end
def load_specification(gem_dir)
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails/version.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails/version.rb
index 98e4e03a830..b89643ff5a4 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails/version.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails/version.rb
@@ -2,7 +2,7 @@ module Rails
module VERSION #:nodoc:
MAJOR = 2
MINOR = 3
- TINY = 5
+ TINY = 14
STRING = [MAJOR, MINOR, TINY].join('.')
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator.rb
index 9f0ffc1562c..264c6490620 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator.rb
@@ -21,8 +21,11 @@
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#++
-$:.unshift(File.dirname(__FILE__))
-$:.unshift(File.dirname(__FILE__) + "/../../activesupport/lib")
+railties = File.expand_path("..", __FILE__)
+$:.unshift(railties) unless $:.include?(railties)
+
+activesupport = File.expand_path("../../../activesupport/lib", __FILE__)
+$:.unshift(activesupport) unless $:.include?(activesupport)
begin
require 'active_support'
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/base.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/base.rb
index dd75f05c7bd..dd75f05c7bd 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/base.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/base.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/commands.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/commands.rb
index b684dc92bed..b684dc92bed 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/commands.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/commands.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generated_attribute.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generated_attribute.rb
index a3d4a01142d..81c3bfd2ebe 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generated_attribute.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generated_attribute.rb
@@ -12,12 +12,13 @@ module Rails
def field_type
@field_type ||= case type
- when :integer, :float, :decimal then :text_field
- when :datetime, :timestamp, :time then :datetime_select
- when :date then :date_select
- when :string then :text_field
- when :text then :text_area
- when :boolean then :check_box
+ when :integer, :float, :decimal then :text_field
+ when :time then :time_select
+ when :datetime, :timestamp then :datetime_select
+ when :date then :date_select
+ when :string then :text_field
+ when :text then :text_area
+ when :boolean then :check_box
else
:text_field
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/applications/app/USAGE b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/applications/app/USAGE
index 36d6061a599..36d6061a599 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/applications/app/USAGE
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/applications/app/USAGE
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/applications/app/app_generator.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/applications/app/app_generator.rb
index c8c2239f34f..0b67eef5a92 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/applications/app/app_generator.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/applications/app/app_generator.rb
@@ -193,6 +193,9 @@ class AppGenerator < Rails::Generator::Base
m.template "configs/initializers/session_store.rb", "config/initializers/session_store.rb",
:assigns => { :app_name => @app_name, :app_secret => ActiveSupport::SecureRandom.hex(64) }
+
+ m.template "configs/initializers/cookie_verification_secret.rb", "config/initializers/cookie_verification_secret.rb",
+ :assigns => { :app_secret => ActiveSupport::SecureRandom.hex(64) }
end
def create_locale_file(m)
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/applications/app/scm/git.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/applications/app/scm/git.rb
index a53494de507..a53494de507 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/applications/app/scm/git.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/applications/app/scm/git.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/applications/app/scm/scm.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/applications/app/scm/scm.rb
index f6c08cad39c..f6c08cad39c 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/applications/app/scm/scm.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/applications/app/scm/scm.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/applications/app/scm/svn.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/applications/app/scm/svn.rb
index 22b5966d25a..22b5966d25a 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/applications/app/scm/svn.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/applications/app/scm/svn.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/applications/app/template_runner.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/applications/app/template_runner.rb
index 40f21cc457c..40f21cc457c 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/applications/app/template_runner.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/applications/app/template_runner.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/controller/USAGE b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/controller/USAGE
index 362872e84ab..362872e84ab 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/controller/USAGE
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/controller/USAGE
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/controller/controller_generator.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/controller/controller_generator.rb
index dc126e8a989..dc126e8a989 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/controller/controller_generator.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/controller/controller_generator.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/controller/templates/controller.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/controller/templates/controller.rb
index cda2659e693..cda2659e693 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/controller/templates/controller.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/controller/templates/controller.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/controller/templates/functional_test.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/controller/templates/functional_test.rb
index 62fa5d86fdd..62fa5d86fdd 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/controller/templates/functional_test.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/controller/templates/functional_test.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/controller/templates/helper.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/controller/templates/helper.rb
index 3fe2ecdc74c..3fe2ecdc74c 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/controller/templates/helper.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/controller/templates/helper.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/controller/templates/helper_test.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/controller/templates/helper_test.rb
index 591e40900e9..591e40900e9 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/controller/templates/helper_test.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/controller/templates/helper_test.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/controller/templates/view.html.erb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/controller/templates/view.html.erb
index ad85431f986..ad85431f986 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/controller/templates/view.html.erb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/controller/templates/view.html.erb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/helper/USAGE b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/helper/USAGE
index ef27ca617e5..ef27ca617e5 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/helper/USAGE
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/helper/USAGE
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/helper/helper_generator.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/helper/helper_generator.rb
index f7831f7c7ab..f7831f7c7ab 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/helper/helper_generator.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/helper/helper_generator.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/helper/templates/helper.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/helper/templates/helper.rb
index 3fe2ecdc74c..3fe2ecdc74c 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/helper/templates/helper.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/helper/templates/helper.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/helper/templates/helper_test.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/helper/templates/helper_test.rb
index 591e40900e9..591e40900e9 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/helper/templates/helper_test.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/helper/templates/helper_test.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/integration_test/USAGE b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/integration_test/USAGE
index 09e2691f690..09e2691f690 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/integration_test/USAGE
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/integration_test/USAGE
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/integration_test/integration_test_generator.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/integration_test/integration_test_generator.rb
index 44323f28cac..44323f28cac 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/integration_test/integration_test_generator.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/integration_test/integration_test_generator.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/integration_test/templates/integration_test.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/integration_test/templates/integration_test.rb
index 2c57158b1c4..2c57158b1c4 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/integration_test/templates/integration_test.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/integration_test/templates/integration_test.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/mailer/USAGE b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/mailer/USAGE
index 61a649ed4d2..61a649ed4d2 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/mailer/USAGE
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/mailer/USAGE
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/mailer/mailer_generator.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/mailer/mailer_generator.rb
index ba6d60cac61..ba6d60cac61 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/mailer/mailer_generator.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/mailer/mailer_generator.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/fixture.erb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/mailer/templates/fixture.erb
index 6899257ddcb..6899257ddcb 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/fixture.erb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/mailer/templates/fixture.erb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/view.rhtml b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/mailer/templates/fixture.rhtml
index e69de29bb2d..e69de29bb2d 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/view.rhtml
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/mailer/templates/fixture.rhtml
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/mailer.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/mailer/templates/mailer.rb
index ce15ae9de90..ce15ae9de90 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/mailer.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/mailer/templates/mailer.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/unit_test.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/mailer/templates/unit_test.rb
index 4de94076e97..4de94076e97 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/unit_test.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/mailer/templates/unit_test.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/view.erb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/mailer/templates/view.erb
index 6899257ddcb..6899257ddcb 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/view.erb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/mailer/templates/view.erb
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/mailer/templates/view.rhtml b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/mailer/templates/view.rhtml
new file mode 100755
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/mailer/templates/view.rhtml
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/metal/USAGE b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/metal/USAGE
index 123ec6c03f3..123ec6c03f3 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/metal/USAGE
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/metal/USAGE
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/metal/metal_generator.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/metal/metal_generator.rb
index 64f49d929d8..64f49d929d8 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/metal/metal_generator.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/metal/metal_generator.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/metal/templates/metal.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/metal/templates/metal.rb
index e94982b69ac..e94982b69ac 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/metal/templates/metal.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/metal/templates/metal.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/migration/USAGE b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/migration/USAGE
index b83c657963b..b83c657963b 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/migration/USAGE
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/migration/USAGE
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/migration/migration_generator.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/migration/migration_generator.rb
index acf41e07df5..9a40c5d3f1c 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/migration/migration_generator.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/migration/migration_generator.rb
@@ -8,7 +8,7 @@ class MigrationGenerator < Rails::Generator::NamedBase
private
def get_local_assigns
- returning(assigns = {}) do
+ {}.tap do |assigns|
if class_name.underscore =~ /^(add|remove)_.*_(?:to|from)_(.*)/
assigns[:migration_action] = $1
assigns[:table_name] = $2.pluralize
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/migration/templates/migration.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/migration/templates/migration.rb
index ca35a432294..ca35a432294 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/migration/templates/migration.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/migration/templates/migration.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/model/USAGE b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/model/USAGE
index 24b03b4d4aa..24b03b4d4aa 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/model/USAGE
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/model/USAGE
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/model/model_generator.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/model/model_generator.rb
index 1895d8a9c6e..1895d8a9c6e 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/model/model_generator.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/model/model_generator.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/model/templates/fixtures.yml b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/model/templates/fixtures.yml
index c21035113e5..a30132bc996 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/model/templates/fixtures.yml
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/model/templates/fixtures.yml
@@ -11,9 +11,13 @@ two:
<%= attribute.name %>: <%= attribute.default %>
<% end -%>
<% else -%>
-# one:
-# column: value
+# This model initially had no columns defined. If you add columns to the
+# model remove the '{}' from the fixture names and add the columns immediately
+# below each fixture, per the syntax in the comments below
#
-# two:
-# column: value
-<% end -%>
+one: {}
+# column: value
+#
+two: {}
+# column: value
+<% end -%> \ No newline at end of file
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/model/templates/migration.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/model/templates/migration.rb
index 382fd1156ee..382fd1156ee 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/model/templates/migration.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/model/templates/migration.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/model/templates/model.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/model/templates/model.rb
index 6fcf393bdf1..6fcf393bdf1 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/model/templates/model.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/model/templates/model.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/model/templates/unit_test.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/model/templates/unit_test.rb
index 3e0bc29d3ad..3e0bc29d3ad 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/model/templates/unit_test.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/model/templates/unit_test.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/observer/USAGE b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/observer/USAGE
index a5d744a3c2a..a5d744a3c2a 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/observer/USAGE
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/observer/USAGE
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/observer/observer_generator.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/observer/observer_generator.rb
index 3c4b330a801..3c4b330a801 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/observer/observer_generator.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/observer/observer_generator.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/observer/templates/observer.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/observer/templates/observer.rb
index b9a3004161a..b9a3004161a 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/observer/templates/observer.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/observer/templates/observer.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/observer/templates/unit_test.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/observer/templates/unit_test.rb
index 03f6d5666e5..03f6d5666e5 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/observer/templates/unit_test.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/observer/templates/unit_test.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/performance_test/USAGE b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/performance_test/USAGE
index d84051eb02d..d84051eb02d 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/performance_test/USAGE
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/performance_test/USAGE
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/performance_test/performance_test_generator.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/performance_test/performance_test_generator.rb
index 83ce8ac6740..83ce8ac6740 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/performance_test/performance_test_generator.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/performance_test/performance_test_generator.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/performance_test/templates/performance_test.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/performance_test/templates/performance_test.rb
index 27c91b0fcac..27c91b0fcac 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/performance_test/templates/performance_test.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/performance_test/templates/performance_test.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/USAGE b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/plugin/USAGE
index d2ecfc2d59c..d2ecfc2d59c 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/USAGE
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/plugin/USAGE
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/plugin_generator.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/plugin/plugin_generator.rb
index 6826998252f..34c10b510b4 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/plugin_generator.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/plugin/plugin_generator.rb
@@ -13,7 +13,7 @@ class PluginGenerator < Rails::Generator::NamedBase
m.class_collisions class_name
m.directory "#{plugin_path}/lib"
- m.directory "#{plugin_path}/tasks"
+ m.directory "#{plugin_path}/lib/tasks"
m.directory "#{plugin_path}/test"
m.template 'README', "#{plugin_path}/README"
@@ -23,7 +23,7 @@ class PluginGenerator < Rails::Generator::NamedBase
m.template 'install.rb', "#{plugin_path}/install.rb"
m.template 'uninstall.rb', "#{plugin_path}/uninstall.rb"
m.template 'plugin.rb', "#{plugin_path}/lib/#{file_name}.rb"
- m.template 'tasks.rake', "#{plugin_path}/tasks/#{file_name}_tasks.rake"
+ m.template 'tasks.rake', "#{plugin_path}/lib/tasks/#{file_name}.rake"
m.template 'unit_test.rb', "#{plugin_path}/test/#{file_name}_test.rb"
m.template 'test_helper.rb', "#{plugin_path}/test/test_helper.rb"
if @with_generator
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/MIT-LICENSE b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/plugin/templates/MIT-LICENSE
index 8717df053d3..8717df053d3 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/MIT-LICENSE
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/plugin/templates/MIT-LICENSE
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/README b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/plugin/templates/README
index 702db07cb1e..702db07cb1e 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/README
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/plugin/templates/README
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/Rakefile b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/plugin/templates/Rakefile
index 85e8ff18343..c56ce94730f 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/Rakefile
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/plugin/templates/Rakefile
@@ -1,6 +1,6 @@
require 'rake'
require 'rake/testtask'
-require 'rake/rdoctask'
+require 'rdoc/task'
desc 'Default: run unit tests.'
task :default => :test
@@ -14,7 +14,7 @@ Rake::TestTask.new(:test) do |t|
end
desc 'Generate documentation for the <%= file_name %> plugin.'
-Rake::RDocTask.new(:rdoc) do |rdoc|
+RDoc::Task.new(:rdoc) do |rdoc|
rdoc.rdoc_dir = 'rdoc'
rdoc.title = '<%= class_name %>'
rdoc.options << '--line-numbers' << '--inline-source'
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/USAGE b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/plugin/templates/USAGE
index ea9f4f12cc6..ea9f4f12cc6 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/USAGE
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/plugin/templates/USAGE
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/generator.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/plugin/templates/generator.rb
index 3e800df6c5f..3e800df6c5f 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/generator.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/plugin/templates/generator.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/init.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/plugin/templates/init.rb
index 3c19a743c9d..3c19a743c9d 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/init.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/plugin/templates/init.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/install.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/plugin/templates/install.rb
index f7732d3796c..f7732d3796c 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/install.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/plugin/templates/install.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/plugin.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/plugin/templates/plugin.rb
index d8d908a9591..d8d908a9591 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/plugin.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/plugin/templates/plugin.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/tasks.rake b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/plugin/templates/tasks.rake
index 72920a9d3a3..72920a9d3a3 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/tasks.rake
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/plugin/templates/tasks.rake
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/plugin/templates/test_helper.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/plugin/templates/test_helper.rb
new file mode 100755
index 00000000000..51093e14eb2
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/plugin/templates/test_helper.rb
@@ -0,0 +1,4 @@
+require 'rubygems'
+require 'test/unit'
+require 'active_support'
+require 'active_support/test_case'
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/uninstall.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/plugin/templates/uninstall.rb
index 97383334634..97383334634 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/uninstall.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/plugin/templates/uninstall.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/unit_test.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/plugin/templates/unit_test.rb
index 3e0bc29d3ad..3e0bc29d3ad 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/unit_test.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/plugin/templates/unit_test.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/resource/USAGE b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/resource/USAGE
index e6043f1de19..e6043f1de19 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/resource/USAGE
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/resource/USAGE
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/resource/resource_generator.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/resource/resource_generator.rb
index 4ee2fbff638..4ee2fbff638 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/resource/resource_generator.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/resource/resource_generator.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/resource/templates/controller.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/resource/templates/controller.rb
index 765a9426942..765a9426942 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/resource/templates/controller.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/resource/templates/controller.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/resource/templates/functional_test.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/resource/templates/functional_test.rb
index b1bb1dacbf9..b1bb1dacbf9 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/resource/templates/functional_test.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/resource/templates/functional_test.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/resource/templates/helper.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/resource/templates/helper.rb
index 9bd821b1b24..9bd821b1b24 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/resource/templates/helper.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/resource/templates/helper.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/resource/templates/helper_test.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/resource/templates/helper_test.rb
index 061f64a5e35..061f64a5e35 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/resource/templates/helper_test.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/resource/templates/helper_test.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/USAGE b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/scaffold/USAGE
index 810aea16f14..810aea16f14 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/USAGE
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/scaffold/USAGE
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/scaffold_generator.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/scaffold/scaffold_generator.rb
index 88bc3252a06..88bc3252a06 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/scaffold_generator.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/scaffold/scaffold_generator.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/controller.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/scaffold/templates/controller.rb
index 4d190b9362d..cef254cd896 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/controller.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/scaffold/templates/controller.rb
@@ -44,8 +44,7 @@ class <%= controller_class_name %>Controller < ApplicationController
respond_to do |format|
if @<%= file_name %>.save
- flash[:notice] = '<%= class_name %> was successfully created.'
- format.html { redirect_to(@<%= file_name %>) }
+ format.html { redirect_to(@<%= file_name %>, :notice => '<%= class_name %> was successfully created.') }
format.xml { render :xml => @<%= file_name %>, :status => :created, :location => @<%= file_name %> }
else
format.html { render :action => "new" }
@@ -61,8 +60,7 @@ class <%= controller_class_name %>Controller < ApplicationController
respond_to do |format|
if @<%= file_name %>.update_attributes(params[:<%= file_name %>])
- flash[:notice] = '<%= class_name %> was successfully updated.'
- format.html { redirect_to(@<%= file_name %>) }
+ format.html { redirect_to(@<%= file_name %>, :notice => '<%= class_name %> was successfully updated.') }
format.xml { head :ok }
else
format.html { render :action => "edit" }
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/functional_test.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/scaffold/templates/functional_test.rb
index cd2fc578bf0..cd2fc578bf0 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/functional_test.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/scaffold/templates/functional_test.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/helper.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/scaffold/templates/helper.rb
index 9bd821b1b24..9bd821b1b24 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/helper.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/scaffold/templates/helper.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/helper_test.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/scaffold/templates/helper_test.rb
index 061f64a5e35..061f64a5e35 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/helper_test.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/scaffold/templates/helper_test.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/layout.html.erb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/scaffold/templates/layout.html.erb
index ebc97f8130c..1478ff68f01 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/layout.html.erb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/scaffold/templates/layout.html.erb
@@ -9,7 +9,7 @@
</head>
<body>
-<p style="color: green"><%%= flash[:notice] %></p>
+<p style="color: green"><%%= notice %></p>
<%%= yield %>
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/style.css b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/scaffold/templates/style.css
index 093c20994d7..093c20994d7 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/style.css
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/scaffold/templates/style.css
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/view_edit.html.erb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/scaffold/templates/view_edit.html.erb
index cca1d61c687..cca1d61c687 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/view_edit.html.erb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/scaffold/templates/view_edit.html.erb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/view_index.html.erb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/scaffold/templates/view_index.html.erb
index 2e603d5b4a3..2e603d5b4a3 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/view_index.html.erb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/scaffold/templates/view_index.html.erb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/view_new.html.erb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/scaffold/templates/view_new.html.erb
index 96c89fc50ed..96c89fc50ed 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/view_new.html.erb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/scaffold/templates/view_new.html.erb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/view_show.html.erb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/scaffold/templates/view_show.html.erb
index adecaf70c62..adecaf70c62 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/view_show.html.erb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/scaffold/templates/view_show.html.erb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/session_migration/USAGE b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/session_migration/USAGE
index 87117a3cb66..87117a3cb66 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/session_migration/USAGE
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/session_migration/USAGE
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/session_migration/session_migration_generator.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/session_migration/session_migration_generator.rb
index 2e177033a18..2e177033a18 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/session_migration/session_migration_generator.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/session_migration/session_migration_generator.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/session_migration/templates/migration.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/session_migration/templates/migration.rb
index ca220a5f233..ca220a5f233 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/session_migration/templates/migration.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/session_migration/templates/migration.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/lookup.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/lookup.rb
index a3525364a2f..a3525364a2f 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/lookup.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/lookup.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/manifest.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/manifest.rb
index 702effa76f5..702effa76f5 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/manifest.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/manifest.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/options.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/options.rb
index 070f96b69b9..070f96b69b9 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/options.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/options.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/scripts.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/scripts.rb
index 9b1a99838a6..9b1a99838a6 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/scripts.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/scripts.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/scripts/destroy.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/scripts/destroy.rb
index a7c2a147515..a7c2a147515 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/scripts/destroy.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/scripts/destroy.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/scripts/generate.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/scripts/generate.rb
index 1fe2f54ab3e..1fe2f54ab3e 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/scripts/generate.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/scripts/generate.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/scripts/update.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/scripts/update.rb
index 53a9faa3663..53a9faa3663 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/scripts/update.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/scripts/update.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/secret_key_generator.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/secret_key_generator.rb
index 7dd495a2f50..7dd495a2f50 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/secret_key_generator.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/secret_key_generator.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/simple_logger.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/simple_logger.rb
index d750f07b84f..d750f07b84f 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/simple_logger.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/simple_logger.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/spec.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/spec.rb
index 9d780b7ac5f..9d780b7ac5f 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/spec.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/spec.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/railties_path.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/railties_path.rb
index a298a4cc275..a298a4cc275 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/railties_path.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/railties_path.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/ruby_version_check.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/ruby_version_check.rb
index 68d3acc8764..68d3acc8764 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/ruby_version_check.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/ruby_version_check.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rubyprof_ext.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rubyprof_ext.rb
index f6e90357cee..f6e90357cee 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rubyprof_ext.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rubyprof_ext.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/source_annotation_extractor.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/source_annotation_extractor.rb
index 591fd6f6bd3..591fd6f6bd3 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/source_annotation_extractor.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/source_annotation_extractor.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/tasks/annotations.rake b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/tasks/annotations.rake
index 48ac40099a0..48ac40099a0 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/tasks/annotations.rake
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/tasks/annotations.rake
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/tasks/databases.rake b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/tasks/databases.rake
index 8b608396417..1cf24343a67 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/tasks/databases.rake
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/tasks/databases.rake
@@ -46,14 +46,14 @@ namespace :db do
$stderr.puts "Couldn't create database for #{config.inspect}"
end
end
- return # Skip the else clause of begin/rescue
+ return # Skip the else clause of begin/rescue
else
ActiveRecord::Base.establish_connection(config)
ActiveRecord::Base.connection
end
rescue
case config['adapter']
- when 'mysql'
+ when /^mysql/
@charset = ENV['CHARSET'] || 'utf8'
@collation = ENV['COLLATION'] || 'utf8_unicode_ci'
begin
@@ -94,11 +94,7 @@ namespace :db do
desc 'Drops the database for the current RAILS_ENV'
task :drop => :load_config do
config = ActiveRecord::Base.configurations[RAILS_ENV || 'development']
- begin
- drop_database(config)
- rescue Exception => e
- puts "Couldn't drop #{config['database']} : #{e.inspect}"
- end
+ drop_database(config)
end
def local_database?(config, &block)
@@ -163,7 +159,7 @@ namespace :db do
task :charset => :environment do
config = ActiveRecord::Base.configurations[RAILS_ENV || 'development']
case config['adapter']
- when 'mysql'
+ when /^mysql/
ActiveRecord::Base.establish_connection(config)
puts ActiveRecord::Base.connection.charset
when 'postgresql'
@@ -178,7 +174,7 @@ namespace :db do
task :collation => :environment do
config = ActiveRecord::Base.configurations[RAILS_ENV || 'development']
case config['adapter']
- when 'mysql'
+ when /^mysql/
ActiveRecord::Base.establish_connection(config)
puts ActiveRecord::Base.connection.collation
else
@@ -278,7 +274,7 @@ namespace :db do
task :dump => :environment do
abcs = ActiveRecord::Base.configurations
case abcs[RAILS_ENV]["adapter"]
- when "mysql", "oci", "oracle"
+ when /^mysql/, "oci", "oracle"
ActiveRecord::Base.establish_connection(abcs[RAILS_ENV])
File.open("#{RAILS_ROOT}/db/#{RAILS_ENV}_structure.sql", "w+") { |f| f << ActiveRecord::Base.connection.structure_dump }
when "postgresql"
@@ -324,7 +320,7 @@ namespace :db do
task :clone_structure => [ "db:structure:dump", "db:test:purge" ] do
abcs = ActiveRecord::Base.configurations
case abcs["test"]["adapter"]
- when "mysql"
+ when /^mysql/
ActiveRecord::Base.establish_connection(:test)
ActiveRecord::Base.connection.execute('SET foreign_key_checks = 0')
IO.readlines("#{RAILS_ROOT}/db/#{RAILS_ENV}_structure.sql").join.split("\n\n").each do |table|
@@ -358,14 +354,14 @@ namespace :db do
task :purge => :environment do
abcs = ActiveRecord::Base.configurations
case abcs["test"]["adapter"]
- when "mysql"
+ when /^mysql/
ActiveRecord::Base.establish_connection(:test)
ActiveRecord::Base.connection.recreate_database(abcs["test"]["database"], abcs["test"])
when "postgresql"
ActiveRecord::Base.clear_active_connections!
drop_database(abcs['test'])
create_database(abcs['test'])
- when "sqlite","sqlite3"
+ when "sqlite", "sqlite3"
dbfile = abcs["test"]["database"] || abcs["test"]["dbfile"]
File.delete(dbfile) if File.exist?(dbfile)
when "sqlserver"
@@ -410,15 +406,19 @@ namespace :db do
end
def drop_database(config)
- case config['adapter']
- when 'mysql'
- ActiveRecord::Base.establish_connection(config)
- ActiveRecord::Base.connection.drop_database config['database']
- when /^sqlite/
- FileUtils.rm(File.join(RAILS_ROOT, config['database']))
- when 'postgresql'
- ActiveRecord::Base.establish_connection(config.merge('database' => 'postgres', 'schema_search_path' => 'public'))
- ActiveRecord::Base.connection.drop_database config['database']
+ begin
+ case config['adapter']
+ when /^mysql/
+ ActiveRecord::Base.establish_connection(config)
+ ActiveRecord::Base.connection.drop_database config['database']
+ when /^sqlite/
+ FileUtils.rm(File.join(RAILS_ROOT, config['database']))
+ when 'postgresql'
+ ActiveRecord::Base.establish_connection(config.merge('database' => 'postgres', 'schema_search_path' => 'public'))
+ ActiveRecord::Base.connection.drop_database config['database']
+ end
+ rescue Exception => e
+ puts "Couldn't drop #{config['database']} : #{e.inspect}"
end
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/tasks/documentation.rake b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/tasks/documentation.rake
index 8b41478a93d..b3111a5aeb3 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/tasks/documentation.rake
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/tasks/documentation.rake
@@ -1,6 +1,8 @@
+begin
+ require 'rdoc/task'
namespace :doc do
desc "Generate documentation for the application. Set custom template with TEMPLATE=/path/to/rdoc/template.rb or title with TITLE=\"Custom Title\""
- Rake::RDocTask.new("app") { |rdoc|
+ RDoc::Task.new("app") { |rdoc|
rdoc.rdoc_dir = 'doc/app'
rdoc.template = ENV['template'] if ENV['template']
rdoc.title = ENV['title'] || "Rails Application Documentation"
@@ -12,7 +14,7 @@ namespace :doc do
}
desc "Generate documentation for the Rails framework"
- Rake::RDocTask.new("rails") { |rdoc|
+ RDoc::Task.new("rails") { |rdoc|
rdoc.rdoc_dir = 'doc/api'
rdoc.template = "#{ENV['template']}.rb" if ENV['template']
rdoc.title = "Rails Framework Documentation"
@@ -86,3 +88,6 @@ namespace :doc do
end
end
end
+rescue LoadError
+ $stderr.puts 'Please install RDoc 2.4.2+ to generate documentation.'
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/tasks/framework.rake b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/tasks/framework.rake
index 191c9361ff2..76ee9affa12 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/tasks/framework.rake
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/tasks/framework.rake
@@ -24,7 +24,7 @@ namespace :rails do
begin
chdir("vendor/rails") do
rails.dependencies.select { |g| deps.include? g.name }.each do |g|
- Gem::GemRunner.new.run(["unpack", g.name, "--version", g.version_requirements.to_s])
+ Gem::GemRunner.new.run(["unpack", g.name, "--version", g.respond_to?(:requirement) ? g.requirement.to_s : g.version_requirements.to_s])
mv(Dir.glob("#{g.name}*").first, g.name)
end
@@ -64,7 +64,10 @@ namespace :rails do
rm_f goner
end
- touch "rails/REVISION_#{latest_revision}"
+ puts "Frozen to git revision #{latest_revision}"
+ File.open('rails/REVISION', 'w') do |revision|
+ revision.puts latest_revision
+ end
end
puts 'Updating current scripts, javascripts, and configuration settings'
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/tasks/gems.rake b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/tasks/gems.rake
index f1c34c7ccaf..f1c34c7ccaf 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/tasks/gems.rake
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/tasks/gems.rake
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/tasks/log.rake b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/tasks/log.rake
index 6e1334692ee..6e1334692ee 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/tasks/log.rake
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/tasks/log.rake
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/tasks/middleware.rake b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/tasks/middleware.rake
index 05f159184e2..05f159184e2 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/tasks/middleware.rake
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/tasks/middleware.rake
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/tasks/misc.rake b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/tasks/misc.rake
index 9e6f96db5b0..9e6f96db5b0 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/tasks/misc.rake
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/tasks/misc.rake
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/tasks/rails.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/tasks/rails.rb
new file mode 100755
index 00000000000..b9bc099f94c
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/tasks/rails.rb
@@ -0,0 +1,14 @@
+$VERBOSE = nil
+
+# Load Rails rakefile extensions
+Dir["#{File.dirname(__FILE__)}/*.rake"].each { |ext| load ext }
+
+# Load any custom rakefile extensions
+deprecated_paths = Dir["#{RAILS_ROOT}/vendor/plugins/*/tasks/**/*.rake"].sort
+if deprecated_paths.any?
+ plugins = deprecated_paths.map { |p| $1 if p =~ %r((vendor/plugins/[^/]+/tasks)) }.compact
+ ActiveSupport::Deprecation.warn "Rake tasks in #{plugins.to_sentence} are deprecated. Use lib/tasks instead."
+ deprecated_paths.each { |ext| load ext }
+end
+Dir["#{RAILS_ROOT}/vendor/plugins/*/lib/tasks/**/*.rake"].sort.each { |ext| load ext }
+Dir["#{RAILS_ROOT}/lib/tasks/**/*.rake"].sort.each { |ext| load ext }
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/tasks/routes.rake b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/tasks/routes.rake
index abbf3258c18..abbf3258c18 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/tasks/routes.rake
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/tasks/routes.rake
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/tasks/statistics.rake b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/tasks/statistics.rake
index 5ab27a0f625..5ab27a0f625 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/tasks/statistics.rake
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/tasks/statistics.rake
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/tasks/testing.rake b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/tasks/testing.rake
index fd5e52a05bc..fd5e52a05bc 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/tasks/testing.rake
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/tasks/testing.rake
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/tasks/tmp.rake b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/tasks/tmp.rake
index fea15058bb8..fea15058bb8 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/tasks/tmp.rake
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/tasks/tmp.rake
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/test_help.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/test_help.rb
index f8608925d55..f8608925d55 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/test_help.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/test_help.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/webrick_server.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/webrick_server.rb
index 2f60151b222..2f60151b222 100644..100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/webrick_server.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/webrick_server.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/tags b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/tags
new file mode 100755
index 00000000000..b79f094316b
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/tags
@@ -0,0 +1,2260 @@
+!_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/
+!_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/
+!_TAG_PROGRAM_AUTHOR Darren Hiebert /dhiebert@users.sourceforge.net/
+!_TAG_PROGRAM_NAME Exuberant Ctags //
+!_TAG_PROGRAM_URL http://ctags.sourceforge.net /official site/
+!_TAG_PROGRAM_VERSION 5.8 //
+%name%.rb lib/rails/generators/rails/plugin_new/templates/lib/%name%.rb 1;" F
+%name%_test.rb lib/rails/generators/rails/plugin_new/templates/test/%name%_test.rb 1;" F
++ lib/rails/initializable.rb /^ def +(other)$/;" f class:Rails.Initializable.Collection
+404.html lib/rails/generators/rails/app/templates/public/404.html 1;" F
+404.html tmp/app/public/404.html 1;" F
+404.html tmp/app_template/public/404.html 1;" F
+422.html lib/rails/generators/rails/app/templates/public/422.html 1;" F
+422.html tmp/app/public/422.html 1;" F
+422.html tmp/app_template/public/422.html 1;" F
+500.html lib/rails/generators/rails/app/templates/public/500.html 1;" F
+500.html tmp/app/public/500.html 1;" F
+500.html tmp/app_template/public/500.html 1;" F
+ActionController lib/rails/test_help.rb /^class ActionController::TestCase$/;" c
+ActionController test/rails_info_controller_test.rb /^module ActionController$/;" m
+ActionDispatch lib/rails/test_help.rb /^class ActionDispatch::IntegrationTest$/;" c
+ActionMethods lib/rails/generators/rails/app/app_generator.rb /^ module ActionMethods$/;" m class:Rails
+Actions lib/rails/generators/actions.rb /^ module Actions$/;" m class:Rails.Generators
+ActionsTest test/generators/actions_test.rb /^class ActionsTest < Rails::Generators::TestCase$/;" c
+ActiveModel lib/rails/generators/active_model.rb /^ class ActiveModel$/;" c class:Rails.Generators
+ActiveRecord test/fixtures/lib/generators/active_record/fixjour_generator.rb /^module ActiveRecord$/;" m
+ActiveRecord test/generators/named_base_test.rb /^module ActiveRecord$/;" m
+ActiveSupport lib/rails/test_help.rb /^ class ActiveSupport::TestCase$/;" c
+ActiveSupport tmp/app/test/test_helper.rb /^class ActiveSupport::TestCase$/;" c
+ActiveSupport tmp/app_template/test/test_helper.rb /^class ActiveSupport::TestCase$/;" c
+AddLastNameToUsers test/railties/shared_tests.rb /^ class AddLastNameToUsers < ActiveRecord::Migration$/;" c class:RailtiesTest.SharedTests.test_copying_migrations
+Admin test/application/routing_test.rb /^ module Admin$/;" m
+Admin test/railties/shared_tests.rb /^ class Admin::Foo::BarController < ApplicationController$/;" c class:RailtiesTest.test_namespaced_controllers_with_namespaced_routes
+Ajax.InPlaceCollectionEditor.DefaultOptions.loadingCollectionText lib/rails/generators/rails/app/templates/public/javascripts/controls.js /^Ajax.InPlaceCollectionEditor.DefaultOptions = {$/;" p
+Ajax.InPlaceCollectionEditor.DefaultOptions.loadingCollectionText tmp/app/public/javascripts/controls.js /^Ajax.InPlaceCollectionEditor.DefaultOptions = {$/;" p
+Ajax.InPlaceCollectionEditor.DefaultOptions.loadingCollectionText tmp/app_template/public/javascripts/controls.js /^Ajax.InPlaceCollectionEditor.DefaultOptions = {$/;" p
+Ajax.InPlaceEditor lib/rails/generators/rails/app/templates/public/javascripts/controls.js /^});$/;" c
+Ajax.InPlaceEditor tmp/app/public/javascripts/controls.js /^});$/;" c
+Ajax.InPlaceEditor tmp/app_template/public/javascripts/controls.js /^});$/;" c
+Ajax.InPlaceEditor.initialize lib/rails/generators/rails/app/templates/public/javascripts/controls.js /^Ajax.InPlaceEditor.prototype.initialize.dealWithDeprecatedOptions = function(options) {$/;" m
+Ajax.InPlaceEditor.initialize tmp/app/public/javascripts/controls.js /^Ajax.InPlaceEditor.prototype.initialize.dealWithDeprecatedOptions = function(options) {$/;" m
+Ajax.InPlaceEditor.initialize tmp/app_template/public/javascripts/controls.js /^Ajax.InPlaceEditor.prototype.initialize.dealWithDeprecatedOptions = function(options) {$/;" m
+Annotation lib/rails/source_annotation_extractor.rb /^ class Annotation < Struct.new(:line, :tag, :text)$/;" c class:SourceAnnotationExtractor
+AppBase lib/rails/generators/app_base.rb /^ class AppBase < Base$/;" c class:Rails.Generators
+AppBuilder lib/rails/generators/rails/app/app_generator.rb /^ class AppBuilder$/;" c class:Rails
+AppBuilder test/fixtures/lib/app_builders/empty_builder.rb /^class AppBuilder$/;" c
+AppBuilder test/fixtures/lib/app_builders/simple_builder.rb /^class AppBuilder$/;" c
+AppBuilder test/fixtures/lib/app_builders/tweak_builder.rb /^class AppBuilder < Rails::AppBuilder$/;" c
+AppGenerator lib/rails/generators/rails/app/app_generator.rb /^ class AppGenerator < AppBase$/;" c class:Generators
+AppGeneratorTest test/generators/app_generator_test.rb /^class AppGeneratorTest < Rails::Generators::TestCase$/;" c
+AppTemplate test/railties/engine_test.rb /^ module AppTemplate$/;" m
+AppTemplate tmp/app/config/application.rb /^module AppTemplate$/;" m
+AppTemplate tmp/app_template/config/application.rb /^module AppTemplate$/;" m
+Application lib/rails/application.rb /^ class Application < Engine$/;" c class:Rails
+Application lib/rails/application/bootstrap.rb /^ class Application$/;" c class:Rails
+Application lib/rails/application/configuration.rb /^ class Application$/;" c class:Rails
+Application lib/rails/application/finisher.rb /^ class Application$/;" c class:Rails
+Application lib/rails/application/railties.rb /^ class Application < Engine$/;" c class:Rails
+Application lib/rails/application/routes_reloader.rb /^ class Application$/;" c class:Rails
+Application lib/rails/generators/rails/app/templates/config/application.rb /^ class Application < Rails::Application$/;" c
+Application test/abstract_unit.rb /^ class Application < Rails::Application$/;" c class:TestApp
+Application test/initializable_test.rb /^ class Application$/;" c
+Application tmp/app/config/application.rb /^ class Application < Rails::Application$/;" c class:AppTemplate
+Application tmp/app_template/config/application.rb /^ class Application < Rails::Application$/;" c class:AppTemplate
+ApplicationController lib/rails/generators/rails/app/templates/app/controllers/application_controller.rb /^class ApplicationController < ActionController::Base$/;" c
+ApplicationController test/application/initializers/frameworks_test.rb /^ class ApplicationController < ActionController::Base$/;" c
+ApplicationController tmp/app/app/controllers/application_controller.rb /^class ApplicationController < ActionController::Base$/;" c
+ApplicationController tmp/app_template/app/controllers/application_controller.rb /^class ApplicationController < ActionController::Base$/;" c
+ApplicationGeneratingController test/railties/mounted_engine_test.rb /^ class ApplicationGeneratingController < ActionController::Base$/;" c class:ApplicationTests.ApplicationRoutingTest
+ApplicationHelper lib/rails/generators/rails/app/templates/app/helpers/application_helper.rb /^module ApplicationHelper$/;" m
+ApplicationHelper test/application/initializers/frameworks_test.rb /^ module ApplicationHelper$/;" m
+ApplicationHelper tmp/app/app/helpers/application_helper.rb /^module ApplicationHelper$/;" m
+ApplicationHelper tmp/app_template/app/helpers/application_helper.rb /^module ApplicationHelper$/;" m
+ApplicationRoutingTest test/railties/mounted_engine_test.rb /^ class ApplicationRoutingTest < Test::Unit::TestCase$/;" c class:ApplicationTests
+ApplicationTests test/application/configuration_test.rb /^module ApplicationTests$/;" m
+ApplicationTests test/application/generators_test.rb /^module ApplicationTests$/;" m
+ApplicationTests test/application/initializers/boot_test.rb /^module ApplicationTests$/;" m
+ApplicationTests test/application/initializers/check_ruby_version_test.rb /^module ApplicationTests$/;" m
+ApplicationTests test/application/initializers/frameworks_test.rb /^module ApplicationTests$/;" m
+ApplicationTests test/application/initializers/hooks_test.rb /^module ApplicationTests$/;" m
+ApplicationTests test/application/initializers/i18n_test.rb /^module ApplicationTests$/;" m
+ApplicationTests test/application/initializers/load_path_test.rb /^module ApplicationTests$/;" m
+ApplicationTests test/application/initializers/notifications_test.rb /^module ApplicationTests$/;" m
+ApplicationTests test/application/middleware/best_practices_test.rb /^module ApplicationTests$/;" m
+ApplicationTests test/application/middleware/cache_test.rb /^module ApplicationTests$/;" m
+ApplicationTests test/application/middleware/remote_ip_test.rb /^module ApplicationTests$/;" m
+ApplicationTests test/application/middleware/sendfile_test.rb /^module ApplicationTests$/;" m
+ApplicationTests test/application/middleware_test.rb /^module ApplicationTests$/;" m
+ApplicationTests test/application/paths_test.rb /^module ApplicationTests$/;" m
+ApplicationTests test/application/rackup_test.rb /^module ApplicationTests$/;" m
+ApplicationTests test/application/rake_test.rb /^module ApplicationTests$/;" m
+ApplicationTests test/application/routing_test.rb /^module ApplicationTests$/;" m
+ApplicationTests test/application/runner_test.rb /^module ApplicationTests$/;" m
+ApplicationTests test/application/test_test.rb /^module ApplicationTests$/;" m
+ApplicationTests test/application/url_generation_test.rb /^module ApplicationTests$/;" m
+ApplicationTests test/railties/mounted_engine_test.rb /^module ApplicationTests$/;" m
+Autocompleter.Base lib/rails/generators/rails/app/templates/public/javascripts/controls.js /^});$/;" c
+Autocompleter.Base tmp/app/public/javascripts/controls.js /^});$/;" c
+Autocompleter.Base tmp/app_template/public/javascripts/controls.js /^});$/;" c
+Autocompleter.Base.getTokenBounds lib/rails/generators/rails/app/templates/public/javascripts/controls.js /^Autocompleter.Base.prototype.getTokenBounds.getFirstDifferencePos = function(newS, oldS) {$/;" m
+Autocompleter.Base.getTokenBounds tmp/app/public/javascripts/controls.js /^Autocompleter.Base.prototype.getTokenBounds.getFirstDifferencePos = function(newS, oldS) {$/;" m
+Autocompleter.Base.getTokenBounds tmp/app_template/public/javascripts/controls.js /^Autocompleter.Base.prototype.getTokenBounds.getFirstDifferencePos = function(newS, oldS) {$/;" m
+BacktraceCleaner lib/rails/backtrace_cleaner.rb /^ class BacktraceCleaner < ActiveSupport::BacktraceCleaner$/;" c class:Rails
+BacktraceCleanerFilterTest test/backtrace_cleaner_test.rb /^ class BacktraceCleanerFilterTest < ActiveSupport::TestCase$/;" c
+BacktraceCleanerVendorGemTest test/backtrace_cleaner_test.rb /^ class BacktraceCleanerVendorGemTest < ActiveSupport::TestCase$/;" c
+BacktraceFilterForTestUnit lib/rails/backtrace_cleaner.rb /^ module BacktraceFilterForTestUnit #:nodoc:$/;" m class:Rails
+Bar test/initializable_test.rb /^ class Bar < Foo$/;" c class:InitializableTests
+Bar test/railties/railtie_test.rb /^ class Bar < Foo; end$/;" c
+BarController test/application/routing_test.rb /^ class BarController < ActionController::Base$/;" c
+BarController test/railties/shared_tests.rb /^ class BarController < ActionController::Base$/;" c class:RailtiesTest.test_routes_in_plugins_have_lower_priority_than_application_ones
+BarHelper test/application/initializers/frameworks_test.rb /^ module BarHelper$/;" m
+BarHelper test/application/routing_test.rb /^ module BarHelper$/;" m
+BarHelper test/railties/engine_test.rb /^ module BarHelper$/;" m
+Base lib/rails/generators/base.rb /^ class Base < Thor::Group$/;" c class:Rails.Generators
+Base lib/rails/generators/erb.rb /^ class Base < Rails::Generators::NamedBase #:nodoc:$/;" c class:Erb.Generators
+Base lib/rails/generators/test_unit.rb /^ class Base < Rails::Generators::NamedBase #:nodoc:$/;" c class:TestUnit.Generators
+Base test/generators/named_base_test.rb /^ class Base$/;" c class:ActiveRecord
+Base test/rails_info_controller_test.rb /^ class Base$/;" c class:ActionController
+Basic test/initializable_test.rb /^ class Basic < ActiveSupport::TestCase$/;" c
+BeforeAfter test/initializable_test.rb /^ class BeforeAfter < ActiveSupport::TestCase$/;" c
+BestPracticesTest test/application/middleware/best_practices_test.rb /^ class BestPracticesTest < Test::Unit::TestCase$/;" c class:ApplicationTests
+Blog test/railties/mounted_engine_test.rb /^ module Blog$/;" m class:ApplicationTests.ApplicationRoutingTest
+Bootstrap lib/rails/application/bootstrap.rb /^ module Bootstrap$/;" m class:Rails.Application
+BrowsingTest lib/rails/generators/rails/app/templates/test/performance/browsing_test.rb /^class BrowsingTest < ActionDispatch::PerformanceTest$/;" c
+BrowsingTest tmp/app/test/performance/browsing_test.rb /^class BrowsingTest < ActionDispatch::PerformanceTest$/;" c
+BrowsingTest tmp/app_template/test/performance/browsing_test.rb /^class BrowsingTest < ActionDispatch::PerformanceTest$/;" c
+Brush guides/assets/javascripts/syntaxhighlighter/shBrushAS3.js /^ function Brush()$/;" c
+Brush guides/assets/javascripts/syntaxhighlighter/shBrushAppleScript.js /^ function Brush()$/;" c
+Brush guides/assets/javascripts/syntaxhighlighter/shBrushBash.js /^ function Brush()$/;" c
+Brush guides/assets/javascripts/syntaxhighlighter/shBrushCSharp.js /^ function Brush()$/;" c
+Brush guides/assets/javascripts/syntaxhighlighter/shBrushColdFusion.js /^ function Brush()$/;" c
+Brush guides/assets/javascripts/syntaxhighlighter/shBrushCpp.js /^ function Brush()$/;" c
+Brush guides/assets/javascripts/syntaxhighlighter/shBrushCss.js /^ function Brush()$/;" c
+Brush guides/assets/javascripts/syntaxhighlighter/shBrushDelphi.js /^ function Brush()$/;" c
+Brush guides/assets/javascripts/syntaxhighlighter/shBrushDiff.js /^ function Brush()$/;" c
+Brush guides/assets/javascripts/syntaxhighlighter/shBrushErlang.js /^ function Brush()$/;" c
+Brush guides/assets/javascripts/syntaxhighlighter/shBrushGroovy.js /^ function Brush()$/;" c
+Brush guides/assets/javascripts/syntaxhighlighter/shBrushJScript.js /^ function Brush()$/;" c
+Brush guides/assets/javascripts/syntaxhighlighter/shBrushJava.js /^ function Brush()$/;" c
+Brush guides/assets/javascripts/syntaxhighlighter/shBrushJavaFX.js /^ function Brush()$/;" c
+Brush guides/assets/javascripts/syntaxhighlighter/shBrushPerl.js /^ function Brush()$/;" c
+Brush guides/assets/javascripts/syntaxhighlighter/shBrushPhp.js /^ function Brush()$/;" c
+Brush guides/assets/javascripts/syntaxhighlighter/shBrushPlain.js /^ function Brush()$/;" f
+Brush guides/assets/javascripts/syntaxhighlighter/shBrushPlain.js /^ };$/;" c
+Brush guides/assets/javascripts/syntaxhighlighter/shBrushPowerShell.js /^ function Brush()$/;" c
+Brush guides/assets/javascripts/syntaxhighlighter/shBrushPython.js /^ function Brush()$/;" c
+Brush guides/assets/javascripts/syntaxhighlighter/shBrushRuby.js /^ function Brush()$/;" c
+Brush guides/assets/javascripts/syntaxhighlighter/shBrushSass.js /^ function Brush()$/;" c
+Brush guides/assets/javascripts/syntaxhighlighter/shBrushScala.js /^ function Brush()$/;" c
+Brush guides/assets/javascripts/syntaxhighlighter/shBrushSql.js /^ function Brush()$/;" c
+Brush guides/assets/javascripts/syntaxhighlighter/shBrushXml.js /^ function Brush()$/;" c
+Brush.fixComments guides/assets/javascripts/syntaxhighlighter/shBrushCSharp.js /^ function fixComments(match, regexInfo)$/;" f
+Brush.getKeywordsCSS guides/assets/javascripts/syntaxhighlighter/shBrushCss.js /^ function getKeywordsCSS(str)$/;" f
+Brush.getKeywordsCSS guides/assets/javascripts/syntaxhighlighter/shBrushSass.js /^ function getKeywordsCSS(str)$/;" f
+Brush.getValuesCSS guides/assets/javascripts/syntaxhighlighter/shBrushCss.js /^ function getValuesCSS(str)$/;" f
+Brush.getValuesCSS guides/assets/javascripts/syntaxhighlighter/shBrushSass.js /^ function getValuesCSS(str)$/;" f
+Brush.process guides/assets/javascripts/syntaxhighlighter/shBrushXml.js /^ function process(match, regexInfo)$/;" f
+Bukkit test/isolation/abstract_unit.rb /^ class Bukkit$/;" c
+BukkitController test/railties/shared_tests.rb /^ class BukkitController < ActionController::Base$/;" c class:RailtiesTest.test_adds_helpers_to_controller_views
+BukkitController test/railties/shared_tests.rb /^ class BukkitController < ActionController::Base$/;" c class:RailtiesTest.test_adds_its_views_to_view_paths
+BukkitController test/railties/shared_tests.rb /^ class BukkitController < ActionController::Base$/;" c class:RailtiesTest.test_adds_its_views_to_view_paths_with_lower_proriority_than_app_ones
+BukkitHelper test/railties/shared_tests.rb /^ module BukkitHelper$/;" m class:RailtiesTest.test_adds_helpers_to_controller_views
+Bukkits test/railties/engine_test.rb /^ class Bukkits$/;" c class:RailtiesTest.EngineTest.setup
+Bukkits test/railties/engine_test.rb /^ class Bukkits$/;" c
+Bukkits test/railties/engine_test.rb /^ class Bukkits::FooController < ActionController::Base$/;" c
+Bukkits test/railties/engine_test.rb /^ class Bukkits::PostsController < ActionController::Base$/;" c
+Bukkits test/railties/engine_test.rb /^ module Bukkits$/;" m
+Bukkits test/railties/plugin_test.rb /^ class Bukkits$/;" c
+Bukkits test/railties/shared_tests.rb /^ class Bukkits$/;" c class:RailtiesTest.test_midleware_referenced_in_configuration
+CheckRubyVersionTest test/application/initializers/check_ruby_version_test.rb /^ class CheckRubyVersionTest < Test::Unit::TestCase$/;" c class:ApplicationTests
+Child test/initializable_test.rb /^ class Child < Parent$/;" c class:InitializableTests
+ClassMethods lib/rails/generators/migration.rb /^ module ClassMethods$/;" m class:Rails.Generators.Migration
+ClassMethods lib/rails/initializable.rb /^ module ClassMethods$/;" m class:Rails.Initializable
+ClassMethods lib/rails/railtie/configurable.rb /^ module ClassMethods$/;" m class:Rails.Railtie.Configurable
+CodeStatistics lib/rails/code_statistics.rb /^class CodeStatistics #:nodoc:$/;" c
+Collection lib/rails/initializable.rb /^ class Collection < Array$/;" c class:Rails.Initializable
+Commands lib/rails/commands/plugin.rb /^module Commands$/;" m
+Configurable lib/rails/railtie/configurable.rb /^ module Configurable$/;" m class:Rails.Railtie
+Configuration lib/rails/application/configuration.rb /^ class Configuration < ::Rails::Engine::Configuration$/;" c class:Rails.Application
+Configuration lib/rails/configuration.rb /^ module Configuration$/;" m class:Rails
+Configuration lib/rails/engine/configuration.rb /^ class Configuration < ::Rails::Railtie::Configuration$/;" c class:Rails.Engine
+Configuration lib/rails/railtie/configuration.rb /^ class Configuration$/;" c class:Rails.Railtie
+ConfigurationTest test/application/configuration_test.rb /^ class ConfigurationTest < Test::Unit::TestCase$/;" c class:ApplicationTests
+Console lib/rails/commands/console.rb /^ class Console$/;" c class:Rails
+ConsoleTest test/application/console_test.rb /^class ConsoleTest < Test::Unit::TestCase$/;" c
+ControllerGenerator lib/rails/generators/erb/controller/controller_generator.rb /^ class ControllerGenerator < Base$/;" c class:Erb.Generators
+ControllerGenerator lib/rails/generators/rails/controller/controller_generator.rb /^ class ControllerGenerator < NamedBase$/;" c class:Rails.Generators
+ControllerGenerator lib/rails/generators/test_unit/controller/controller_generator.rb /^ class ControllerGenerator < Base$/;" c class:TestUnit.Generators
+ControllerGeneratorTest test/generators/controller_generator_test.rb /^class ControllerGeneratorTest < Rails::Generators::TestCase$/;" c
+CreateSessions test/railties/shared_tests.rb /^ class CreateSessions < ActiveRecord::Migration$/;" c class:RailtiesTest.SharedTests.test_copying_migrations
+CreateSessions test/railties/shared_tests.rb /^ class CreateSessions < ActiveRecord::Migration$/;" c class:RailtiesTest.SharedTests.test_install_migrations_and_assets
+CreateUsers test/railties/shared_tests.rb /^ class CreateUsers < ActiveRecord::Migration$/;" c class:RailtiesTest.SharedTests.test_copying_migrations
+CreateUsers test/railties/shared_tests.rb /^ class CreateUsers < ActiveRecord::Migration$/;" c class:RailtiesTest.SharedTests.test_install_migrations_and_assets
+CreateYaffles test/railties/shared_tests.rb /^ class CreateYaffles < ActiveRecord::Migration$/;" c class:RailtiesTest.SharedTests
+CustomAppGeneratorTest test/generators/app_generator_test.rb /^class CustomAppGeneratorTest < Rails::Generators::TestCase$/;" c
+CustomPluginGeneratorTest test/generators/plugin_new_generator_test.rb /^class CustomPluginGeneratorTest < Rails::Generators::TestCase$/;" c
+DBConsole lib/rails/commands/dbconsole.rb /^ class DBConsole$/;" c class:Rails
+Debugger lib/rails/rack/debugger.rb /^ class Debugger$/;" c class:Rails.Rack
+Draggable lib/rails/generators/rails/app/templates/public/javascripts/dragdrop.js /^var Draggable = Class.create({$/;" v
+Draggable tmp/app/public/javascripts/dragdrop.js /^var Draggable = Class.create({$/;" v
+Draggable tmp/app_template/public/javascripts/dragdrop.js /^var Draggable = Class.create({$/;" v
+Draggables.drags lib/rails/generators/rails/app/templates/public/javascripts/dragdrop.js /^var Draggables = {$/;" p
+Draggables.drags tmp/app/public/javascripts/dragdrop.js /^var Draggables = {$/;" p
+Draggables.drags tmp/app_template/public/javascripts/dragdrop.js /^var Draggables = {$/;" p
+Droppables.drops lib/rails/generators/rails/app/templates/public/javascripts/dragdrop.js /^var Droppables = {$/;" p
+Droppables.drops tmp/app/public/javascripts/dragdrop.js /^var Droppables = {$/;" p
+Droppables.drops tmp/app_template/public/javascripts/dragdrop.js /^var Droppables = {$/;" p
+Effect.Appear lib/rails/generators/rails/app/templates/public/javascripts/effects.js /^};$/;" f
+Effect.Appear tmp/app/public/javascripts/effects.js /^};$/;" f
+Effect.Appear tmp/app_template/public/javascripts/effects.js /^};$/;" f
+Effect.BlindDown lib/rails/generators/rails/app/templates/public/javascripts/effects.js /^};$/;" f
+Effect.BlindDown tmp/app/public/javascripts/effects.js /^};$/;" f
+Effect.BlindDown tmp/app_template/public/javascripts/effects.js /^};$/;" f
+Effect.BlindUp lib/rails/generators/rails/app/templates/public/javascripts/effects.js /^};$/;" f
+Effect.BlindUp tmp/app/public/javascripts/effects.js /^};$/;" f
+Effect.BlindUp tmp/app_template/public/javascripts/effects.js /^};$/;" f
+Effect.DropOut lib/rails/generators/rails/app/templates/public/javascripts/effects.js /^};$/;" f
+Effect.DropOut tmp/app/public/javascripts/effects.js /^};$/;" f
+Effect.DropOut tmp/app_template/public/javascripts/effects.js /^};$/;" f
+Effect.DropOut.oldStyle.top lib/rails/generators/rails/app/templates/public/javascripts/effects.js /^ var oldStyle = {$/;" p
+Effect.DropOut.oldStyle.top tmp/app/public/javascripts/effects.js /^ var oldStyle = {$/;" p
+Effect.DropOut.oldStyle.top tmp/app_template/public/javascripts/effects.js /^ var oldStyle = {$/;" p
+Effect.Fade lib/rails/generators/rails/app/templates/public/javascripts/effects.js /^};$/;" f
+Effect.Fade tmp/app/public/javascripts/effects.js /^};$/;" f
+Effect.Fade tmp/app_template/public/javascripts/effects.js /^};$/;" f
+Effect.Fold lib/rails/generators/rails/app/templates/public/javascripts/effects.js /^};$/;" f
+Effect.Fold tmp/app/public/javascripts/effects.js /^};$/;" f
+Effect.Fold tmp/app_template/public/javascripts/effects.js /^};$/;" f
+Effect.Fold.oldStyle.top lib/rails/generators/rails/app/templates/public/javascripts/effects.js /^ var oldStyle = {$/;" p
+Effect.Fold.oldStyle.top tmp/app/public/javascripts/effects.js /^ var oldStyle = {$/;" p
+Effect.Fold.oldStyle.top tmp/app_template/public/javascripts/effects.js /^ var oldStyle = {$/;" p
+Effect.Grow lib/rails/generators/rails/app/templates/public/javascripts/effects.js /^};$/;" f
+Effect.Grow tmp/app/public/javascripts/effects.js /^};$/;" f
+Effect.Grow tmp/app_template/public/javascripts/effects.js /^};$/;" f
+Effect.Grow.oldStyle.top lib/rails/generators/rails/app/templates/public/javascripts/effects.js /^ var oldStyle = {$/;" p
+Effect.Grow.oldStyle.top tmp/app/public/javascripts/effects.js /^ var oldStyle = {$/;" p
+Effect.Grow.oldStyle.top tmp/app_template/public/javascripts/effects.js /^ var oldStyle = {$/;" p
+Effect.Methods.highlight lib/rails/generators/rails/app/templates/public/javascripts/effects.js /^ },$/;" m
+Effect.Methods.highlight tmp/app/public/javascripts/effects.js /^ },$/;" m
+Effect.Methods.highlight tmp/app_template/public/javascripts/effects.js /^ },$/;" m
+Effect.Methods.morph lib/rails/generators/rails/app/templates/public/javascripts/effects.js /^Effect.Methods = {$/;" m
+Effect.Methods.morph tmp/app/public/javascripts/effects.js /^Effect.Methods = {$/;" m
+Effect.Methods.morph tmp/app_template/public/javascripts/effects.js /^Effect.Methods = {$/;" m
+Effect.Methods.visualEffect lib/rails/generators/rails/app/templates/public/javascripts/effects.js /^ },$/;" m
+Effect.Methods.visualEffect tmp/app/public/javascripts/effects.js /^ },$/;" m
+Effect.Methods.visualEffect tmp/app_template/public/javascripts/effects.js /^ },$/;" m
+Effect.MoveBy lib/rails/generators/rails/app/templates/public/javascripts/effects.js /^});$/;" f
+Effect.MoveBy tmp/app/public/javascripts/effects.js /^});$/;" f
+Effect.MoveBy tmp/app_template/public/javascripts/effects.js /^});$/;" f
+Effect.Puff lib/rails/generators/rails/app/templates/public/javascripts/effects.js /^};$/;" f
+Effect.Puff tmp/app/public/javascripts/effects.js /^};$/;" f
+Effect.Puff tmp/app_template/public/javascripts/effects.js /^};$/;" f
+Effect.Puff.oldStyle.opacity lib/rails/generators/rails/app/templates/public/javascripts/effects.js /^ var oldStyle = {$/;" p
+Effect.Puff.oldStyle.opacity tmp/app/public/javascripts/effects.js /^ var oldStyle = {$/;" p
+Effect.Puff.oldStyle.opacity tmp/app_template/public/javascripts/effects.js /^ var oldStyle = {$/;" p
+Effect.Pulsate lib/rails/generators/rails/app/templates/public/javascripts/effects.js /^};$/;" f
+Effect.Pulsate tmp/app/public/javascripts/effects.js /^};$/;" f
+Effect.Pulsate tmp/app_template/public/javascripts/effects.js /^};$/;" f
+Effect.Queues.instances lib/rails/generators/rails/app/templates/public/javascripts/effects.js /^Effect.Queues = {$/;" p
+Effect.Queues.instances tmp/app/public/javascripts/effects.js /^Effect.Queues = {$/;" p
+Effect.Queues.instances tmp/app_template/public/javascripts/effects.js /^Effect.Queues = {$/;" p
+Effect.ScrollTo lib/rails/generators/rails/app/templates/public/javascripts/effects.js /^});$/;" f
+Effect.ScrollTo tmp/app/public/javascripts/effects.js /^});$/;" f
+Effect.ScrollTo tmp/app_template/public/javascripts/effects.js /^});$/;" f
+Effect.Shake lib/rails/generators/rails/app/templates/public/javascripts/effects.js /^};$/;" f
+Effect.Shake tmp/app/public/javascripts/effects.js /^};$/;" f
+Effect.Shake tmp/app_template/public/javascripts/effects.js /^};$/;" f
+Effect.Shake.oldStyle.top lib/rails/generators/rails/app/templates/public/javascripts/effects.js /^ var oldStyle = {$/;" p
+Effect.Shake.oldStyle.top tmp/app/public/javascripts/effects.js /^ var oldStyle = {$/;" p
+Effect.Shake.oldStyle.top tmp/app_template/public/javascripts/effects.js /^ var oldStyle = {$/;" p
+Effect.Shrink lib/rails/generators/rails/app/templates/public/javascripts/effects.js /^};$/;" f
+Effect.Shrink tmp/app/public/javascripts/effects.js /^};$/;" f
+Effect.Shrink tmp/app_template/public/javascripts/effects.js /^};$/;" f
+Effect.Shrink.oldStyle.top lib/rails/generators/rails/app/templates/public/javascripts/effects.js /^ var oldStyle = {$/;" p
+Effect.Shrink.oldStyle.top tmp/app/public/javascripts/effects.js /^ var oldStyle = {$/;" p
+Effect.Shrink.oldStyle.top tmp/app_template/public/javascripts/effects.js /^ var oldStyle = {$/;" p
+Effect.SlideDown lib/rails/generators/rails/app/templates/public/javascripts/effects.js /^};$/;" f
+Effect.SlideDown tmp/app/public/javascripts/effects.js /^};$/;" f
+Effect.SlideDown tmp/app_template/public/javascripts/effects.js /^};$/;" f
+Effect.SlideUp lib/rails/generators/rails/app/templates/public/javascripts/effects.js /^};$/;" f
+Effect.SlideUp tmp/app/public/javascripts/effects.js /^};$/;" f
+Effect.SlideUp tmp/app_template/public/javascripts/effects.js /^};$/;" f
+Effect.Squish lib/rails/generators/rails/app/templates/public/javascripts/effects.js /^};$/;" f
+Effect.Squish tmp/app/public/javascripts/effects.js /^};$/;" f
+Effect.Squish tmp/app_template/public/javascripts/effects.js /^};$/;" f
+Effect.SwitchOff lib/rails/generators/rails/app/templates/public/javascripts/effects.js /^};$/;" f
+Effect.SwitchOff tmp/app/public/javascripts/effects.js /^};$/;" f
+Effect.SwitchOff tmp/app_template/public/javascripts/effects.js /^};$/;" f
+Element.collectTextNodes lib/rails/generators/rails/app/templates/public/javascripts/effects.js /^};$/;" f
+Element.collectTextNodes tmp/app/public/javascripts/effects.js /^};$/;" f
+Element.collectTextNodes tmp/app_template/public/javascripts/effects.js /^};$/;" f
+Element.collectTextNodesIgnoreClass lib/rails/generators/rails/app/templates/public/javascripts/effects.js /^};$/;" f
+Element.collectTextNodesIgnoreClass tmp/app/public/javascripts/effects.js /^};$/;" f
+Element.collectTextNodesIgnoreClass tmp/app_template/public/javascripts/effects.js /^};$/;" f
+Element.findChildren lib/rails/generators/rails/app/templates/public/javascripts/dragdrop.js /^};$/;" f
+Element.findChildren tmp/app/public/javascripts/dragdrop.js /^};$/;" f
+Element.findChildren tmp/app_template/public/javascripts/dragdrop.js /^};$/;" f
+Element.forceRerendering lib/rails/generators/rails/app/templates/public/javascripts/effects.js /^};$/;" f
+Element.forceRerendering tmp/app/public/javascripts/effects.js /^};$/;" f
+Element.forceRerendering tmp/app_template/public/javascripts/effects.js /^};$/;" f
+Element.getInlineOpacity lib/rails/generators/rails/app/templates/public/javascripts/effects.js /^};$/;" f
+Element.getInlineOpacity tmp/app/public/javascripts/effects.js /^};$/;" f
+Element.getInlineOpacity tmp/app_template/public/javascripts/effects.js /^};$/;" f
+Element.getStyles lib/rails/generators/rails/app/templates/public/javascripts/effects.js /^if (document.defaultView && document.defaultView.getComputedStyle) {$/;" f
+Element.getStyles tmp/app/public/javascripts/effects.js /^if (document.defaultView && document.defaultView.getComputedStyle) {$/;" f
+Element.getStyles tmp/app_template/public/javascripts/effects.js /^if (document.defaultView && document.defaultView.getComputedStyle) {$/;" f
+Element.isParent lib/rails/generators/rails/app/templates/public/javascripts/dragdrop.js /^};$/;" f
+Element.isParent tmp/app/public/javascripts/dragdrop.js /^};$/;" f
+Element.isParent tmp/app_template/public/javascripts/dragdrop.js /^};$/;" f
+Element.offsetSize lib/rails/generators/rails/app/templates/public/javascripts/dragdrop.js /^};$/;" f
+Element.offsetSize tmp/app/public/javascripts/dragdrop.js /^};$/;" f
+Element.offsetSize tmp/app_template/public/javascripts/dragdrop.js /^};$/;" f
+Element.setContentZoom lib/rails/generators/rails/app/templates/public/javascripts/effects.js /^};$/;" f
+Element.setContentZoom tmp/app/public/javascripts/effects.js /^};$/;" f
+Element.setContentZoom tmp/app_template/public/javascripts/effects.js /^};$/;" f
+Engine lib/rails/engine.rb /^ class Engine < Railtie$/;" c class:Rails
+Engine lib/rails/engine/configuration.rb /^ class Engine$/;" c class:Rails
+Engine lib/rails/engine/railties.rb /^ class Engine < Railtie$/;" c class:Rails
+Engine lib/rails/generators/rails/plugin_new/templates/lib/%name%/engine.rb /^ class Engine < Rails::Engine$/;" c
+Engine test/railties/engine_test.rb /^ class Engine < ::Rails::Engine$/;" c class:RailtiesTest.EngineTest.setup.Bukkits
+Engine test/railties/engine_test.rb /^ class Engine < ::Rails::Engine$/;" c class:AppTemplate
+Engine test/railties/engine_test.rb /^ class Engine < ::Rails::Engine$/;" c class:Bukkits
+Engine test/railties/mounted_engine_test.rb /^ class Engine < ::Rails::Engine$/;" c class:ApplicationTests.ApplicationRoutingTest.Blog
+Engine test/railties/plugin_test.rb /^ class Engine < Rails::Engine$/;" c class:Bukkits
+EngineHelper test/railties/engine_test.rb /^ module EngineHelper$/;" m
+EngineTest test/railties/engine_test.rb /^ class EngineTest < Test::Unit::TestCase$/;" c class:RailtiesTest
+Erb lib/rails/generators/erb.rb /^module Erb$/;" m
+Erb lib/rails/generators/erb/controller/controller_generator.rb /^module Erb$/;" m
+Erb lib/rails/generators/erb/mailer/mailer_generator.rb /^module Erb$/;" m
+Erb lib/rails/generators/erb/scaffold/scaffold_generator.rb /^module Erb$/;" m
+Error lib/rails/generators/base.rb /^ class Error < Thor::Error$/;" c class:Rails.Generators
+Event.Handler lib/rails/generators/rails/app/templates/public/javascripts/prototype_ujs.js /^ if (!submitBubbles || !changeBubbles) {$/;" c
+Event.Handler tmp/app/public/javascripts/rails.js /^ if (!submitBubbles || !changeBubbles) {$/;" c
+Event.Handler tmp/app_template/public/javascripts/rails.js /^ if (!submitBubbles || !changeBubbles) {$/;" c
+Event.Handler.initialize lib/rails/generators/rails/app/templates/public/javascripts/prototype_ujs.js /^ Event.Handler.prototype.initialize = Event.Handler.prototype.initialize.wrap($/;" m
+Event.Handler.initialize tmp/app/public/javascripts/rails.js /^ Event.Handler.prototype.initialize = Event.Handler.prototype.initialize.wrap($/;" m
+Event.Handler.initialize tmp/app_template/public/javascripts/rails.js /^ Event.Handler.prototype.initialize = Event.Handler.prototype.initialize.wrap($/;" m
+ExpiresController test/application/middleware/cache_test.rb /^ class ExpiresController < ApplicationController$/;" c class:ApplicationTests.RoutingTest.simple_controller
+Field.scrollFreeActivate lib/rails/generators/rails/app/templates/public/javascripts/controls.js /^});$/;" f
+Field.scrollFreeActivate tmp/app/public/javascripts/controls.js /^});$/;" f
+Field.scrollFreeActivate tmp/app_template/public/javascripts/controls.js /^});$/;" f
+Finisher lib/rails/application/finisher.rb /^ module Finisher$/;" m class:Rails.Application
+FixjourGenerator test/fixtures/lib/generators/active_record/fixjour_generator.rb /^ class FixjourGenerator < Base$/;" c class:ActiveRecord.Generators
+FixjourGenerator test/fixtures/lib/generators/fixjour_generator.rb /^class FixjourGenerator < Rails::Generators::NamedBase$/;" c
+Foo test/application/initializers/frameworks_test.rb /^ class Foo < ActionMailer::Base$/;" c
+Foo test/application/initializers/load_path_test.rb /^ module Foo; end$/;" m
+Foo test/application/initializers/load_path_test.rb /^ module Foo; end$/;" m class:ApplicationTests
+Foo test/initializable_test.rb /^ class Foo$/;" c class:InitializableTests
+Foo test/railties/plugin_test.rb /^ class Foo < Rails::Plugin; end$/;" c
+Foo test/railties/railtie_test.rb /^ class Foo < Rails::Railtie ; config.after_initialize { $after_initialize = true } ; end$/;" c
+Foo test/railties/railtie_test.rb /^ class Foo < Rails::Railtie ; config.to_prepare { $to_prepare = true } ; end$/;" c
+Foo test/railties/railtie_test.rb /^ class Foo < Rails::Railtie ; end$/;" c
+Foo test/railties/railtie_test.rb /^ class Foo < Rails::Railtie$/;" c
+Foo test/railties/shared_tests.rb /^ module Foo; end$/;" m class:RailtiesTest.test_autoload_any_path_under_app
+FooController test/application/initializers/frameworks_test.rb /^ class FooController < ApplicationController$/;" c
+FooController test/application/routing_test.rb /^ class FooController < ApplicationController$/;" c
+FooController test/application/routing_test.rb /^ class FooController < ApplicationController$/;" c class:Admin
+FooController test/application/routing_test.rb /^ class FooController < ApplicationController$/;" c
+FooController test/isolation/abstract_unit.rb /^ class FooController < ApplicationController$/;" c class:simple_controller
+FooController test/railties/engine_test.rb /^ class FooController < ActionController::Base$/;" c
+FooController test/railties/shared_tests.rb /^ class FooController < ActionController::Base$/;" c class:RailtiesTest.test_routes_in_plugins_have_lower_priority_than_application_ones
+FooHelper test/application/initializers/frameworks_test.rb /^ module FooHelper$/;" m
+FooTest test/application/test_test.rb /^ class FooTest < ActiveSupport::TestCase$/;" c class:ApplicationTests
+FooTest test/application/test_test.rb /^ class FooTest < ActiveSupport::TestCase$/;" c class:ApplicationTests.TestTest
+Foobar test/fixtures/lib/rails/generators/foobar/foobar_generator.rb /^module Foobar$/;" m
+FoobarGenerator test/fixtures/lib/rails/generators/foobar/foobar_generator.rb /^ class FoobarGenerator < Rails::Generators::Base$/;" c class:Foobar
+FrameworlsTest test/application/initializers/frameworks_test.rb /^ class FrameworlsTest < Test::Unit::TestCase$/;" c class:ApplicationTests
+GemBooting test/application/initializers/boot_test.rb /^ class GemBooting < Test::Unit::TestCase$/;" c class:ApplicationTests
+GeneratedAttribute lib/rails/generators/generated_attribute.rb /^ class GeneratedAttribute$/;" c class:Rails.Generators
+GeneratedAttributeTest test/generators/generated_attribute_test.rb /^class GeneratedAttributeTest < Rails::Generators::TestCase$/;" c
+Generation test/isolation/abstract_unit.rb /^ module Generation$/;" m
+Generator guides/rails_guides/generator.rb /^ class Generator$/;" c class:RailsGuides
+GeneratorGenerator lib/rails/generators/rails/generator/generator_generator.rb /^ class GeneratorGenerator < NamedBase$/;" c class:Rails.Generators
+GeneratorGeneratorTest test/generators/generator_generator_test.rb /^class GeneratorGeneratorTest < Rails::Generators::TestCase$/;" c
+Generators lib/rails/configuration.rb /^ class Generators #:nodoc:$/;" c class:Rails.Configuration
+Generators lib/rails/generators.rb /^ module Generators$/;" m class:Rails
+Generators lib/rails/generators/actions.rb /^ module Generators$/;" m class:Rails
+Generators lib/rails/generators/active_model.rb /^ module Generators$/;" m class:Rails
+Generators lib/rails/generators/app_base.rb /^ module Generators$/;" m class:Rails
+Generators lib/rails/generators/base.rb /^ module Generators$/;" m class:Rails
+Generators lib/rails/generators/erb.rb /^ module Generators$/;" m class:Erb
+Generators lib/rails/generators/erb/controller/controller_generator.rb /^ module Generators$/;" m class:Erb
+Generators lib/rails/generators/erb/mailer/mailer_generator.rb /^ module Generators$/;" m class:Erb
+Generators lib/rails/generators/erb/scaffold/scaffold_generator.rb /^ module Generators$/;" m class:Erb
+Generators lib/rails/generators/generated_attribute.rb /^ module Generators$/;" m class:Rails
+Generators lib/rails/generators/migration.rb /^ module Generators$/;" m class:Rails
+Generators lib/rails/generators/named_base.rb /^ module Generators$/;" m class:Rails
+Generators lib/rails/generators/rails/app/app_generator.rb /^ module Generators$/;" m
+Generators lib/rails/generators/rails/controller/controller_generator.rb /^ module Generators$/;" m class:Rails
+Generators lib/rails/generators/rails/generator/generator_generator.rb /^ module Generators$/;" m class:Rails
+Generators lib/rails/generators/rails/helper/helper_generator.rb /^ module Generators$/;" m class:Rails
+Generators lib/rails/generators/rails/integration_test/integration_test_generator.rb /^ module Generators$/;" m class:Rails
+Generators lib/rails/generators/rails/migration/migration_generator.rb /^ module Generators$/;" m class:Rails
+Generators lib/rails/generators/rails/model/model_generator.rb /^ module Generators$/;" m class:Rails
+Generators lib/rails/generators/rails/observer/observer_generator.rb /^ module Generators$/;" m class:Rails
+Generators lib/rails/generators/rails/performance_test/performance_test_generator.rb /^ module Generators$/;" m class:Rails
+Generators lib/rails/generators/rails/plugin/plugin_generator.rb /^ module Generators$/;" m class:Rails
+Generators lib/rails/generators/rails/plugin_new/plugin_new_generator.rb /^ module Generators$/;" m
+Generators lib/rails/generators/rails/resource/resource_generator.rb /^ module Generators$/;" m class:Rails
+Generators lib/rails/generators/rails/scaffold/scaffold_generator.rb /^ module Generators$/;" m class:Rails
+Generators lib/rails/generators/rails/scaffold_controller/scaffold_controller_generator.rb /^ module Generators$/;" m class:Rails
+Generators lib/rails/generators/rails/session_migration/session_migration_generator.rb /^ module Generators$/;" m class:Rails
+Generators lib/rails/generators/rails/stylesheets/stylesheets_generator.rb /^ module Generators$/;" m class:Rails
+Generators lib/rails/generators/resource_helpers.rb /^ module Generators$/;" m class:Rails
+Generators lib/rails/generators/test_case.rb /^ module Generators$/;" m class:Rails
+Generators lib/rails/generators/test_unit.rb /^ module Generators$/;" m class:TestUnit
+Generators lib/rails/generators/test_unit/controller/controller_generator.rb /^ module Generators$/;" m class:TestUnit
+Generators lib/rails/generators/test_unit/helper/helper_generator.rb /^ module Generators$/;" m class:TestUnit
+Generators lib/rails/generators/test_unit/integration/integration_generator.rb /^ module Generators$/;" m class:TestUnit
+Generators lib/rails/generators/test_unit/mailer/mailer_generator.rb /^ module Generators$/;" m class:TestUnit
+Generators lib/rails/generators/test_unit/model/model_generator.rb /^ module Generators$/;" m class:TestUnit
+Generators lib/rails/generators/test_unit/observer/observer_generator.rb /^ module Generators$/;" m class:TestUnit
+Generators lib/rails/generators/test_unit/performance/performance_generator.rb /^ module Generators$/;" m class:TestUnit
+Generators lib/rails/generators/test_unit/plugin/plugin_generator.rb /^ module Generators$/;" m class:TestUnit
+Generators lib/rails/generators/test_unit/scaffold/scaffold_generator.rb /^ module Generators$/;" m class:TestUnit
+Generators test/fixtures/lib/generators/active_record/fixjour_generator.rb /^ module Generators$/;" m class:ActiveRecord
+Generators test/generators/scaffold_controller_generator_test.rb /^ module Generators$/;" m class:Unknown
+GeneratorsTest test/application/generators_test.rb /^ class GeneratorsTest < Test::Unit::TestCase$/;" c class:ApplicationTests
+GeneratorsTest test/generators_test.rb /^class GeneratorsTest < Rails::Generators::TestCase$/;" c
+GeneratorsTestHelper test/generators/generators_test_helper.rb /^module GeneratorsTestHelper$/;" m
+HelperGenerator lib/rails/generators/rails/helper/helper_generator.rb /^ class HelperGenerator < NamedBase$/;" c class:Rails.Generators
+HelperGenerator lib/rails/generators/test_unit/helper/helper_generator.rb /^ class HelperGenerator < Base$/;" c class:TestUnit.Generators
+HelperGeneratorTest test/generators/helper_generator_test.rb /^class HelperGeneratorTest < Rails::Generators::TestCase$/;" c
+Helpers guides/rails_guides/helpers.rb /^ module Helpers$/;" m class:RailsGuides
+HomeController test/railties/engine_test.rb /^ class HomeController < ActionController::Base$/;" c class:Bukkits
+I18nTest test/application/initializers/i18n_test.rb /^ class I18nTest < Test::Unit::TestCase$/;" c class:ApplicationTests
+Indexer guides/rails_guides/indexer.rb /^ class Indexer$/;" c class:RailsGuides
+Info lib/rails/commands/plugin.rb /^ class Info$/;" c class:Commands
+Info lib/rails/info.rb /^ module Info$/;" m class:Rails
+Info test/rails_info_test.rb /^ class Info; end$/;" c class:Rails
+InfoControllerTest test/rails_info_controller_test.rb /^class InfoControllerTest < ActionController::TestCase$/;" c
+InfoTest test/rails_info_test.rb /^class InfoTest < ActiveSupport::TestCase$/;" c
+Initializable lib/rails/initializable.rb /^ module Initializable$/;" m class:Rails
+InitializableTests test/initializable_test.rb /^module InitializableTests$/;" m
+Initializer lib/rails/initializable.rb /^ class Initializer$/;" c class:Rails.Initializable
+InitializersTest test/application/initializers/hooks_test.rb /^ class InitializersTest < Test::Unit::TestCase$/;" c class:ApplicationTests
+Install lib/rails/commands/plugin.rb /^ class Install$/;" c class:Commands
+Instance test/initializable_test.rb /^ class Instance$/;" c class:InitializableTests
+InstanceTest test/initializable_test.rb /^ class InstanceTest < ActiveSupport::TestCase$/;" c
+IntegrationGenerator lib/rails/generators/test_unit/integration/integration_generator.rb /^ class IntegrationGenerator < Base$/;" c class:TestUnit.Generators
+IntegrationTestGenerator lib/rails/generators/rails/integration_test/integration_test_generator.rb /^ class IntegrationTestGenerator < NamedBase$/;" c class:Rails.Generators
+IntegrationTestGeneratorTest test/generators/integration_test_generator_test.rb /^class IntegrationTestGeneratorTest < Rails::Generators::TestCase$/;" c
+Interdependent test/initializable_test.rb /^ module Interdependent$/;" m class:InitializableTests
+Levenshtein guides/rails_guides/levenshtein.rb /^ module Levenshtein$/;" m class:RailsGuides
+LoadPathTest test/application/initializers/load_path_test.rb /^ class LoadPathTest < Test::Unit::TestCase$/;" c class:ApplicationTests
+LoadingTest test/application/loading_test.rb /^class LoadingTest < Test::Unit::TestCase$/;" c
+LogTailer lib/rails/rack/log_tailer.rb /^ class LogTailer$/;" c class:Rails.Rack
+Logger lib/rails/rack/logger.rb /^ class Logger < ActiveSupport::LogSubscriber$/;" c class:Rails.Rack
+MailerGenerator lib/rails/generators/erb/mailer/mailer_generator.rb /^ class MailerGenerator < ControllerGenerator$/;" c class:Erb.Generators
+MailerGenerator lib/rails/generators/test_unit/mailer/mailer_generator.rb /^ class MailerGenerator < Base$/;" c class:TestUnit.Generators
+MailerGeneratorTest test/generators/mailer_generator_test.rb /^class MailerGeneratorTest < Rails::Generators::TestCase$/;" c
+MiddlewareStackProxy lib/rails/configuration.rb /^ class MiddlewareStackProxy #:nodoc:$/;" c class:Rails.Configuration
+MiddlewareTest test/application/middleware_test.rb /^ class MiddlewareTest < Test::Unit::TestCase$/;" c class:ApplicationTests
+Migration lib/rails/generators/migration.rb /^ module Migration$/;" m class:Rails.Generators
+MigrationGenerator lib/rails/generators/rails/migration/migration_generator.rb /^ class MigrationGenerator < NamedBase #metagenerator$/;" c class:Rails.Generators
+MigrationGeneratorTest test/generators/migration_generator_test.rb /^class MigrationGeneratorTest < Rails::Generators::TestCase$/;" c
+ModelGenerator lib/rails/generators/rails/model/model_generator.rb /^ class ModelGenerator < NamedBase #metagenerator$/;" c class:Rails.Generators
+ModelGenerator lib/rails/generators/test_unit/model/model_generator.rb /^ class ModelGenerator < Base$/;" c class:TestUnit.Generators
+ModelGeneratorTest test/generators/model_generator_test.rb /^class ModelGeneratorTest < Rails::Generators::TestCase$/;" c
+MoreInitializers test/initializable_test.rb /^ class MoreInitializers$/;" c class:InitializableTests.OverriddenInitializer
+MyApp test/application/url_generation_test.rb /^ class MyApp < Rails::Application$/;" c class:ApplicationTests.UrlGenerationTest
+MyMailer test/railties/engine_test.rb /^ class MyMailer < ActionMailer::Base$/;" c class:Bukkits
+MyTie test/railties/railtie_test.rb /^ class MyTie < Rails::Railtie$/;" c
+NamedBase lib/rails/generators/named_base.rb /^ class NamedBase < Base$/;" c class:Rails.Generators
+NamedBaseTest test/generators/named_base_test.rb /^class NamedBaseTest < Rails::Generators::TestCase$/;" c
+NamespacedControllerGeneratorTest test/generators/namespaced_generators_test.rb /^class NamespacedControllerGeneratorTest < NamespacedGeneratorTestCase$/;" c
+NamespacedGeneratorTestCase test/generators/namespaced_generators_test.rb /^class NamespacedGeneratorTestCase < Rails::Generators::TestCase$/;" c
+NamespacedMailerGeneratorTest test/generators/namespaced_generators_test.rb /^class NamespacedMailerGeneratorTest < NamespacedGeneratorTestCase$/;" c
+NamespacedModelGeneratorTest test/generators/namespaced_generators_test.rb /^class NamespacedModelGeneratorTest < NamespacedGeneratorTestCase$/;" c
+NamespacedObserverGeneratorTest test/generators/namespaced_generators_test.rb /^class NamespacedObserverGeneratorTest < NamespacedGeneratorTestCase$/;" c
+NamespacedScaffoldGeneratorTest test/generators/namespaced_generators_test.rb /^class NamespacedScaffoldGeneratorTest < NamespacedGeneratorTestCase$/;" c
+NavigationTest lib/rails/generators/rails/plugin_new/templates/test/integration/navigation_test.rb /^class NavigationTest < ActionDispatch::IntegrationTest$/;" c
+NotificationsTest test/application/initializers/notifications_test.rb /^ class NotificationsTest < Test::Unit::TestCase$/;" c class:ApplicationTests
+ObserverGenerator lib/rails/generators/rails/observer/observer_generator.rb /^ class ObserverGenerator < NamedBase #metagenerator$/;" c class:Rails.Generators
+ObserverGenerator lib/rails/generators/test_unit/observer/observer_generator.rb /^ class ObserverGenerator < Base$/;" c class:TestUnit.Generators
+ObserverGeneratorTest test/generators/observer_generator_test.rb /^class ObserverGeneratorTest < Rails::Generators::TestCase$/;" c
+Options lib/rails/commands/server.rb /^ class Options$/;" c class:Rails.Server
+OverriddenInitializer test/initializable_test.rb /^ class OverriddenInitializer$/;" c class:InitializableTests
+OverriddenInitializerTest test/initializable_test.rb /^ class OverriddenInitializerTest < ActiveSupport::TestCase$/;" c
+Parent test/initializable_test.rb /^ class Parent$/;" c class:InitializableTests
+Path lib/rails/paths.rb /^ class Path < Array$/;" c class:Rails.Paths
+PathParent lib/rails/paths.rb /^ module PathParent #:nodoc:$/;" m class:Rails.Paths
+Paths lib/rails/paths.rb /^ module Paths$/;" m class:Rails
+Paths test/isolation/abstract_unit.rb /^ module Paths$/;" m class:TestHelpers
+PathsTest test/application/paths_test.rb /^ class PathsTest < Test::Unit::TestCase$/;" c class:ApplicationTests
+PathsTest test/paths_test.rb /^class PathsTest < ActiveSupport::TestCase$/;" c
+PerformanceGenerator lib/rails/generators/test_unit/performance/performance_generator.rb /^ class PerformanceGenerator < Base$/;" c class:TestUnit.Generators
+PerformanceTestGenerator lib/rails/generators/rails/performance_test/performance_test_generator.rb /^ class PerformanceTestGenerator < NamedBase$/;" c class:Rails.Generators
+PerformanceTestGeneratorTest test/generators/performance_test_generator_test.rb /^class PerformanceTestGeneratorTest < Rails::Generators::TestCase$/;" c
+Plugin lib/rails/commands/plugin.rb /^ class Plugin$/;" c class:Commands
+Plugin lib/rails/commands/plugin.rb /^class Plugin$/;" c
+Plugin lib/rails/plugin.rb /^ class Plugin < Engine$/;" c class:Rails
+PluginA test/initializable_test.rb /^ class PluginA$/;" c class:InitializableTests.Interdependent
+PluginB test/initializable_test.rb /^ class PluginB$/;" c
+PluginBuilder lib/rails/generators/rails/plugin_new/plugin_new_generator.rb /^ class PluginBuilder$/;" c class:Rails
+PluginBuilder test/fixtures/lib/plugin_builders/empty_builder.rb /^class PluginBuilder$/;" c
+PluginBuilder test/fixtures/lib/plugin_builders/simple_builder.rb /^class PluginBuilder$/;" c
+PluginBuilder test/fixtures/lib/plugin_builders/spec_builder.rb /^class PluginBuilder < Rails::PluginBuilder$/;" c
+PluginBuilder test/fixtures/lib/plugin_builders/tweak_builder.rb /^class PluginBuilder < Rails::PluginBuilder$/;" c
+PluginGenerator lib/rails/generators/rails/plugin/plugin_generator.rb /^ class PluginGenerator < NamedBase$/;" c class:Rails.Generators
+PluginGenerator lib/rails/generators/test_unit/plugin/plugin_generator.rb /^ class PluginGenerator < Base$/;" c class:TestUnit.Generators
+PluginGeneratorTest test/generators/plugin_generator_test.rb /^class PluginGeneratorTest < Rails::Generators::TestCase$/;" c
+PluginNewGenerator lib/rails/generators/rails/plugin_new/plugin_new_generator.rb /^ class PluginNewGenerator < AppBase$/;" c class:Generators
+PluginNewGeneratorTest test/generators/plugin_new_generator_test.rb /^class PluginNewGeneratorTest < Rails::Generators::TestCase$/;" c
+PluginOrderingTest test/railties/plugin_ordering_test.rb /^ class PluginOrderingTest < Test::Unit::TestCase$/;" c class:RailtiesTest
+PluginTest test/railties/plugin_test.rb /^ class PluginTest < Test::Unit::TestCase$/;" c class:RailtiesTest
+Post test/application/loading_test.rb /^ class Post < ActiveRecord::Base$/;" c class:LoadingTest.test_constants_in_app_are_autoloaded
+Post test/application/loading_test.rb /^ class Post < ActiveRecord::Base$/;" c class:test_descendants_are_cleaned_on_each_request_without_cache_classes
+Post test/railties/engine_test.rb /^ class Post$/;" c class:Bukkits
+Post test/railties/mounted_engine_test.rb /^ class Post$/;" c class:ApplicationTests.ApplicationRoutingTest.Blog
+PostsController test/application/test_test.rb /^ class PostsController < ActionController::Base$/;" c
+PostsController test/railties/mounted_engine_test.rb /^ class PostsController < ActionController::Base$/;" c class:ApplicationTests.ApplicationRoutingTest.Blog
+PostsTest test/application/test_test.rb /^ class PostsTest < ActionDispatch::IntegrationTest$/;" c
+Prof lib/rails/rubyprof_ext.rb /^module Prof #:nodoc:$/;" m
+Prototype.Browser lib/rails/generators/rails/app/templates/public/javascripts/prototype.js /^ Version: '1.7',$/;" p
+Prototype.Browser tmp/app/public/javascripts/prototype.js /^ Version: '1.7',$/;" p
+Prototype.Browser tmp/app_template/public/javascripts/prototype.js /^ Version: '1.7',$/;" p
+Prototype.Version lib/rails/generators/rails/app/templates/public/javascripts/prototype.js /^var Prototype = {$/;" p
+Prototype.Version tmp/app/public/javascripts/prototype.js /^var Prototype = {$/;" p
+Prototype.Version tmp/app_template/public/javascripts/prototype.js /^var Prototype = {$/;" p
+Rack lib/rails/rack.rb /^ module Rack$/;" m class:Rails
+Rack lib/rails/rack/debugger.rb /^ module Rack$/;" m class:Rails
+Rack lib/rails/rack/log_tailer.rb /^ module Rack$/;" m class:Rails
+Rack lib/rails/rack/logger.rb /^ module Rack$/;" m class:Rails
+Rack test/isolation/abstract_unit.rb /^ module Rack$/;" m class:TestHelpers
+RackupTest test/application/rackup_test.rb /^ class RackupTest < Test::Unit::TestCase$/;" c class:ApplicationTests
+Rails lib/rails.rb /^module Rails$/;" m
+Rails lib/rails/application.rb /^module Rails$/;" m
+Rails lib/rails/application/bootstrap.rb /^module Rails$/;" m
+Rails lib/rails/application/configuration.rb /^module Rails$/;" m
+Rails lib/rails/application/finisher.rb /^module Rails$/;" m
+Rails lib/rails/application/railties.rb /^module Rails$/;" m
+Rails lib/rails/application/routes_reloader.rb /^module Rails$/;" m
+Rails lib/rails/backtrace_cleaner.rb /^module Rails$/;" m
+Rails lib/rails/commands/console.rb /^module Rails$/;" m
+Rails lib/rails/commands/dbconsole.rb /^module Rails$/;" m
+Rails lib/rails/commands/server.rb /^module Rails$/;" m
+Rails lib/rails/configuration.rb /^module Rails$/;" m
+Rails lib/rails/engine.rb /^module Rails$/;" m
+Rails lib/rails/engine/configuration.rb /^module Rails$/;" m
+Rails lib/rails/engine/railties.rb /^module Rails$/;" m
+Rails lib/rails/generators.rb /^module Rails$/;" m
+Rails lib/rails/generators/actions.rb /^module Rails$/;" m
+Rails lib/rails/generators/active_model.rb /^module Rails$/;" m
+Rails lib/rails/generators/app_base.rb /^module Rails$/;" m
+Rails lib/rails/generators/base.rb /^module Rails$/;" m
+Rails lib/rails/generators/generated_attribute.rb /^module Rails$/;" m
+Rails lib/rails/generators/migration.rb /^module Rails$/;" m
+Rails lib/rails/generators/named_base.rb /^module Rails$/;" m
+Rails lib/rails/generators/rails/app/app_generator.rb /^module Rails$/;" m
+Rails lib/rails/generators/rails/controller/controller_generator.rb /^module Rails$/;" m
+Rails lib/rails/generators/rails/generator/generator_generator.rb /^module Rails$/;" m
+Rails lib/rails/generators/rails/helper/helper_generator.rb /^module Rails$/;" m
+Rails lib/rails/generators/rails/integration_test/integration_test_generator.rb /^module Rails$/;" m
+Rails lib/rails/generators/rails/migration/migration_generator.rb /^module Rails$/;" m
+Rails lib/rails/generators/rails/model/model_generator.rb /^module Rails$/;" m
+Rails lib/rails/generators/rails/observer/observer_generator.rb /^module Rails$/;" m
+Rails lib/rails/generators/rails/performance_test/performance_test_generator.rb /^module Rails$/;" m
+Rails lib/rails/generators/rails/plugin/plugin_generator.rb /^module Rails$/;" m
+Rails lib/rails/generators/rails/plugin_new/plugin_new_generator.rb /^module Rails$/;" m
+Rails lib/rails/generators/rails/resource/resource_generator.rb /^module Rails$/;" m
+Rails lib/rails/generators/rails/scaffold/scaffold_generator.rb /^module Rails$/;" m
+Rails lib/rails/generators/rails/scaffold_controller/scaffold_controller_generator.rb /^module Rails$/;" m
+Rails lib/rails/generators/rails/session_migration/session_migration_generator.rb /^module Rails$/;" m
+Rails lib/rails/generators/rails/stylesheets/stylesheets_generator.rb /^module Rails$/;" m
+Rails lib/rails/generators/resource_helpers.rb /^module Rails$/;" m
+Rails lib/rails/generators/test_case.rb /^module Rails$/;" m
+Rails lib/rails/info.rb /^module Rails$/;" m
+Rails lib/rails/info_controller.rb /^class Rails::InfoController < ActionController::Base$/;" c
+Rails lib/rails/initializable.rb /^module Rails$/;" m
+Rails lib/rails/paths.rb /^module Rails$/;" m
+Rails lib/rails/plugin.rb /^module Rails$/;" m
+Rails lib/rails/rack.rb /^module Rails$/;" m
+Rails lib/rails/rack/debugger.rb /^module Rails$/;" m
+Rails lib/rails/rack/log_tailer.rb /^module Rails$/;" m
+Rails lib/rails/rack/logger.rb /^module Rails$/;" m
+Rails lib/rails/rack/static.rb /^module Rails::Rack$/;" m
+Rails lib/rails/railtie.rb /^module Rails$/;" m
+Rails lib/rails/railtie/configurable.rb /^module Rails$/;" m
+Rails lib/rails/railtie/configuration.rb /^module Rails$/;" m
+Rails lib/rails/script_rails_loader.rb /^module Rails$/;" m
+Rails lib/rails/test_unit/railtie.rb /^module Rails$/;" m
+Rails lib/rails/version.rb /^module Rails$/;" m
+Rails test/generators/generators_test_helper.rb /^module Rails$/;" m
+Rails test/rails_info_test.rb /^ module Rails$/;" m
+Rails test/railties/railtie_test.rb /^ class Rails::Railtie$/;" c
+RailsEnvironment lib/rails/commands/plugin.rb /^class RailsEnvironment$/;" c
+RailsGuides guides/rails_guides/generator.rb /^module RailsGuides$/;" m
+RailsGuides guides/rails_guides/helpers.rb /^module RailsGuides$/;" m
+RailsGuides guides/rails_guides/indexer.rb /^module RailsGuides$/;" m
+RailsGuides guides/rails_guides/levenshtein.rb /^module RailsGuides$/;" m
+RailsGuides guides/rails_guides/textile_extensions.rb /^module RailsGuides$/;" m
+RailsGuides guides/w3c_validator.rb /^module RailsGuides$/;" m
+Railtie lib/rails/railtie.rb /^ class Railtie$/;" c class:Rails
+Railtie lib/rails/railtie/configurable.rb /^ class Railtie$/;" c class:Rails
+Railtie lib/rails/railtie/configuration.rb /^ class Railtie$/;" c class:Rails
+RailtieTest test/railties/railtie_test.rb /^ class RailtieTest < Test::Unit::TestCase$/;" c class:RailtiesTest
+Railties lib/rails/application/railties.rb /^ class Railties < Rails::Engine::Railties$/;" c class:Rails.Application
+Railties lib/rails/engine/railties.rb /^ class Railties$/;" c class:Rails.Engine
+RailtiesTest test/railties/engine_test.rb /^module RailtiesTest$/;" m
+RailtiesTest test/railties/plugin_ordering_test.rb /^module RailtiesTest$/;" m
+RailtiesTest test/railties/plugin_test.rb /^module RailtiesTest$/;" m
+RailtiesTest test/railties/railtie_test.rb /^module RailtiesTest$/;" m
+RailtiesTest test/railties/shared_tests.rb /^module RailtiesTest$/;" m
+RakeTest test/application/rake_test.rb /^ class RakeTest < Test::Unit::TestCase$/;" c class:ApplicationTests
+RecursiveHTTPFetcher lib/rails/commands/plugin.rb /^class RecursiveHTTPFetcher$/;" c
+RemoteIpTest test/application/middleware/remote_ip_test.rb /^ class RemoteIpTest < Test::Unit::TestCase$/;" c class:ApplicationTests
+Remove lib/rails/commands/plugin.rb /^ class Remove$/;" c class:Commands
+ResourceGenerator lib/rails/generators/rails/resource/resource_generator.rb /^ class ResourceGenerator < ModelGenerator #metagenerator$/;" c class:Rails.Generators
+ResourceGeneratorTest test/generators/resource_generator_test.rb /^class ResourceGeneratorTest < Rails::Generators::TestCase$/;" c
+ResourceHelpers lib/rails/generators/resource_helpers.rb /^ module ResourceHelpers$/;" m class:Rails.Generators
+Root lib/rails/paths.rb /^ class Root < ::Hash$/;" c class:Rails.Paths
+RoutesReloader lib/rails/application/routes_reloader.rb /^ class RoutesReloader < ::ActiveSupport::FileUpdateChecker$/;" c class:Rails.Application
+RoutingTest test/application/middleware/cache_test.rb /^ class RoutingTest < Test::Unit::TestCase$/;" c class:ApplicationTests
+RoutingTest test/application/routing_test.rb /^ class RoutingTest < Test::Unit::TestCase$/;" c class:ApplicationTests
+RunnerTest test/application/runner_test.rb /^ class RunnerTest < Test::Unit::TestCase$/;" c class:ApplicationTests
+ScaffoldControllerGenerator lib/rails/generators/rails/scaffold_controller/scaffold_controller_generator.rb /^ class ScaffoldControllerGenerator < NamedBase$/;" c class:Rails.Generators
+ScaffoldControllerGeneratorTest test/generators/scaffold_controller_generator_test.rb /^class ScaffoldControllerGeneratorTest < Rails::Generators::TestCase$/;" c
+ScaffoldGenerator lib/rails/generators/erb/scaffold/scaffold_generator.rb /^ class ScaffoldGenerator < Base$/;" c class:Erb.Generators
+ScaffoldGenerator lib/rails/generators/rails/scaffold/scaffold_generator.rb /^ class ScaffoldGenerator < ResourceGenerator #metagenerator$/;" c class:Rails.Generators
+ScaffoldGenerator lib/rails/generators/test_unit/scaffold/scaffold_generator.rb /^ class ScaffoldGenerator < Base$/;" c class:TestUnit.Generators
+ScaffoldGeneratorTest test/generators/scaffold_generator_test.rb /^class ScaffoldGeneratorTest < Rails::Generators::TestCase$/;" c
+ScriptRailsLoader lib/rails/script_rails_loader.rb /^ module ScriptRailsLoader$/;" m class:Rails
+ScriptRailsLoaderTest test/script_rails_loader_test.rb /^class ScriptRailsLoaderTest < ActiveSupport::TestCase$/;" c
+SendfileTest test/application/middleware/sendfile_test.rb /^ class SendfileTest < Test::Unit::TestCase$/;" c class:ApplicationTests
+Server lib/rails/commands/server.rb /^ class Server < ::Rack::Server$/;" c class:Rails
+SessionMigrationGenerator lib/rails/generators/rails/session_migration/session_migration_generator.rb /^ class SessionMigrationGenerator < NamedBase #metagenerator$/;" c class:Rails.Generators
+SessionMigrationGeneratorTest test/generators/session_migration_generator_test.rb /^class SessionMigrationGeneratorTest < Rails::Generators::TestCase$/;" c
+SharedCustomGeneratorTests test/generators/shared_generator_tests.rb /^module SharedCustomGeneratorTests$/;" m
+SharedGeneratorTests test/generators/shared_generator_tests.rb /^module SharedGeneratorTests$/;" m
+SharedTests test/railties/shared_tests.rb /^ module SharedTests$/;" m class:RailtiesTest
+SomeHelper test/railties/engine_test.rb /^ module SomeHelper$/;" m
+Sortable.SERIALIZE_RULE lib/rails/generators/rails/app/templates/public/javascripts/dragdrop.js /^var Sortable = {$/;" p
+Sortable.SERIALIZE_RULE tmp/app/public/javascripts/dragdrop.js /^var Sortable = {$/;" p
+Sortable.SERIALIZE_RULE tmp/app_template/public/javascripts/dragdrop.js /^var Sortable = {$/;" p
+SortableObserver lib/rails/generators/rails/app/templates/public/javascripts/dragdrop.js /^var SortableObserver = Class.create({$/;" v
+SortableObserver tmp/app/public/javascripts/dragdrop.js /^var SortableObserver = Class.create({$/;" v
+SortableObserver tmp/app_template/public/javascripts/dragdrop.js /^var SortableObserver = Class.create({$/;" v
+SourceAnnotationExtractor lib/rails/source_annotation_extractor.rb /^class SourceAnnotationExtractor$/;" c
+Sprokkit test/railties/shared_tests.rb /^ class Sprokkit$/;" c class:RailtiesTest.test_routes_are_added_to_router
+Str lib/rails/generators/rails/app/templates/public/javascripts/prototype.js /^ function Str(key, holder, stack) {$/;" f
+Str tmp/app/public/javascripts/prototype.js /^ function Str(key, holder, stack) {$/;" f
+Str tmp/app_template/public/javascripts/prototype.js /^ function Str(key, holder, stack) {$/;" f
+String lib/rails/generators/rails/app/templates/public/javascripts/effects.js /^\/\/ script.aculo.us effects.js v1.8.3, Thu Oct 08 11:23:33 +0200 2009$/;" c
+String tmp/app/public/javascripts/effects.js /^\/\/ script.aculo.us effects.js v1.8.3, Thu Oct 08 11:23:33 +0200 2009$/;" c
+String tmp/app_template/public/javascripts/effects.js /^\/\/ script.aculo.us effects.js v1.8.3, Thu Oct 08 11:23:33 +0200 2009$/;" c
+String.parseColor lib/rails/generators/rails/app/templates/public/javascripts/effects.js /^String.prototype.parseColor = function() {$/;" m
+String.parseColor tmp/app/public/javascripts/effects.js /^String.prototype.parseColor = function() {$/;" m
+String.parseColor tmp/app_template/public/javascripts/effects.js /^String.prototype.parseColor = function() {$/;" m
+String.parseStyle lib/rails/generators/rails/app/templates/public/javascripts/effects.js /^String.prototype.parseStyle = function(){$/;" m
+String.parseStyle tmp/app/public/javascripts/effects.js /^String.prototype.parseStyle = function(){$/;" m
+String.parseStyle tmp/app_template/public/javascripts/effects.js /^String.prototype.parseStyle = function(){$/;" m
+StylesheetsGenerator lib/rails/generators/rails/stylesheets/stylesheets_generator.rb /^ class StylesheetsGenerator < Base$/;" c class:Rails.Generators
+StylesheetsGeneratorTest test/generators/stylesheets_generator_test.rb /^class StylesheetsGeneratorTest < Rails::Generators::TestCase$/;" c
+Test test/isolation/abstract_unit.rb /^class Test::Unit::TestCase$/;" c
+TestApp test/abstract_unit.rb /^module TestApp$/;" m
+TestCase lib/rails/generators/test_case.rb /^ class TestCase < ActiveSupport::TestCase$/;" c class:Rails.Generators
+TestHelpers test/isolation/abstract_unit.rb /^module TestHelpers$/;" m
+TestTest test/application/test_test.rb /^ class TestTest < Test::Unit::TestCase$/;" c class:ApplicationTests
+TestUnit lib/rails/generators/test_unit.rb /^module TestUnit$/;" m
+TestUnit lib/rails/generators/test_unit/controller/controller_generator.rb /^module TestUnit$/;" m
+TestUnit lib/rails/generators/test_unit/helper/helper_generator.rb /^module TestUnit$/;" m
+TestUnit lib/rails/generators/test_unit/integration/integration_generator.rb /^module TestUnit$/;" m
+TestUnit lib/rails/generators/test_unit/mailer/mailer_generator.rb /^module TestUnit$/;" m
+TestUnit lib/rails/generators/test_unit/model/model_generator.rb /^module TestUnit$/;" m
+TestUnit lib/rails/generators/test_unit/observer/observer_generator.rb /^module TestUnit$/;" m
+TestUnit lib/rails/generators/test_unit/performance/performance_generator.rb /^module TestUnit$/;" m
+TestUnit lib/rails/generators/test_unit/plugin/plugin_generator.rb /^module TestUnit$/;" m
+TestUnit lib/rails/generators/test_unit/scaffold/scaffold_generator.rb /^module TestUnit$/;" m
+TestUnitRailtie lib/rails/test_unit/railtie.rb /^ class TestUnitRailtie < Rails::Railtie$/;" c class:Rails
+TestWithBacktrace test/backtrace_cleaner_test.rb /^ class TestWithBacktrace$/;" c
+TextileExtensions guides/rails_guides/textile_extensions.rb /^ module TextileExtensions$/;" m class:RailsGuides
+Try.these lib/rails/generators/rails/app/templates/public/javascripts/prototype.js /^var Try = {$/;" m
+Try.these tmp/app/public/javascripts/prototype.js /^var Try = {$/;" m
+Try.these tmp/app_template/public/javascripts/prototype.js /^var Try = {$/;" m
+Type lib/rails/generators/rails/app/templates/public/javascripts/prototype.js /^ function Type(o) {$/;" f
+Type tmp/app/public/javascripts/prototype.js /^ function Type(o) {$/;" f
+Type tmp/app_template/public/javascripts/prototype.js /^ function Type(o) {$/;" f
+Unknown test/generators/scaffold_controller_generator_test.rb /^module Unknown$/;" m
+Upcaser test/railties/engine_test.rb /^ class Upcaser$/;" c
+UrlGenerationTest test/application/url_generation_test.rb /^ class UrlGenerationTest < Test::Unit::TestCase$/;" c class:ApplicationTests
+User test/application/console_test.rb /^ class User < ActiveRecord::Base$/;" c class:ConsoleTest.test_active_record_does_not_panic_when_referencing_an_observed_constant
+User test/application/console_test.rb /^ class User$/;" c class:ConsoleTest.test_reload_should_reload_constants
+User test/application/loading_test.rb /^ class User < ActiveRecord::Base$/;" c class:LoadingTest.test_models_without_table_do_not_panic_on_scope_definitions_when_loaded
+User test/application/runner_test.rb /^ class User$/;" c class:ApplicationTests.RunnerTest.setup
+UserObserver test/application/console_test.rb /^ class UserObserver < ActiveRecord::Observer$/;" c class:ConsoleTest.test_active_record_does_not_panic_when_referencing_an_observed_constant
+VERSION lib/rails/version.rb /^ module VERSION #:nodoc:$/;" m class:Rails
+Validator guides/w3c_validator.rb /^ class Validator$/;" c class:RailsGuides
+WithArgs test/initializable_test.rb /^ class WithArgs$/;" c class:InitializableTests
+WithArgsTest test/initializable_test.rb /^ class WithArgsTest < ActiveSupport::TestCase$/;" c
+WithOptionsGenerator test/generators_test.rb /^ class WithOptionsGenerator < Rails::Generators::Base$/;" c class:GeneratorsTest.test_developer_options_are_overwriten_by_user_options
+Word test/initializable_test.rb /^ module Word$/;" m class:InitializableTests
+WrongGenerator test/fixtures/lib/generators/wrong_generator.rb /^class WrongGenerator < Rails::Generator::NamedBase$/;" c
+YazilarController test/application/routing_test.rb /^ class YazilarController < ApplicationController$/;" c
+Zoo test/application/initializers/load_path_test.rb /^ class Zoo ; include ReptileHouse ; end$/;" c
+Zoo test/application/initializers/load_path_test.rb /^ module Zoo::ReptileHouse ; end$/;" m
+[]= lib/rails/paths.rb /^ def []=(path, value)$/;" f class:Rails.Paths.Root
+_all_autoload_once_paths lib/rails/engine.rb /^ def _all_autoload_once_paths$/;" f
+_all_autoload_paths lib/rails/engine.rb /^ def _all_autoload_paths$/;" f
+_all_load_paths lib/rails/engine.rb /^ def _all_load_paths$/;" f
+about lib/rails/generators/rails/app/templates/public/index.html /^ function about() {$/;" f
+about tmp/app/public/index.html /^ function about() {$/;" f
+about tmp/app_template/public/index.html /^ function about() {$/;" f
+abstract_railtie? lib/rails/railtie.rb /^ def abstract_railtie?$/;" f class:Rails.Railtie
+abstract_unit.rb test/abstract_unit.rb 1;" F
+abstract_unit.rb test/isolation/abstract_unit.rb 1;" F
+action test/generators/actions_test.rb /^ def action(*args, &block)$/;" f class:ActionsTest
+action test/generators/app_generator_test.rb /^ def action(*args, &block)$/;" f
+action test/generators/app_generator_test.rb /^ def action(*args, &block)$/;" f class:CustomAppGeneratorTest
+action test/generators/plugin_new_generator_test.rb /^ def action(*args, &block)$/;" f class:CustomPluginGeneratorTest
+action test/generators/plugin_new_generator_test.rb /^ def action(*args, &block)$/;" f class:PluginNewGeneratorTest
+actions.rb lib/rails/generators/actions.rb 1;" F
+actions_test.rb test/generators/actions_test.rb 1;" F
+active_model.rb lib/rails/generators/active_model.rb 1;" F
+add lib/rails/paths.rb /^ def add(path, options={})$/;" f class:Rails.Paths.Root
+add_gem_filters lib/rails/backtrace_cleaner.rb /^ def add_gem_filters$/;" f class:Rails.BacktraceCleaner
+add_lib_to_load_path! lib/rails/application.rb /^ def add_lib_to_load_path! #:nodoc:$/;" f class:Rails
+add_resource_route lib/rails/generators/rails/resource/resource_generator.rb /^ def add_resource_route$/;" f class:Rails.Generators.ResourceGenerator
+add_routes lib/rails/generators/rails/controller/controller_generator.rb /^ def add_routes$/;" f class:Rails.Generators.ControllerGenerator
+add_shared_options_for lib/rails/generators/app_base.rb /^ def self.add_shared_options_for(name)$/;" F class:Rails.Generators.AppBase
+add_shebang_option lib/rails/generators/base.rb /^ def self.add_shebang_option!$/;" F class:Rails
+add_source lib/rails/generators/actions.rb /^ def add_source(source, options={})$/;" f class:Rails.Generators.Actions
+add_to_config test/isolation/abstract_unit.rb /^ def add_to_config(str)$/;" f
+after lib/rails/initializable.rb /^ def after$/;" f class:Rails.Initializable.Initializer
+after_dispatch lib/rails/rack/logger.rb /^ def after_dispatch(env)$/;" f class:Rails.Rack.Logger
+after_initialize lib/rails/railtie/configuration.rb /^ def after_initialize(&block)$/;" f class:Rails.Railtie.Configuration
+aliases lib/rails/generators.rb /^ def self.aliases #:nodoc:$/;" F class:Rails.Generators
+all lib/rails/application/railties.rb /^ def all(&block)$/;" f class:Rails.Application.Railties
+all lib/rails/engine/railties.rb /^ def all(&block)$/;" f class:Rails.Engine.Railties
+all lib/rails/generators/active_model.rb /^ def self.all(klass)$/;" F class:Rails.Generators.ActiveModel
+all lib/rails/plugin.rb /^ def self.all(list, paths)$/;" F class:Rails.Plugin
+all test/generators/scaffold_controller_generator_test.rb /^ def self.all(klass)$/;" F class:test_customized_orm_is_used
+all.rb lib/rails/all.rb 1;" F
+all_paths lib/rails/paths.rb /^ def all_paths$/;" f class:Rails.Paths.Root
+allowAction lib/rails/generators/rails/app/templates/public/javascripts/prototype_ujs.js /^ function allowAction(element) {$/;" f
+allowAction tmp/app/public/javascripts/rails.js /^ function allowAction(element) {$/;" f
+allowAction tmp/app_template/public/javascripts/rails.js /^ function allowAction(element) {$/;" f
+app lib/rails/console/app.rb /^def app(create=false)$/;" f
+app lib/rails/engine.rb /^ def app$/;" f
+app lib/rails/generators/rails/app/app_generator.rb /^ def app$/;" f class:Rails.AppBuilder
+app lib/rails/generators/rails/plugin_new/plugin_new_generator.rb /^ def app$/;" f class:Rails.PluginBuilder
+app test/application/configuration_test.rb /^ def app$/;" f class:ApplicationTests.ConfigurationTest
+app test/application/initializers/i18n_test.rb /^ def app$/;" f class:ApplicationTests.I18nTest
+app test/application/loading_test.rb /^ def app$/;" f class:LoadingTest
+app test/application/middleware/remote_ip_test.rb /^ def app$/;" f class:ApplicationTests.RemoteIpTest
+app test/application/middleware/sendfile_test.rb /^ def app$/;" f class:ApplicationTests.SendfileTest
+app test/application/middleware_test.rb /^ def app$/;" f class:ApplicationTests.MiddlewareTest
+app test/application/url_generation_test.rb /^ def app$/;" f class:ApplicationTests.UrlGenerationTest
+app test/isolation/abstract_unit.rb /^ def app(env = "production")$/;" f class:TestHelpers.Rack
+app test/railties/engine_test.rb /^ def app$/;" f
+app test/railties/mounted_engine_test.rb /^ def app$/;" f class:ApplicationTests
+app test/railties/railtie_test.rb /^ def app$/;" f class:RailtiesTest.RailtieTest
+app test/railties/shared_tests.rb /^ def app$/;" f class:RailtiesTest.SharedTests
+app.rb lib/rails/console/app.rb 1;" F
+app_base.rb lib/rails/generators/app_base.rb 1;" F
+app_const lib/rails/generators/rails/app/app_generator.rb /^ def app_const$/;" f class:Generators.AppGenerator
+app_const test/application/generators_test.rb /^ def app_const$/;" f class:ApplicationTests.GeneratorsTest
+app_const_base lib/rails/generators/rails/app/app_generator.rb /^ def app_const_base$/;" f class:Generators.AppGenerator
+app_file test/isolation/abstract_unit.rb /^ def app_file(path, contents)$/;" f
+app_generator.rb lib/rails/generators/rails/app/app_generator.rb 1;" F
+app_generator_test.rb test/generators/app_generator_test.rb 1;" F
+app_generators lib/rails/railtie/configuration.rb /^ def app_generators$/;" f class:Rails.Railtie.Configuration
+app_middleware lib/rails/railtie/configuration.rb /^ def app_middleware$/;" f class:Rails.Railtie.Configuration
+app_name lib/rails/generators/rails/app/app_generator.rb /^ def app_name$/;" f class:Generators.AppGenerator
+app_path test/isolation/abstract_unit.rb /^ def app_path(*args)$/;" f class:TestHelpers.Paths
+app_secret lib/rails/generators/rails/app/app_generator.rb /^ def app_secret$/;" f class:Generators.AppGenerator
+app_templates_dir lib/rails/generators/rails/plugin_new/plugin_new_generator.rb /^ def app_templates_dir$/;" f class:Generators.PluginNewGenerator
+application lib/rails.rb /^ def application$/;" f class:Rails
+application.js lib/rails/generators/rails/app/templates/public/javascripts/application.js 1;" F
+application.js tmp/app/public/javascripts/application.js 1;" F
+application.js tmp/app_template/public/javascripts/application.js 1;" F
+application.rb lib/rails/application.rb 1;" F
+application.rb lib/rails/commands/application.rb 1;" F
+application.rb lib/rails/generators/rails/app/templates/config/application.rb 1;" F
+application.rb lib/rails/generators/rails/plugin_new/templates/rails/application.rb 1;" F
+application.rb tmp/app/config/application.rb 1;" F
+application.rb tmp/app_template/config/application.rb 1;" F
+application= lib/rails.rb /^ def application=(application)$/;" f class:Rails
+application_controller.rb lib/rails/generators/rails/app/templates/app/controllers/application_controller.rb 1;" F
+application_controller.rb tmp/app/app/controllers/application_controller.rb 1;" F
+application_controller.rb tmp/app_template/app/controllers/application_controller.rb 1;" F
+application_definition lib/rails/generators/rails/plugin_new/plugin_new_generator.rb /^ def application_definition$/;" f class:Generators.PluginNewGenerator
+application_helper.rb lib/rails/generators/rails/app/templates/app/helpers/application_helper.rb 1;" F
+application_helper.rb tmp/app/app/helpers/application_helper.rb 1;" F
+application_helper.rb tmp/app_template/app/helpers/application_helper.rb 1;" F
+application_name lib/rails/generators/named_base.rb /^ def application_name$/;" f class:Rails.Generators
+application_route_in_view test/railties/mounted_engine_test.rb /^ def application_route_in_view$/;" f class:ApplicationTests.ApplicationRoutingTest.Blog.PostsController
+apply_rails_template lib/rails/generators/app_base.rb /^ def apply_rails_template$/;" f class:Rails.Generators.AppBase
+arguments lib/rails/generators/test_case.rb /^ def self.arguments(array)$/;" F class:Rails.Generators.TestCase
+assert_body test/isolation/abstract_unit.rb /^ def assert_body(expected, resp)$/;" f class:TestHelpers
+assert_class_method lib/rails/generators/test_case.rb /^ def assert_class_method(method, content, &block)$/;" f class:Rails.Generators.TestCase
+assert_fallbacks test/application/initializers/i18n_test.rb /^ def assert_fallbacks(fallbacks)$/;" f class:ApplicationTests.I18nTest
+assert_field_default_value lib/rails/generators/test_case.rb /^ def assert_field_default_value(attribute_type, value)$/;" f class:Rails.Generators.TestCase
+assert_field_type lib/rails/generators/test_case.rb /^ def assert_field_type(attribute_type, field_type)$/;" f class:Rails.Generators.TestCase
+assert_file lib/rails/generators/test_case.rb /^ def assert_file(relative, *contents)$/;" f class:Rails.Generators.TestCase
+assert_header test/isolation/abstract_unit.rb /^ def assert_header(key, value, resp)$/;" f class:TestHelpers
+assert_in_load_path test/application/paths_test.rb /^ def assert_in_load_path(*path)$/;" f class:ApplicationTests.PathsTest
+assert_instance_method lib/rails/generators/test_case.rb /^ def assert_instance_method(method, content)$/;" f class:Rails.Generators.TestCase
+assert_migration lib/rails/generators/test_case.rb /^ def assert_migration(relative, *contents, &block)$/;" f class:Rails.Generators.TestCase
+assert_missing test/isolation/abstract_unit.rb /^ def assert_missing(resp)$/;" f class:TestHelpers
+assert_name test/generators/named_base_test.rb /^ def assert_name(generator, value, method)$/;" f class:NamedBaseTest
+assert_no_fallbacks test/application/initializers/i18n_test.rb /^ def assert_no_fallbacks$/;" f class:ApplicationTests.I18nTest
+assert_no_file lib/rails/generators/test_case.rb /^ def assert_no_file(relative)$/;" f class:Rails.Generators.TestCase
+assert_no_migration lib/rails/generators/test_case.rb /^ def assert_no_migration(relative)$/;" f class:Rails.Generators.TestCase
+assert_not_in_load_path test/application/paths_test.rb /^ def assert_not_in_load_path(*path)$/;" f class:ApplicationTests.PathsTest
+assert_path test/application/paths_test.rb /^ def assert_path(paths, *dir)$/;" f class:ApplicationTests.PathsTest
+assert_property test/rails_info_test.rb /^ def assert_property(property_name, value)$/;" f
+assert_rails_boots test/application/initializers/check_ruby_version_test.rb /^ def assert_rails_boots$/;" f class:ApplicationTests
+assert_rails_does_not_boot test/application/initializers/check_ruby_version_test.rb /^ def assert_rails_does_not_boot$/;" f
+assert_success test/isolation/abstract_unit.rb /^ def assert_success(resp)$/;" f class:TestHelpers
+assert_utf8 test/application/configuration_test.rb /^ def assert_utf8$/;" f
+assert_welcome test/isolation/abstract_unit.rb /^ def assert_welcome(resp)$/;" f class:TestHelpers
+assign_names! lib/rails/generators/named_base.rb /^ def assign_names!(name) #:nodoc:$/;" f class:Rails.Generators
+author guides/rails_guides/helpers.rb /^ def author(name, nick, image = 'credits_pic_blank.gif', &block)$/;" f class:RailsGuides.Helpers
+autoload_once lib/rails/paths.rb /^ def autoload_once$/;" f class:Rails.Paths.Root
+autoload_once_paths lib/rails/engine/configuration.rb /^ def autoload_once_paths$/;" f class:Rails.Engine.Configuration
+autoload_paths lib/rails/engine/configuration.rb /^ def autoload_paths$/;" f class:Rails.Engine.Configuration
+autoload_paths lib/rails/paths.rb /^ def autoload_paths$/;" f class:Rails.Paths.Root
+available_views lib/rails/generators/erb/scaffold/scaffold_generator.rb /^ def available_views$/;" f class:Erb.Generators.ScaffoldGenerator
+backtrace_cleaner lib/rails.rb /^ def backtrace_cleaner$/;" f class:Rails
+backtrace_cleaner.rb lib/rails/backtrace_cleaner.rb 1;" F
+backtrace_cleaner_test.rb test/backtrace_cleaner_test.rb 1;" F
+backtrace_silencers.rb lib/rails/generators/rails/app/templates/config/initializers/backtrace_silencers.rb 1;" F
+backtrace_silencers.rb tmp/app_template/config/initializers/backtrace_silencers.rb 1;" F
+banner lib/rails/generators/base.rb /^ def self.banner$/;" F class:Rails
+banner lib/rails/generators/rails/app/app_generator.rb /^ def self.banner$/;" F class:Generators.AppGenerator
+banner lib/rails/generators/rails/plugin_new/plugin_new_generator.rb /^ def self.banner$/;" F class:Generators.PluginNewGenerator
+bar test/application/routing_test.rb /^ def bar$/;" f class:FooController
+bar test/railties/engine_test.rb /^ def bar$/;" f class:BarHelper
+bar test/railties/engine_test.rb /^ def bar$/;" f class:Bukkits
+base.rb lib/rails/generators/base.rb 1;" F
+base_name lib/rails/generators/base.rb /^ def self.base_name$/;" F class:Rails
+base_root lib/rails/generators/base.rb /^ def self.base_root$/;" F class:Rails
+baz test/application/routing_test.rb /^ def baz$/;" f class:FooController
+before lib/rails/initializable.rb /^ def before$/;" f class:Rails.Initializable.Initializer
+before_configuration lib/rails/railtie/configuration.rb /^ def before_configuration(&block)$/;" f class:Rails.Railtie.Configuration
+before_dispatch lib/rails/rack/logger.rb /^ def before_dispatch(env)$/;" f class:Rails.Rack.Logger
+before_eager_load lib/rails/railtie/configuration.rb /^ def before_eager_load(&block)$/;" f class:Rails.Railtie.Configuration
+before_initialize lib/rails/railtie/configuration.rb /^ def before_initialize(&block)$/;" f class:Rails.Railtie.Configuration
+benchmarker.rb lib/rails/commands/benchmarker.rb 1;" F
+best_install_method lib/rails/commands/plugin.rb /^ def best_install_method$/;" f class:RailsEnvironment
+best_practices_test.rb test/application/middleware/best_practices_test.rb 1;" F
+bind lib/rails/initializable.rb /^ def bind(context)$/;" f class:Rails.Initializable.Initializer
+boot! test/application/middleware_test.rb /^ def boot!$/;" f
+boot.rb lib/rails/generators/rails/app/templates/config/boot.rb 1;" F
+boot.rb lib/rails/generators/rails/plugin_new/templates/rails/boot.rb 1;" F
+boot.rb tmp/app/config/boot.rb 1;" F
+boot.rb tmp/app_template/config/boot.rb 1;" F
+boot_rails test/isolation/abstract_unit.rb /^ def boot_rails$/;" f
+boot_rails test/railties/plugin_ordering_test.rb /^ def boot_rails$/;" f class:RailtiesTest.PluginOrderingTest
+boot_rails test/railties/shared_tests.rb /^ def boot_rails$/;" f class:RailtiesTest.SharedTests
+boot_test.rb test/application/initializers/boot_test.rb 1;" F
+bootstrap.rb lib/rails/application/bootstrap.rb 1;" F
+browsing_test.rb lib/rails/generators/rails/app/templates/test/performance/browsing_test.rb 1;" F
+browsing_test.rb tmp/app/test/performance/browsing_test.rb 1;" F
+browsing_test.rb tmp/app_template/test/performance/browsing_test.rb 1;" F
+build lib/rails/generators/active_model.rb /^ def self.build(klass, params=nil)$/;" F class:Rails.Generators.ActiveModel
+build lib/rails/generators/app_base.rb /^ def build(meth, *args)$/;" f class:Rails.Generators.AppBase
+build_app test/isolation/abstract_unit.rb /^ def build_app(options = {})$/;" f class:Generation
+builder lib/rails/generators/app_base.rb /^ def builder$/;" f class:Rails.Generators.AppBase
+builder_class test/generators/app_generator_test.rb /^ def builder_class$/;" f class:CustomAppGeneratorTest
+builder_class test/generators/plugin_new_generator_test.rb /^ def builder_class$/;" f class:CustomPluginGeneratorTest
+builders_dir test/generators/app_generator_test.rb /^ def builders_dir$/;" f class:CustomAppGeneratorTest
+builders_dir test/generators/plugin_new_generator_test.rb /^ def builders_dir$/;" f class:CustomPluginGeneratorTest
+bukkits test/railties/shared_tests.rb /^ def bukkits$/;" f class:RailtiesTest.test_adds_helpers_to_controller_views.BukkitHelper
+bundle_if_dev_or_edge lib/rails/generators/app_base.rb /^ def bundle_if_dev_or_edge$/;" f class:Rails.Generators
+bundler? guides/rails_guides.rb /^def bundler?$/;" f
+cache lib/rails.rb /^ def cache$/;" f class:Rails
+cache_store lib/rails/application/configuration.rb /^ def cache_store$/;" f class:Rails.Application.Configuration
+cache_test.rb test/application/middleware/cache_test.rb 1;" F
+calculate_code lib/rails/code_statistics.rb /^ def calculate_code$/;" f class:CodeStatistics
+calculate_directory_statistics lib/rails/code_statistics.rb /^ def calculate_directory_statistics(directory, pattern = \/.*\\.rb$\/)$/;" f class:CodeStatistics
+calculate_statistics lib/rails/code_statistics.rb /^ def calculate_statistics$/;" f class:CodeStatistics
+calculate_tests lib/rails/code_statistics.rb /^ def calculate_tests$/;" f class:CodeStatistics
+calculate_total lib/rails/code_statistics.rb /^ def calculate_total$/;" f class:CodeStatistics
+call lib/rails/engine.rb /^ def call(env)$/;" f
+call lib/rails/rack/debugger.rb /^ def call(env)$/;" f class:Rails.Rack.Debugger
+call lib/rails/rack/log_tailer.rb /^ def call(env)$/;" f class:Rails.Rack.LogTailer
+call lib/rails/rack/logger.rb /^ def call(env)$/;" f class:Rails.Rack.Logger
+call test/application/middleware_test.rb /^ def call(env)$/;" f
+call test/railties/engine_test.rb /^ def call(env)$/;" f class:Upcaser
+call test/railties/shared_tests.rb /^ def call(env)$/;" f class:RailtiesTest.test_midleware_referenced_in_configuration.Bukkits
+call test/railties/shared_tests.rb /^ def self.call(env)$/;" F class:RailtiesTest.test_routes_are_added_to_router.Sprokkit
+camelized lib/rails/generators/rails/plugin_new/plugin_new_generator.rb /^ def camelized$/;" f class:Generators.PluginNewGenerator
+capify! lib/rails/generators/actions.rb /^ def capify!$/;" f class:Rails.Generators
+check_class_collision lib/rails/generators/named_base.rb /^ def self.check_class_collision(options={})$/;" F class:Rails.Generators
+check_fragment_identifiers guides/rails_guides/generator.rb /^ def check_fragment_identifiers(html, anchors)$/;" f
+check_ruby_version_test.rb test/application/initializers/check_ruby_version_test.rb 1;" F
+child.id lib/rails/generators/rails/app/templates/public/javascripts/dragdrop.js /^ var child = {$/;" p
+child.id tmp/app/public/javascripts/dragdrop.js /^ var child = {$/;" p
+child.id tmp/app_template/public/javascripts/dragdrop.js /^ var child = {$/;" p
+children lib/rails/paths.rb /^ def children$/;" f class:Rails.Paths.Path
+class_collisions lib/rails/generators/base.rb /^ def class_collisions(*class_names) #:nodoc:$/;" f class:Rails
+class_name lib/rails/generators/named_base.rb /^ def class_name$/;" f class:Rails.Generators
+class_option lib/rails/generators/base.rb /^ def self.class_option(name, options={}) #:nodoc:$/;" F class:Rails
+class_path lib/rails/generators/named_base.rb /^ def class_path$/;" f class:Rails.Generators
+clear! lib/rails/application/routes_reloader.rb /^ def clear!$/;" f class:Rails.Application.RoutesReloader
+cli.rb lib/rails/cli.rb 1;" F
+clone lib/rails/generators/rails/app/templates/public/javascripts/prototype.js /^ function clone(object) {$/;" f
+clone tmp/app/public/javascripts/prototype.js /^ function clone(object) {$/;" f
+clone tmp/app_template/public/javascripts/prototype.js /^ function clone(object) {$/;" f
+code guides/rails_guides/helpers.rb /^ def code(&block)$/;" f class:RailsGuides.Helpers
+code guides/rails_guides/textile_extensions.rb /^ def code(body)$/;" f class:RailsGuides.TextileExtensions
+code_statistics.rb lib/rails/code_statistics.rb 1;" F
+colorize_logging lib/rails/application/configuration.rb /^ def colorize_logging$/;" f class:Rails.Application.Configuration
+colorize_logging= lib/rails/application/configuration.rb /^ def colorize_logging=(val)$/;" f class:Rails.Application.Configuration
+commands.rb lib/rails/commands.rb 1;" F
+compiled_asset_path lib/rails/application/configuration.rb /^ def compiled_asset_path$/;" f class:Rails.Application.Configuration
+compiled_asset_path lib/rails/engine/configuration.rb /^ def compiled_asset_path$/;" f class:Rails.Engine.Configuration
+config lib/rails/application.rb /^ def config$/;" f class:Rails
+config lib/rails/engine.rb /^ def config$/;" f
+config lib/rails/generators/rails/app/app_generator.rb /^ def config$/;" f class:Rails.AppBuilder
+config lib/rails/generators/rails/plugin_new/plugin_new_generator.rb /^ def config$/;" f class:Rails.PluginBuilder
+config lib/rails/plugin.rb /^ def config$/;" f class:Rails
+config lib/rails/railtie.rb /^ def config$/;" f class:Rails
+configru lib/rails/generators/rails/app/app_generator.rb /^ def configru$/;" f class:Rails.AppBuilder
+configurable.rb lib/rails/railtie/configurable.rb 1;" F
+configuration lib/rails.rb /^ def configuration$/;" f class:Rails
+configuration.rb lib/rails/application/configuration.rb 1;" F
+configuration.rb lib/rails/configuration.rb 1;" F
+configuration.rb lib/rails/engine/configuration.rb 1;" F
+configuration.rb lib/rails/railtie/configuration.rb 1;" F
+configuration_test.rb test/application/configuration_test.rb 1;" F
+configure lib/rails/generators.rb /^ def self.configure!(config = Rails.application.config.generators) #:nodoc:$/;" F class:Rails.Generators
+configure lib/rails/railtie/configurable.rb /^ def configure(&block)$/;" f class:Rails.Railtie.Configurable.ClassMethods
+consider_all_requests_local? lib/rails/info_controller.rb /^ def consider_all_requests_local?$/;" f class:Rails
+console lib/rails/railtie.rb /^ def console(&blk)$/;" f class:Rails.Railtie
+console.rb lib/rails/commands/console.rb 1;" F
+console_test.rb test/application/console_test.rb 1;" F
+controller lib/rails/console/helpers.rb /^def controller$/;" f
+controller test/isolation/abstract_unit.rb /^ def controller(name, contents)$/;" f
+controller.rb lib/rails/generators/rails/controller/templates/controller.rb 1;" F
+controller.rb lib/rails/generators/rails/scaffold_controller/templates/controller.rb 1;" F
+controller_class_name lib/rails/generators/resource_helpers.rb /^ def controller_class_name$/;" f class:Rails.Generators.ResourceHelpers
+controller_class_path lib/rails/generators/resource_helpers.rb /^ def controller_class_path$/;" f class:Rails.Generators.ResourceHelpers
+controller_file_name lib/rails/generators/resource_helpers.rb /^ def controller_file_name$/;" f class:Rails.Generators.ResourceHelpers
+controller_file_path lib/rails/generators/resource_helpers.rb /^ def controller_file_path$/;" f class:Rails.Generators.ResourceHelpers
+controller_generator.rb lib/rails/generators/erb/controller/controller_generator.rb 1;" F
+controller_generator.rb lib/rails/generators/rails/controller/controller_generator.rb 1;" F
+controller_generator.rb lib/rails/generators/test_unit/controller/controller_generator.rb 1;" F
+controller_generator_test.rb test/generators/controller_generator_test.rb 1;" F
+controller_i18n_scope lib/rails/generators/resource_helpers.rb /^ def controller_i18n_scope$/;" f class:Rails.Generators.ResourceHelpers
+controls.js lib/rails/generators/rails/app/templates/public/javascripts/controls.js 1;" F
+controls.js tmp/app/public/javascripts/controls.js 1;" F
+controls.js tmp/app_template/public/javascripts/controls.js 1;" F
+copy_app test/application/configuration_test.rb /^ def copy_app$/;" f class:ApplicationTests.ConfigurationTest
+copy_assets guides/rails_guides/generator.rb /^ def copy_assets$/;" f class:RailsGuides.Generator
+copy_routes test/generators/generators_test_helper.rb /^ def copy_routes$/;" f class:GeneratorsTestHelper
+copy_stylesheets_file lib/rails/generators/rails/stylesheets/stylesheets_generator.rb /^ def copy_stylesheets_file$/;" f class:Rails.Generators.StylesheetsGenerator
+copy_view_files lib/rails/generators/erb/controller/controller_generator.rb /^ def copy_view_files$/;" f class:Erb.Generators.ControllerGenerator
+copy_view_files lib/rails/generators/erb/scaffold/scaffold_generator.rb /^ def copy_view_files$/;" f class:Erb.Generators.ScaffoldGenerator
+count test/application/runner_test.rb /^ def self.count$/;" F class:ApplicationTests.RunnerTest.setup.User
+create lib/rails/generators/rails/scaffold_controller/templates/controller.rb /^ def create$/;" f
+create_active_record_files lib/rails/generators/rails/app/app_generator.rb /^ def create_active_record_files$/;" f class:Generators.AppGenerator
+create_app_files lib/rails/generators/rails/app/app_generator.rb /^ def create_app_files$/;" f class:Generators.AppGenerator
+create_app_files lib/rails/generators/rails/plugin_new/plugin_new_generator.rb /^ def create_app_files$/;" f class:Generators.PluginNewGenerator
+create_boot_file lib/rails/generators/rails/app/app_generator.rb /^ def create_boot_file$/;" f class:Generators.AppGenerator
+create_config_files lib/rails/generators/rails/app/app_generator.rb /^ def create_config_files$/;" f class:Generators.AppGenerator
+create_config_files lib/rails/generators/rails/plugin_new/plugin_new_generator.rb /^ def create_config_files$/;" f class:Generators.PluginNewGenerator
+create_controller_files lib/rails/generators/rails/controller/controller_generator.rb /^ def create_controller_files$/;" f class:Rails.Generators.ControllerGenerator
+create_controller_files lib/rails/generators/rails/scaffold_controller/scaffold_controller_generator.rb /^ def create_controller_files$/;" f class:Rails.Generators.ScaffoldControllerGenerator
+create_db_files lib/rails/generators/rails/app/app_generator.rb /^ def create_db_files$/;" f class:Generators.AppGenerator
+create_doc_files lib/rails/generators/rails/app/app_generator.rb /^ def create_doc_files$/;" f class:Generators.AppGenerator
+create_dummy_app lib/rails/generators/rails/plugin_new/plugin_new_generator.rb /^ def create_dummy_app(path = nil)$/;" f class:Generators.PluginNewGenerator
+create_fixture_file lib/rails/generators/test_unit/model/model_generator.rb /^ def create_fixture_file$/;" f class:TestUnit.Generators.ModelGenerator
+create_fixtures lib/rails/test_help.rb /^ def create_fixtures(*table_names, &block)$/;" f
+create_generated_attribute lib/rails/generators/test_case.rb /^ def create_generated_attribute(attribute_type, name = 'test')$/;" f class:Rails.Generators.TestCase
+create_generator_files lib/rails/generators/rails/generator/generator_generator.rb /^ def create_generator_files$/;" f class:Rails.Generators.GeneratorGenerator
+create_helper_files lib/rails/generators/rails/helper/helper_generator.rb /^ def create_helper_files$/;" f class:Rails.Generators.HelperGenerator
+create_helper_files lib/rails/generators/test_unit/helper/helper_generator.rb /^ def create_helper_files$/;" f class:TestUnit.Generators.HelperGenerator
+create_javascript_files lib/rails/generators/rails/app/app_generator.rb /^ def create_javascript_files$/;" f class:Generators.AppGenerator
+create_javascript_files lib/rails/generators/rails/plugin_new/plugin_new_generator.rb /^ def create_javascript_files$/;" f class:Generators.PluginNewGenerator
+create_lib_files lib/rails/generators/rails/app/app_generator.rb /^ def create_lib_files$/;" f class:Generators.AppGenerator
+create_lib_files lib/rails/generators/rails/plugin/plugin_generator.rb /^ def create_lib_files$/;" f class:Rails.Generators.PluginGenerator
+create_lib_files lib/rails/generators/rails/plugin_new/plugin_new_generator.rb /^ def create_lib_files$/;" f class:Generators.PluginNewGenerator
+create_log_files lib/rails/generators/rails/app/app_generator.rb /^ def create_log_files$/;" f class:Generators.AppGenerator
+create_output_dir_if_needed guides/rails_guides/generator.rb /^ def create_output_dir_if_needed$/;" f class:RailsGuides.Generator
+create_public_files lib/rails/generators/rails/app/app_generator.rb /^ def create_public_files$/;" f class:Generators.AppGenerator
+create_public_image_files lib/rails/generators/rails/app/app_generator.rb /^ def create_public_image_files$/;" f class:Generators.AppGenerator
+create_public_stylesheets_files lib/rails/generators/rails/app/app_generator.rb /^ def create_public_stylesheets_files$/;" f class:Generators.AppGenerator
+create_public_stylesheets_files lib/rails/generators/rails/plugin_new/plugin_new_generator.rb /^ def create_public_stylesheets_files$/;" f class:Generators.PluginNewGenerator
+create_root lib/rails/generators/app_base.rb /^ def create_root$/;" f class:Rails.Generators.AppBase
+create_root_files lib/rails/generators/rails/app/app_generator.rb /^ def create_root_files$/;" f class:Generators.AppGenerator
+create_root_files lib/rails/generators/rails/plugin/plugin_generator.rb /^ def create_root_files$/;" f class:Rails.Generators.PluginGenerator
+create_root_files lib/rails/generators/rails/plugin_new/plugin_new_generator.rb /^ def create_root_files$/;" f class:Generators.PluginNewGenerator
+create_root_folder lib/rails/generators/erb/scaffold/scaffold_generator.rb /^ def create_root_folder$/;" f class:Erb.Generators.ScaffoldGenerator
+create_script_files lib/rails/generators/rails/app/app_generator.rb /^ def create_script_files$/;" f class:Generators.AppGenerator
+create_script_files lib/rails/generators/rails/plugin_new/plugin_new_generator.rb /^ def create_script_files$/;" f class:Generators.PluginNewGenerator
+create_tasks_files lib/rails/generators/rails/plugin/plugin_generator.rb /^ def create_tasks_files$/;" f class:Rails.Generators.PluginGenerator
+create_test_dummy_files lib/rails/generators/rails/plugin_new/plugin_new_generator.rb /^ def create_test_dummy_files$/;" f class:Generators.PluginNewGenerator
+create_test_dummy_template.rb test/fixtures/lib/create_test_dummy_template.rb 1;" F
+create_test_file lib/rails/generators/test_unit/model/model_generator.rb /^ def create_test_file$/;" f class:TestUnit.Generators.ModelGenerator
+create_test_files lib/rails/generators/rails/app/app_generator.rb /^ def create_test_files$/;" f class:Generators.AppGenerator
+create_test_files lib/rails/generators/rails/plugin_new/plugin_new_generator.rb /^ def create_test_files$/;" f class:Generators.PluginNewGenerator
+create_test_files lib/rails/generators/test_unit/controller/controller_generator.rb /^ def create_test_files$/;" f class:TestUnit.Generators.ControllerGenerator
+create_test_files lib/rails/generators/test_unit/integration/integration_generator.rb /^ def create_test_files$/;" f class:TestUnit.Generators.IntegrationGenerator
+create_test_files lib/rails/generators/test_unit/mailer/mailer_generator.rb /^ def create_test_files$/;" f class:TestUnit.Generators.MailerGenerator
+create_test_files lib/rails/generators/test_unit/observer/observer_generator.rb /^ def create_test_files$/;" f class:TestUnit.Generators.ObserverGenerator
+create_test_files lib/rails/generators/test_unit/performance/performance_generator.rb /^ def create_test_files$/;" f class:TestUnit.Generators.PerformanceGenerator
+create_test_files lib/rails/generators/test_unit/plugin/plugin_generator.rb /^ def create_test_files$/;" f class:TestUnit.Generators.PluginGenerator
+create_test_files lib/rails/generators/test_unit/scaffold/scaffold_generator.rb /^ def create_test_files$/;" f class:TestUnit.Generators.ScaffoldGenerator
+create_tmp_files lib/rails/generators/rails/app/app_generator.rb /^ def create_tmp_files$/;" f class:Generators.AppGenerator
+create_vendor_files lib/rails/generators/rails/app/app_generator.rb /^ def create_vendor_files$/;" f class:Generators.AppGenerator
+current_migration_number lib/rails/generators/migration.rb /^ def current_migration_number(dirname) #:nodoc:$/;" f class:Rails.Generators.Migration.ClassMethods
+database_configuration lib/rails/application/configuration.rb /^ def database_configuration$/;" f class:Rails.Application.Configuration
+database_gemfile_entry lib/rails/generators/app_base.rb /^ def database_gemfile_entry$/;" f class:Rails.Generators
+database_yml lib/rails/generators/rails/app/app_generator.rb /^ def database_yml$/;" f class:Rails
+db lib/rails/generators/rails/app/app_generator.rb /^ def db$/;" f class:Rails
+dbconsole.rb lib/rails/commands/dbconsole.rb 1;" F
+debugger.rb lib/rails/rack/debugger.rb 1;" F
+default lib/rails/commands/plugin.rb /^ def self.default$/;" F class:RailsEnvironment
+default lib/rails/commands/plugin.rb /^ def self.default=(rails_env)$/;" F class:RailsEnvironment
+default lib/rails/generators/generated_attribute.rb /^ def default$/;" f class:Rails.Generators
+default_aliases_for_option lib/rails/generators/base.rb /^ def self.default_aliases_for_option(name, options)$/;" F class:Rails
+default_asset_path lib/rails/application.rb /^ def default_asset_path$/;" f class:Rails
+default_asset_path lib/rails/engine.rb /^ def default_asset_path$/;" f
+default_files test/generators/app_generator_test.rb /^ def default_files$/;" f class:AppGeneratorTest
+default_files test/generators/app_generator_test.rb /^ def default_files$/;" f class:CustomAppGeneratorTest
+default_files test/generators/plugin_new_generator_test.rb /^ def default_files$/;" f class:CustomPluginGeneratorTest
+default_files test/generators/plugin_new_generator_test.rb /^ def default_files$/;" f class:PluginNewGeneratorTest
+default_for_option lib/rails/generators/base.rb /^ def self.default_for_option(config, name, options, default)$/;" F class:Rails
+default_middleware_stack lib/rails/application.rb /^ def default_middleware_stack$/;" f class:Rails
+default_middleware_stack lib/rails/engine.rb /^ def default_middleware_stack$/;" f
+default_options lib/rails/commands/server.rb /^ def default_options$/;" f class:Rails.Server
+default_source_root lib/rails/generators/base.rb /^ def self.default_source_root$/;" F class:Rails
+default_value_for_option lib/rails/generators/base.rb /^ def self.default_value_for_option(name, options)$/;" F class:Rails
+defined_app_const_base lib/rails/generators/rails/app/app_generator.rb /^ def defined_app_const_base$/;" f class:Generators.AppGenerator
+defined_app_name lib/rails/generators/rails/app/app_generator.rb /^ def defined_app_name$/;" f class:Generators.AppGenerator
+delete lib/rails/configuration.rb /^ def delete(*args, &block)$/;" f class:Rails.Configuration.MiddlewareStackProxy
+delete test/isolation/abstract_unit.rb /^ def delete(file)$/;" f class:Bukkit
+desc lib/rails/generators/base.rb /^ def self.desc(description=nil)$/;" F class:Rails.Generators.Base
+destination lib/rails/generators/test_case.rb /^ def self.destination(path)$/;" F class:Rails.Generators.TestCase
+destination_root_is_set? lib/rails/generators/test_case.rb /^ def destination_root_is_set? #:nodoc:$/;" f class:Rails.Generators.TestCase
+destroy lib/rails/generators/active_model.rb /^ def destroy$/;" f class:Rails.Generators.ActiveModel
+destroy lib/rails/generators/rails/scaffold_controller/templates/controller.rb /^ def destroy$/;" f
+destroy.rb lib/rails/commands/destroy.rb 1;" F
+determine_install_method lib/rails/commands/plugin.rb /^ def determine_install_method$/;" f class:Commands.Install
+dev_or_edge? lib/rails/generators/app_base.rb /^ def dev_or_edge?$/;" f class:Rails.Generators
+development.rb tmp/app_template/config/environments/development.rb 1;" F
+disableFormElements lib/rails/generators/rails/app/templates/public/javascripts/prototype_ujs.js /^ function disableFormElements(form) {$/;" f
+disableFormElements tmp/app/public/javascripts/rails.js /^ function disableFormElements(form) {$/;" f
+disableFormElements tmp/app_template/public/javascripts/rails.js /^ function disableFormElements(form) {$/;" f
+display lib/rails/source_annotation_extractor.rb /^ def display(results, options={})$/;" f
+distance guides/rails_guides/levenshtein.rb /^ def self.distance(s1, s2)$/;" F class:RailsGuides.Levenshtein
+doc lib/rails/generators/rails/app/app_generator.rb /^ def doc$/;" f class:Rails
+download lib/rails/commands/plugin.rb /^ def download(link)$/;" f class:RecursiveHTTPFetcher
+dragdrop.js lib/rails/generators/rails/app/templates/public/javascripts/dragdrop.js 1;" F
+dragdrop.js tmp/app/public/javascripts/dragdrop.js 1;" F
+dragdrop.js tmp/app_template/public/javascripts/dragdrop.js 1;" F
+drop lib/rails/generators/rails/app/templates/public/javascripts/dragdrop.js /^ var drop, affected = [];$/;" v
+drop tmp/app/public/javascripts/dragdrop.js /^ var drop, affected = [];$/;" v
+drop tmp/app_template/public/javascripts/dragdrop.js /^ var drop, affected = [];$/;" v
+droponOptions lib/rails/generators/rails/app/templates/public/javascripts/dragdrop.js /^ var droponOptions = Sortable.options(dropon);$/;" v
+droponOptions tmp/app/public/javascripts/dragdrop.js /^ var droponOptions = Sortable.options(dropon);$/;" v
+droponOptions tmp/app_template/public/javascripts/dragdrop.js /^ var droponOptions = Sortable.options(dropon);$/;" v
+dummy_path lib/rails/generators/rails/plugin_new/plugin_new_generator.rb /^ def dummy_path(path = nil)$/;" f class:Generators.PluginNewGenerator
+eager_load lib/rails/paths.rb /^ def eager_load$/;" f class:Rails.Paths.Root
+eager_load! lib/rails/application.rb /^ def eager_load! #:nodoc:$/;" f class:Rails
+eager_load! lib/rails/engine.rb /^ def eager_load!$/;" f class:Rails
+eager_load! lib/rails/railtie.rb /^ def eager_load!$/;" f class:Rails
+eager_load_paths lib/rails/engine/configuration.rb /^ def eager_load_paths$/;" f class:Rails.Engine.Configuration
+edit lib/rails/generators/rails/scaffold_controller/templates/controller.rb /^ def edit$/;" f
+effects.js lib/rails/generators/rails/app/templates/public/javascripts/effects.js 1;" F
+effects.js tmp/app/public/javascripts/effects.js 1;" F
+effects.js tmp/app_template/public/javascripts/effects.js 1;" F
+empty_builder.rb test/fixtures/lib/app_builders/empty_builder.rb 1;" F
+empty_builder.rb test/fixtures/lib/plugin_builders/empty_builder.rb 1;" F
+empty_directory_with_gitkeep lib/rails/generators/app_base.rb /^ def empty_directory_with_gitkeep(destination, config = {})$/;" f class:Rails.Generators
+enableFormElements lib/rails/generators/rails/app/templates/public/javascripts/prototype_ujs.js /^ function enableFormElements(form) {$/;" f
+enableFormElements tmp/app/public/javascripts/rails.js /^ function enableFormElements(form) {$/;" f
+enableFormElements tmp/app_template/public/javascripts/rails.js /^ function enableFormElements(form) {$/;" f
+encoding= lib/rails/application/configuration.rb /^ def encoding=(value)$/;" f class:Rails.Application.Configuration
+endpoint lib/rails/engine.rb /^ def endpoint(endpoint = nil)$/;" f class:Rails.Engine
+endpoint lib/rails/engine.rb /^ def endpoint$/;" f
+engine test/isolation/abstract_unit.rb /^ def engine(name)$/;" f
+engine.rb lib/rails/engine.rb 1;" F
+engine.rb lib/rails/generators/rails/plugin_new/templates/lib/%name%/engine.rb 1;" F
+engine_route test/railties/mounted_engine_test.rb /^ def engine_route$/;" f class:ApplicationTests.ApplicationRoutingTest.ApplicationGeneratingController
+engine_route_in_view test/railties/mounted_engine_test.rb /^ def engine_route_in_view$/;" f class:ApplicationTests.ApplicationRoutingTest.ApplicationGeneratingController
+engine_test.rb test/railties/engine_test.rb 1;" F
+engines lib/rails/engine/railties.rb /^ def self.engines$/;" F class:Rails.Engine.Railties
+ensure_current_path lib/rails/generators/test_case.rb /^ def ensure_current_path #:nodoc:$/;" f class:Rails.Generators.TestCase
+enumerate lib/rails/source_annotation_extractor.rb /^ def self.enumerate(tag, options={})$/;" F class:SourceAnnotationExtractor
+env lib/rails.rb /^ def env$/;" f class:Rails
+env= lib/rails.rb /^ def env=(environment)$/;" f class:Rails
+env_config lib/rails/application.rb /^ def env_config$/;" f class:Rails
+env_config lib/rails/engine.rb /^ def env_config$/;" f
+environment lib/rails/generators/actions.rb /^ def environment(data=nil, options={}, &block)$/;" f class:Rails.Generators.Actions
+environment.rb lib/rails/generators/rails/app/templates/config/environment.rb 1;" F
+environment.rb tmp/app/config/environment.rb 1;" F
+environment.rb tmp/app_template/config/environment.rb 1;" F
+environment= lib/rails/commands/plugin.rb /^ def environment=(value)$/;" f class:Commands.Plugin
+erb.rb lib/rails/generators/erb.rb 1;" F
+errors lib/rails/generators/active_model.rb /^ def errors$/;" f class:Rails.Generators.ActiveModel
+exec_script_rails lib/rails/script_rails_loader.rb /^ def self.exec_script_rails!$/;" F class:Rails.ScriptRailsLoader
+existent lib/rails/paths.rb /^ def existent$/;" f class:Rails
+expanded lib/rails/paths.rb /^ def expanded$/;" f class:Rails
+expires_etag test/application/middleware/cache_test.rb /^ def expires_etag$/;" f class:ApplicationTests.RoutingTest.simple_controller.ExpiresController
+expires_header test/application/middleware/cache_test.rb /^ def expires_header$/;" f class:ApplicationTests.RoutingTest.simple_controller.ExpiresController
+expires_last_modified test/application/middleware/cache_test.rb /^ def expires_last_modified$/;" f class:ApplicationTests.RoutingTest.simple_controller.ExpiresController
+extend lib/rails/generators/rails/app/templates/public/javascripts/prototype.js /^ function extend(destination, source) {$/;" f
+extend tmp/app/public/javascripts/prototype.js /^ function extend(destination, source) {$/;" f
+extend tmp/app_template/public/javascripts/prototype.js /^ function extend(destination, source) {$/;" f
+externals lib/rails/commands/plugin.rb /^ def externals$/;" f class:RailsEnvironment
+externals= lib/rails/commands/plugin.rb /^ def externals=(items)$/;" f class:RailsEnvironment
+extify lib/rails/generators/actions.rb /^ def extify(name)$/;" f class:Rails.Generators.route
+extract_anchors guides/rails_guides/generator.rb /^ def extract_anchors(html)$/;" f class:RailsGuides
+extract_annotations_from lib/rails/source_annotation_extractor.rb /^ def extract_annotations_from(file, pattern)$/;" f
+extract_body test/isolation/abstract_unit.rb /^ def extract_body(response)$/;" f class:TestHelpers.Rack
+fallbacks lib/rails/generators.rb /^ def self.fallbacks$/;" F class:Rails.Generators
+fetch lib/rails/commands/plugin.rb /^ def fetch(links = @urls_to_fetch)$/;" f
+fetch_dir lib/rails/commands/plugin.rb /^ def fetch_dir(url)$/;" f
+field_type lib/rails/generators/generated_attribute.rb /^ def field_type$/;" f class:Rails.Generators.GeneratedAttribute
+file lib/rails/generators/rails/app/app_generator.rb /^ def file(*args, &block)$/;" f class:Generators.AppGenerator
+file_path lib/rails/generators/named_base.rb /^ def file_path$/;" f class:Rails.Generators
+filename_with_extensions lib/rails/generators/erb.rb /^ def filename_with_extensions(name)$/;" f class:Erb.Generators.Base
+filter_backtrace_with_cleaning lib/rails/backtrace_cleaner.rb /^ def filter_backtrace_with_cleaning(backtrace, prefix=nil)$/;" f class:Rails.BacktraceFilterForTestUnit
+filter_by lib/rails/paths.rb /^ def filter_by(constraint)$/;" f class:Rails.Paths.Root
+finalize! lib/rails/application/routes_reloader.rb /^ def finalize!$/;" f class:Rails.Application.RoutesReloader
+find lib/rails/commands/plugin.rb /^ def self.find(dir=nil)$/;" F class:RailsEnvironment
+find lib/rails/commands/plugin.rb /^ def self.find(name)$/;" F class:Plugin
+find lib/rails/engine.rb /^ def find(path)$/;" f class:Rails.Engine
+find lib/rails/generators/active_model.rb /^ def self.find(klass, params=nil)$/;" F class:Rails.Generators.ActiveModel
+find lib/rails/source_annotation_extractor.rb /^ def find(dirs=%w(app lib test))$/;" f class:SourceAnnotationExtractor
+find_by_namespace lib/rails/generators.rb /^ def self.find_by_namespace(name, base=nil, context=nil) #:nodoc:$/;" F class:Rails.Generators
+find_cmd lib/rails/commands/dbconsole.rb /^ def find_cmd(*commands)$/;" f
+find_in lib/rails/source_annotation_extractor.rb /^ def find_in(dir)$/;" f class:SourceAnnotationExtractor
+find_root_with_flag lib/rails/engine.rb /^ def find_root_with_flag(flag, default=nil)$/;" f
+finish_template lib/rails/generators/rails/app/app_generator.rb /^ def finish_template$/;" f class:Generators.AppGenerator
+finish_template lib/rails/generators/rails/plugin_new/plugin_new_generator.rb /^ def finish_template$/;" f class:Generators.PluginNewGenerator
+finisher.rb lib/rails/application/finisher.rb 1;" F
+first lib/rails/paths.rb /^ def first$/;" f class:Rails.Paths.Path
+fixjour_generator.rb test/fixtures/lib/generators/active_record/fixjour_generator.rb 1;" F
+fixjour_generator.rb test/fixtures/lib/generators/fixjour_generator.rb 1;" F
+foo_or_bar? test/application/routing_test.rb /^ def foo_or_bar?$/;" f class:BarHelper
+foobar_generator.rb test/fixtures/lib/rails/generators/foobar/foobar_generator.rb 1;" F
+format lib/rails/generators/erb.rb /^ def format$/;" f class:Erb.Generators.Base
+format lib/rails/generators/erb/mailer/mailer_generator.rb /^ def format$/;" f class:Erb.Generators.MailerGenerator
+framework_path test/isolation/abstract_unit.rb /^ def framework_path$/;" f class:TestHelpers.Paths
+framework_version lib/rails/info.rb /^ def framework_version(framework)$/;" f class:Rails
+frameworks lib/rails/info.rb /^ def frameworks$/;" f class:Rails
+frameworks_test.rb test/application/initializers/frameworks_test.rb 1;" F
+from_app test/railties/engine_test.rb /^ def from_app$/;" f class:Bukkits
+from_app_helper test/application/initializers/frameworks_test.rb /^ def from_app_helper$/;" f class:ApplicationHelper
+from_bar_helper test/application/initializers/frameworks_test.rb /^ def from_bar_helper$/;" f class:BarHelper
+from_foo_helper test/application/initializers/frameworks_test.rb /^ def from_foo_helper$/;" f class:FooHelper
+full? lib/rails/generators/rails/plugin_new/plugin_new_generator.rb /^ def full?$/;" f class:Generators.PluginNewGenerator
+functional_test.rb lib/rails/generators/test_unit/controller/templates/functional_test.rb 1;" F
+functional_test.rb lib/rails/generators/test_unit/mailer/templates/functional_test.rb 1;" F
+functional_test.rb lib/rails/generators/test_unit/scaffold/templates/functional_test.rb 1;" F
+gem lib/rails/generators/actions.rb /^ def gem(*args)$/;" f class:Rails.Generators.Actions
+gem_for_database lib/rails/generators/app_base.rb /^ def gem_for_database$/;" f class:Rails.Generators
+gemfile lib/rails/generators/rails/app/app_generator.rb /^ def gemfile$/;" f class:Rails.AppBuilder
+gemfile lib/rails/generators/rails/plugin_new/plugin_new_generator.rb /^ def gemfile$/;" f class:Rails.PluginBuilder
+gemspec lib/rails/generators/rails/plugin_new/plugin_new_generator.rb /^ def gemspec$/;" f class:Rails.PluginBuilder
+generate guides/rails_guides/generator.rb /^ def generate$/;" f class:RailsGuides.Generator
+generate lib/rails/generators/actions.rb /^ def generate(what, *args)$/;" f class:Rails.Generators
+generate.rb lib/rails/commands/generate.rb 1;" F
+generate? guides/rails_guides/generator.rb /^ def generate?(source_file, output_file)$/;" f class:RailsGuides.Generator
+generate_application_route test/railties/mounted_engine_test.rb /^ def generate_application_route$/;" f class:ApplicationTests.ApplicationRoutingTest.Blog.PostsController
+generate_guide guides/rails_guides/generator.rb /^ def generate_guide(guide, output_file)$/;" f class:RailsGuides.Generator
+generate_guides guides/rails_guides/generator.rb /^ def generate_guides$/;" f class:RailsGuides.Generator
+generate_railtie_name lib/rails/railtie.rb /^ def generate_railtie_name(class_or_module)$/;" f class:Rails.Railtie
+generate_test_dummy lib/rails/generators/rails/plugin_new/plugin_new_generator.rb /^ def generate_test_dummy(force = false)$/;" f class:Rails.PluginBuilder
+generate_test_dummy test/fixtures/lib/plugin_builders/spec_builder.rb /^ def generate_test_dummy$/;" f class:PluginBuilder
+generated_attribute.rb lib/rails/generators/generated_attribute.rb 1;" F
+generated_attribute_test.rb test/generators/generated_attribute_test.rb 1;" F
+generator lib/rails/generators/test_case.rb /^ def generator(args=self.default_arguments, options={}, config={})$/;" f class:Rails.Generators.TestCase
+generator.rb guides/rails_guides/generator.rb 1;" F
+generator_dir lib/rails/generators/rails/generator/generator_generator.rb /^ def generator_dir$/;" f class:Rails.Generators.GeneratorGenerator
+generator_generator.rb lib/rails/generators/rails/generator/generator_generator.rb 1;" F
+generator_generator_test.rb test/generators/generator_generator_test.rb 1;" F
+generator_name lib/rails/generators/base.rb /^ def self.generator_name$/;" F class:Rails
+generators lib/rails/engine/configuration.rb /^ def generators #:nodoc$/;" f class:Rails.Engine.Configuration
+generators lib/rails/railtie.rb /^ def generators(&blk)$/;" f class:Rails.Railtie
+generators lib/rails/railtie/configuration.rb /^ def generators(&block) #:nodoc$/;" f class:Rails.Railtie.Configuration
+generators.rb lib/rails/generators.rb 1;" F
+generators_test.rb test/application/generators_test.rb 1;" F
+generators_test.rb test/generators_test.rb 1;" F
+generators_test_helper.rb test/generators/generators_test_helper.rb 1;" F
+get test/isolation/abstract_unit.rb /^ def get(path)$/;" f class:TestHelpers
+get_builder_class lib/rails/generators/rails/app/app_generator.rb /^ def get_builder_class$/;" f class:Generators.AppGenerator
+get_builder_class lib/rails/generators/rails/plugin_new/plugin_new_generator.rb /^ def get_builder_class$/;" f class:Generators.PluginNewGenerator
+git lib/rails/generators/actions.rb /^ def git(command={})$/;" f class:Rails.Generators
+git_url? lib/rails/commands/plugin.rb /^ def git_url?$/;" f class:Plugin
+gitignore lib/rails/generators/rails/app/app_generator.rb /^ def gitignore$/;" f class:Rails.AppBuilder
+gitignore lib/rails/generators/rails/plugin_new/plugin_new_generator.rb /^ def gitignore$/;" f class:Rails.PluginBuilder
+gitignore test/fixtures/lib/app_builders/simple_builder.rb /^ def gitignore$/;" f class:AppBuilder
+gitignore test/fixtures/lib/app_builders/tweak_builder.rb /^ def gitignore$/;" f class:AppBuilder
+gitignore test/fixtures/lib/plugin_builders/simple_builder.rb /^ def gitignore$/;" f class:PluginBuilder
+gitignore test/fixtures/lib/plugin_builders/tweak_builder.rb /^ def gitignore$/;" f class:PluginBuilder
+global_plugins lib/rails/plugin.rb /^ def self.global_plugins$/;" F class:Rails.Plugin
+guess_name lib/rails/commands/plugin.rb /^ def guess_name(url)$/;" f
+guide guides/rails_guides/helpers.rb /^ def guide(name, url, options = {}, &block)$/;" f class:RailsGuides.Helpers
+guideMenu guides/assets/javascripts/guides.js /^function guideMenu(){$/;" f
+guides.js guides/assets/javascripts/guides.js 1;" F
+guides_to_generate guides/rails_guides/generator.rb /^ def guides_to_generate$/;" f class:RailsGuides.Generator
+guides_to_validate guides/w3c_validator.rb /^ def guides_to_validate$/;" f class:RailsGuides.Validator
+handleMethod lib/rails/generators/rails/app/templates/public/javascripts/prototype_ujs.js /^ function handleMethod(element) {$/;" f
+handleMethod tmp/app/public/javascripts/rails.js /^ function handleMethod(element) {$/;" f
+handleMethod tmp/app_template/public/javascripts/rails.js /^ function handleMethod(element) {$/;" f
+handleRemote lib/rails/generators/rails/app/templates/public/javascripts/prototype_ujs.js /^ function handleRemote(element) {$/;" f
+handleRemote tmp/app/public/javascripts/rails.js /^ function handleRemote(element) {$/;" f
+handleRemote tmp/app_template/public/javascripts/rails.js /^ function handleRemote(element) {$/;" f
+handler lib/rails/generators/erb.rb /^ def handler$/;" f class:Erb.Generators.Base
+help lib/rails/generators.rb /^ def self.help(command = 'generate')$/;" F class:Rails
+help_the_engine test/railties/engine_test.rb /^ def help_the_engine$/;" f class:EngineHelper
+helper lib/rails/console/helpers.rb /^def helper$/;" f
+helper.rb lib/rails/generators/rails/helper/templates/helper.rb 1;" F
+helper_generator.rb lib/rails/generators/rails/helper/helper_generator.rb 1;" F
+helper_generator.rb lib/rails/generators/test_unit/helper/helper_generator.rb 1;" F
+helper_generator_test.rb test/generators/helper_generator_test.rb 1;" F
+helper_test.rb lib/rails/generators/test_unit/helper/templates/helper_test.rb 1;" F
+helpers.rb guides/rails_guides/helpers.rb 1;" F
+helpers.rb lib/rails/console/helpers.rb 1;" F
+hidden_namespaces lib/rails/generators.rb /^ def self.hidden_namespaces$/;" F class:Rails.Generators
+hide_namespaces lib/rails/generators.rb /^ def hide_namespaces(*namespaces)$/;" f class:Rails.Generators
+hook_for lib/rails/generators/base.rb /^ def self.hook_for(*names, &block)$/;" F class:Rails.Generators
+hooks lib/rails/generators/base.rb /^ def self.hooks #:nodoc:$/;" F class:Rails
+hooks_test.rb test/application/initializers/hooks_test.rb 1;" F
+human_name lib/rails/generators/generated_attribute.rb /^ def human_name$/;" f class:Rails
+human_name lib/rails/generators/named_base.rb /^ def human_name$/;" f class:Rails.Generators
+i18n_scope lib/rails/generators/named_base.rb /^ def i18n_scope$/;" f class:Rails.Generators
+i18n_test.rb test/application/initializers/i18n_test.rb 1;" F
+id test/railties/mounted_engine_test.rb /^ def id$/;" f class:ApplicationTests.ApplicationRoutingTest.Blog.Post
+images lib/rails/generators/rails/app/app_generator.rb /^ def images$/;" f
+in_rails_application lib/rails/script_rails_loader.rb /^ def self.in_rails_application?$/;" F class:Rails
+in_rails_application_subdirectory lib/rails/script_rails_loader.rb /^ def self.in_rails_application_subdirectory?(path = Pathname.new(Dir.pwd))$/;" F class:Rails
+included lib/rails/backtrace_cleaner.rb /^ def self.included(klass)$/;" F class:Rails.BacktraceFilterForTestUnit
+included lib/rails/generators/migration.rb /^ def self.included(base) #:nodoc:$/;" F class:Rails.Generators.Migration
+included lib/rails/generators/resource_helpers.rb /^ def self.included(base) #:nodoc:$/;" F class:Rails.Generators.ResourceHelpers
+included lib/rails/initializable.rb /^ def self.included(base)$/;" F class:Rails.Initializable
+included test/generators/generators_test_helper.rb /^ def self.included(base)$/;" F class:GeneratorsTestHelper
+included_helpers test/application/initializers/frameworks_test.rb /^ def included_helpers$/;" f class:FooController
+indent lib/rails/generators/named_base.rb /^ def indent(content, multiplier = 2)$/;" f class:Rails.Generators.NamedBase
+index guides/rails_guides/indexer.rb /^ def index$/;" f class:RailsGuides.Indexer
+index lib/rails/generators/rails/scaffold_controller/templates/controller.rb /^ def index$/;" f
+index test/application/configuration_test.rb /^ def index$/;" f
+index test/application/middleware/sendfile_test.rb /^ def index$/;" f class:ApplicationTests.SendfileTest
+index test/application/middleware_test.rb /^ def index$/;" f
+index test/application/routing_test.rb /^ def index$/;" f class:Admin.FooController
+index test/application/routing_test.rb /^ def index$/;" f class:BarController
+index test/application/routing_test.rb /^ def index$/;" f class:FooController
+index test/application/routing_test.rb /^ def index$/;" f class:YazilarController
+index test/application/url_generation_test.rb /^ def index$/;" f class:ApplicationTests
+index test/isolation/abstract_unit.rb /^ def index$/;" f class:simple_controller.FooController
+index test/railties/engine_test.rb /^ def index$/;" f class:Bukkits.HomeController
+index test/railties/engine_test.rb /^ def index$/;" f class:Bukkits
+index test/railties/engine_test.rb /^ def index$/;" f class:FooController
+index test/railties/mounted_engine_test.rb /^ def index$/;" f class:ApplicationTests.ApplicationRoutingTest.Blog.PostsController
+index test/railties/shared_tests.rb /^ def index$/;" f class:RailtiesTest.test_adds_helpers_to_controller_views.BukkitController
+index test/railties/shared_tests.rb /^ def index$/;" f class:RailtiesTest.test_adds_its_views_to_view_paths.BukkitController
+index test/railties/shared_tests.rb /^ def index$/;" f class:RailtiesTest.test_adds_its_views_to_view_paths_with_lower_proriority_than_app_ones.BukkitController
+index test/railties/shared_tests.rb /^ def index$/;" f class:RailtiesTest.test_namespaced_controllers_with_namespaced_routes.Admin
+index test/railties/shared_tests.rb /^ def index$/;" f class:RailtiesTest.test_routes_in_plugins_have_lower_priority_than_application_ones.BarController
+index test/railties/shared_tests.rb /^ def index$/;" f class:RailtiesTest.test_routes_in_plugins_have_lower_priority_than_application_ones.FooController
+index.html lib/rails/generators/rails/app/templates/public/index.html 1;" F
+index.html tmp/app/public/index.html 1;" F
+index.html tmp/app_template/public/index.html 1;" F
+index_helper lib/rails/generators/named_base.rb /^ def index_helper$/;" f class:Rails.Generators
+indexer.rb guides/rails_guides/indexer.rb 1;" F
+inflections.rb lib/rails/generators/rails/app/templates/config/initializers/inflections.rb 1;" F
+inflections.rb tmp/app_template/config/initializers/inflections.rb 1;" F
+info lib/rails/commands/plugin.rb /^ def info$/;" f class:Plugin
+info.rb lib/rails/info.rb 1;" F
+info_controller.rb lib/rails/info_controller.rb 1;" F
+inherited lib/rails/application.rb /^ def inherited(base)$/;" f class:Rails.Application
+inherited lib/rails/engine.rb /^ def inherited(base)$/;" f class:Rails.Engine
+inherited lib/rails/generators/base.rb /^ def self.inherited(base) #:nodoc:$/;" F class:Rails
+inherited lib/rails/plugin.rb /^ def self.inherited(base)$/;" F class:Rails.Plugin
+inherited lib/rails/railtie.rb /^ def inherited(base)$/;" f class:Rails.Railtie
+inherited lib/rails/railtie/configurable.rb /^ def inherited(base)$/;" f class:Rails.Railtie.Configurable.ClassMethods
+init.rb lib/rails/generators/rails/plugin/templates/init.rb 1;" F
+init.rb test/fixtures/about_yml_plugins/bad_about_yml/init.rb 1;" F
+init.rb test/fixtures/about_yml_plugins/plugin_without_about_yml/init.rb 1;" F
+initializable.rb lib/rails/initializable.rb 1;" F
+initializable_test.rb test/initializable_test.rb 1;" F
+initialize guides/rails_guides/generator.rb /^ def initialize(output=nil)$/;" f class:RailsGuides.Generator
+initialize guides/rails_guides/indexer.rb /^ def initialize(body, warnings)$/;" f class:RailsGuides.Indexer
+initialize lib/rails/application/configuration.rb /^ def initialize(*)$/;" f class:Rails.Application.Configuration
+initialize lib/rails/application/routes_reloader.rb /^ def initialize$/;" f class:Rails.Application.RoutesReloader
+initialize lib/rails/backtrace_cleaner.rb /^ def initialize$/;" f class:Rails.BacktraceCleaner
+initialize lib/rails/code_statistics.rb /^ def initialize(*pairs)$/;" f class:CodeStatistics
+initialize lib/rails/commands/console.rb /^ def initialize(app)$/;" f class:Rails.Console
+initialize lib/rails/commands/dbconsole.rb /^ def initialize(app)$/;" f class:Rails.DBConsole
+initialize lib/rails/commands/plugin.rb /^ def initialize$/;" f class:Commands.Plugin
+initialize lib/rails/commands/plugin.rb /^ def initialize(base_command)$/;" f class:Commands.Info
+initialize lib/rails/commands/plugin.rb /^ def initialize(base_command)$/;" f class:Commands.Install
+initialize lib/rails/commands/plugin.rb /^ def initialize(base_command)$/;" f class:Commands.Remove
+initialize lib/rails/commands/plugin.rb /^ def initialize(dir)$/;" f class:RailsEnvironment
+initialize lib/rails/commands/plugin.rb /^ def initialize(uri, name = nil)$/;" f class:Plugin
+initialize lib/rails/commands/plugin.rb /^ def initialize(urls_to_fetch, level = 1, cwd = ".")$/;" f class:RecursiveHTTPFetcher
+initialize lib/rails/commands/server.rb /^ def initialize(*)$/;" f class:Rails.Server
+initialize lib/rails/configuration.rb /^ def initialize$/;" f class:Rails.Configuration.Generators
+initialize lib/rails/configuration.rb /^ def initialize$/;" f class:Rails.Configuration.MiddlewareStackProxy
+initialize lib/rails/engine/configuration.rb /^ def initialize(root=nil)$/;" f class:Rails.Engine.Configuration
+initialize lib/rails/engine/railties.rb /^ def initialize(config)$/;" f class:Rails.Engine.Railties
+initialize lib/rails/generators/active_model.rb /^ def initialize(name)$/;" f class:Rails.Generators.ActiveModel
+initialize lib/rails/generators/app_base.rb /^ def initialize(*args)$/;" f class:Rails.Generators.AppBase
+initialize lib/rails/generators/generated_attribute.rb /^ def initialize(name, type)$/;" f class:Rails.Generators.GeneratedAttribute
+initialize lib/rails/generators/named_base.rb /^ def initialize(args, *options) #:nodoc:$/;" f class:Rails.Generators.NamedBase
+initialize lib/rails/generators/rails/app/app_generator.rb /^ def initialize(*args)$/;" f class:Generators.AppGenerator
+initialize lib/rails/generators/rails/app/app_generator.rb /^ def initialize(generator)$/;" f class:Rails.ActionMethods
+initialize lib/rails/generators/rails/plugin_new/plugin_new_generator.rb /^ def initialize(*args)$/;" f class:Generators.PluginNewGenerator
+initialize lib/rails/generators/resource_helpers.rb /^ def initialize(*args) #:nodoc:$/;" f class:Rails.Generators.ResourceHelpers
+initialize lib/rails/initializable.rb /^ def initialize(name, context, options, &block)$/;" f class:Rails.Initializable.Initializer
+initialize lib/rails/paths.rb /^ def initialize(path)$/;" f class:Rails.Paths.Root
+initialize lib/rails/paths.rb /^ def initialize(root, current, *paths)$/;" f class:Rails.Paths.Path
+initialize lib/rails/plugin.rb /^ def initialize(root)$/;" f class:Rails
+initialize lib/rails/rack/debugger.rb /^ def initialize(app)$/;" f class:Rails.Rack.Debugger
+initialize lib/rails/rack/log_tailer.rb /^ def initialize(app, log = nil)$/;" f class:Rails.Rack.LogTailer
+initialize lib/rails/rack/logger.rb /^ def initialize(app)$/;" f class:Rails.Rack.Logger
+initialize lib/rails/railtie/configuration.rb /^ def initialize$/;" f class:Rails.Railtie.Configuration
+initialize lib/rails/source_annotation_extractor.rb /^ def initialize(tag)$/;" f class:SourceAnnotationExtractor
+initialize test/isolation/abstract_unit.rb /^ def initialize(path)$/;" f class:Bukkit
+initialize test/railties/engine_test.rb /^ def initialize(app)$/;" f class:Upcaser
+initialize test/railties/shared_tests.rb /^ def initialize(app)$/;" f class:RailtiesTest.test_midleware_referenced_in_configuration.Bukkits
+initialize! lib/rails.rb /^ def initialize!$/;" f class:Rails
+initialize! lib/rails/application.rb /^ def initialize!$/;" f class:Rails
+initialize_console lib/rails/application.rb /^ def initialize_console(sandbox=false)$/;" f class:Rails
+initialize_copy lib/rails/configuration.rb /^ def initialize_copy(source)$/;" f class:Rails.Configuration.Generators
+initialize_dirs guides/rails_guides/generator.rb /^ def initialize_dirs(output)$/;" f class:RailsGuides.Generator
+initialize_generators lib/rails/application.rb /^ def initialize_generators$/;" f class:Rails
+initialize_tasks lib/rails/application.rb /^ def initialize_tasks$/;" f class:Rails
+initialized= lib/rails.rb /^ def initialized=(initialized)$/;" f class:Rails
+initialized? lib/rails.rb /^ def initialized?$/;" f class:Rails
+initializer lib/rails/generators/actions.rb /^ def initializer(filename, data=nil, &block)$/;" f class:Rails.Generators
+initializer lib/rails/initializable.rb /^ def initializer(name, opts = {}, &blk)$/;" f class:Rails.Initializable.ClassMethods
+initializers lib/rails/application.rb /^ def initializers$/;" f class:Rails
+initializers lib/rails/engine.rb /^ def initializers$/;" f
+initializers lib/rails/initializable.rb /^ def initializers$/;" f class:Rails.Initializable.ClassMethods
+initializers lib/rails/initializable.rb /^ def initializers$/;" f class:Rails.Initializable
+initializers test/initializable_test.rb /^ def self.initializers$/;" F class:Application
+initializers test/initializable_test.rb /^ def self.initializers$/;" F class:InitializableTests.OverriddenInitializer
+initializers_chain lib/rails/initializable.rb /^ def initializers_chain$/;" f class:Rails.Initializable.ClassMethods
+initializers_for lib/rails/initializable.rb /^ def initializers_for(binding)$/;" f class:Rails.Initializable.ClassMethods
+insertHiddenField lib/rails/generators/rails/app/templates/public/javascripts/prototype_ujs.js /^ function insertHiddenField(form, name, value) {$/;" f
+insertHiddenField tmp/app/public/javascripts/rails.js /^ function insertHiddenField(form, name, value) {$/;" f
+insertHiddenField tmp/app_template/public/javascripts/rails.js /^ function insertHiddenField(form, name, value) {$/;" f
+insert_after lib/rails/configuration.rb /^ def insert_after(*args, &block)$/;" f class:Rails.Configuration.MiddlewareStackProxy
+insert_before lib/rails/configuration.rb /^ def insert_before(*args, &block)$/;" f class:Rails.Configuration.MiddlewareStackProxy
+inside_template lib/rails/generators/named_base.rb /^ def inside_template$/;" f class:Rails.Generators.NamedBase
+inside_template? lib/rails/generators/named_base.rb /^ def inside_template?$/;" f class:Rails.Generators.NamedBase
+inspect lib/rails/generators/rails/app/templates/public/javascripts/prototype.js /^ function inspect(object) {$/;" f
+inspect tmp/app/public/javascripts/prototype.js /^ function inspect(object) {$/;" f
+inspect tmp/app_template/public/javascripts/prototype.js /^ function inspect(object) {$/;" f
+install lib/rails/commands/plugin.rb /^ def install(method=nil, options = {})$/;" f class:Plugin
+install lib/rails/commands/plugin.rb /^ def install(name_uri_or_plugin)$/;" f class:RailsEnvironment
+install.rb lib/rails/generators/rails/plugin/templates/install.rb 1;" F
+install_using_checkout lib/rails/commands/plugin.rb /^ def install_using_checkout(options = {})$/;" f class:Plugin
+install_using_export lib/rails/commands/plugin.rb /^ def install_using_export(options = {})$/;" f class:Plugin
+install_using_externals lib/rails/commands/plugin.rb /^ def install_using_externals(options = {})$/;" f class:Plugin
+install_using_git lib/rails/commands/plugin.rb /^ def install_using_git(options = {})$/;" f
+install_using_http lib/rails/commands/plugin.rb /^ def install_using_http(options = {})$/;" f class:Plugin
+installed? lib/rails/commands/plugin.rb /^ def installed?$/;" f class:Plugin
+instance lib/rails/railtie/configurable.rb /^ def instance$/;" f class:Rails.Railtie.Configurable.ClassMethods
+instrument test/application/initializers/notifications_test.rb /^ def instrument(*args, &block)$/;" f class:ApplicationTests.NotificationsTest
+integration_generator.rb lib/rails/generators/test_unit/integration/integration_generator.rb 1;" F
+integration_test.rb lib/rails/generators/test_unit/integration/templates/integration_test.rb 1;" F
+integration_test_generator.rb lib/rails/generators/rails/integration_test/integration_test_generator.rb 1;" F
+integration_test_generator_test.rb test/generators/integration_test_generator_test.rb 1;" F
+invoke lib/rails/generators.rb /^ def self.invoke(namespace, args=ARGV, config={})$/;" F class:Rails.Generators
+invoke_fallbacks_for lib/rails/generators.rb /^ def self.invoke_fallbacks_for(name, base) #:nodoc:$/;" F class:Rails
+isArray lib/rails/generators/rails/app/templates/public/javascripts/prototype.js /^ function isArray(object) {$/;" f
+isArray tmp/app/public/javascripts/prototype.js /^ function isArray(object) {$/;" f
+isArray tmp/app_template/public/javascripts/prototype.js /^ function isArray(object) {$/;" f
+isDate lib/rails/generators/rails/app/templates/public/javascripts/prototype.js /^ function isDate(object) {$/;" f
+isDate tmp/app/public/javascripts/prototype.js /^ function isDate(object) {$/;" f
+isDate tmp/app_template/public/javascripts/prototype.js /^ function isDate(object) {$/;" f
+isElement lib/rails/generators/rails/app/templates/public/javascripts/prototype.js /^ function isElement(object) {$/;" f
+isElement tmp/app/public/javascripts/prototype.js /^ function isElement(object) {$/;" f
+isElement tmp/app_template/public/javascripts/prototype.js /^ function isElement(object) {$/;" f
+isForm lib/rails/generators/rails/app/templates/public/javascripts/prototype_ujs.js /^ function isForm(element) {$/;" f
+isForm tmp/app/public/javascripts/rails.js /^ function isForm(element) {$/;" f
+isForm tmp/app_template/public/javascripts/rails.js /^ function isForm(element) {$/;" f
+isFunction lib/rails/generators/rails/app/templates/public/javascripts/prototype.js /^ function isFunction(object) {$/;" f
+isFunction tmp/app/public/javascripts/prototype.js /^ function isFunction(object) {$/;" f
+isFunction tmp/app_template/public/javascripts/prototype.js /^ function isFunction(object) {$/;" f
+isHash lib/rails/generators/rails/app/templates/public/javascripts/prototype.js /^ function isHash(object) {$/;" f
+isHash tmp/app/public/javascripts/prototype.js /^ function isHash(object) {$/;" f
+isHash tmp/app_template/public/javascripts/prototype.js /^ function isHash(object) {$/;" f
+isInput lib/rails/generators/rails/app/templates/public/javascripts/prototype_ujs.js /^ function isInput(element) {$/;" f
+isInput tmp/app/public/javascripts/rails.js /^ function isInput(element) {$/;" f
+isInput tmp/app_template/public/javascripts/rails.js /^ function isInput(element) {$/;" f
+isNumber lib/rails/generators/rails/app/templates/public/javascripts/prototype.js /^ function isNumber(object) {$/;" f
+isNumber tmp/app/public/javascripts/prototype.js /^ function isNumber(object) {$/;" f
+isNumber tmp/app_template/public/javascripts/prototype.js /^ function isNumber(object) {$/;" f
+isString lib/rails/generators/rails/app/templates/public/javascripts/prototype.js /^ function isString(object) {$/;" f
+isString tmp/app/public/javascripts/prototype.js /^ function isString(object) {$/;" f
+isString tmp/app_template/public/javascripts/prototype.js /^ function isString(object) {$/;" f
+isUndefined lib/rails/generators/rails/app/templates/public/javascripts/prototype.js /^ function isUndefined(object) {$/;" f
+isUndefined tmp/app/public/javascripts/prototype.js /^ function isUndefined(object) {$/;" f
+isUndefined tmp/app_template/public/javascripts/prototype.js /^ function isUndefined(object) {$/;" f
+isolate_namespace lib/rails/engine.rb /^ def isolate_namespace(mod)$/;" f class:Rails.Engine
+javascripts lib/rails/generators/rails/app/app_generator.rb /^ def javascripts$/;" f
+javascripts lib/rails/generators/rails/plugin_new/plugin_new_generator.rb /^ def javascripts$/;" f class:Rails.PluginBuilder
+jquery.js lib/rails/generators/rails/app/templates/public/javascripts/jquery.js 1;" F
+jquery_ujs.js lib/rails/generators/rails/app/templates/public/javascripts/jquery_ujs.js 1;" F
+keys lib/rails/generators/rails/app/templates/public/javascripts/prototype.js /^ function keys(object) {$/;" f
+keys tmp/app/public/javascripts/prototype.js /^ function keys(object) {$/;" f
+keys tmp/app_template/public/javascripts/prototype.js /^ function keys(object) {$/;" f
+last lib/rails/paths.rb /^ def last$/;" f class:Rails.Paths.Path
+levenshtein.rb guides/rails_guides/levenshtein.rb 1;" F
+lib lib/rails/generators/actions.rb /^ def lib(filename, data=nil, &block)$/;" f class:Rails.Generators
+lib lib/rails/generators/rails/app/app_generator.rb /^ def lib$/;" f class:Rails
+lib lib/rails/generators/rails/plugin_new/plugin_new_generator.rb /^ def lib$/;" f class:Rails.PluginBuilder
+license lib/rails/generators/rails/plugin_new/plugin_new_generator.rb /^ def license$/;" f class:Rails.PluginBuilder
+links lib/rails/commands/plugin.rb /^ def links(base_url, contents)$/;" f class:RecursiveHTTPFetcher.ls
+load_app test/application/initializers/i18n_test.rb /^ def load_app$/;" f class:ApplicationTests.I18nTest
+load_console lib/rails/application.rb /^ def load_console(sandbox=false)$/;" f class:Rails
+load_console lib/rails/railtie.rb /^ def load_console$/;" f class:Rails
+load_environment test/application/console_test.rb /^ def load_environment$/;" f class:ConsoleTest
+load_generators lib/rails/application.rb /^ def load_generators$/;" f class:Rails
+load_generators lib/rails/railtie.rb /^ def load_generators$/;" f class:Rails
+load_generators_from_railties lib/rails/generators.rb /^ def self.load_generators_from_railties! #:nodoc:$/;" F
+load_path_test.rb test/application/initializers/load_path_test.rb 1;" F
+load_paths lib/rails/application/routes_reloader.rb /^ def load_paths$/;" f class:Rails.Application.RoutesReloader
+load_paths lib/rails/paths.rb /^ def load_paths$/;" f class:Rails.Paths.Root
+load_seed lib/rails/engine.rb /^ def load_seed$/;" f
+load_tasks lib/rails/application.rb /^ def load_tasks$/;" f class:Rails
+load_tasks lib/rails/engine.rb /^ def load_tasks$/;" f class:Rails
+load_tasks lib/rails/railtie.rb /^ def load_tasks$/;" f class:Rails
+loading_test.rb test/application/loading_test.rb 1;" F
+log lib/rails/generators/actions.rb /^ def log(*args)$/;" f class:Rails.Generators.route
+log lib/rails/generators/rails/app/app_generator.rb /^ def log$/;" f class:Rails
+log_level lib/rails/application/configuration.rb /^ def log_level$/;" f class:Rails.Application.Configuration
+log_path lib/rails/commands/server.rb /^ def log_path$/;" f class:Rails.Server
+log_tailer.rb lib/rails/rack/log_tailer.rb 1;" F
+logger lib/rails.rb /^ def logger$/;" f class:Rails
+logger.rb lib/rails/rack/logger.rb 1;" F
+logger= lib/rails.rb /^ def logger=(logger)$/;" f class:Rails
+lookup lib/rails/generators.rb /^ def self.lookup! #:nodoc:$/;" F
+lookup lib/rails/generators.rb /^ def self.lookup(namespaces) #:nodoc:$/;" F class:Rails
+ls lib/rails/commands/plugin.rb /^ def ls$/;" f class:RecursiveHTTPFetcher
+mailer_generator.rb lib/rails/generators/erb/mailer/mailer_generator.rb 1;" F
+mailer_generator.rb lib/rails/generators/test_unit/mailer/mailer_generator.rb 1;" F
+mailer_generator_test.rb test/generators/mailer_generator_test.rb 1;" F
+make_basic_app test/isolation/abstract_unit.rb /^ def make_basic_app$/;" f
+masterDelay lib/rails/generators/rails/app/templates/public/javascripts/effects.js /^ var masterDelay = options.delay;$/;" v
+masterDelay tmp/app/public/javascripts/effects.js /^ var masterDelay = options.delay;$/;" v
+masterDelay tmp/app_template/public/javascripts/effects.js /^ var masterDelay = options.delay;$/;" v
+merge_into lib/rails/configuration.rb /^ def merge_into(other)$/;" f class:Rails.Configuration.MiddlewareStackProxy
+method_missing lib/rails/configuration.rb /^ def method_missing(method, *args)$/;" f class:Rails.Configuration.Generators
+method_missing lib/rails/generators/rails/app/app_generator.rb /^ def method_missing(meth, *args, &block)$/;" f class:Rails.ActionMethods
+method_missing lib/rails/paths.rb /^ def method_missing(id, *args)$/;" f class:Rails.Paths.PathParent
+method_missing lib/rails/railtie/configurable.rb /^ def method_missing(*args, &block)$/;" f class:Rails.Railtie.Configurable.ClassMethods
+method_missing lib/rails/railtie/configuration.rb /^ def method_missing(name, *args, &blk)$/;" f class:Rails.Railtie.Configuration
+middleware lib/rails/commands/server.rb /^ def middleware$/;" f class:Rails.Server
+middleware lib/rails/engine/configuration.rb /^ def middleware$/;" f class:Rails.Engine.Configuration
+middleware test/application/middleware_test.rb /^ def middleware$/;" f
+middleware_test.rb test/application/middleware_test.rb 1;" F
+migration.rb lib/rails/generators/migration.rb 1;" F
+migration_exists? lib/rails/generators/migration.rb /^ def migration_exists?(dirname, file_name) #:nodoc:$/;" f class:Rails.Generators.Migration.ClassMethods
+migration_file_name lib/rails/generators/test_case.rb /^ def migration_file_name(relative) #:nodoc:$/;" f class:Rails.Generators.TestCase
+migration_generator.rb lib/rails/generators/rails/migration/migration_generator.rb 1;" F
+migration_generator_test.rb test/generators/migration_generator_test.rb 1;" F
+migration_lookup_at lib/rails/generators/migration.rb /^ def migration_lookup_at(dirname) #:nodoc:$/;" f class:Rails.Generators.Migration.ClassMethods
+migration_template lib/rails/generators/migration.rb /^ def migration_template(source, destination=nil, config={})$/;" f class:Rails.Generators.Migration.ClassMethods
+mime_types.rb lib/rails/generators/rails/app/templates/config/initializers/mime_types.rb 1;" F
+mime_types.rb tmp/app_template/config/initializers/mime_types.rb 1;" F
+model_generator.rb lib/rails/generators/rails/model/model_generator.rb 1;" F
+model_generator.rb lib/rails/generators/test_unit/model/model_generator.rb 1;" F
+model_generator.rb test/fixtures/lib/generators/model_generator.rb 1;" F
+model_generator_test.rb test/generators/model_generator_test.rb 1;" F
+module_namespacing lib/rails/generators/named_base.rb /^ def module_namespacing(&block)$/;" f class:Rails.Generators.NamedBase
+mountable? lib/rails/generators/rails/plugin_new/plugin_new_generator.rb /^ def mountable?$/;" f class:Generators.PluginNewGenerator
+mounted_engine_test.rb test/railties/mounted_engine_test.rb 1;" F
+mute lib/rails/generators/rails/plugin_new/plugin_new_generator.rb /^ def mute(&block)$/;" f class:Generators.PluginNewGenerator
+mysql_socket lib/rails/generators/rails/app/app_generator.rb /^ def mysql_socket$/;" f class:Generators.AppGenerator
+name lib/rails/generators/rails/app/templates/public/javascripts/dragdrop.js /^ var name = encodeURIComponent($/;" v
+name lib/rails/generators/rails/plugin_new/plugin_new_generator.rb /^ def name$/;" f class:Generators.PluginNewGenerator
+name tmp/app/public/javascripts/dragdrop.js /^ var name = encodeURIComponent($/;" v
+name tmp/app_template/public/javascripts/dragdrop.js /^ var name = encodeURIComponent($/;" v
+named_base.rb lib/rails/generators/named_base.rb 1;" F
+named_base_test.rb test/generators/named_base_test.rb 1;" F
+names lib/rails/info.rb /^ def names$/;" f class:Rails.Info
+namespace lib/rails/generators/base.rb /^ def self.namespace(name=nil)$/;" F class:Rails.Generators
+namespace lib/rails/generators/named_base.rb /^ def namespace$/;" f class:Rails.Generators.NamedBase
+namespaced? lib/rails/generators/named_base.rb /^ def namespaced?$/;" f class:Rails.Generators
+namespaced_class_path lib/rails/generators/named_base.rb /^ def namespaced_class_path$/;" f class:Rails.Generators
+namespaced_generators_test.rb test/generators/namespaced_generators_test.rb 1;" F
+namespaces_to_paths lib/rails/generators.rb /^ def self.namespaces_to_paths(namespaces) #:nodoc:$/;" F
+navigation_test.rb lib/rails/generators/rails/plugin_new/templates/test/integration/navigation_test.rb 1;" F
+new lib/rails/generators/rails/scaffold_controller/templates/controller.rb /^ def new$/;" f
+new test/railties/engine_test.rb /^ def new$/;" f class:Bukkits
+new_app test/application/configuration_test.rb /^ def new_app$/;" f class:ApplicationTests.ConfigurationTest
+new_record? test/railties/mounted_engine_test.rb /^ def new_record?$/;" f class:ApplicationTests.ApplicationRoutingTest.Blog.Post
+new_session lib/rails/console/app.rb /^def new_session$/;" f
+next_migration_number lib/rails/generators/migration.rb /^ def next_migration_number(dirname) #:nodoc:$/;" f class:Rails.Generators.Migration.ClassMethods.current_migration_number
+no_color lib/rails/generators.rb /^ def self.no_color!$/;" F class:Rails.Generators
+not_included_helper test/application/initializers/frameworks_test.rb /^ def not_included_helper$/;" f class:FooController
+notestuff guides/rails_guides/textile_extensions.rb /^ def notestuff(body)$/;" f class:RailsGuides.TextileExtensions
+notifications_test.rb test/application/initializers/notifications_test.rb 1;" F
+notify test/application/initializers/frameworks_test.rb /^ def notify$/;" f class:Foo
+observer_generator.rb lib/rails/generators/rails/observer/observer_generator.rb 1;" F
+observer_generator.rb lib/rails/generators/test_unit/observer/observer_generator.rb 1;" F
+observer_generator_test.rb test/generators/observer_generator_test.rb 1;" F
+offsets lib/rails/generators/rails/app/templates/public/javascripts/dragdrop.js /^ var offsets = dropon.cumulativeOffset();$/;" v
+offsets tmp/app/public/javascripts/dragdrop.js /^ var offsets = dropon.cumulativeOffset();$/;" v
+offsets tmp/app_template/public/javascripts/dragdrop.js /^ var offsets = dropon.cumulativeOffset();$/;" v
+opt_parser lib/rails/commands/server.rb /^ def opt_parser$/;" f class:Rails.Server
+options lib/rails/commands/plugin.rb /^ def options$/;" f class:Commands.Info
+options lib/rails/commands/plugin.rb /^ def options$/;" f class:Commands.Install
+options lib/rails/commands/plugin.rb /^ def options$/;" f class:Commands.Plugin
+options lib/rails/commands/plugin.rb /^ def options$/;" f class:Commands.Remove
+options lib/rails/generators.rb /^ def self.options #:nodoc:$/;" F class:Rails.Generators
+options_for_draggable.quiet lib/rails/generators/rails/app/templates/public/javascripts/dragdrop.js /^ revert: true,$/;" p
+options_for_draggable.quiet tmp/app/public/javascripts/dragdrop.js /^ revert: true,$/;" p
+options_for_draggable.quiet tmp/app_template/public/javascripts/dragdrop.js /^ revert: true,$/;" p
+options_for_draggable.revert lib/rails/generators/rails/app/templates/public/javascripts/dragdrop.js /^ var options_for_draggable = {$/;" p
+options_for_draggable.revert tmp/app/public/javascripts/dragdrop.js /^ var options_for_draggable = {$/;" p
+options_for_draggable.revert tmp/app_template/public/javascripts/dragdrop.js /^ var options_for_draggable = {$/;" p
+options_for_droppable.overlap lib/rails/generators/rails/app/templates/public/javascripts/dragdrop.js /^ var options_for_droppable = {$/;" p
+options_for_droppable.overlap tmp/app/public/javascripts/dragdrop.js /^ var options_for_droppable = {$/;" p
+options_for_droppable.overlap tmp/app_template/public/javascripts/dragdrop.js /^ var options_for_droppable = {$/;" p
+options_for_tree.onHover lib/rails/generators/rails/app/templates/public/javascripts/dragdrop.js /^ var options_for_tree = {$/;" p
+options_for_tree.onHover tmp/app/public/javascripts/dragdrop.js /^ var options_for_tree = {$/;" p
+options_for_tree.onHover tmp/app_template/public/javascripts/dragdrop.js /^ var options_for_tree = {$/;" p
+orm_class lib/rails/generators/resource_helpers.rb /^ def orm_class$/;" f class:Rails.Generators.ResourceHelpers
+orm_instance lib/rails/generators/resource_helpers.rb /^ def orm_instance(name=singular_table_name)$/;" f class:Rails.Generators.ResourceHelpers
+output_file_for guides/rails_guides/generator.rb /^ def output_file_for(guide)$/;" f class:RailsGuides.Generator
+parse lib/rails/commands/plugin.rb /^ def self.parse!(args=ARGV)$/;" F class:Commands.Plugin
+parse! lib/rails/commands/plugin.rb /^ def parse!(args)$/;" f class:Commands.Info
+parse! lib/rails/commands/plugin.rb /^ def parse!(args)$/;" f class:Commands.Install
+parse! lib/rails/commands/plugin.rb /^ def parse!(args)$/;" f class:Commands.Remove
+parse! lib/rails/commands/plugin.rb /^ def parse!(args=ARGV)$/;" f class:Commands.Plugin
+parse! lib/rails/commands/server.rb /^ def parse!(args)$/;" f class:Rails.Server.Options
+parse_attributes! lib/rails/generators/named_base.rb /^ def parse_attributes! #:nodoc:$/;" f class:Rails.Generators
+partial lib/rails/generators/rails/app/templates/public/javascripts/prototype.js /^ var partial = [];$/;" v
+partial tmp/app/public/javascripts/prototype.js /^ var partial = [];$/;" v
+partial tmp/app_template/public/javascripts/prototype.js /^ var partial = [];$/;" v
+paths lib/rails/application/configuration.rb /^ def paths$/;" f class:Rails.Application.Configuration
+paths lib/rails/engine/configuration.rb /^ def paths$/;" f class:Rails.Engine.Configuration
+paths lib/rails/paths.rb /^ def paths$/;" f class:Rails
+paths.rb lib/rails/paths.rb 1;" F
+paths_test.rb test/application/paths_test.rb 1;" F
+paths_test.rb test/paths_test.rb 1;" F
+performance_generator.rb lib/rails/generators/test_unit/performance/performance_generator.rb 1;" F
+performance_test.rb lib/rails/generators/test_unit/performance/templates/performance_test.rb 1;" F
+performance_test_generator.rb lib/rails/generators/rails/performance_test/performance_test_generator.rb 1;" F
+performance_test_generator_test.rb test/generators/performance_test_generator_test.rb 1;" F
+performance_test_help.rb lib/rails/performance_test_help.rb 1;" F
+persisted? test/railties/engine_test.rb /^ def persisted?$/;" f class:Bukkits.Post
+plugin lib/rails/generators/actions.rb /^ def plugin(name, options)$/;" f class:Rails.Generators.Actions
+plugin test/isolation/abstract_unit.rb /^ def plugin(name, string = "")$/;" f
+plugin.rb lib/rails/commands/plugin.rb 1;" F
+plugin.rb lib/rails/plugin.rb 1;" F
+plugin_dir lib/rails/generators/rails/plugin/plugin_generator.rb /^ def plugin_dir(join=nil)$/;" f class:Rails.Generators.PluginGenerator
+plugin_generator.rb lib/rails/generators/rails/plugin/plugin_generator.rb 1;" F
+plugin_generator.rb lib/rails/generators/test_unit/plugin/plugin_generator.rb 1;" F
+plugin_generator_test.rb test/generators/plugin_generator_test.rb 1;" F
+plugin_new.rb lib/rails/commands/plugin_new.rb 1;" F
+plugin_new_generator.rb lib/rails/generators/rails/plugin_new/plugin_new_generator.rb 1;" F
+plugin_new_generator_test.rb test/generators/plugin_new_generator_test.rb 1;" F
+plugin_ordering_test.rb test/railties/plugin_ordering_test.rb 1;" F
+plugin_test.rb test/railties/plugin_test.rb 1;" F
+plugins lib/rails/engine/railties.rb /^ def plugins$/;" f class:Rails.Engine.Railties
+plural_file_name lib/rails/generators/named_base.rb /^ def plural_file_name$/;" f class:Rails.Generators
+plural_name lib/rails/generators/named_base.rb /^ def plural_name$/;" f class:Rails.Generators
+plural_table_name lib/rails/generators/named_base.rb /^ def plural_table_name$/;" f class:Rails.Generators
+pluralize_table_names? lib/rails/generators/named_base.rb /^ def pluralize_table_names?$/;" f class:Rails.Generators
+plusplus guides/rails_guides/textile_extensions.rb /^ def plusplus(body)$/;" f class:RailsGuides.TextileExtensions
+pointer lib/rails/generators/rails/app/templates/public/javascripts/dragdrop.js /^ var pointer = [Event.pointerX(event), Event.pointerY(event)];$/;" v
+pointer tmp/app/public/javascripts/dragdrop.js /^ var pointer = [Event.pointerX(event), Event.pointerY(event)];$/;" v
+pointer tmp/app_template/public/javascripts/dragdrop.js /^ var pointer = [Event.pointerX(event), Event.pointerY(event)];$/;" v
+polymorphic_path_without_namespace test/railties/engine_test.rb /^ def polymorphic_path_without_namespace$/;" f class:Bukkits
+polymorphic_route test/railties/mounted_engine_test.rb /^ def polymorphic_route$/;" f class:ApplicationTests.ApplicationRoutingTest.ApplicationGeneratingController
+pop_d lib/rails/commands/plugin.rb /^ def pop_d$/;" f class:RecursiveHTTPFetcher.ls
+prepare_destination lib/rails/generators/test_case.rb /^ def prepare_destination$/;" f class:Rails.Generators.TestCase
+prepare_for_invocation lib/rails/generators/base.rb /^ def self.prepare_for_invocation(name, value) #:nodoc:$/;" F class:Rails
+print_code_test_stats lib/rails/code_statistics.rb /^ def print_code_test_stats$/;" f
+print_header lib/rails/code_statistics.rb /^ def print_header$/;" f class:CodeStatistics
+print_line lib/rails/code_statistics.rb /^ def print_line(name, statistics)$/;" f class:CodeStatistics
+print_list lib/rails/generators.rb /^ def self.print_list(base, namespaces) #:nodoc:$/;" F class:Rails
+print_profile lib/rails/rubyprof_ext.rb /^ def self.print_profile(results, io = $stderr)$/;" F class:Prof
+print_splitter lib/rails/code_statistics.rb /^ def print_splitter$/;" f class:CodeStatistics
+process guides/rails_guides/indexer.rb /^ def process(string, current_level=3, counters=[1])$/;" f class:RailsGuides.Indexer
+production.rb tmp/app_template/config/environments/production.rb 1;" F
+profiler.rb lib/rails/commands/profiler.rb 1;" F
+properties lib/rails/info_controller.rb /^ def properties$/;" f class:Rails
+properties test/rails_info_test.rb /^ def properties$/;" f
+property lib/rails/info.rb /^ def property(name, value = nil)$/;" f class:Rails
+property_defined? test/rails_info_test.rb /^ def property_defined?(property_name)$/;" f
+prototype.js lib/rails/generators/rails/app/templates/public/javascripts/prototype.js 1;" F
+prototype.js tmp/app/public/javascripts/prototype.js 1;" F
+prototype.js tmp/app_template/public/javascripts/prototype.js 1;" F
+prototype_ujs.js lib/rails/generators/rails/app/templates/public/javascripts/prototype_ujs.js 1;" F
+public_directory lib/rails/generators/rails/app/app_generator.rb /^ def public_directory$/;" f
+public_path lib/rails.rb /^ def public_path$/;" f class:Rails
+push_d lib/rails/commands/plugin.rb /^ def push_d(dir)$/;" f class:RecursiveHTTPFetcher.ls
+rack.rb lib/rails/rack.rb 1;" F
+rackup test/application/rackup_test.rb /^ def rackup$/;" f class:ApplicationTests.RackupTest
+rackup_test.rb test/application/rackup_test.rb 1;" F
+rails tmp/app_template/script/rails 1;" F
+rails.js tmp/app/public/javascripts/rails.js 1;" F
+rails.js tmp/app_template/public/javascripts/rails.js 1;" F
+rails.rb lib/rails.rb 1;" F
+rails_env lib/rails/commands/plugin.rb /^ def rails_env$/;" f
+rails_gemfile_entry lib/rails/generators/app_base.rb /^ def rails_gemfile_entry$/;" f class:Rails.Generators
+rails_guides.rb guides/rails_guides.rb 1;" F
+rails_info_controller_test.rb test/rails_info_controller_test.rb 1;" F
+rails_info_test.rb test/rails_info_test.rb 1;" F
+rails_root test/isolation/abstract_unit.rb /^ def rails_root$/;" f class:TestHelpers.Paths
+railtie.rb lib/rails/railtie.rb 1;" F
+railtie.rb lib/rails/test_unit/railtie.rb 1;" F
+railtie_name lib/rails/plugin.rb /^ def railtie_name$/;" f class:Rails
+railtie_name lib/rails/railtie.rb /^ def railtie_name(name = nil)$/;" f class:Rails.Railtie
+railtie_test.rb test/railties/railtie_test.rb 1;" F
+railties lib/rails/engine.rb /^ def railties$/;" f
+railties lib/rails/engine/railties.rb /^ def self.railties$/;" F class:Rails.Engine.Railties
+railties.rb lib/rails/application/railties.rb 1;" F
+railties.rb lib/rails/engine/railties.rb 1;" F
+rake lib/rails/generators/actions.rb /^ def rake(command, options={})$/;" f class:Rails.Generators
+rake_tasks lib/rails/railtie.rb /^ def rake_tasks(&blk)$/;" f class:Rails.Railtie
+rake_test.rb test/application/rake_test.rb 1;" F
+rakefile lib/rails/generators/actions.rb /^ def rakefile(filename, data=nil, &block)$/;" f class:Rails.Generators
+rakefile lib/rails/generators/rails/app/app_generator.rb /^ def rakefile$/;" f class:Rails.AppBuilder
+rakefile lib/rails/generators/rails/plugin_new/plugin_new_generator.rb /^ def rakefile$/;" f class:Rails.PluginBuilder
+rakefile_test_tasks lib/rails/generators/rails/plugin_new/plugin_new_generator.rb /^ def rakefile_test_tasks$/;" f class:Generators.PluginNewGenerator
+readme lib/rails/generators/actions.rb /^ def readme(path)$/;" f class:Rails.Generators.route
+readme lib/rails/generators/rails/app/app_generator.rb /^ def readme$/;" f class:Rails.AppBuilder
+readme lib/rails/generators/rails/plugin_new/plugin_new_generator.rb /^ def readme$/;" f class:Rails.PluginBuilder
+reference? lib/rails/generators/generated_attribute.rb /^ def reference?$/;" f class:Rails
+regular_class_path lib/rails/generators/named_base.rb /^ def regular_class_path$/;" f class:Rails.Generators
+reload! lib/rails/application/routes_reloader.rb /^ def reload!$/;" f class:Rails.Application.RoutesReloader
+reload! lib/rails/console/app.rb /^def reload!(print=true)$/;" f
+reload_routes! lib/rails/application.rb /^ def reload_routes!$/;" f class:Rails
+remote_ip test/application/middleware/remote_ip_test.rb /^ def remote_ip(env = {})$/;" f class:ApplicationTests.RemoteIpTest
+remote_ip_test.rb test/application/middleware/remote_ip_test.rb 1;" F
+remove_hook_for lib/rails/generators/base.rb /^ def self.remove_hook_for(*names)$/;" F class:Rails
+render_conditionally test/application/middleware/cache_test.rb /^ def render_conditionally(headers)$/;" f class:ApplicationTests.RoutingTest.simple_controller.ExpiresController
+require_environment! lib/rails/application.rb /^ def require_environment! #:nodoc:$/;" f class:Rails
+require_for_database lib/rails/generators/app_base.rb /^ def require_for_database$/;" f class:Rails.Generators
+reset_script_name! test/railties/mounted_engine_test.rb /^ def reset_script_name!$/;" f class:ApplicationTests
+resource_generator.rb lib/rails/generators/rails/resource/resource_generator.rb 1;" F
+resource_generator_test.rb test/generators/resource_generator_test.rb 1;" F
+resource_helpers.rb lib/rails/generators/resource_helpers.rb 1;" F
+respond_to? lib/rails/railtie/configurable.rb /^ def respond_to?(*args)$/;" f class:Rails.Railtie.Configurable.ClassMethods
+respond_to? lib/rails/railtie/configuration.rb /^ def respond_to?(name)$/;" f class:Rails.Railtie.Configuration
+revert lib/rails/application/routes_reloader.rb /^ def revert$/;" f class:Rails.Application.RoutesReloader
+root lib/rails.rb /^ def root$/;" f class:Rails
+root test/application/paths_test.rb /^ def root(*path)$/;" f class:ApplicationTests.PathsTest
+root test/generators/generators_test_helper.rb /^ def self.root$/;" F class:Rails
+root.children lib/rails/generators/rails/app/templates/public/javascripts/dragdrop.js /^ parent: null,$/;" p
+root.children tmp/app/public/javascripts/dragdrop.js /^ parent: null,$/;" p
+root.children tmp/app_template/public/javascripts/dragdrop.js /^ parent: null,$/;" p
+root.id lib/rails/generators/rails/app/templates/public/javascripts/dragdrop.js /^ var root = {$/;" p
+root.id tmp/app/public/javascripts/dragdrop.js /^ var root = {$/;" p
+root.id tmp/app_template/public/javascripts/dragdrop.js /^ var root = {$/;" p
+root.parent lib/rails/generators/rails/app/templates/public/javascripts/dragdrop.js /^ id: null,$/;" p
+root.parent tmp/app/public/javascripts/dragdrop.js /^ id: null,$/;" p
+root.parent tmp/app_template/public/javascripts/dragdrop.js /^ id: null,$/;" p
+root= lib/rails/engine/configuration.rb /^ def root=(value)$/;" f class:Rails.Engine.Configuration
+route lib/rails/generators/actions.rb /^ def route(routing_code)$/;" f class:Rails.Generators
+route_url lib/rails/generators/named_base.rb /^ def route_url$/;" f class:Rails.Generators
+routes lib/rails/engine.rb /^ def routes$/;" f
+routes.rb lib/rails/generators/rails/app/templates/config/routes.rb 1;" F
+routes.rb lib/rails/generators/rails/plugin_new/templates/config/routes.rb 1;" F
+routes.rb lib/rails/generators/rails/plugin_new/templates/rails/routes.rb 1;" F
+routes.rb tmp/app/config/routes.rb 1;" F
+routes.rb tmp/app_template/config/routes.rb 1;" F
+routes? lib/rails/engine.rb /^ def routes?$/;" f
+routes_helpers_in_view test/railties/engine_test.rb /^ def routes_helpers_in_view$/;" f class:Bukkits
+routes_reloader lib/rails/application.rb /^ def routes_reloader$/;" f class:Rails
+routes_reloader.rb lib/rails/application/routes_reloader.rb 1;" F
+routing_test.rb test/application/routing_test.rb 1;" F
+ruby test/application/test_test.rb /^ def ruby(*args)$/;" f
+ruby_version_check.rb lib/rails/ruby_version_check.rb 1;" F
+rubyprof_ext.rb lib/rails/rubyprof_ext.rb 1;" F
+run lib/rails/initializable.rb /^ def run(*args)$/;" f class:Rails.Initializable.Initializer
+run_generator lib/rails/generators/test_case.rb /^ def run_generator(args=self.default_arguments, config={})$/;" f class:Rails.Generators.TestCase
+run_initializers lib/rails/initializable.rb /^ def run_initializers(*args)$/;" f class:Rails.Initializable
+run_install_hook lib/rails/commands/plugin.rb /^ def run_install_hook$/;" f class:Plugin
+run_test test/application/test_test.rb /^ def run_test(name)$/;" f
+run_uninstall_hook lib/rails/commands/plugin.rb /^ def run_uninstall_hook$/;" f class:Plugin
+runner.rb lib/rails/commands/runner.rb 1;" F
+runner_test.rb test/application/runner_test.rb 1;" F
+s lib/rails/generators/rails/app/templates/public/javascripts/dragdrop.js /^ var s = Sortable.sortables[element.id];$/;" v
+s tmp/app/public/javascripts/dragdrop.js /^ var s = Sortable.sortables[element.id];$/;" v
+s tmp/app_template/public/javascripts/dragdrop.js /^ var s = Sortable.sortables[element.id];$/;" v
+sandbox.rb lib/rails/console/sandbox.rb 1;" F
+save lib/rails/generators/active_model.rb /^ def save$/;" f class:Rails.Generators.ActiveModel
+scaffold_controller_generator.rb lib/rails/generators/rails/scaffold_controller/scaffold_controller_generator.rb 1;" F
+scaffold_controller_generator_test.rb test/generators/scaffold_controller_generator_test.rb 1;" F
+scaffold_generator.rb lib/rails/generators/erb/scaffold/scaffold_generator.rb 1;" F
+scaffold_generator.rb lib/rails/generators/rails/scaffold/scaffold_generator.rb 1;" F
+scaffold_generator.rb lib/rails/generators/test_unit/scaffold/scaffold_generator.rb 1;" F
+scaffold_generator_test.rb test/generators/scaffold_generator_test.rb 1;" F
+script lib/rails/generators/rails/app/app_generator.rb /^ def script$/;" f
+script lib/rails/generators/rails/plugin_new/plugin_new_generator.rb /^ def script(force = false)$/;" f class:Rails.PluginBuilder
+script test/isolation/abstract_unit.rb /^ def script(script)$/;" f
+script_name test/railties/mounted_engine_test.rb /^ def script_name(script_name)$/;" f class:ApplicationTests
+script_rails_loader.rb lib/rails/script_rails_loader.rb 1;" F
+script_rails_loader_test.rb test/script_rails_loader_test.rb 1;" F
+secret_token.rb tmp/app_template/config/initializers/secret_token.rb 1;" F
+seeds.rb lib/rails/generators/rails/app/templates/db/seeds.rb 1;" F
+seeds.rb tmp/app/db/seeds.rb 1;" F
+seeds.rb tmp/app_template/db/seeds.rb 1;" F
+select_only guides/rails_guides/generator.rb /^ def select_only(guides)$/;" f class:RailsGuides.Generator
+select_only guides/w3c_validator.rb /^ def select_only(guides)$/;" f class:RailsGuides.Validator
+sendfile_test.rb test/application/middleware/sendfile_test.rb 1;" F
+server.rb lib/rails/commands/server.rb 1;" F
+session_migration_generator.rb lib/rails/generators/rails/session_migration/session_migration_generator.rb 1;" F
+session_migration_generator_test.rb test/generators/session_migration_generator_test.rb 1;" F
+session_store lib/rails/application/configuration.rb /^ def session_store(*args)$/;" f class:Rails.Application.Configuration
+session_store.rb tmp/app_template/config/initializers/session_store.rb 1;" F
+set_default_accessors! lib/rails/generators/app_base.rb /^ def set_default_accessors!$/;" f class:Rails.Generators.AppBase
+set_environment lib/rails/commands/server.rb /^ def set_environment$/;" f class:Rails.Server
+set_flags_from_environment guides/rails_guides/generator.rb /^ def set_flags_from_environment$/;" f class:RailsGuides.Generator
+set_header_section guides/rails_guides/generator.rb /^ def set_header_section(body, view)$/;" f class:RailsGuides.Generator
+set_index guides/rails_guides/generator.rb /^ def set_index(body, view)$/;" f class:RailsGuides.Generator
+setup test/application/configuration_test.rb /^ def setup$/;" f class:ApplicationTests.ConfigurationTest
+setup test/application/console_test.rb /^ def setup$/;" f class:ConsoleTest
+setup test/application/generators_test.rb /^ def setup$/;" f class:ApplicationTests.GeneratorsTest
+setup test/application/initializers/boot_test.rb /^ def setup$/;" f class:ApplicationTests.GemBooting
+setup test/application/initializers/check_ruby_version_test.rb /^ def setup$/;" f class:ApplicationTests.CheckRubyVersionTest
+setup test/application/initializers/frameworks_test.rb /^ def setup$/;" f class:ApplicationTests.FrameworlsTest
+setup test/application/initializers/hooks_test.rb /^ def setup$/;" f class:ApplicationTests.InitializersTest
+setup test/application/initializers/i18n_test.rb /^ def setup$/;" f class:ApplicationTests.I18nTest
+setup test/application/initializers/load_path_test.rb /^ def setup$/;" f class:ApplicationTests.LoadPathTest
+setup test/application/initializers/notifications_test.rb /^ def setup$/;" f class:ApplicationTests.NotificationsTest
+setup test/application/loading_test.rb /^ def setup$/;" f class:LoadingTest
+setup test/application/middleware/best_practices_test.rb /^ def setup$/;" f class:ApplicationTests.BestPracticesTest
+setup test/application/middleware/cache_test.rb /^ def setup$/;" f class:ApplicationTests.RoutingTest
+setup test/application/middleware/remote_ip_test.rb /^ def setup$/;" f class:ApplicationTests.RemoteIpTest
+setup test/application/middleware/sendfile_test.rb /^ def setup$/;" f class:ApplicationTests.SendfileTest
+setup test/application/middleware_test.rb /^ def setup$/;" f class:ApplicationTests.MiddlewareTest
+setup test/application/paths_test.rb /^ def setup$/;" f class:ApplicationTests.PathsTest
+setup test/application/rackup_test.rb /^ def setup$/;" f class:ApplicationTests.RackupTest
+setup test/application/rake_test.rb /^ def setup$/;" f class:ApplicationTests.RakeTest
+setup test/application/routing_test.rb /^ def setup$/;" f class:ApplicationTests.RoutingTest
+setup test/application/runner_test.rb /^ def setup$/;" f class:ApplicationTests.RunnerTest
+setup test/application/test_test.rb /^ def setup$/;" f class:ApplicationTests.TestTest
+setup test/backtrace_cleaner_test.rb /^ def setup$/;" f class:BacktraceCleanerFilterTest
+setup test/backtrace_cleaner_test.rb /^ def setup$/;" f class:BacktraceCleanerVendorGemTest
+setup test/generators/actions_test.rb /^ def setup$/;" f class:ActionsTest
+setup test/generators/namespaced_generators_test.rb /^ def setup$/;" f class:NamespacedGeneratorTestCase
+setup test/generators/shared_generator_tests.rb /^ def setup$/;" f class:SharedCustomGeneratorTests
+setup test/generators/shared_generator_tests.rb /^ def setup$/;" f class:SharedGeneratorTests
+setup test/generators_test.rb /^ def setup$/;" f class:GeneratorsTest
+setup test/paths_test.rb /^ def setup$/;" f class:PathsTest
+setup test/rails_info_controller_test.rb /^ def setup$/;" f class:InfoControllerTest
+setup test/rails_info_test.rb /^ def setup$/;" f class:InfoTest
+setup test/railties/engine_test.rb /^ def setup$/;" f class:RailtiesTest.EngineTest
+setup test/railties/mounted_engine_test.rb /^ def setup$/;" f class:ApplicationTests.ApplicationRoutingTest
+setup test/railties/plugin_ordering_test.rb /^ def setup$/;" f class:RailtiesTest.PluginOrderingTest
+setup test/railties/plugin_test.rb /^ def setup$/;" f class:RailtiesTest.PluginTest
+setup test/railties/railtie_test.rb /^ def setup$/;" f class:RailtiesTest.RailtieTest
+setup_ar! test/application/loading_test.rb /^ def setup_ar!$/;" f
+shBrushAS3.js guides/assets/javascripts/syntaxhighlighter/shBrushAS3.js 1;" F
+shBrushAppleScript.js guides/assets/javascripts/syntaxhighlighter/shBrushAppleScript.js 1;" F
+shBrushBash.js guides/assets/javascripts/syntaxhighlighter/shBrushBash.js 1;" F
+shBrushCSharp.js guides/assets/javascripts/syntaxhighlighter/shBrushCSharp.js 1;" F
+shBrushColdFusion.js guides/assets/javascripts/syntaxhighlighter/shBrushColdFusion.js 1;" F
+shBrushCpp.js guides/assets/javascripts/syntaxhighlighter/shBrushCpp.js 1;" F
+shBrushCss.js guides/assets/javascripts/syntaxhighlighter/shBrushCss.js 1;" F
+shBrushDelphi.js guides/assets/javascripts/syntaxhighlighter/shBrushDelphi.js 1;" F
+shBrushDiff.js guides/assets/javascripts/syntaxhighlighter/shBrushDiff.js 1;" F
+shBrushErlang.js guides/assets/javascripts/syntaxhighlighter/shBrushErlang.js 1;" F
+shBrushGroovy.js guides/assets/javascripts/syntaxhighlighter/shBrushGroovy.js 1;" F
+shBrushJScript.js guides/assets/javascripts/syntaxhighlighter/shBrushJScript.js 1;" F
+shBrushJava.js guides/assets/javascripts/syntaxhighlighter/shBrushJava.js 1;" F
+shBrushJavaFX.js guides/assets/javascripts/syntaxhighlighter/shBrushJavaFX.js 1;" F
+shBrushPerl.js guides/assets/javascripts/syntaxhighlighter/shBrushPerl.js 1;" F
+shBrushPhp.js guides/assets/javascripts/syntaxhighlighter/shBrushPhp.js 1;" F
+shBrushPlain.js guides/assets/javascripts/syntaxhighlighter/shBrushPlain.js 1;" F
+shBrushPowerShell.js guides/assets/javascripts/syntaxhighlighter/shBrushPowerShell.js 1;" F
+shBrushPython.js guides/assets/javascripts/syntaxhighlighter/shBrushPython.js 1;" F
+shBrushRuby.js guides/assets/javascripts/syntaxhighlighter/shBrushRuby.js 1;" F
+shBrushSass.js guides/assets/javascripts/syntaxhighlighter/shBrushSass.js 1;" F
+shBrushScala.js guides/assets/javascripts/syntaxhighlighter/shBrushScala.js 1;" F
+shBrushSql.js guides/assets/javascripts/syntaxhighlighter/shBrushSql.js 1;" F
+shBrushVb.js guides/assets/javascripts/syntaxhighlighter/shBrushVb.js 1;" F
+shBrushXml.js guides/assets/javascripts/syntaxhighlighter/shBrushXml.js 1;" F
+shCore.js guides/assets/javascripts/syntaxhighlighter/shCore.js 1;" F
+shared_generator_tests.rb test/generators/shared_generator_tests.rb 1;" F
+shared_tests.rb test/railties/shared_tests.rb 1;" F
+show lib/rails/generators/rails/scaffold_controller/templates/controller.rb /^ def show$/;" f
+show test/railties/engine_test.rb /^ def show$/;" f class:Bukkits
+show_deprecation lib/rails/generators/rails/plugin/plugin_generator.rb /^ def show_deprecation$/;" f class:Rails.Generators.PluginGenerator
+show_results guides/w3c_validator.rb /^ def show_results(error_list)$/;" f class:RailsGuides.Validator
+simple_builder.rb test/fixtures/lib/app_builders/simple_builder.rb 1;" F
+simple_builder.rb test/fixtures/lib/plugin_builders/simple_builder.rb 1;" F
+simple_controller test/application/middleware/cache_test.rb /^ def simple_controller$/;" f class:ApplicationTests.RoutingTest
+simple_controller test/isolation/abstract_unit.rb /^ def simple_controller$/;" f
+singular_table_name lib/rails/generators/named_base.rb /^ def singular_table_name$/;" f class:Rails.Generators
+skip_ lib/rails/paths.rb /^ def skip_#{m}!$/;" f class:Rails.Paths.Path
+skip_test_unit? test/fixtures/lib/plugin_builders/spec_builder.rb /^ def skip_test_unit?$/;" f class:PluginBuilder
+something test/railties/engine_test.rb /^ def something$/;" f class:SomeHelper
+source_annotation_extractor.rb lib/rails/source_annotation_extractor.rb 1;" F
+source_root lib/rails/generators/base.rb /^ def self.source_root(path=nil)$/;" F class:Rails.Generators.Base
+spec_builder.rb test/fixtures/lib/plugin_builders/spec_builder.rb 1;" F
+split_args lib/rails/commands/plugin.rb /^ def split_args(args)$/;" f class:Commands.Plugin
+start lib/rails/commands/console.rb /^ def self.start(app)$/;" F class:Rails.Console
+start lib/rails/commands/console.rb /^ def start$/;" f class:Rails.Console
+start lib/rails/commands/dbconsole.rb /^ def self.start(app)$/;" F class:Rails.DBConsole
+start lib/rails/commands/dbconsole.rb /^ def start$/;" f class:Rails.DBConsole
+start lib/rails/commands/server.rb /^ def start$/;" f class:Rails.Server
+static.rb lib/rails/rack/static.rb 1;" F
+static_asset_paths lib/rails/railtie/configuration.rb /^ def static_asset_paths$/;" f class:Rails.Railtie.Configuration
+stringify lib/rails/generators/rails/app/templates/public/javascripts/prototype.js /^ function stringify(object) {$/;" f
+stringify tmp/app/public/javascripts/prototype.js /^ function stringify(object) {$/;" f
+stringify tmp/app_template/public/javascripts/prototype.js /^ function stringify(object) {$/;" f
+stylesheets lib/rails/generators/rails/app/app_generator.rb /^ def stylesheets$/;" f
+stylesheets lib/rails/generators/rails/plugin_new/plugin_new_generator.rb /^ def stylesheets$/;" f class:Rails.PluginBuilder
+stylesheets_generator.rb lib/rails/generators/rails/stylesheets/stylesheets_generator.rb 1;" F
+stylesheets_generator_test.rb test/generators/stylesheets_generator_test.rb 1;" F
+subclasses lib/rails/generators.rb /^ def self.subclasses$/;" F class:Rails.Generators
+subclasses lib/rails/railtie.rb /^ def subclasses$/;" f class:Rails.Railtie
+submitBubbles lib/rails/generators/rails/app/templates/public/javascripts/prototype_ujs.js /^ var submitBubbles = isEventSupported('submit'),$/;" v
+submitBubbles tmp/app/public/javascripts/rails.js /^ var submitBubbles = isEventSupported('submit'),$/;" v
+submitBubbles tmp/app_template/public/javascripts/rails.js /^ var submitBubbles = isEventSupported('submit'),$/;" v
+svn_command lib/rails/commands/plugin.rb /^ def svn_command(cmd, options = {})$/;" f
+svn_info test/rails_info_test.rb /^ def svn_info$/;" f class:InfoTest.svn_info=
+svn_info= test/rails_info_test.rb /^ def svn_info=(info)$/;" f class:InfoTest
+svn_url? lib/rails/commands/plugin.rb /^ def svn_url?$/;" f class:Plugin
+swap lib/rails/configuration.rb /^ def swap(*args, &block)$/;" f class:Rails.Configuration.MiddlewareStackProxy
+table_name lib/rails/generators/named_base.rb /^ def table_name$/;" f class:Rails.Generators
+table_name_prefix test/railties/engine_test.rb /^ def self.table_name_prefix$/;" F class:Bukkits
+tail! lib/rails/rack/log_tailer.rb /^ def tail!$/;" f class:Rails.Rack.LogTailer
+tasks.rb lib/rails/tasks.rb 1;" F
+teardown test/application/configuration_test.rb /^ def teardown$/;" f class:ApplicationTests.ConfigurationTest
+teardown test/generators/actions_test.rb /^ def teardown$/;" f class:ActionsTest
+teardown test/generators/namespaced_generators_test.rb /^ def teardown$/;" f class:NamespacedGeneratorTestCase
+teardown test/generators/shared_generator_tests.rb /^ def teardown$/;" f class:SharedCustomGeneratorTests
+teardown test/generators/shared_generator_tests.rb /^ def teardown$/;" f class:SharedGeneratorTests
+teardown test/generators_test.rb /^ def teardown$/;" f class:GeneratorsTest
+template lib/rails/generators/named_base.rb /^ def template(source, *args, &block)$/;" f class:Rails.Generators.NamedBase
+template.rb test/fixtures/lib/template.rb 1;" F
+templates_path lib/rails/generators.rb /^ def self.templates_path$/;" F class:Rails.Generators
+test lib/rails/generators/rails/app/app_generator.rb /^ def test$/;" f
+test lib/rails/generators/rails/plugin_new/plugin_new_generator.rb /^ def test$/;" f class:Rails.PluginBuilder
+test test/fixtures/lib/plugin_builders/spec_builder.rb /^ def test$/;" f class:PluginBuilder
+test.rb tmp/app_template/config/environments/test.rb 1;" F
+test_access_to_helpers test/application/console_test.rb /^ def test_access_to_helpers$/;" f class:ConsoleTest
+test_actions_are_turned_into_methods test/generators/controller_generator_test.rb /^ def test_actions_are_turned_into_methods$/;" f class:ControllerGeneratorTest
+test_actions_are_turned_into_methods test/generators/mailer_generator_test.rb /^ def test_actions_are_turned_into_methods$/;" f
+test_active_record_does_not_panic_when_referencing_an_observed_constant test/application/console_test.rb /^ def test_active_record_does_not_panic_when_referencing_an_observed_constant$/;" f class:ConsoleTest
+test_active_record_is_removed_from_frameworks_if_skip_active_record_is_given test/generators/app_generator_test.rb /^ def test_active_record_is_removed_from_frameworks_if_skip_active_record_is_given$/;" f
+test_active_record_is_removed_from_frameworks_if_skip_active_record_is_given test/generators/plugin_new_generator_test.rb /^ def test_active_record_is_removed_from_frameworks_if_skip_active_record_is_given$/;" f class:PluginNewGeneratorTest
+test_add_migration_with_attributes test/generators/migration_generator_test.rb /^ def test_add_migration_with_attributes$/;" f class:MigrationGeneratorTest
+test_add_routes test/generators/controller_generator_test.rb /^ def test_add_routes$/;" f class:ControllerGeneratorTest
+test_add_source_adds_source_to_gemfile test/generators/actions_test.rb /^ def test_add_source_adds_source_to_gemfile$/;" f class:ActionsTest
+test_adds_helpers_to_controller_views test/railties/shared_tests.rb /^ def test_adds_helpers_to_controller_views$/;" f class:RailtiesTest
+test_adds_its_views_to_view_paths test/railties/shared_tests.rb /^ def test_adds_its_views_to_view_paths$/;" f class:RailtiesTest
+test_adds_its_views_to_view_paths_with_lower_proriority_than_app_ones test/railties/shared_tests.rb /^ def test_adds_its_views_to_view_paths_with_lower_proriority_than_app_ones$/;" f class:RailtiesTest
+test_adds_namespace_to_model test/generators/namespaced_generators_test.rb /^ def test_adds_namespace_to_model$/;" f class:NamespacedModelGeneratorTest
+test_app_method_should_return_integration_session test/application/console_test.rb /^ def test_app_method_should_return_integration_session$/;" f class:ConsoleTest
+test_application_controller_and_layout_files test/generators/app_generator_test.rb /^ def test_application_controller_and_layout_files$/;" f class:AppGeneratorTest
+test_application_name test/generators/named_base_test.rb /^ def test_application_name$/;" f class:NamedBaseTest
+test_application_name_is_detected_if_it_exists_and_app_folder_renamed test/generators/app_generator_test.rb /^ def test_application_name_is_detected_if_it_exists_and_app_folder_renamed$/;" f class:AppGeneratorTest
+test_application_names_are_not_singularized test/generators/app_generator_test.rb /^ def test_application_names_are_not_singularized$/;" f class:AppGeneratorTest
+test_autoload_any_path_under_app test/railties/shared_tests.rb /^ def test_autoload_any_path_under_app$/;" f class:RailtiesTest
+test_being_quiet_while_creating_dummy_application test/generators/plugin_new_generator_test.rb /^ def test_being_quiet_while_creating_dummy_application$/;" f class:PluginNewGeneratorTest
+test_builder_option_with_empty_app_builder test/generators/shared_generator_tests.rb /^ def test_builder_option_with_empty_app_builder$/;" f class:SharedCustomGeneratorTests
+test_builder_option_with_http test/generators/shared_generator_tests.rb /^ def test_builder_option_with_http$/;" f class:SharedCustomGeneratorTests
+test_builder_option_with_relative_path test/generators/shared_generator_tests.rb /^ def test_builder_option_with_relative_path$/;" f class:SharedCustomGeneratorTests
+test_builder_option_with_simple_plugin_builder test/generators/shared_generator_tests.rb /^ def test_builder_option_with_simple_plugin_builder$/;" f class:SharedCustomGeneratorTests
+test_builder_option_with_tweak_plugin_builder test/generators/shared_generator_tests.rb /^ def test_builder_option_with_tweak_plugin_builder$/;" f class:SharedCustomGeneratorTests
+test_cache_is_disabled_in_dev_mode test/application/middleware/cache_test.rb /^ def test_cache_is_disabled_in_dev_mode$/;" f class:ApplicationTests.RoutingTest
+test_cache_works_with_etags test/application/middleware/cache_test.rb /^ def test_cache_works_with_etags$/;" f class:ApplicationTests.RoutingTest
+test_cache_works_with_etags_private test/application/middleware/cache_test.rb /^ def test_cache_works_with_etags_private$/;" f class:ApplicationTests.RoutingTest
+test_cache_works_with_expires test/application/middleware/cache_test.rb /^ def test_cache_works_with_expires$/;" f class:ApplicationTests.RoutingTest
+test_cache_works_with_expires_private test/application/middleware/cache_test.rb /^ def test_cache_works_with_expires_private$/;" f class:ApplicationTests.RoutingTest
+test_cache_works_with_last_modified test/application/middleware/cache_test.rb /^ def test_cache_works_with_last_modified$/;" f class:ApplicationTests.RoutingTest
+test_cache_works_with_last_modified_private test/application/middleware/cache_test.rb /^ def test_cache_works_with_last_modified_private$/;" f class:ApplicationTests.RoutingTest
+test_capify_should_run_the_capify_command test/generators/actions_test.rb /^ def test_capify_should_run_the_capify_command$/;" f class:ActionsTest
+test_case.rb lib/rails/generators/test_case.rb 1;" F
+test_check_class_collision test/generators/controller_generator_test.rb /^ def test_check_class_collision$/;" f class:ControllerGeneratorTest
+test_check_class_collision test/generators/helper_generator_test.rb /^ def test_check_class_collision$/;" f class:HelperGeneratorTest
+test_check_class_collision test/generators/mailer_generator_test.rb /^ def test_check_class_collision$/;" f
+test_check_class_collision test/generators/model_generator_test.rb /^ def test_check_class_collision$/;" f
+test_check_class_collision test/generators/plugin_generator_test.rb /^ def test_check_class_collision$/;" f class:PluginGeneratorTest
+test_check_class_collision_on_tests test/generators/helper_generator_test.rb /^ def test_check_class_collision_on_tests$/;" f class:HelperGeneratorTest
+test_code_statistics_sanity test/application/rake_test.rb /^ def test_code_statistics_sanity$/;" f class:ApplicationTests
+test_config_another_database test/generators/app_generator_test.rb /^ def test_config_another_database$/;" f class:AppGeneratorTest
+test_config_another_database test/generators/plugin_new_generator_test.rb /^ def test_config_another_database$/;" f class:PluginNewGeneratorTest
+test_config_database_is_added_by_default test/generators/app_generator_test.rb /^ def test_config_database_is_added_by_default$/;" f class:AppGeneratorTest
+test_config_jquery_javascript_library test/generators/app_generator_test.rb /^ def test_config_jquery_javascript_library$/;" f
+test_config_prototype_javascript_library test/generators/app_generator_test.rb /^ def test_config_prototype_javascript_library$/;" f
+test_constants_in_app_are_autoloaded test/application/loading_test.rb /^ def test_constants_in_app_are_autoloaded$/;" f class:LoadingTest
+test_controller_skeleton_is_created test/generators/controller_generator_test.rb /^ def test_controller_skeleton_is_created$/;" f class:ControllerGeneratorTest
+test_controller_skeleton_is_created test/generators/scaffold_controller_generator_test.rb /^ def test_controller_skeleton_is_created$/;" f class:ScaffoldControllerGeneratorTest
+test_copy_stylesheets test/generators/stylesheets_generator_test.rb /^ def test_copy_stylesheets$/;" f class:StylesheetsGeneratorTest
+test_copying_assets test/railties/shared_tests.rb /^ def test_copying_assets$/;" f class:RailtiesTest.SharedTests
+test_copying_migrations test/railties/shared_tests.rb /^ def test_copying_migrations$/;" f class:RailtiesTest.SharedTests
+test_create_file_should_write_block_contents_to_file_path test/generators/actions_test.rb /^ def test_create_file_should_write_block_contents_to_file_path$/;" f class:ActionsTest
+test_create_file_should_write_data_to_file_path test/generators/actions_test.rb /^ def test_create_file_should_write_data_to_file_path$/;" f class:ActionsTest
+test_create_mountable_application_with_mountable_option test/generators/plugin_new_generator_test.rb /^ def test_create_mountable_application_with_mountable_option$/;" f class:PluginNewGeneratorTest
+test_creates_generator_if_required test/generators/plugin_generator_test.rb /^ def test_creates_generator_if_required$/;" f class:PluginGeneratorTest
+test_creates_tasks_if_required test/generators/plugin_generator_test.rb /^ def test_creates_tasks_if_required$/;" f class:PluginGeneratorTest
+test_creating_engine_in_full_mode test/generators/plugin_new_generator_test.rb /^ def test_creating_engine_in_full_mode$/;" f class:PluginNewGeneratorTest
+test_customized_orm_is_used test/generators/scaffold_controller_generator_test.rb /^ def test_customized_orm_is_used$/;" f
+test_database_entry_is_assed_by_default_in_full_mode test/generators/plugin_new_generator_test.rb /^ def test_database_entry_is_assed_by_default_in_full_mode$/;" f class:PluginNewGeneratorTest
+test_default_banner_should_not_show_rails_generator_namespace test/generators_test.rb /^ def test_default_banner_should_not_show_rails_generator_namespace$/;" f class:GeneratorsTest
+test_default_banner_should_show_generator_namespace test/generators_test.rb /^ def test_default_banner_should_show_generator_namespace$/;" f class:GeneratorsTest
+test_default_namespace test/generators/app_generator_test.rb /^ def test_default_namespace$/;" f
+test_default_orm_is_used test/generators/scaffold_controller_generator_test.rb /^ def test_default_orm_is_used$/;" f
+test_default_usage test/generators/app_generator_test.rb /^ def test_default_usage$/;" f
+test_default_value_is_boolean test/generators/generated_attribute_test.rb /^ def test_default_value_is_boolean$/;" f class:GeneratedAttributeTest
+test_default_value_is_date test/generators/generated_attribute_test.rb /^ def test_default_value_is_date$/;" f class:GeneratedAttributeTest
+test_default_value_is_datetime test/generators/generated_attribute_test.rb /^ def test_default_value_is_datetime$/;" f class:GeneratedAttributeTest
+test_default_value_is_decimal test/generators/generated_attribute_test.rb /^ def test_default_value_is_decimal$/;" f class:GeneratedAttributeTest
+test_default_value_is_empty_string test/generators/generated_attribute_test.rb /^ def test_default_value_is_empty_string$/;" f class:GeneratedAttributeTest
+test_default_value_is_float test/generators/generated_attribute_test.rb /^ def test_default_value_is_float$/;" f class:GeneratedAttributeTest
+test_default_value_is_integer test/generators/generated_attribute_test.rb /^ def test_default_value_is_integer$/;" f class:GeneratedAttributeTest
+test_default_value_is_nil test/generators/generated_attribute_test.rb /^ def test_default_value_is_nil$/;" f class:GeneratedAttributeTest
+test_default_value_is_string test/generators/generated_attribute_test.rb /^ def test_default_value_is_string$/;" f class:GeneratedAttributeTest
+test_default_value_is_text test/generators/generated_attribute_test.rb /^ def test_default_value_is_text$/;" f class:GeneratedAttributeTest
+test_deprecation test/generators/plugin_generator_test.rb /^ def test_deprecation$/;" f class:PluginGeneratorTest
+test_descendants_are_cleaned_on_each_request_without_cache_classes test/application/loading_test.rb /^ def test_descendants_are_cleaned_on_each_request_without_cache_classes$/;" f
+test_dev_option test/generators/shared_generator_tests.rb /^ def test_dev_option$/;" f class:SharedGeneratorTests
+test_developer_options_are_overwriten_by_user_options test/generators_test.rb /^ def test_developer_options_are_overwriten_by_user_options$/;" f class:GeneratorsTest
+test_does_not_invoke_helper_if_required test/generators/controller_generator_test.rb /^ def test_does_not_invoke_helper_if_required$/;" f class:ControllerGeneratorTest
+test_does_not_invoke_test_framework_if_required test/generators/controller_generator_test.rb /^ def test_does_not_invoke_test_framework_if_required$/;" f class:ControllerGeneratorTest
+test_dummy_clean lib/rails/generators/rails/plugin_new/plugin_new_generator.rb /^ def test_dummy_clean$/;" f class:Rails.PluginBuilder
+test_dummy_config lib/rails/generators/rails/plugin_new/plugin_new_generator.rb /^ def test_dummy_config$/;" f class:Rails.PluginBuilder
+test_edge_option test/generators/shared_generator_tests.rb /^ def test_edge_option$/;" f class:SharedGeneratorTests
+test_ensure_that_database_option_is_passed_to_app_generator test/generators/plugin_new_generator_test.rb /^ def test_ensure_that_database_option_is_passed_to_app_generator$/;" f class:PluginNewGeneratorTest
+test_ensure_that_javascript_option_is_passed_to_app_generator test/generators/plugin_new_generator_test.rb /^ def test_ensure_that_javascript_option_is_passed_to_app_generator$/;" f class:PluginNewGeneratorTest
+test_ensure_that_plugin_options_are_not_passed_to_app_generator test/generators/plugin_new_generator_test.rb /^ def test_ensure_that_plugin_options_are_not_passed_to_app_generator$/;" f class:PluginNewGeneratorTest
+test_ensure_that_skip_active_record_option_is_passed_to_app_generator test/generators/plugin_new_generator_test.rb /^ def test_ensure_that_skip_active_record_option_is_passed_to_app_generator$/;" f class:PluginNewGeneratorTest
+test_ensure_that_skip_javascript_option_is_passed_to_app_generator test/generators/plugin_new_generator_test.rb /^ def test_ensure_that_skip_javascript_option_is_passed_to_app_generator$/;" f class:PluginNewGeneratorTest
+test_ensure_that_test_dummy_can_be_generated_from_a_template test/generators/plugin_new_generator_test.rb /^ def test_ensure_that_test_dummy_can_be_generated_from_a_template$/;" f class:PluginNewGeneratorTest
+test_ensure_that_tests_works test/generators/plugin_new_generator_test.rb /^ def test_ensure_that_tests_works$/;" f class:PluginNewGeneratorTest
+test_ensure_that_tests_works_in_full_mode test/generators/plugin_new_generator_test.rb /^ def test_ensure_that_tests_works_in_full_mode$/;" f class:PluginNewGeneratorTest
+test_environment_is_required_in_rake_tasks test/application/rake_test.rb /^ def test_environment_is_required_in_rake_tasks$/;" f class:ApplicationTests.RakeTest
+test_environment_should_include_data_in_environment_initializer_block test/generators/actions_test.rb /^ def test_environment_should_include_data_in_environment_initializer_block$/;" f class:ActionsTest
+test_environment_with_block_should_include_block_contents_in_environment_initializer_block test/generators/actions_test.rb /^ def test_environment_with_block_should_include_block_contents_in_environment_initializer_block$/;" f class:ActionsTest
+test_existing_migration_is_removed_on_force test/generators/model_generator_test.rb /^ def test_existing_migration_is_removed_on_force$/;" f
+test_fallbacks_for_generators_on_find_by_namespace test/generators_test.rb /^ def test_fallbacks_for_generators_on_find_by_namespace$/;" f class:GeneratorsTest
+test_fallbacks_for_generators_on_find_by_namespace_with_context test/generators_test.rb /^ def test_fallbacks_for_generators_on_find_by_namespace_with_context$/;" f class:GeneratorsTest
+test_fallbacks_for_generators_on_invoke test/generators_test.rb /^ def test_fallbacks_for_generators_on_invoke$/;" f class:GeneratorsTest
+test_field_type_returns_check_box test/generators/generated_attribute_test.rb /^ def test_field_type_returns_check_box$/;" f class:GeneratedAttributeTest
+test_field_type_returns_date_select test/generators/generated_attribute_test.rb /^ def test_field_type_returns_date_select$/;" f class:GeneratedAttributeTest
+test_field_type_returns_datetime_select test/generators/generated_attribute_test.rb /^ def test_field_type_returns_datetime_select$/;" f class:GeneratedAttributeTest
+test_field_type_returns_text_area test/generators/generated_attribute_test.rb /^ def test_field_type_returns_text_area$/;" f class:GeneratedAttributeTest
+test_field_type_returns_text_field test/generators/generated_attribute_test.rb /^ def test_field_type_returns_text_field$/;" f class:GeneratedAttributeTest
+test_field_type_returns_time_select test/generators/generated_attribute_test.rb /^ def test_field_type_returns_time_select$/;" f class:GeneratedAttributeTest
+test_field_type_with_unknown_type_returns_text_field test/generators/generated_attribute_test.rb /^ def test_field_type_with_unknown_type_returns_text_field$/;" f class:GeneratedAttributeTest
+test_file_is_added_for_backwards_compatibility test/generators/app_generator_test.rb /^ def test_file_is_added_for_backwards_compatibility$/;" f
+test_files_from_inherited_invocation test/generators/resource_generator_test.rb /^ def test_files_from_inherited_invocation$/;" f class:ResourceGeneratorTest
+test_find_by_namespace test/generators_test.rb /^ def test_find_by_namespace$/;" f class:GeneratorsTest
+test_find_by_namespace_in_subfolder test/generators_test.rb /^ def test_find_by_namespace_in_subfolder$/;" f class:GeneratorsTest
+test_find_by_namespace_show_warning_if_generator_cant_be_loaded test/generators_test.rb /^ def test_find_by_namespace_show_warning_if_generator_cant_be_loaded$/;" f class:GeneratorsTest
+test_find_by_namespace_with_base test/generators_test.rb /^ def test_find_by_namespace_with_base$/;" f class:GeneratorsTest
+test_find_by_namespace_with_context test/generators_test.rb /^ def test_find_by_namespace_with_context$/;" f class:GeneratorsTest
+test_find_by_namespace_with_duplicated_name test/generators_test.rb /^ def test_find_by_namespace_with_duplicated_name$/;" f class:GeneratorsTest
+test_find_by_namespace_with_generator_on_root test/generators_test.rb /^ def test_find_by_namespace_with_generator_on_root$/;" f class:GeneratorsTest
+test_find_by_namespace_without_base_or_context_looks_into_rails_namespace test/generators_test.rb /^ def test_find_by_namespace_without_base_or_context_looks_into_rails_namespace$/;" f class:GeneratorsTest
+test_fixture_is_skipped test/generators/model_generator_test.rb /^ def test_fixture_is_skipped$/;" f
+test_fixture_is_skipped_if_fixture_replacement_is_given test/generators/model_generator_test.rb /^ def test_fixture_is_skipped_if_fixture_replacement_is_given$/;" f
+test_framework_version test/rails_info_test.rb /^ def test_framework_version$/;" f class:InfoTest
+test_frameworks_exist test/rails_info_test.rb /^ def test_frameworks_exist$/;" f class:InfoTest
+test_functional_tests test/generators/scaffold_controller_generator_test.rb /^ def test_functional_tests$/;" f
+test_gem_should_insert_on_separate_lines test/generators/actions_test.rb /^ def test_gem_should_insert_on_separate_lines$/;" f class:ActionsTest
+test_gem_should_put_gem_dependency_in_gemfile test/generators/actions_test.rb /^ def test_gem_should_put_gem_dependency_in_gemfile$/;" f class:ActionsTest
+test_gem_with_version_should_include_version_in_gemfile test/generators/actions_test.rb /^ def test_gem_with_version_should_include_version_in_gemfile$/;" f class:ActionsTest
+test_gems_tasks_are_loaded_first_than_application_ones test/application/rake_test.rb /^ def test_gems_tasks_are_loaded_first_than_application_ones$/;" f class:ApplicationTests.RakeTest
+test_generate_should_run_script_generate_with_argument_and_options test/generators/actions_test.rb /^ def test_generate_should_run_script_generate_with_argument_and_options$/;" f class:ActionsTest
+test_generating_test_files test/generators/plugin_new_generator_test.rb /^ def test_generating_test_files$/;" f class:PluginNewGeneratorTest
+test_generating_test_files_in_full_mode test/generators/plugin_new_generator_test.rb /^ def test_generating_test_files_in_full_mode$/;" f class:PluginNewGeneratorTest
+test_generator_if_skip_active_record_is_given test/generators/app_generator_test.rb /^ def test_generator_if_skip_active_record_is_given$/;" f class:AppGeneratorTest
+test_generator_skeleton_is_created test/generators/generator_generator_test.rb /^ def test_generator_skeleton_is_created$/;" f class:GeneratorGeneratorTest
+test_generator_skeleton_is_created_without_file_name_namespace test/generators/generator_generator_test.rb /^ def test_generator_skeleton_is_created_without_file_name_namespace$/;" f class:GeneratorGeneratorTest
+test_git_with_hash_should_run_each_command_using_git_scm test/generators/actions_test.rb /^ def test_git_with_hash_should_run_each_command_using_git_scm$/;" f class:ActionsTest
+test_git_with_symbol_should_run_command_using_git_scm test/generators/actions_test.rb /^ def test_git_with_symbol_should_run_command_using_git_scm$/;" f class:ActionsTest
+test_help.rb lib/rails/test_help.rb 1;" F
+test_help_does_not_show_invoked_generators_options_if_they_already_exist test/generators/controller_generator_test.rb /^ def test_help_does_not_show_invoked_generators_options_if_they_already_exist$/;" f class:ControllerGeneratorTest
+test_help_shows_invoked_generators_options test/generators/model_generator_test.rb /^ def test_help_shows_invoked_generators_options$/;" f class:ModelGeneratorTest
+test_help_when_a_generator_with_required_arguments_is_invoked_without_arguments test/generators_test.rb /^ def test_help_when_a_generator_with_required_arguments_is_invoked_without_arguments$/;" f class:GeneratorsTest
+test_help_with_inherited_options test/generators/resource_generator_test.rb /^ def test_help_with_inherited_options$/;" f class:ResourceGeneratorTest
+test_helper.rb lib/rails/generators/rails/plugin_new/templates/test/test_helper.rb 1;" F
+test_helper.rb lib/rails/generators/test_unit/plugin/templates/test_helper.rb 1;" F
+test_helper.rb tmp/app/test/test_helper.rb 1;" F
+test_helper.rb tmp/app_template/test/test_helper.rb 1;" F
+test_helper_are_invoked_with_a_pluralized_name test/generators/scaffold_controller_generator_test.rb /^ def test_helper_are_invoked_with_a_pluralized_name$/;" f
+test_helper_skeleton_is_created test/generators/helper_generator_test.rb /^ def test_helper_skeleton_is_created$/;" f class:HelperGeneratorTest
+test_helpr_is_also_namespaced test/generators/namespaced_generators_test.rb /^ def test_helpr_is_also_namespaced$/;" f class:NamespacedControllerGeneratorTest
+test_homepage lib/rails/generators/rails/app/templates/test/performance/browsing_test.rb /^ def test_homepage$/;" f class:BrowsingTest
+test_homepage lib/rails/generators/test_unit/performance/templates/performance_test.rb /^ def test_homepage$/;" f
+test_homepage tmp/app/test/performance/browsing_test.rb /^ def test_homepage$/;" f class:BrowsingTest
+test_homepage tmp/app_template/test/performance/browsing_test.rb /^ def test_homepage$/;" f class:BrowsingTest
+test_html_includes_middleware test/rails_info_test.rb /^ def test_html_includes_middleware$/;" f class:InfoTest
+test_human_name test/generators/generated_attribute_test.rb /^ def test_human_name$/;" f class:GeneratedAttributeTest
+test_i18n_files_have_lower_priority_than_application_ones test/railties/shared_tests.rb /^ def test_i18n_files_have_lower_priority_than_application_ones$/;" f class:RailtiesTest
+test_index test/application/test_test.rb /^ def test_index$/;" f class:PostsTest
+test_index_helper test/generators/named_base_test.rb /^ def test_index_helper$/;" f class:NamedBaseTest
+test_index_helper_with_uncountable test/generators/named_base_test.rb /^ def test_index_helper_with_uncountable$/;" f class:NamedBaseTest
+test_inherited_invocations_with_attributes test/generators/resource_generator_test.rb /^ def test_inherited_invocations_with_attributes$/;" f class:ResourceGeneratorTest
+test_initializer_should_write_date_to_file_in_config_initializers test/generators/actions_test.rb /^ def test_initializer_should_write_date_to_file_in_config_initializers$/;" f class:ActionsTest
+test_initializers test/railties/shared_tests.rb /^ def test_initializers$/;" f class:RailtiesTest
+test_initializers_are_executed_in_rake_tasks test/application/rake_test.rb /^ def test_initializers_are_executed_in_rake_tasks$/;" f class:ApplicationTests.RakeTest
+test_install_migrations_and_assets test/railties/shared_tests.rb /^ def test_install_migrations_and_assets$/;" f class:RailtiesTest.SharedTests
+test_integration_test_skeleton_is_created test/generators/integration_test_generator_test.rb /^ def test_integration_test_skeleton_is_created$/;" f class:IntegrationTestGeneratorTest
+test_invalid_application_name_is_fixed test/generators/app_generator_test.rb /^ def test_invalid_application_name_is_fixed$/;" f class:AppGeneratorTest
+test_invalid_application_name_raises_an_error test/generators/app_generator_test.rb /^ def test_invalid_application_name_raises_an_error$/;" f class:AppGeneratorTest
+test_invalid_database_option_raises_an_error test/generators/shared_generator_tests.rb /^ def test_invalid_database_option_raises_an_error$/;" f class:SharedGeneratorTests
+test_invalid_plugin_name_is_fixed test/generators/plugin_new_generator_test.rb /^ def test_invalid_plugin_name_is_fixed$/;" f class:PluginNewGeneratorTest
+test_invalid_plugin_name_raises_an_error test/generators/plugin_new_generator_test.rb /^ def test_invalid_plugin_name_raises_an_error$/;" f class:PluginNewGeneratorTest
+test_invoke_other_generator_with_full_namespace test/generators/actions_test.rb /^ def test_invoke_other_generator_with_full_namespace$/;" f class:ActionsTest
+test_invoke_other_generator_with_shortcut test/generators/actions_test.rb /^ def test_invoke_other_generator_with_shortcut$/;" f class:ActionsTest
+test_invoke_when_generator_is_not_found test/generators_test.rb /^ def test_invoke_when_generator_is_not_found$/;" f class:GeneratorsTest
+test_invoke_with_config_values test/generators_test.rb /^ def test_invoke_with_config_values$/;" f class:GeneratorsTest
+test_invoke_with_default_values test/generators_test.rb /^ def test_invoke_with_default_values$/;" f class:GeneratorsTest
+test_invoke_with_nested_namespaces test/generators_test.rb /^ def test_invoke_with_nested_namespaces$/;" f class:GeneratorsTest
+test_invokes_default_orm test/generators/model_generator_test.rb /^ def test_invokes_default_orm$/;" f class:ModelGeneratorTest
+test_invokes_default_orm test/generators/namespaced_generators_test.rb /^ def test_invokes_default_orm$/;" f class:NamespacedObserverGeneratorTest
+test_invokes_default_orm test/generators/observer_generator_test.rb /^ def test_invokes_default_orm$/;" f class:ObserverGeneratorTest
+test_invokes_default_orm_with_class_path test/generators/namespaced_generators_test.rb /^ def test_invokes_default_orm_with_class_path$/;" f class:NamespacedObserverGeneratorTest
+test_invokes_default_orm_with_class_path test/generators/observer_generator_test.rb /^ def test_invokes_default_orm_with_class_path$/;" f class:ObserverGeneratorTest
+test_invokes_default_template_engine test/generators/controller_generator_test.rb /^ def test_invokes_default_template_engine$/;" f class:ControllerGeneratorTest
+test_invokes_default_template_engine test/generators/mailer_generator_test.rb /^ def test_invokes_default_template_engine$/;" f
+test_invokes_default_template_engine test/generators/namespaced_generators_test.rb /^ def test_invokes_default_template_engine$/;" f
+test_invokes_default_template_engine test/generators/namespaced_generators_test.rb /^ def test_invokes_default_template_engine$/;" f class:NamespacedControllerGeneratorTest
+test_invokes_default_template_engine_even_with_no_action test/generators/controller_generator_test.rb /^ def test_invokes_default_template_engine_even_with_no_action$/;" f class:ControllerGeneratorTest
+test_invokes_default_template_engine_even_with_no_action test/generators/mailer_generator_test.rb /^ def test_invokes_default_template_engine_even_with_no_action$/;" f
+test_invokes_default_template_engine_even_with_no_action test/generators/namespaced_generators_test.rb /^ def test_invokes_default_template_engine_even_with_no_action$/;" f
+test_invokes_default_template_engine_even_with_no_action test/generators/namespaced_generators_test.rb /^ def test_invokes_default_template_engine_even_with_no_action$/;" f class:NamespacedControllerGeneratorTest
+test_invokes_default_test_framework test/generators/controller_generator_test.rb /^ def test_invokes_default_test_framework$/;" f class:ControllerGeneratorTest
+test_invokes_default_test_framework test/generators/helper_generator_test.rb /^ def test_invokes_default_test_framework$/;" f class:HelperGeneratorTest
+test_invokes_default_test_framework test/generators/mailer_generator_test.rb /^ def test_invokes_default_test_framework$/;" f
+test_invokes_default_test_framework test/generators/model_generator_test.rb /^ def test_invokes_default_test_framework$/;" f
+test_invokes_default_test_framework test/generators/namespaced_generators_test.rb /^ def test_invokes_default_test_framework$/;" f
+test_invokes_default_test_framework test/generators/namespaced_generators_test.rb /^ def test_invokes_default_test_framework$/;" f class:NamespacedControllerGeneratorTest
+test_invokes_default_test_framework test/generators/namespaced_generators_test.rb /^ def test_invokes_default_test_framework$/;" f class:NamespacedModelGeneratorTest
+test_invokes_default_test_framework test/generators/namespaced_generators_test.rb /^ def test_invokes_default_test_framework$/;" f class:NamespacedObserverGeneratorTest
+test_invokes_default_test_framework test/generators/observer_generator_test.rb /^ def test_invokes_default_test_framework$/;" f class:ObserverGeneratorTest
+test_invokes_default_test_framework test/generators/plugin_generator_test.rb /^ def test_invokes_default_test_framework$/;" f class:PluginGeneratorTest
+test_invokes_helper test/generators/controller_generator_test.rb /^ def test_invokes_helper$/;" f class:ControllerGeneratorTest
+test_javascript_is_skipped_if_required test/generators/app_generator_test.rb /^ def test_javascript_is_skipped_if_required$/;" f
+test_javascripts_generation test/generators/plugin_new_generator_test.rb /^ def test_javascripts_generation$/;" f class:PluginNewGeneratorTest
+test_lib_should_write_data_to_file_in_lib test/generators/actions_test.rb /^ def test_lib_should_write_data_to_file_in_lib$/;" f class:ActionsTest
+test_load_generators_from_railties test/generators_test.rb /^ def test_load_generators_from_railties$/;" f class:GeneratorsTest
+test_logs_if_the_template_engine_cannot_be_found test/generators/mailer_generator_test.rb /^ def test_logs_if_the_template_engine_cannot_be_found$/;" f
+test_logs_if_the_test_framework_cannot_be_found test/generators/helper_generator_test.rb /^ def test_logs_if_the_test_framework_cannot_be_found$/;" f class:HelperGeneratorTest
+test_logs_if_the_test_framework_cannot_be_found test/generators/observer_generator_test.rb /^ def test_logs_if_the_test_framework_cannot_be_found$/;" f class:ObserverGeneratorTest
+test_logs_if_the_test_framework_cannot_be_found test/generators/plugin_generator_test.rb /^ def test_logs_if_the_test_framework_cannot_be_found$/;" f class:PluginGeneratorTest
+test_mailer_skeleton_is_created test/generators/mailer_generator_test.rb /^ def test_mailer_skeleton_is_created$/;" f class:MailerGeneratorTest
+test_mailer_skeleton_is_created test/generators/namespaced_generators_test.rb /^ def test_mailer_skeleton_is_created$/;" f class:NamespacedMailerGeneratorTest
+test_mailer_with_i18n_helper test/generators/mailer_generator_test.rb /^ def test_mailer_with_i18n_helper$/;" f
+test_mailer_with_i18n_helper test/generators/namespaced_generators_test.rb /^ def test_mailer_with_i18n_helper$/;" f
+test_mailer_with_namedspaced_mailer test/generators/mailer_generator_test.rb /^ def test_mailer_with_namedspaced_mailer$/;" f
+test_mass_nouns_do_not_throw_warnings test/generators/resource_generator_test.rb /^ def test_mass_nouns_do_not_throw_warnings$/;" f
+test_midleware_referenced_in_configuration test/railties/shared_tests.rb /^ def test_midleware_referenced_in_configuration$/;" f class:RailtiesTest
+test_migration test/generators/migration_generator_test.rb /^ def test_migration$/;" f class:MigrationGeneratorTest
+test_migration test/generators/model_generator_test.rb /^ def test_migration$/;" f class:ModelGeneratorTest
+test_migration test/generators/namespaced_generators_test.rb /^ def test_migration$/;" f class:NamespacedModelGeneratorTest
+test_migration_error_is_not_shown_on_revoke test/generators/model_generator_test.rb /^ def test_migration_error_is_not_shown_on_revoke$/;" f
+test_migration_is_ignored_as_identical_with_skip_option test/generators/model_generator_test.rb /^ def test_migration_is_ignored_as_identical_with_skip_option$/;" f
+test_migration_is_removed_on_revoke test/generators/model_generator_test.rb /^ def test_migration_is_removed_on_revoke$/;" f
+test_migration_is_skipped test/generators/model_generator_test.rb /^ def test_migration_is_skipped$/;" f class:ModelGeneratorTest
+test_migration_is_skipped_on_skip_behavior test/generators/model_generator_test.rb /^ def test_migration_is_skipped_on_skip_behavior$/;" f
+test_migration_is_skipped_with_skip_option test/generators/model_generator_test.rb /^ def test_migration_is_skipped_with_skip_option$/;" f
+test_migration_timestamps_are_skipped test/generators/model_generator_test.rb /^ def test_migration_timestamps_are_skipped$/;" f
+test_migration_with_attributes test/generators/model_generator_test.rb /^ def test_migration_with_attributes$/;" f class:ModelGeneratorTest
+test_migration_with_class_name test/generators/migration_generator_test.rb /^ def test_migration_with_class_name$/;" f class:MigrationGeneratorTest
+test_migration_with_namespace test/generators/model_generator_test.rb /^ def test_migration_with_namespace$/;" f class:ModelGeneratorTest
+test_migration_with_namespace test/generators/namespaced_generators_test.rb /^ def test_migration_with_namespace$/;" f class:NamespacedModelGeneratorTest
+test_migration_with_namespaces_in_model_name_without_plurization test/generators/model_generator_test.rb /^ def test_migration_with_namespaces_in_model_name_without_plurization$/;" f class:ModelGeneratorTest
+test_migration_with_nested_namespace test/generators/model_generator_test.rb /^ def test_migration_with_nested_namespace$/;" f class:ModelGeneratorTest
+test_migration_with_nested_namespace test/generators/namespaced_generators_test.rb /^ def test_migration_with_nested_namespace$/;" f class:NamespacedModelGeneratorTest
+test_migration_with_nested_namespace_without_pluralization test/generators/model_generator_test.rb /^ def test_migration_with_nested_namespace_without_pluralization$/;" f class:ModelGeneratorTest
+test_migration_with_nested_namespace_without_pluralization test/generators/namespaced_generators_test.rb /^ def test_migration_with_nested_namespace_without_pluralization$/;" f class:NamespacedModelGeneratorTest
+test_migration_with_timestamps test/generators/model_generator_test.rb /^ def test_migration_with_timestamps$/;" f
+test_migration_without_pluralization test/generators/model_generator_test.rb /^ def test_migration_without_pluralization$/;" f class:ModelGeneratorTest
+test_migration_without_timestamps test/generators/model_generator_test.rb /^ def test_migration_without_timestamps$/;" f
+test_migrations_generated_simultaneously test/generators/migration_generator_test.rb /^ def test_migrations_generated_simultaneously$/;" f class:MigrationGeneratorTest
+test_missing_type_raises_exception test/generators/generated_attribute_test.rb /^ def test_missing_type_raises_exception$/;" f class:GeneratedAttributeTest
+test_model_and_migration_generator_with_change_syntax test/application/rake_test.rb /^ def test_model_and_migration_generator_with_change_syntax$/;" f class:ApplicationTests
+test_model_with_belongs_to_attribute_generates_belongs_to_associations test/generators/model_generator_test.rb /^ def test_model_with_belongs_to_attribute_generates_belongs_to_associations$/;" f
+test_model_with_missing_attribute_type test/generators/model_generator_test.rb /^ def test_model_with_missing_attribute_type$/;" f class:ModelGeneratorTest
+test_model_with_namespace test/generators/model_generator_test.rb /^ def test_model_with_namespace$/;" f class:ModelGeneratorTest
+test_model_with_namespace test/generators/namespaced_generators_test.rb /^ def test_model_with_namespace$/;" f class:NamespacedModelGeneratorTest
+test_model_with_parent_option test/generators/model_generator_test.rb /^ def test_model_with_parent_option$/;" f class:ModelGeneratorTest
+test_model_with_references_attribute_generates_belongs_to_associations test/generators/model_generator_test.rb /^ def test_model_with_references_attribute_generates_belongs_to_associations$/;" f
+test_model_with_underscored_parent_option test/generators/model_generator_test.rb /^ def test_model_with_underscored_parent_option$/;" f class:ModelGeneratorTest
+test_models_without_table_do_not_panic_on_scope_definitions_when_loaded test/application/loading_test.rb /^ def test_models_without_table_do_not_panic_on_scope_definitions_when_loaded$/;" f class:LoadingTest
+test_module_file_is_not_created test/generators/namespaced_generators_test.rb /^ def test_module_file_is_not_created$/;" f class:NamespacedModelGeneratorTest
+test_name_collision_raises_an_error test/generators/shared_generator_tests.rb /^ def test_name_collision_raises_an_error$/;" f class:SharedGeneratorTests
+test_name_raises_an_error_if_name_already_used_constant test/generators/shared_generator_tests.rb /^ def test_name_raises_an_error_if_name_already_used_constant$/;" f class:SharedGeneratorTests
+test_named_generator_attributes test/generators/named_base_test.rb /^ def test_named_generator_attributes$/;" f class:NamedBaseTest
+test_named_generator_attributes_as_ruby test/generators/named_base_test.rb /^ def test_named_generator_attributes_as_ruby$/;" f class:NamedBaseTest
+test_named_generator_attributes_without_pluralized test/generators/named_base_test.rb /^ def test_named_generator_attributes_without_pluralized$/;" f class:NamedBaseTest
+test_named_generator_with_underscore test/generators/named_base_test.rb /^ def test_named_generator_with_underscore$/;" f class:NamedBaseTest
+test_namespaced_and_not_namespaced_helpers test/generators/helper_generator_test.rb /^ def test_namespaced_and_not_namespaced_helpers$/;" f class:HelperGeneratorTest
+test_namespaced_controller_skeleton_is_created test/generators/namespaced_generators_test.rb /^ def test_namespaced_controller_skeleton_is_created$/;" f class:NamespacedControllerGeneratorTest
+test_namespaced_controller_with_additional_namespace test/generators/namespaced_generators_test.rb /^ def test_namespaced_controller_with_additional_namespace$/;" f class:NamespacedControllerGeneratorTest
+test_namespaced_controllers_with_namespaced_routes test/railties/shared_tests.rb /^ def test_namespaced_controllers_with_namespaced_routes$/;" f class:RailtiesTest
+test_namespaced_generator_skeleton test/generators/generator_generator_test.rb /^ def test_namespaced_generator_skeleton$/;" f class:GeneratorGeneratorTest
+test_namespaced_generator_skeleton_without_file_name_namespace test/generators/generator_generator_test.rb /^ def test_namespaced_generator_skeleton_without_file_name_namespace$/;" f class:GeneratorGeneratorTest
+test_nested_fallbacks_for_generators test/generators_test.rb /^ def test_nested_fallbacks_for_generators$/;" f class:GeneratorsTest
+test_new_session_should_return_integration_session test/application/console_test.rb /^ def test_new_session_should_return_integration_session$/;" f class:ConsoleTest
+test_nil_type_raises_exception test/generators/generated_attribute_test.rb /^ def test_nil_type_raises_exception$/;" f class:GeneratedAttributeTest
+test_no_color_sets_proper_shell test/generators_test.rb /^ def test_no_color_sets_proper_shell$/;" f class:GeneratorsTest
+test_options_before_application_name_raises_an_error test/generators/shared_generator_tests.rb /^ def test_options_before_application_name_raises_an_error$/;" f class:SharedGeneratorTests
+test_overriding_test_framework test/generators/plugin_new_generator_test.rb /^ def test_overriding_test_framework$/;" f class:CustomPluginGeneratorTest
+test_passing_dummy_path_as_a_parameter test/generators/plugin_new_generator_test.rb /^ def test_passing_dummy_path_as_a_parameter$/;" f class:PluginNewGeneratorTest
+test_performance_test_skeleton_is_created test/generators/performance_test_generator_test.rb /^ def test_performance_test_skeleton_is_created$/;" f class:PerformanceTestGeneratorTest
+test_plugin_generator_on_revoke test/generators/plugin_generator_test.rb /^ def test_plugin_generator_on_revoke$/;" f class:PluginGeneratorTest
+test_plugin_new_generate_pretend test/generators/shared_generator_tests.rb /^ def test_plugin_new_generate_pretend$/;" f class:SharedGeneratorTests
+test_plugin_skeleton_is_created test/generators/plugin_generator_test.rb /^ def test_plugin_skeleton_is_created$/;" f class:PluginGeneratorTest
+test_plugin_with_git_option_and_branch_should_run_plugin_install test/generators/actions_test.rb /^ def test_plugin_with_git_option_and_branch_should_run_plugin_install$/;" f class:ActionsTest
+test_plugin_with_git_option_and_submodule_should_use_git_scm test/generators/actions_test.rb /^ def test_plugin_with_git_option_and_submodule_should_use_git_scm$/;" f class:ActionsTest
+test_plugin_with_git_option_should_run_plugin_install test/generators/actions_test.rb /^ def test_plugin_with_git_option_should_run_plugin_install$/;" f class:ActionsTest
+test_plugin_with_no_options_should_skip_method test/generators/actions_test.rb /^ def test_plugin_with_no_options_should_skip_method$/;" f class:ActionsTest
+test_plugin_with_svn_option_and_revision_should_run_plugin_install test/generators/actions_test.rb /^ def test_plugin_with_svn_option_and_revision_should_run_plugin_install$/;" f class:ActionsTest
+test_plugin_with_svn_option_should_run_plugin_install test/generators/actions_test.rb /^ def test_plugin_with_svn_option_should_run_plugin_install$/;" f class:ActionsTest
+test_plural_names_are_singularized test/generators/resource_generator_test.rb /^ def test_plural_names_are_singularized$/;" f
+test_plural_names_can_be_forced test/generators/resource_generator_test.rb /^ def test_plural_names_can_be_forced$/;" f
+test_property_with_block test/rails_info_test.rb /^ def test_property_with_block$/;" f class:InfoTest
+test_property_with_block_swallows_exceptions_and_ignores_property test/rails_info_test.rb /^ def test_property_with_block_swallows_exceptions_and_ignores_property$/;" f class:InfoTest
+test_property_with_string test/rails_info_test.rb /^ def test_property_with_string$/;" f class:InfoTest
+test_prototype_and_test_unit_are_added_by_default test/generators/app_generator_test.rb /^ def test_prototype_and_test_unit_are_added_by_default$/;" f
+test_puts_its_controllers_directory_on_autoload_path test/railties/shared_tests.rb /^ def test_puts_its_controllers_directory_on_autoload_path$/;" f class:RailtiesTest
+test_puts_its_lib_directory_on_load_path test/railties/shared_tests.rb /^ def test_puts_its_lib_directory_on_load_path$/;" f class:RailtiesTest
+test_puts_its_models_directory_on_autoload_path test/railties/shared_tests.rb /^ def test_puts_its_models_directory_on_autoload_path$/;" f class:RailtiesTest
+test_rails_generators_does_not_show_active_record_hooks test/generators_test.rb /^ def test_rails_generators_does_not_show_active_record_hooks$/;" f class:GeneratorsTest
+test_rails_generators_help_does_not_include_app_nor_plugin_new test/generators_test.rb /^ def test_rails_generators_help_does_not_include_app_nor_plugin_new$/;" f class:GeneratorsTest
+test_rails_generators_help_with_builtin_information test/generators_test.rb /^ def test_rails_generators_help_with_builtin_information$/;" f class:GeneratorsTest
+test_rails_generators_with_others_information test/generators_test.rb /^ def test_rails_generators_with_others_information$/;" f class:GeneratorsTest
+test_rails_root_templates test/generators_test.rb /^ def test_rails_root_templates$/;" f class:GeneratorsTest
+test_rails_update_generates_correct_session_key test/generators/app_generator_test.rb /^ def test_rails_update_generates_correct_session_key$/;" f class:AppGeneratorTest
+test_rake_routes_output_strips_anchors_from_http_verbs test/application/rake_test.rb /^ def test_rake_routes_output_strips_anchors_from_http_verbs$/;" f class:ApplicationTests
+test_rake_should_run_rake_command_with_development_env test/generators/actions_test.rb /^ def test_rake_should_run_rake_command_with_development_env$/;" f class:ActionsTest
+test_rake_tasks_lib_tasks_are_loaded test/railties/shared_tests.rb /^ def test_rake_tasks_lib_tasks_are_loaded$/;" f class:RailtiesTest
+test_rake_with_env_option_should_run_rake_command_in_env test/generators/actions_test.rb /^ def test_rake_with_env_option_should_run_rake_command_in_env$/;" f class:ActionsTest
+test_rake_with_sudo_option_should_run_rake_command_with_sudo test/generators/actions_test.rb /^ def test_rake_with_sudo_option_should_run_rake_command_with_sudo$/;" f class:ActionsTest
+test_rakefile_should_write_date_to_file_in_lib_tasks test/generators/actions_test.rb /^ def test_rakefile_should_write_date_to_file_in_lib_tasks$/;" f class:ActionsTest
+test_readme test/generators/actions_test.rb /^ def test_readme$/;" f class:ActionsTest
+test_reference_is_false test/generators/generated_attribute_test.rb /^ def test_reference_is_false$/;" f class:GeneratedAttributeTest
+test_reference_is_true test/generators/generated_attribute_test.rb /^ def test_reference_is_true$/;" f class:GeneratedAttributeTest
+test_reload_should_fire_preparation_and_cleanup_callbacks test/application/console_test.rb /^ def test_reload_should_fire_preparation_and_cleanup_callbacks$/;" f class:ConsoleTest
+test_reload_should_reload_constants test/application/console_test.rb /^ def test_reload_should_reload_constants$/;" f class:ConsoleTest
+test_remove_migration_with_attributes test/generators/migration_generator_test.rb /^ def test_remove_migration_with_attributes$/;" f
+test_resource_controller_with_actions test/generators/resource_generator_test.rb /^ def test_resource_controller_with_actions$/;" f class:ResourceGeneratorTest
+test_resource_controller_with_pluralized_class_name test/generators/resource_generator_test.rb /^ def test_resource_controller_with_pluralized_class_name$/;" f class:ResourceGeneratorTest
+test_resource_routes_are_added test/generators/resource_generator_test.rb /^ def test_resource_routes_are_added$/;" f
+test_route_is_removed_on_revoke test/generators/resource_generator_test.rb /^ def test_route_is_removed_on_revoke$/;" f
+test_route_should_add_data_to_the_routes_block_in_config_routes test/generators/actions_test.rb /^ def test_route_should_add_data_to_the_routes_block_in_config_routes$/;" f class:ActionsTest
+test_routes_are_added_to_router test/railties/shared_tests.rb /^ def test_routes_are_added_to_router$/;" f class:RailtiesTest
+test_routes_in_plugins_have_lower_priority_than_application_ones test/railties/shared_tests.rb /^ def test_routes_in_plugins_have_lower_priority_than_application_ones$/;" f class:RailtiesTest
+test_routes_should_not_be_namespaced test/generators/namespaced_generators_test.rb /^ def test_routes_should_not_be_namespaced$/;" f class:NamespacedControllerGeneratorTest
+test_scaffold_generator_on_revoke_does_not_mutilate_legacy_map_parameter test/generators/scaffold_generator_test.rb /^ def test_scaffold_generator_on_revoke_does_not_mutilate_legacy_map_parameter$/;" f
+test_scaffold_generator_outputs_error_message_on_missing_attribute_type test/generators/scaffold_generator_test.rb /^ def test_scaffold_generator_outputs_error_message_on_missing_attribute_type$/;" f
+test_scaffold_on_invoke test/generators/namespaced_generators_test.rb /^ def test_scaffold_on_invoke$/;" f class:NamespacedScaffoldGeneratorTest
+test_scaffold_on_invoke test/generators/scaffold_generator_test.rb /^ def test_scaffold_on_invoke$/;" f class:ScaffoldGeneratorTest
+test_scaffold_on_revoke test/generators/namespaced_generators_test.rb /^ def test_scaffold_on_revoke$/;" f
+test_scaffold_on_revoke test/generators/scaffold_generator_test.rb /^ def test_scaffold_on_revoke$/;" f
+test_scaffold_plural_names test/generators/named_base_test.rb /^ def test_scaffold_plural_names$/;" f class:NamedBaseTest
+test_scaffold_plural_names_as_ruby test/generators/named_base_test.rb /^ def test_scaffold_plural_names_as_ruby$/;" f class:NamedBaseTest
+test_scaffold_with_namespace_on_invoke test/generators/namespaced_generators_test.rb /^ def test_scaffold_with_namespace_on_invoke$/;" f
+test_scaffold_with_namespace_on_invoke test/generators/scaffold_generator_test.rb /^ def test_scaffold_with_namespace_on_invoke$/;" f
+test_scaffold_with_namespace_on_revoke test/generators/namespaced_generators_test.rb /^ def test_scaffold_with_namespace_on_revoke$/;" f
+test_scaffold_with_namespace_on_revoke test/generators/scaffold_generator_test.rb /^ def test_scaffold_with_namespace_on_revoke$/;" f
+test_session_migration_with_custom_table_name test/generators/session_migration_generator_test.rb /^ def test_session_migration_with_custom_table_name$/;" f class:SessionMigrationGeneratorTest
+test_session_migration_with_default_name test/generators/session_migration_generator_test.rb /^ def test_session_migration_with_default_name$/;" f class:SessionMigrationGeneratorTest
+test_session_migration_with_given_name test/generators/session_migration_generator_test.rb /^ def test_session_migration_with_given_name$/;" f class:SessionMigrationGeneratorTest
+test_shebang_is_added_to_rails_file test/generators/shared_generator_tests.rb /^ def test_shebang_is_added_to_rails_file$/;" f class:SharedGeneratorTests
+test_shebang_when_is_the_same_as_default_use_env test/generators/shared_generator_tests.rb /^ def test_shebang_when_is_the_same_as_default_use_env$/;" f class:SharedGeneratorTests
+test_should_create_empty_migrations_if_name_not_start_with_add_or_remove test/generators/migration_generator_test.rb /^ def test_should_create_empty_migrations_if_name_not_start_with_add_or_remove$/;" f
+test_should_give_higher_preference_to_rails_generators test/generators_test.rb /^ def test_should_give_higher_preference_to_rails_generators$/;" f class:GeneratorsTest
+test_should_include_runner_in_shebang_line_in_help test/application/runner_test.rb /^ def test_should_include_runner_in_shebang_line_in_help$/;" f class:ApplicationTests.RunnerTest
+test_should_run_file test/application/runner_test.rb /^ def test_should_run_file$/;" f class:ApplicationTests.RunnerTest
+test_should_run_ruby_statement test/application/runner_test.rb /^ def test_should_run_ruby_statement$/;" f class:ApplicationTests.RunnerTest
+test_should_set_dollar_0_to_file test/application/runner_test.rb /^ def test_should_set_dollar_0_to_file$/;" f class:ApplicationTests.RunnerTest
+test_should_set_dollar_program_name_to_file test/application/runner_test.rb /^ def test_should_set_dollar_program_name_to_file$/;" f class:ApplicationTests.RunnerTest
+test_simple_invoke test/generators_test.rb /^ def test_simple_invoke$/;" f class:GeneratorsTest
+test_skeleton_is_created test/generators/shared_generator_tests.rb /^ def test_skeleton_is_created$/;" f class:SharedGeneratorTests
+test_skip_helper_if_required test/generators/scaffold_controller_generator_test.rb /^ def test_skip_helper_if_required$/;" f
+test_skip_javascripts test/generators/plugin_new_generator_test.rb /^ def test_skip_javascripts$/;" f class:PluginNewGeneratorTest
+test_skip_layout_if_required test/generators/scaffold_controller_generator_test.rb /^ def test_skip_layout_if_required$/;" f
+test_skipping_gemspec test/generators/plugin_new_generator_test.rb /^ def test_skipping_gemspec$/;" f class:PluginNewGeneratorTest
+test_skipping_javascripts_without_mountable_option test/generators/plugin_new_generator_test.rb /^ def test_skipping_javascripts_without_mountable_option$/;" f class:PluginNewGeneratorTest
+test_skipping_namespace test/generators/namespaced_generators_test.rb /^ def test_skipping_namespace$/;" f class:NamespacedControllerGeneratorTest
+test_source_paths_for_not_namespaced_generators test/generators_test.rb /^ def test_source_paths_for_not_namespaced_generators$/;" f
+test_stylesheets_are_not_deleted_on_revoke test/generators/stylesheets_generator_test.rb /^ def test_stylesheets_are_not_deleted_on_revoke$/;" f class:StylesheetsGeneratorTest
+test_template_engine_with_class_path test/generators/controller_generator_test.rb /^ def test_template_engine_with_class_path$/;" f class:ControllerGeneratorTest
+test_template_from_dir_pwd test/generators/app_generator_test.rb /^ def test_template_from_dir_pwd$/;" f
+test_template_from_dir_pwd test/generators/plugin_new_generator_test.rb /^ def test_template_from_dir_pwd$/;" f class:PluginNewGeneratorTest
+test_template_is_executed_when_supplied test/generators/shared_generator_tests.rb /^ def test_template_is_executed_when_supplied$/;" f class:SharedGeneratorTests
+test_template_is_executed_when_supplied_an_https_path test/generators/shared_generator_tests.rb /^ def test_template_is_executed_when_supplied_an_https_path$/;" f class:SharedGeneratorTests
+test_template_raises_an_error_with_invalid_path test/generators/shared_generator_tests.rb /^ def test_template_raises_an_error_with_invalid_path$/;" f class:SharedGeneratorTests
+test_test.rb test/application/test_test.rb 1;" F
+test_test_unit_is_removed_from_frameworks_if_skip_test_unit_is_given test/generators/app_generator_test.rb /^ def test_test_unit_is_removed_from_frameworks_if_skip_test_unit_is_given$/;" f
+test_test_unit_is_skipped_if_required test/generators/shared_generator_tests.rb /^ def test_test_unit_is_skipped_if_required$/;" f class:SharedGeneratorTests
+test_truth test/application/test_test.rb /^ def test_truth$/;" f class:ApplicationTests.FooTest
+test_truth test/application/test_test.rb /^ def test_truth$/;" f class:ApplicationTests.TestTest.FooTest
+test_unit.rb lib/rails/generators/test_unit.rb 1;" F
+test_usage_read_from_file test/generators/app_generator_test.rb /^ def test_usage_read_from_file$/;" f
+test_vendor_should_write_data_to_file_in_vendor test/generators/actions_test.rb /^ def test_vendor_should_write_data_to_file_in_vendor$/;" f class:ActionsTest
+test_views_are_generated test/generators/scaffold_controller_generator_test.rb /^ def test_views_are_generated$/;" f
+tests lib/rails/generators/test_case.rb /^ def self.tests(klass)$/;" F class:Rails.Generators.TestCase
+textile guides/rails_guides/generator.rb /^ def textile(body, lite_mode=false)$/;" f class:RailsGuides.Generator
+textile_extensions.rb guides/rails_guides/textile_extensions.rb 1;" F
+threadsafe! lib/rails/application/configuration.rb /^ def threadsafe!$/;" f class:Rails.Application.Configuration
+tip guides/rails_guides/textile_extensions.rb /^ def tip(body)$/;" f class:RailsGuides.TextileExtensions
+title_to_idx guides/rails_guides/indexer.rb /^ def title_to_idx(title)$/;" f class:RailsGuides.Indexer
+tmp lib/rails/generators/rails/app/app_generator.rb /^ def tmp$/;" f
+tmp_path test/isolation/abstract_unit.rb /^ def tmp_path(*args)$/;" f class:TestHelpers.Paths
+toHTML lib/rails/generators/rails/app/templates/public/javascripts/prototype.js /^ function toHTML(object) {$/;" f
+toHTML tmp/app/public/javascripts/prototype.js /^ function toHTML(object) {$/;" f
+toHTML tmp/app_template/public/javascripts/prototype.js /^ function toHTML(object) {$/;" f
+toJSON lib/rails/generators/rails/app/templates/public/javascripts/prototype.js /^ function toJSON(value) {$/;" f
+toJSON tmp/app/public/javascripts/prototype.js /^ function toJSON(value) {$/;" f
+toJSON tmp/app_template/public/javascripts/prototype.js /^ function toJSON(value) {$/;" f
+toQueryString lib/rails/generators/rails/app/templates/public/javascripts/prototype.js /^ function toQueryString(object) {$/;" f
+toQueryString tmp/app/public/javascripts/prototype.js /^ function toQueryString(object) {$/;" f
+toQueryString tmp/app_template/public/javascripts/prototype.js /^ function toQueryString(object) {$/;" f
+to_html lib/rails/info.rb /^ def to_html$/;" f class:Rails
+to_param test/railties/engine_test.rb /^ def to_param$/;" f class:Bukkits.Post
+to_param test/railties/mounted_engine_test.rb /^ def to_param$/;" f class:ApplicationTests.ApplicationRoutingTest.Blog.Post
+to_prepare lib/rails/railtie/configuration.rb /^ def to_prepare(&blk)$/;" f class:Rails.Railtie.Configuration
+to_prepare_blocks lib/rails/railtie/configuration.rb /^ def to_prepare_blocks$/;" f class:Rails.Railtie.Configuration
+to_s lib/rails/code_statistics.rb /^ def to_s$/;" f class:CodeStatistics
+to_s lib/rails/commands/plugin.rb /^ def to_s$/;" f class:Plugin
+to_s lib/rails/info.rb /^ def to_s$/;" f class:Rails
+to_s lib/rails/source_annotation_extractor.rb /^ def to_s(options={})$/;" f class:SourceAnnotationExtractor.Annotation
+tsort_each_child lib/rails/initializable.rb /^ def tsort_each_child(initializer, &block)$/;" f class:Rails.Initializable.Collection
+tweak_builder.rb test/fixtures/lib/app_builders/tweak_builder.rb 1;" F
+tweak_builder.rb test/fixtures/lib/plugin_builders/tweak_builder.rb 1;" F
+two test/initializable_test.rb /^ def two$/;" f class:InitializableTests.OverriddenInitializer.MoreInitializers
+uncountable? lib/rails/generators/named_base.rb /^ def uncountable?$/;" f class:Rails.Generators
+uninstall lib/rails/commands/plugin.rb /^ def uninstall$/;" f class:Plugin
+uninstall.rb lib/rails/generators/rails/plugin/templates/uninstall.rb 1;" F
+unit_test.rb lib/rails/generators/test_unit/model/templates/unit_test.rb 1;" F
+unit_test.rb lib/rails/generators/test_unit/observer/templates/unit_test.rb 1;" F
+update lib/rails/generators/rails/scaffold_controller/templates/controller.rb /^ def update$/;" f
+update.rb lib/rails/commands/update.rb 1;" F
+update_attributes lib/rails/generators/active_model.rb /^ def update_attributes(params=nil)$/;" f class:Rails.Generators.ActiveModel
+url_for_engine_route test/railties/mounted_engine_test.rb /^ def url_for_engine_route$/;" f class:ApplicationTests.ApplicationRoutingTest.ApplicationGeneratingController
+url_generation_test.rb test/application/url_generation_test.rb 1;" F
+use lib/rails/configuration.rb /^ def use(*args, &block)$/;" f class:Rails.Configuration.MiddlewareStackProxy
+use_checkout? lib/rails/commands/plugin.rb /^ def use_checkout?$/;" f class:RailsEnvironment
+use_externals? lib/rails/commands/plugin.rb /^ def use_externals?$/;" f class:RailsEnvironment
+use_frameworks test/isolation/abstract_unit.rb /^ def use_frameworks(arr)$/;" f
+use_svn? lib/rails/commands/plugin.rb /^ def use_svn?$/;" f class:RailsEnvironment
+valid_const? lib/rails/generators/rails/app/app_generator.rb /^ def valid_const?$/;" f class:Generators.AppGenerator
+valid_const? lib/rails/generators/rails/plugin_new/plugin_new_generator.rb /^ def valid_const?$/;" f class:Generators.PluginNewGenerator
+validate guides/w3c_validator.rb /^ def validate$/;" f class:RailsGuides.Validator
+value_for lib/rails/info.rb /^ def value_for(property_name)$/;" f class:Rails.Info
+values lib/rails/generators/rails/app/templates/public/javascripts/prototype.js /^ function values(object) {$/;" f
+values tmp/app/public/javascripts/prototype.js /^ function values(object) {$/;" f
+values tmp/app_template/public/javascripts/prototype.js /^ function values(object) {$/;" f
+var.Effect._elementDoesNotExistError lib/rails/generators/rails/app/templates/public/javascripts/effects.js /^var Effect = {$/;" p
+var.Effect._elementDoesNotExistError tmp/app/public/javascripts/effects.js /^var Effect = {$/;" p
+var.Effect._elementDoesNotExistError tmp/app_template/public/javascripts/effects.js /^var Effect = {$/;" p
+vendor lib/rails/generators/actions.rb /^ def vendor(filename, data=nil, &block)$/;" f class:Rails.Generators
+vendor_plugins lib/rails/generators/rails/app/app_generator.rb /^ def vendor_plugins$/;" f
+version lib/rails.rb /^ def version$/;" f class:Rails
+version.rb lib/rails/version.rb 1;" F
+w3c_validator.rb guides/w3c_validator.rb 1;" F
+wait test/application/initializers/notifications_test.rb /^ def wait$/;" f class:ApplicationTests.NotificationsTest
+warn_about_broken_links guides/rails_guides/generator.rb /^ def warn_about_broken_links(html)$/;" f class:RailsGuides
+with_bare_config test/application/generators_test.rb /^ def with_bare_config$/;" f class:ApplicationTests.GeneratorsTest
+with_config test/application/generators_test.rb /^ def with_config$/;" f class:ApplicationTests.GeneratorsTest
+with_workaround_for_notextile guides/rails_guides/generator.rb /^ def with_workaround_for_notextile(body)$/;" f class:RailsGuides.Generator
+wrap_with_namespace lib/rails/generators/named_base.rb /^ def wrap_with_namespace(content)$/;" f class:Rails.Generators.NamedBase
+write test/isolation/abstract_unit.rb /^ def write(file, string)$/;" f class:Bukkit
+wrong_generator.rb test/fixtures/lib/generators/wrong_generator.rb 1;" F
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/CHANGES b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/CHANGES
new file mode 100755
index 00000000000..7008bb73e80
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/CHANGES
@@ -0,0 +1,522 @@
+= Rake Changelog
+
+== Master (for 0.9.3)
+
+* The rake test loader now removes arguments it has processed. Issue #51
+* Rake::TaskArguments now responds to #values_at
+* RakeFileUtils.verbose_flag = nil silences output the same as 0.8.7
+* Rake tests are now directory-independent
+* Rake tests are no longer require flexmock
+* Commands constant is no longer polluting top level namespace.
+
+== Version 0.9.2
+
+* Unknown
+
+== Version 0.9.1
+
+* Added deprecation warnings to the Rake DSL methods.
+
+== Version 0.9.0
+
+* *Incompatible* *change*: Rake DSL commands ('task', 'file', etc.) are
+ no longer private methods in Object. If you need to call 'task :xzy' inside
+ your class, include Rake::DSL into the class. The DSL is still available at
+ the top level scope (via the top level object which extends Rake::DSL).
+
+* Rake now warns when the deprecated :needs syntax used.
+
+* Rake history is now UTF-8 encoded.
+
+* Rake now uses case-insensitive comparisons to find the Rakefile on Windows.
+ Based on patch by Roger Pack.
+
+* Rake now requires (instead of loads) files in the test task. Patch by Cezary
+ Baginski.
+
+* Fixed typos. Patches by Sean Scot August Moon and R.T. Lechow.
+
+* Rake now prints the Rakefile directory only when it's different from the
+ current directory. Patch by Alex Chaffee.
+
+* Improved rakefile_location discovery on Windows. Patch by James Tucker.
+
+* Rake now recognizes "Windows Server" as a windows system. Patch by Matthias
+ Lüdtke
+
+* Rake::RDocTask is deprecated. Use RDoc::Task from RDoc 2.4.2+ (require
+ 'rdoc/task')
+
+* Rake::GemPackageTask is deprecated. Use Gem::PackageTask (require
+ 'rubygems/package_task')
+
+* Rake now outputs various messages to $stderr instead of $stdout.
+
+* Rake no longer emits warnings for Config. Patch by Santiago Pastorino.
+
+* Split rake.rb into individual files.
+
+* Support for the --where (-W) flag for showing where a task is defined.
+
+* Fixed quoting in test task.
+ (http://onestepback.org/redmine/issues/show/44,
+ http://www.pivotaltracker.com/story/show/1223138)
+
+* Fixed the silent option parsing problem.
+ (http://onestepback.org/redmine/issues/show/47)
+
+* Fixed :verbose=>false flag on sh and ruby commands.
+
+* Rake command line options may be given by default in a RAKEOPT
+ environment variable.
+
+* Errors in Rake will now display the task invocation chain in effect
+ at the time of the error.
+
+* Accepted change by warnickr to not expand test patterns in shell
+ (allowing more files in the test suite).
+
+* Fixed that file tasks did not perform prereq lookups in scope
+ (Redmine #57).
+
+== Version 0.8.7
+
+* Fixed EXEEXT for JRuby on windows.
+
+== Version 0.8.6
+
+* Minor fixes to the RDoc generation (removed dependency on darkfish
+ and removed inline source option).
+
+== PreVersion 0.8.6
+
+* Now allow # comments to comment a task definition.
+
+== Version 0.8.5
+
+* Better support for the system command on Windows.
+
+== Version 0.8.4
+
+* Preserve case when locating rakefiles (patch from James
+ M. Lawrence/quix)
+
+* Better support for windows paths in the test task (patch from Simon
+ Chiang/bahuvrihi)
+
+* Windows system dir search order is now: HOME, HOMEDRIVE + HOMEPATH,
+ APPDATA, USERPROFILE (patch from Luis Lavena)
+
+* MingGW is now recognized as a windows platform. (patch from Luis
+ Lavena)
+
+* Numerous fixes to the windows test suite (patch from Luis Lavena).
+
+* Improved Rakefile case insensitivity testing (patch from Luis
+ Lavena).
+
+* Fixed stray ARGV option problem that was interfering with
+ Test::Unit::Runner.
+
+* Fixed default verbose mode (was accidently changed to false).
+
+* Removed reference to manage_gem to fix the warning produced by the
+ gem package task.
+
+== Version 0.8.3
+
+* Enhanced the system directory detection in windows. We now check
+ HOMEDRIVE/HOMEPATH and USERPROFILE if APPDATA isn't found. (Patch
+ supplied by James Tucker). Rake no long aborts if it can't find the
+ directory.
+
+* Added fix to handle ruby installations in directories with spaces in
+ their name.
+
+== Version 0.8.2
+
+* Fixed bug in package task so that it will include the subdir
+ directory in the package for testing. (Bug found by Adam Majer)
+
+* Added ENV var to rakefile to prevent OS X from including extended
+ attribute junk in a tar file. (Bug found by Adam Majer)
+
+* Fixed filename dependency order bug in test_inspect_pending and
+ test_to_s_pending. (Bug found by Adam Majer)
+
+* Fixed check for file utils options to make them immune to the
+ symbol/string differences. (Patch supplied by Edwin Pratomo)
+
+* Fixed bug with rules involving multiple source (Patch supplied by
+ Emanuel Indermühle)
+
+* Switched from getoptlong to optparse (patches supplied by Edwin
+ Pratomo)
+
+* The -T option will now attempt to dynamically sense the size of the
+ terminal. RAKE_COLUMNS will override any dynamic sensing.
+
+* FileList#clone and FileList#dup have better sematics w.r.t. taint
+ and freeze.
+
+* Added ability clear prerequisites, and/or actions from an existing
+ task.
+
+* Added the ability to reenable a task to be invoked a second time.
+
+* Changed RDoc test task to have no default template. This makes it
+ easier for the tempate to pick up the template from the environment.
+
+* Changed from using Mutex to Monitor. Evidently Mutex causes thread
+ join errors when Ruby is compiled with -disable-pthreads. (Patch
+ supplied by Ittay Dror)
+
+* Fixed bug in makefile parser that had problems with extra spaces in
+ file task names. (Patch supplied by Ittay Dror)
+
+* Added a performance patch for reading large makefile dependency
+ files. (Patch supplied by Ittay Dror)
+
+* Default values for task arguments can easily be specified with the
+ :with_defaults method. (Idea for default argument merging supplied
+ by (Adam Q. Salter)
+
+* The -T output will only self-truncate if the output is a tty.
+ However, if RAKE_COLUMNS is explicitly set, it will be honored in
+ any case. (Patch provided by Gavin Stark).
+
+* Numerous fixes for running under windows. A big thanks to Bheeshmar
+ Redheendran for spending a good part of the afternoon at the
+ Lonestar Ruby Conference to help me work out these issues.
+
+== Version 0.8.1
+
+* Removed requires on parsedate.rb (in Ftptools)
+* Removed ftools from rake.rb. Made it options in sys.rb
+
+== Version 0.8.0
+
+* Added task parameters (e.g. "rake build[version7]")
+* Made task parameters passable to prerequisites.
+* Comments are limited to 80 columns or so (suggested by Jamis Buck).
+* Added -D to display full comments (suggested by Jamis Buck).
+* The rake program will set the status value used in any explicit
+ exit(n) calls. (patch provided by Stephen Touset)
+* Fixed error in functional tests that were not including session (and
+ silently skipping the functionl tests.
+* Removed --usage and make -h the same as -H.
+* Make a prettier inspect for tasks.
+
+== Version 0.7.3
+
+* Added existing and existing! methods to FileList
+* FileLists now claim to be Arrays (via is_a?) to get better support
+ from the FileUtil module.
+* Added init and top_level for custom rake applications.
+
+== Version 0.7.2
+
+* Error messages are now send to stderr rather than stdout (from
+ Payton Quackenbush).
+* Better error handling on invalid command line arguments (from Payton
+ Quackenbush).
+* Added rcov task and updated unit testing for better code coverage.
+* Fixed some bugs where the application object was going to the global
+ appliation instead of using its own data.
+* Added square and curly bracket patterns to FileList#include (Tilman
+ Sauerbeck).
+* Added plain filename support to rule dependents (suggested by Nobu
+ Nakada).
+* Added pathmap support to rule dependents.
+* Added a 'tasks' method to a namespace to get a list of tasks
+ associated with the namespace.
+* Fixed the method name leak from FileUtils (bug found by Glenn
+ Vanderburg).
+* Added rake_extension to handle detection of extension collisions.
+* Added test for noop, bad_option and verbose flags to sh command.
+* Removed dependency on internal fu_xxx functions from FileUtils.
+* Added a 'shame' task to the Rakefile.
+* Added tar_command and zip_command options to the Package task.
+* Added a description to the gem task in GemPackageTask.
+* Fixed a bug when rules have multiple prerequisites (patch by Joel
+ VanderWerf)
+* Added a protected 'require "rubygems"' to test/test_application to
+ unbreak cruisecontrol.rb.
+* Added the handful of RakeFileUtils to the private method as well.
+* Added block based exclusion.
+* The clean task will no longer delete 'core' if it is a directory.
+* Removed rake_dup. Now we just simply rescue a bad dup.
+* Refactored the FileList reject logic to remove duplication.
+* Removed if __FILE__ at the end of the rake.rb file.
+
+== Version 0.7.1
+
+* Added optional filter parameter to the --tasks command line option.
+* Added flatten to allow rule transform procs to return lists of
+ prereqs (Joel VanderWerf provided patch).
+* Added pathmap to String and FileList.
+* The -r option will now load .rake files (but a straight require
+ doesn't yet). NOTE: This is experimental ... it may be
+ discontinued.
+* The -f option without a value will disable the search for a
+ Rakefile. The assumption is that the -r files are adequate.
+* Fixed the safe_ln function to fall back to cp in more error
+ scenarios.
+
+== Version 0.7.0
+
+* Added Rake.original_dir to return the original starting directory of
+ the rake application.
+* Added safe_ln support for openAFS (from Ludvig Omholt).
+* Added --trace reminder on short exception messages (David Heinemeier
+ Hansson suggestion).
+* Added multitask declaration that executes prerequisites in
+ parallel. (Doug Young providied an initial implementation).
+* Fixed missing_const hack to be compatible with Rails. (Jamis Buck
+ supplied test case).
+* Made the RDoc task default to internal (in-process) RDoc formatting.
+ The old behavior is still available by setting the +external+ flag
+ to true.
+* Rakefiles are now loaded with the expanded path to prevent
+ accidental polution from the Ruby load path.
+* The +namespace+ command now returns a NameSpace object that can be
+ used to lookup tasks defined in that namespace. This allows for
+ better anonymous namespace behavior.
+* Task objects my now be used in prerequisite lists directly.
+
+== Version 0.6.1
+
+* Rebuilt 0.6.0 gem without signing.
+
+== Version 0.6.0
+
+* Fixed file creation bug in the unit tests (caused infinite loop on
+ windows).
+* Fixed bug where session based functional tests were run under
+ windows.
+* Fixed bug in directory tasks so that updating a directory will not
+ retrigger file tasks depending on the directory (see
+ FileCreationTask and EarlyTime).
+* Added egrep to FileList
+* ruby command now runs same ruby version as rake.
+* Added investigation to task object. (suggested by Martin Fowler)
+* Added ruby_opts to the test task to allow arbitrary ruby options to
+ be passed to the test script. (Greg Fast)
+* Fixed the test loader to ignore options. (Greg Fast)
+* Moved Task, FileTask, FileCreationTask and RakeApp into the Rake
+ module namespace. Old style namespace behavior can be invoked via
+ the --classic-namespace option. (requested by Kelly Felkins).
+* GemTask is now sensitive to the gem platform (Masao Mutoh).
+* A non-existing file prerequisite will no longer cause an exception
+ (Philipp Neubeck).
+* Multiple prerequisites on Rake rules now allowed (initial patch
+ supplied by Stuart Jansen).
+
+== Version 0.5.4
+
+* Added double quotes to the test runner.
+* Added .svn to default ignore list.
+* Updated FileList#include to support nested arrays and filelists.
+
+== Version 0.5.3
+
+* Added support for importing Rakefile and other dependencies.
+* Fixed bug so that now rules can chain off of existing tasks as well
+ as existing files.
+* Fixed verbose flag bug in the testing task. Shortened some failure
+ messages.
+* Make FileUtils methods private at the top level module to avoid
+ accidental method leaking into other objects.
+* Added test loader option to test task. "testrb" is no longer the
+ default test loader. It is now eating syntax errors that should
+ halt the unit tests.
+* Revamped FileList so that it works more like and array (addressed
+ flatten bug). Added many tests around file list.
+* Added +ext+ method to both String and FileList.
+
+== Version 0.5.0
+
+* Fixed documentation that was lacking the Rake module name (Tilman
+ Sauerbeck).
+* Added tar.gz and tar.bz2 support to package task (Tilman Sauerbeck).
+* Recursive rules are now supported (Tilman Sauerbeck).
+* Added warning option for the Test Task (requested by Eric Hodel).
+* The jamis rdoc template is only used if it exists.
+* Added fix for Ruby 1.8.2 test/unit and rails problem.
+* Added contributed rake man file (Jani Monoses).
+* Added Brian Candler's fix for problems in --trace and --dry-run
+ mode.
+
+== Version 0.4.15
+
+* Fixed a bug that prevented the TESTOPTS flag from working with the
+ revised for 1.8.2 test task.
+* Updated the docs on --trace to indicate that it also enables a full
+ backtrace on errors.
+
+== Version 0.4.14
+
+* Modified the TestTask to workaround the Ruby 1.8.2 change in
+ autoexecuting unit tests.
+
+== Version 0.4.13
+
+* Fixed the dry-run flag so it is operating again.
+* Multiple arguments to sh and ruby commands will not be interpreted
+ by the shell (patch provided by Jonathan Paisley).
+
+== Version 0.4.12
+
+* Added --silent (-s) to suppress the (in directory) rake message.
+
+== Version 0.4.11
+
+* Changed the "don't know how to rake" message (finally)
+* Changes references to a literal "Rakefile" to reference the global
+ variable $rakefile (which contains the actual name of the rakefile).
+
+== Version 0.4.10
+
+* Added block support to the "sh" command, allowing users to take
+ special actions on the result of the system call. E.g.
+
+ sh "shell_command" do |ok, res|
+ puts "Program returned #{res.exitstatus}" if ! ok
+ end
+
+== Version 0.4.9
+
+* Switched to Jamis Buck's RDoc template.
+* Removed autorequire from Rake's gem spec. This prevents the Rake
+ libraries from loading while using rails.
+
+== Version 0.4.8
+
+* Added support for .rb versions of Rakefile.
+* Removed \\\n's from test task.
+* Fixed Ruby 1.9 compatibility issue with FileList.
+
+== Version 0.4.7
+
+* Fixed problem in FileList that caused Ruby 1.9 to go into infinite
+ recursion. Since to_a was removed from Object, it does not need to
+ added back into the list of methods to rewrite in FileList. (Thanks
+ to Kent Sibilev for pointing this out).
+
+== Version 0.4.6
+* Removed test version of ln in FileUtils that prevented safe_ln from
+ using ln.
+
+== Version 0.4.5
+* Upgraded comments in TestTask.
+* FileList to_s and inspect now automatically resolve pending changes.
+* FileList#exclude properly returns the FileList.
+
+== Version 0.4.4
+* Fixed initialization problem with @comment.
+* Now using multi -r technique in TestTask. Switch Rakefile back to
+ using the built-in test task macros because the rake runtime is no
+ longer needed.
+* Added 'TEST=filename' and 'TESTOPTS=options' to the Test Task
+ macros.
+* Allow a +test_files+ attribute in test tasks. This allows more
+ flexibility in specifying test files.
+
+== Version 0.4.3
+* Fixed Comment leakage.
+
+== Version 0.4.2
+* Added safe_ln that falls back to a copy if a file link is not supported.
+* Package builder now uses safe_ln.
+
+== Version 0.4.1
+* Task comments are now additive, combined with "/".
+* Works with (soon to be released) rubygems 0.6.2 (or 0.7.0)
+
+== Version 0.4.0
+* FileList now uses deferred loading. The file system is not searched
+ until the first call that needs the file names.
+* VAR=VALUE options are now accepted on the command line and are
+ treated like environment variables. The values may be tested in a
+ Rakefile by referencing ENV['VAR'].
+* File.mtime is now used (instead of File.new().mtime).
+
+== Version 0.3.2.x
+
+* Removed some hidden dependencies on rubygems. Tests now will test
+ gems only if they are installed.
+* Removed Sys from some example files. I believe that is that last
+ reference to Sys outside of the contrib area.
+* Updated all copyright notices to include 2004.
+
+== Version 0.3.2
+
+* GEM Installation now works with the application stub.
+
+== Version 0.3.1
+
+* FileLists now automatically ignore CVS, .bak, !
+* GEM Installation now works.
+
+== Version 0.3.0
+
+Promoted 0.2.10.
+
+== Version 0.2.10
+General
+
+* Added title to Rake's rdocs
+* Contrib packages are no longer included in the documentation.
+
+RDoc Issues
+
+* Removed default for the '--main' option
+* Fixed rendering of the rdoc options
+* Fixed clean/clobber confusion with rerdoc
+* 'title' attribute added
+
+Package Task Library Issues
+
+* Version (or explicit :noversion) is required.
+* +package_file+ attribute is now writable
+
+FileList Issues
+
+* Dropped bang version of exclude. Now using ant-like include/exclude semantics.
+* Enabled the "yield self" idiom in FileList#initialize.
+
+== Version 0.2.9
+
+This version contains numerous changes as the RubyConf.new(2003)
+presentation was being prepared. The changes include:
+
+* The monolithic rubyapp task library is in the process of being
+ dropped in favor of lighter weight task libraries.
+
+== Version 0.2.7
+
+* Added "desc" for task descriptions.
+* -T will now display tasks with descriptions.
+* -P will display tasks and prerequisites.
+* Dropped the Sys module in favor of the 1.8.x FileUtils module. Sys
+ is still supported in the contrib area.
+
+== Version 0.2.6
+
+* Moved to RubyForge
+
+== Version 0.2.5
+
+* Switched to standard ruby app builder.
+* Added no_match option to file matcher.
+
+== Version 0.2.4
+
+* Fixed indir, which neglected to actually change directories.
+
+== Version 0.2.3
+
+* Added rake module for a help target
+* Added 'for_files' to Sys
+* Added a $rakefile constant
+* Added test for selecting proper rule with multiple targets.
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/MIT-LICENSE b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/MIT-LICENSE
index ed8e9ee66db..72734753965 100755
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/MIT-LICENSE
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/MIT-LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2008 The Ruby I18n team
+Copyright (c) 2003, 2004 Jim Weirich
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -17,4 +17,5 @@ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/README.rdoc b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/README.rdoc
new file mode 100755
index 00000000000..62efebf09b7
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/README.rdoc
@@ -0,0 +1,197 @@
+= RAKE -- Ruby Make
+
+This package contains Rake, a simple ruby build program with capabilities
+similar to make.
+
+Rake has the following features:
+
+* Rakefiles (rake's version of Makefiles) are completely defined in
+ standard Ruby syntax. No XML files to edit. No quirky Makefile
+ syntax to worry about (is that a tab or a space?)
+
+* Users can specify tasks with prerequisites.
+
+* Rake supports rule patterns to synthesize implicit tasks.
+
+* Flexible FileLists that act like arrays but know about manipulating
+ file names and paths.
+
+* A library of prepackaged tasks to make building rakefiles easier. For example,
+ tasks for building tarballs and publishing to FTP or SSH sites. (Formerly
+ tasks for building RDoc and Gems were included in rake but they're now
+ available in RDoc and RubyGems respectively.)
+
+* Supports parallel execution of tasks.
+
+== Installation
+
+=== Gem Installation
+
+Download and install rake with the following.
+
+ gem install rake
+
+=== Normal Installation
+
+You can download the source tarball of the latest version of Rake from
+
+* http://rubyforge.org/project/showfiles.php?group_id=50
+
+Extract the tarball and run
+
+ % ruby install.rb
+
+from its distribution directory.
+
+== Usage
+
+=== Simple Example
+
+First, you must write a "Rakefile" file which contains the build rules. Here's
+a simple example:
+
+ task :default => [:test]
+
+ task :test do
+ ruby "test/unittest.rb"
+ end
+
+This Rakefile has two tasks:
+
+* A task named "test", which - upon invocation - will run a unit test file in
+ Ruby.
+* A task named "default". This task does nothing by itself, but it has exactly
+ one dependency, namely the "test" task. Invoking the "default" task will
+ cause Rake to invoke the "test" task as well.
+
+Running the "rake" command without any options will cause it to run the
+"default" task in the Rakefile:
+
+ % ls
+ Rakefile test/
+ % rake
+ (in /home/some_user/Projects/rake)
+ ruby test/unittest.rb
+ ....unit test output here...
+
+Type "rake --help" for all available options.
+
+
+=== More Information
+
+* For details on Rake's command-line invocation, read
+ doc/command_line_usage.rdoc[http://rake.rubyforge.org/files/doc/command_line_usage_rdoc.html]
+* For details on writing Rakefiles, see
+ doc/rakefile.rdoc[http://rake.rubyforge.org/files/doc/rakefile_rdoc.html].
+* For the original announcement of Rake, see
+ doc/rational.rdoc[http://rake.rubyforge.org/files/doc/rational_rdoc.html].
+* For a glossary of terms, see
+ doc/glossary.rdoc[http://rake.rubyforge.org/files/doc/glossary_rdoc.html].
+
+== Development
+
+=== Source Repository
+
+Rake is currently hosted at github. The github web page is
+http://github.com/jimweirich/rake. The public git clone URL is
+
+* git://github.com/jimweirich/rake.git
+
+=== Running the Rake Test Suite
+
+If you wish to run the unit and functional tests that come with Rake:
+
+* Install the 'flexmock' gem
+* Install the 'session' gem in order to run the functional tests.
+* CD into the top project directory of rake.
+* Type one of the following:
+
+ rake # If you have a version of rake installed
+ ruby -Ilib bin/rake # If you do not have a version of rake installed.
+
+=== Issues and Bug Reports
+
+Feature requests and bug reports can be made here
+
+* https://github.com/jimweirich/rake/issues
+
+Issues and bug reports can also be tracked here:
+
+* http://www.pivotaltracker.com/projects/28469
+
+== Online Resources
+
+=== Rake References
+
+* Rake Documentation Home: http://docs.rubyrake.org
+* Rake Project Page: http://rubyforge.org/projects/rake
+* Rake API Documents: http://rake.rubyforge.org
+* Rake Source Code Repo: http://github.com/jimweirich/rake
+* Rake Git Repo Clone URL: git://github.com/jimweirich/rake.git
+* Rake Issue Tracking: http://www.pivotaltracker.com/projects/28469
+* Rake Bug Reports: https://github.com/jimweirich/rake/issues
+
+=== Presentations and Articles about Rake
+
+* Jim Weirich's 2003 RubyConf presentation:
+ http://onestepback.org/articles/buildingwithrake/
+* Martin Fowler's article on Rake: http://martinfowler.com/articles/rake.html
+
+== Other Make Reinvisionings ...
+
+Rake is a late entry in the make replacement field. Here are links to
+other projects with similar (and not so similar) goals.
+
+* http://directory.fsf.org/bras.html -- Bras, one of earliest
+ implementations of "make in a scripting language".
+* http://www.a-a-p.org -- Make in Python
+* http://www.aromatic.com/tools/jam.txt -- JAM, Java Automated Make
+* http://ant.apache.org -- The Ant project
+* http://ppt.perl.org/commands/make/index.html -- Make from the Perl
+ Power Tools implementation.
+* http://search.cpan.org/search?query=PerlBuildSystem -- The Perl Build System
+* http://make.rubyforge.org -- Rant, another Ruby make tool.
+
+== Credits
+
+[<b>Ryan Dlugosz</b>] For the initial conversation that sparked Rake.
+
+[<b>nobu.nokada@softhome.net</b>] For the initial patch for rule support.
+
+[<b>Tilman Sauerbeck <tilman@code-monkey.de></b>] For the recursive rule patch.
+
+== License
+
+Rake is available under an MIT-style license.
+
+:include: MIT-LICENSE
+
+== Support
+
+The Rake homepage is http://rake.rubyforge.org. You can find the Rake
+RubyForge page at http://rubyforge.org/projects/rake.
+
+Feel free to submit commits or feature requests. If you send a patch,
+remember to update the corresponding unit tests. In fact, I prefer
+new feature to be submitted in the form of new unit tests.
+
+For other information, feel free to ask on the ruby-talk mailing list
+(which is mirrored to comp.lang.ruby) or contact
+jim dot weirich at gmail.com.
+
+---
+
+= Other stuff
+
+Author:: Jim Weirich <jim.weirich@gmail.com>
+Requires:: Ruby 1.8.6 or later
+License:: Copyright 2003-2008 by Jim Weirich.
+ Released under an MIT-style license. See the LICENSE file
+ included in the distribution.
+
+== Warranty
+
+This software is provided "as is" and without any express or
+implied warranties, including, without limitation, the implied
+warranties of merchantibility and fitness for a particular
+purpose.
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/Rakefile b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/Rakefile
new file mode 100755
index 00000000000..2e2c40d5482
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/Rakefile
@@ -0,0 +1,369 @@
+# Rakefile for rake -*- ruby -*-
+
+# Copyright 2003, 2004, 2005 by Jim Weirich (jim@weirichhouse.org)
+# All rights reserved.
+
+# This file may be distributed under an MIT style license. See
+# MIT-LICENSE for details.
+
+require 'rbconfig'
+require 'rubygems'
+
+system_rake = File.join RbConfig::CONFIG['rubylibdir'], 'rake.rb'
+
+# Use our rake, not the installed rake from system
+if $".include? system_rake or $".grep(/rake\/name_space\.rb$/).empty? then
+ exec Gem.ruby, '-Ilib', 'bin/rake', *ARGV
+end
+
+require 'rubygems/package_task'
+
+require 'rake/clean'
+require 'rake/testtask'
+
+begin
+ gem 'rdoc'
+ require 'rdoc/task'
+rescue Gem::LoadError
+end
+
+CLEAN.include('**/*.o', '*.dot', '**/*.rbc')
+CLOBBER.include('doc/example/main')
+CLOBBER.include('TAGS')
+CLOBBER.include('coverage', 'rcov_aggregate')
+
+# Prevent OS X from including extended attribute junk in the tar output
+ENV['COPY_EXTENDED_ATTRIBUTES_DISABLE'] = 'true'
+
+def announce(msg='')
+ STDERR.puts msg
+end
+
+# Determine the current version of the software
+
+if `ruby -Ilib ./bin/rake --version` =~ /rake, version ([0-9a-z.]+)$/
+ CURRENT_VERSION = $1
+else
+ CURRENT_VERSION = "0.0.0"
+end
+
+$package_version = CURRENT_VERSION
+
+SRC_RB = FileList['lib/**/*.rb']
+
+# The default task is run if rake is given no explicit arguments.
+
+desc "Default Task"
+task :default => :test
+
+# Test Tasks ---------------------------------------------------------
+
+Rake::TestTask.new do |t|
+ files = FileList['test/helper.rb', 'test/test_*.rb']
+ t.test_files = files
+ t.libs << "."
+ t.warning = true
+end
+
+begin
+ require 'rcov/rcovtask'
+ IGNORE_COVERAGE_IN = FileList[
+ 'lib/rake/rdoctask.rb',
+ 'lib/rake/testtask.rb',
+ 'lib/rake/packagetask.rb',
+ 'lib/rake/clean.rb',
+ ]
+
+ unless File::ALT_SEPARATOR
+ IGNORE_COVERAGE_IN.include(
+ 'lib/rake/alt_system.rb',
+ 'lib/rake/win32.rb')
+ end
+
+ Rcov::RcovTask.new do |t|
+ t.libs << "test"
+ t.rcov_opts = [
+ '-xRakefile', '-xrakefile', '-xpublish.rf',
+ '-xlib/rake/contrib', '-x/Library', '-x.rvm',
+ '--text-report',
+ '--sort coverage'
+ ] + FileList['rakelib/*.rake'].pathmap("-x%p") +
+ IGNORE_COVERAGE_IN.map { |fn| "-x#{fn}" }
+ t.test_files = FileList[
+ 'test/lib/*_test.rb',
+ 'test/contrib/*_test.rb',
+ 'test/functional/*_test.rb'
+ ]
+ t.output_dir = 'coverage'
+ t.verbose = true
+ end
+rescue LoadError
+ task :rcov do
+ puts "RCov is not available"
+ end
+end
+
+# CVS Tasks ----------------------------------------------------------
+
+# Install rake using the standard install.rb script.
+
+desc "Install the application"
+task :install do
+ ruby "install.rb"
+end
+
+# Create a task to build the RDOC documentation tree.
+
+BASE_RDOC_OPTIONS = [
+ '--line-numbers', '--show-hash',
+ '--main', 'README.rdoc',
+ '--title', 'Rake -- Ruby Make'
+]
+
+if defined?(RDoc::Task) then
+ RDoc::Task.new do |rdoc|
+ rdoc.rdoc_dir = 'html'
+ rdoc.title = "Rake -- Ruby Make"
+ rdoc.options = BASE_RDOC_OPTIONS.dup
+
+ rdoc.rdoc_files.include('README.rdoc', 'MIT-LICENSE', 'TODO', 'CHANGES')
+ rdoc.rdoc_files.include('lib/**/*.rb', 'doc/**/*.rdoc')
+ rdoc.rdoc_files.exclude(/\bcontrib\b/)
+ end
+else
+ warn "RDoc 2.4.2+ is required to build documentation"
+end
+
+# ====================================================================
+# Create a task that will package the Rake software into distributable
+# tar, zip and gem files.
+
+PKG_FILES = FileList[
+ '.gemtest',
+ 'install.rb',
+ '[A-Z]*',
+ 'bin/rake',
+ 'lib/**/*.rb',
+ 'test/**/*.rb',
+ 'doc/**/*'
+]
+PKG_FILES.exclude('doc/example/*.o')
+PKG_FILES.exclude('TAGS')
+PKG_FILES.exclude(%r{doc/example/main$})
+
+if ! defined?(Gem)
+ puts "Package Target requires RubyGems"
+else
+ SPEC = Gem::Specification.new do |s|
+ s.name = 'rake'
+ s.version = $package_version
+ s.summary = "Ruby based make-like utility."
+ s.description = <<-EOF.delete "\n"
+Rake is a Make-like program implemented in Ruby. Tasks and dependencies are
+specified in standard Ruby syntax.
+ EOF
+
+ s.required_ruby_version = '>= 1.8.6'
+ s.required_rubygems_version = '>= 1.3.2'
+ s.add_development_dependency 'minitest', '~> 2.1'
+
+ s.files = PKG_FILES.to_a
+
+ s.executables = ["rake"]
+
+ s.extra_rdoc_files = FileList[
+ 'README.rdoc',
+ 'MIT-LICENSE',
+ 'TODO',
+ 'CHANGES',
+ 'doc/**/*.rdoc'
+ ]
+
+ s.rdoc_options = BASE_RDOC_OPTIONS
+
+ s.author = "Jim Weirich"
+ s.email = "jim@weirichhouse.org"
+ s.homepage = "http://rake.rubyforge.org"
+ s.rubyforge_project = "rake"
+ end
+
+ Gem::PackageTask.new(SPEC) do |pkg|
+ pkg.need_zip = true
+ pkg.need_tar = true
+ end
+
+ file "rake.gemspec" => ["Rakefile", "lib/rake.rb"] do |t|
+ require 'yaml'
+ open(t.name, "w") { |f| f.puts SPEC.to_yaml }
+ end
+
+ desc "Create a stand-alone gemspec"
+ task :gemspec => "rake.gemspec"
+end
+
+# Misc tasks =========================================================
+
+def count_lines(filename)
+ lines = 0
+ codelines = 0
+ open(filename) { |f|
+ f.each do |line|
+ lines += 1
+ next if line =~ /^\s*$/
+ next if line =~ /^\s*#/
+ codelines += 1
+ end
+ }
+ [lines, codelines]
+end
+
+def show_line(msg, lines, loc)
+ printf "%6s %6s %s\n", lines.to_s, loc.to_s, msg
+end
+
+desc "Count lines in the main rake file"
+task :lines do
+ total_lines = 0
+ total_code = 0
+ show_line("File Name", "LINES", "LOC")
+ SRC_RB.each do |fn|
+ lines, codelines = count_lines(fn)
+ show_line(fn, lines, codelines)
+ total_lines += lines
+ total_code += codelines
+ end
+ show_line("TOTAL", total_lines, total_code)
+end
+
+# Define an optional publish target in an external file. If the
+# publish.rf file is not found, the publish targets won't be defined.
+
+load "publish.rf" if File.exist? "publish.rf"
+
+# Support Tasks ------------------------------------------------------
+
+RUBY_FILES = FileList['**/*.rb'].exclude('pkg')
+
+desc "Look for TODO and FIXME tags in the code"
+task :todo do
+ RUBY_FILES.egrep(/#.*(FIXME|TODO|TBD)/)
+end
+
+desc "List all ruby files"
+task :rubyfiles do
+ puts RUBY_FILES
+ puts FileList['bin/*'].exclude('bin/*.rb')
+end
+task :rf => :rubyfiles
+
+# --------------------------------------------------------------------
+# Creating a release
+
+def plugin(plugin_name)
+ require "rake/plugins/#{plugin_name}"
+end
+
+task :noop
+#plugin "release_manager"
+
+desc "Make a new release"
+task :release, [:rel, :reuse, :reltest] => [
+ :prerelease,
+ :clobber,
+ :test,
+ :update_version,
+ :package,
+ :tag
+ ] do
+ announce
+ announce "**************************************************************"
+ announce "* Release #{$package_version} Complete."
+ announce "* Packages ready to upload."
+ announce "**************************************************************"
+ announce
+end
+
+# Validate that everything is ready to go for a release.
+task :prerelease, :rel, :reuse, :reltest do |t, args|
+ $package_version = args.rel
+ announce
+ announce "**************************************************************"
+ announce "* Making RubyGem Release #{$package_version}"
+ announce "* (current version #{CURRENT_VERSION})"
+ announce "**************************************************************"
+ announce
+
+ # Is a release number supplied?
+ unless args.rel
+ fail "Usage: rake release[X.Y.Z] [REUSE=tag_suffix]"
+ end
+
+ # Is the release different than the current release.
+ # (or is REUSE set?)
+ if $package_version == CURRENT_VERSION && ! args.reuse
+ fail "Current version is #{$package_version}, must specify REUSE=tag_suffix to reuse version"
+ end
+
+ # Are all source files checked in?
+ if args.reltest
+ announce "Release Task Testing, skipping checked-in file test"
+ else
+ announce "Checking for unchecked-in files..."
+ data = `svn st`
+ unless data =~ /^$/
+ abort "svn status is not clean ... do you have unchecked-in files?"
+ end
+ announce "No outstanding checkins found ... OK"
+ end
+end
+
+task :update_version, [:rel, :reuse, :reltest] => [:prerelease] do |t, args|
+ if args.rel == CURRENT_VERSION
+ announce "No version change ... skipping version update"
+ else
+ announce "Updating Rake version to #{args.rel}"
+ open("lib/rake.rb") do |rakein|
+ open("lib/rake.rb.new", "w") do |rakeout|
+ rakein.each do |line|
+ if line =~ /^RAKEVERSION\s*=\s*/
+ rakeout.puts "RAKEVERSION = '#{args.rel}'"
+ else
+ rakeout.puts line
+ end
+ end
+ end
+ end
+ mv "lib/rake.rb.new", "lib/rake.rb"
+ if args.reltest
+ announce "Release Task Testing, skipping commiting of new version"
+ else
+ sh %{svn commit -m "Updated to version #{args.rel}" lib/rake.rb} # "
+ end
+ end
+end
+
+desc "Tag all the CVS files with the latest release number (REL=x.y.z)"
+task :tag, [:rel, :reuse, :reltest] => [:prerelease] do |t, args|
+ reltag = "REL_#{args.rel.gsub(/\./, '_')}"
+ reltag << args.reuse.gsub(/\./, '_') if args.reuse
+ announce "Tagging Repository with [#{reltag}]"
+ if args.reltest
+ announce "Release Task Testing, skipping CVS tagging"
+ else
+ sh %{svn copy svn+ssh://rubyforge.org/var/svn/rake/trunk svn+ssh://rubyforge.org/var/svn/rake/tags/#{reltag} -m 'Commiting release #{reltag}'} ###'
+ end
+end
+
+# Require experimental XForge/Metaproject support.
+
+load 'xforge.rf' if File.exist?('xforge.rf')
+
+desc "Where is the current directory. This task displays\nthe current rake directory"
+task :where_am_i do
+ puts Rake.original_dir
+end
+
+task :failure => :really_fail
+task :really_fail do
+ fail "oops"
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/TODO b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/TODO
new file mode 100755
index 00000000000..d0482e22c57
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/TODO
@@ -0,0 +1,20 @@
+= Rake Project -- To Do List
+
+Send suggestions for this list to mailto:jim@weirichhouse.org or on
+the rake-devel@rubyforge.org mailing list.
+
+=== To Do
+* Need a nice API for accessing tasks in namespaces, namespaces in an app, etc.
+* Provide a way to disable -w warning mode.
+* Define a set of default rules that work in the absence of any Rakefile
+* What about cyclic dependencies?
+* Java support utilities
+* Installation support utilities
+ * Check out installpkg.rb
+* Autogenerate Dependencies
+* Rules should apply to existing tasks if no actions are defined.
+* How to create multiple package tasks without task name collision?
+* Trap "ln -s" commands that fail and use "cp" instead (SMB mounted
+ drives have problems with "ln -s".
+
+(moved DONE list to CHANGES file)
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/install.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/install.rb
new file mode 100755
index 00000000000..f5e84c391cc
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/install.rb
@@ -0,0 +1,90 @@
+require 'rbconfig'
+require 'find'
+require 'fileutils'
+
+include RbConfig
+
+$ruby = CONFIG['ruby_install_name']
+
+##
+# Install a binary file. We patch in on the way through to
+# insert a #! line. If this is a Unix install, we name
+# the command (for example) 'rake' and let the shebang line
+# handle running it. Under windows, we add a '.rb' extension
+# and let file associations to their stuff
+#
+
+def installBIN(from, opfile)
+
+ tmp_dir = nil
+ for t in [".", "/tmp", "c:/temp", $bindir]
+ stat = File.stat(t) rescue next
+ if stat.directory? and stat.writable?
+ tmp_dir = t
+ break
+ end
+ end
+
+ fail "Cannot find a temporary directory" unless tmp_dir
+ tmp_file = File.join(tmp_dir, "_tmp")
+
+ File.open(from) do |ip|
+ File.open(tmp_file, "w") do |op|
+ ruby = File.join($realbindir, $ruby)
+ op.puts "#!#{ruby} -w"
+ op.write ip.read
+ end
+ end
+
+ opfile += ".rb" if CONFIG["target_os"] =~ /mswin/i
+ FileUtils.install(tmp_file, File.join($bindir, opfile),
+ {:mode => 0755, :verbose => true})
+ File.unlink(tmp_file)
+end
+
+$sitedir = CONFIG["sitelibdir"]
+unless $sitedir
+ version = CONFIG["MAJOR"]+"."+CONFIG["MINOR"]
+ $libdir = File.join(CONFIG["libdir"], "ruby", version)
+ $sitedir = $:.find {|x| x =~ /site_ruby/}
+ if !$sitedir
+ $sitedir = File.join($libdir, "site_ruby")
+ elsif $sitedir !~ Regexp.quote(version)
+ $sitedir = File.join($sitedir, version)
+ end
+end
+
+$bindir = CONFIG["bindir"]
+
+$realbindir = $bindir
+
+bindir = CONFIG["bindir"]
+if (destdir = ENV['DESTDIR'])
+ $bindir = destdir + $bindir
+ $sitedir = destdir + $sitedir
+
+ FileUtils.mkdir_p($bindir)
+ FileUtils.mkdir_p($sitedir)
+end
+
+rake_dest = File.join($sitedir, "rake")
+FileUtils.mkdir_p(rake_dest, {:verbose => true})
+File.chmod(0755, rake_dest)
+
+# The library files
+
+files = Dir.chdir('lib') { Dir['**/*.rb'] }
+
+for fn in files
+ fn_dir = File.dirname(fn)
+ target_dir = File.join($sitedir, fn_dir)
+ if ! File.exist?(target_dir)
+ FileUtils.mkdir_p(target_dir)
+ end
+ FileUtils.install(File.join('lib', fn), File.join($sitedir, fn),
+ {:mode => 0644, :verbose => true})
+end
+
+# and the executable
+
+installBIN("bin/rake", "rake")
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake.rb
new file mode 100755
index 00000000000..fc1a6a51653
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake.rb
@@ -0,0 +1,69 @@
+#--
+
+# Copyright 2003-2010 by Jim Weirich (jim.weirich@gmail.com)
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to
+# deal in the Software without restriction, including without limitation the
+# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+# sell copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+# IN THE SOFTWARE.
+#++
+
+require 'rake/version'
+
+# :stopdoc:
+RAKEVERSION = Rake::VERSION
+# :startdoc:
+
+require 'rbconfig'
+require 'fileutils'
+require 'singleton'
+require 'monitor'
+require 'optparse'
+require 'ostruct'
+
+require 'rake/ext/module'
+require 'rake/ext/string'
+require 'rake/ext/time'
+
+require 'rake/win32'
+
+require 'rake/task_argument_error'
+require 'rake/rule_recursion_overflow_error'
+require 'rake/rake_module'
+require 'rake/pseudo_status'
+require 'rake/task_arguments'
+require 'rake/invocation_chain'
+require 'rake/task'
+require 'rake/file_task'
+require 'rake/file_creation_task'
+require 'rake/multi_task'
+require 'rake/dsl_definition'
+require 'rake/file_utils_ext'
+require 'rake/file_list'
+require 'rake/default_loader'
+require 'rake/early_time'
+require 'rake/name_space'
+require 'rake/task_manager'
+require 'rake/application'
+
+$trace = false
+
+# :stopdoc:
+#
+# Some top level Constants.
+
+FileList = Rake::FileList
+RakeFileUtils = Rake::FileUtilsExt
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/alt_system.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/alt_system.rb
new file mode 100755
index 00000000000..05af19863ae
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/alt_system.rb
@@ -0,0 +1,109 @@
+#
+# Copyright (c) 2008 James M. Lawrence
+#
+# Permission is hereby granted, free of charge, to any person
+# obtaining a copy of this software and associated documentation files
+# (the "Software"), to deal in the Software without restriction,
+# including without limitation the rights to use, copy, modify, merge,
+# publish, distribute, sublicense, and/or sell copies of the Software,
+# and to permit persons to whom the Software is furnished to do so,
+# subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be
+# included in all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+# SOFTWARE.
+#
+
+require 'rbconfig'
+
+#
+# Alternate implementations of system() and backticks `` on Windows
+# for ruby-1.8 and earlier.
+#
+module Rake::AltSystem
+ WINDOWS = RbConfig::CONFIG["host_os"] =~
+ %r!(msdos|mswin|djgpp|mingw|[Ww]indows)!
+
+ class << self
+ def define_module_function(name, &block)
+ define_method(name, &block)
+ module_function(name)
+ end
+ end
+
+ if WINDOWS and RUBY_VERSION < "1.9.0"
+ RUNNABLE_EXTS = %w[com exe bat cmd]
+ RUNNABLE_PATTERN = %r!\.(#{RUNNABLE_EXTS.join('|')})\Z!i
+
+ define_module_function :kernel_system, &Kernel.method(:system)
+ define_module_function :kernel_backticks, &Kernel.method(:'`')
+
+ module_function
+
+ def repair_command(cmd)
+ "call " + (
+ if cmd =~ %r!\A\s*\".*?\"!
+ # already quoted
+ cmd
+ elsif match = cmd.match(%r!\A\s*(\S+)!)
+ if match[1] =~ %r!/!
+ # avoid x/y.bat interpretation as x with option /y
+ %Q!"#{match[1]}"! + match.post_match
+ else
+ # a shell command will fail if quoted
+ cmd
+ end
+ else
+ # empty or whitespace
+ cmd
+ end
+ )
+ end
+
+ def find_runnable(file)
+ if file =~ RUNNABLE_PATTERN
+ file
+ else
+ RUNNABLE_EXTS.each { |ext|
+ if File.exist?(test = "#{file}.#{ext}")
+ return test
+ end
+ }
+ nil
+ end
+ end
+
+ def system(cmd, *args)
+ repaired = (
+ if args.empty?
+ [repair_command(cmd)]
+ elsif runnable = find_runnable(cmd)
+ [File.expand_path(runnable), *args]
+ else
+ # non-existent file
+ [cmd, *args]
+ end
+ )
+ kernel_system(*repaired)
+ end
+
+ def backticks(cmd)
+ kernel_backticks(repair_command(cmd))
+ end
+
+ define_module_function :'`', &method(:backticks)
+ else
+ # Non-Windows or ruby-1.9+: same as Kernel versions
+ define_module_function :system, &Kernel.method(:system)
+ define_module_function :backticks, &Kernel.method(:'`')
+ define_module_function :'`', &Kernel.method(:'`')
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/application.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/application.rb
new file mode 100755
index 00000000000..2079fb9be66
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/application.rb
@@ -0,0 +1,595 @@
+require 'shellwords'
+require 'optparse'
+
+require 'rake/task_manager'
+require 'rake/win32'
+
+module Rake
+
+ ######################################################################
+ # Rake main application object. When invoking +rake+ from the
+ # command line, a Rake::Application object is created and run.
+ #
+ class Application
+ include TaskManager
+
+ # The name of the application (typically 'rake')
+ attr_reader :name
+
+ # The original directory where rake was invoked.
+ attr_reader :original_dir
+
+ # Name of the actual rakefile used.
+ attr_reader :rakefile
+
+ # Number of columns on the terminal
+ attr_accessor :terminal_columns
+
+ # List of the top level task names (task names from the command line).
+ attr_reader :top_level_tasks
+
+ DEFAULT_RAKEFILES = ['rakefile', 'Rakefile', 'rakefile.rb', 'Rakefile.rb'].freeze
+
+ # Initialize a Rake::Application object.
+ def initialize
+ super
+ @name = 'rake'
+ @rakefiles = DEFAULT_RAKEFILES.dup
+ @rakefile = nil
+ @pending_imports = []
+ @imported = []
+ @loaders = {}
+ @default_loader = Rake::DefaultLoader.new
+ @original_dir = Dir.pwd
+ @top_level_tasks = []
+ add_loader('rb', DefaultLoader.new)
+ add_loader('rf', DefaultLoader.new)
+ add_loader('rake', DefaultLoader.new)
+ @tty_output = STDOUT.tty?
+ @terminal_columns = ENV['RAKE_COLUMNS'].to_i
+ end
+
+ # Run the Rake application. The run method performs the following
+ # three steps:
+ #
+ # * Initialize the command line options (+init+).
+ # * Define the tasks (+load_rakefile+).
+ # * Run the top level tasks (+run_tasks+).
+ #
+ # If you wish to build a custom rake command, you should call
+ # +init+ on your application. Then define any tasks. Finally,
+ # call +top_level+ to run your top level tasks.
+ def run
+ standard_exception_handling do
+ init
+ load_rakefile
+ top_level
+ end
+ end
+
+ # Initialize the command line parameters and app name.
+ def init(app_name='rake')
+ standard_exception_handling do
+ @name = app_name
+ handle_options
+ collect_tasks
+ end
+ end
+
+ # Find the rakefile and then load it and any pending imports.
+ def load_rakefile
+ standard_exception_handling do
+ raw_load_rakefile
+ end
+ end
+
+ # Run the top level tasks of a Rake application.
+ def top_level
+ standard_exception_handling do
+ if options.show_tasks
+ display_tasks_and_comments
+ elsif options.show_prereqs
+ display_prerequisites
+ else
+ top_level_tasks.each { |task_name| invoke_task(task_name) }
+ end
+ end
+ end
+
+ # Add a loader to handle imported files ending in the extension
+ # +ext+.
+ def add_loader(ext, loader)
+ ext = ".#{ext}" unless ext =~ /^\./
+ @loaders[ext] = loader
+ end
+
+ # Application options from the command line
+ def options
+ @options ||= OpenStruct.new
+ end
+
+ # private ----------------------------------------------------------------
+
+ def invoke_task(task_string)
+ name, args = parse_task_string(task_string)
+ t = self[name]
+ t.invoke(*args)
+ end
+
+ def parse_task_string(string)
+ if string =~ /^([^\[]+)(\[(.*)\])$/
+ name = $1
+ args = $3.split(/\s*,\s*/)
+ else
+ name = string
+ args = []
+ end
+ [name, args]
+ end
+
+ # Provide standard exception handling for the given block.
+ def standard_exception_handling
+ begin
+ yield
+ rescue SystemExit => ex
+ # Exit silently with current status
+ raise
+ rescue OptionParser::InvalidOption => ex
+ $stderr.puts ex.message
+ exit(false)
+ rescue Exception => ex
+ # Exit with error message
+ display_error_message(ex)
+ exit(false)
+ end
+ end
+
+ # Display the error message that caused the exception.
+ def display_error_message(ex)
+ $stderr.puts "#{name} aborted!"
+ $stderr.puts ex.message
+ if options.trace
+ $stderr.puts ex.backtrace.join("\n")
+ else
+ $stderr.puts rakefile_location(ex.backtrace)
+ end
+ $stderr.puts "Tasks: #{ex.chain}" if has_chain?(ex)
+ $stderr.puts "(See full trace by running task with --trace)" unless options.trace
+ end
+
+ # Warn about deprecated usage.
+ #
+ # Example:
+ # Rake.application.deprecate("import", "Rake.import", caller.first)
+ #
+ def deprecate(old_usage, new_usage, call_site)
+ return if options.ignore_deprecate
+ $stderr.puts "WARNING: '#{old_usage}' is deprecated. " +
+ "Please use '#{new_usage}' instead.\n" +
+ " at #{call_site}"
+ end
+
+ # Does the exception have a task invocation chain?
+ def has_chain?(exception)
+ exception.respond_to?(:chain) && exception.chain
+ end
+ private :has_chain?
+
+ # True if one of the files in RAKEFILES is in the current directory.
+ # If a match is found, it is copied into @rakefile.
+ def have_rakefile
+ @rakefiles.each do |fn|
+ if File.exist?(fn)
+ others = Dir.glob(fn, File::FNM_CASEFOLD)
+ return others.size == 1 ? others.first : fn
+ elsif fn == ''
+ return fn
+ end
+ end
+ return nil
+ end
+
+ # True if we are outputting to TTY, false otherwise
+ def tty_output?
+ @tty_output
+ end
+
+ # Override the detected TTY output state (mostly for testing)
+ def tty_output=( tty_output_state )
+ @tty_output = tty_output_state
+ end
+
+ # We will truncate output if we are outputting to a TTY or if we've been
+ # given an explicit column width to honor
+ def truncate_output?
+ tty_output? || @terminal_columns.nonzero?
+ end
+
+ # Display the tasks and comments.
+ def display_tasks_and_comments
+ displayable_tasks = tasks.select { |t|
+ t.comment && t.name =~ options.show_task_pattern
+ }
+ case options.show_tasks
+ when :tasks
+ width = displayable_tasks.collect { |t| t.name_with_args.length }.max || 10
+ max_column = truncate_output? ? terminal_width - name.size - width - 7 : nil
+
+ displayable_tasks.each do |t|
+ printf "#{name} %-#{width}s # %s\n",
+ t.name_with_args, max_column ? truncate(t.comment, max_column) : t.comment
+ end
+ when :describe
+ displayable_tasks.each do |t|
+ puts "#{name} #{t.name_with_args}"
+ t.full_comment.split("\n").each do |line|
+ puts " #{line}"
+ end
+ puts
+ end
+ when :lines
+ displayable_tasks.each do |t|
+ t.locations.each do |loc|
+ printf "#{name} %-30s %s\n",t.name_with_args, loc
+ end
+ end
+ else
+ fail "Unknown show task mode: '#{options.show_tasks}'"
+ end
+ end
+
+ def terminal_width
+ if @terminal_columns.nonzero?
+ result = @terminal_columns
+ else
+ result = unix? ? dynamic_width : 80
+ end
+ (result < 10) ? 80 : result
+ rescue
+ 80
+ end
+
+ # Calculate the dynamic width of the
+ def dynamic_width
+ @dynamic_width ||= (dynamic_width_stty.nonzero? || dynamic_width_tput)
+ end
+
+ def dynamic_width_stty
+ %x{stty size 2>/dev/null}.split[1].to_i
+ end
+
+ def dynamic_width_tput
+ %x{tput cols 2>/dev/null}.to_i
+ end
+
+ def unix?
+ RbConfig::CONFIG['host_os'] =~ /(aix|darwin|linux|(net|free|open)bsd|cygwin|solaris|irix|hpux)/i
+ end
+
+ def windows?
+ Win32.windows?
+ end
+
+ def truncate(string, width)
+ if string.length <= width
+ string
+ else
+ ( string[0, width-3] || "" ) + "..."
+ end
+ end
+
+ # Display the tasks and prerequisites
+ def display_prerequisites
+ tasks.each do |t|
+ puts "#{name} #{t.name}"
+ t.prerequisites.each { |pre| puts " #{pre}" }
+ end
+ end
+
+ # A list of all the standard options used in rake, suitable for
+ # passing to OptionParser.
+ def standard_rake_options
+ [
+ ['--classic-namespace', '-C', "Put Task and FileTask in the top level namespace",
+ lambda { |value|
+ require 'rake/classic_namespace'
+ options.classic_namespace = true
+ }
+ ],
+ ['--describe', '-D [PATTERN]', "Describe the tasks (matching optional PATTERN), then exit.",
+ lambda { |value|
+ options.show_tasks = :describe
+ options.show_task_pattern = Regexp.new(value || '')
+ TaskManager.record_task_metadata = true
+ }
+ ],
+ ['--dry-run', '-n', "Do a dry run without executing actions.",
+ lambda { |value|
+ Rake.verbose(true)
+ Rake.nowrite(true)
+ options.dryrun = true
+ options.trace = true
+ }
+ ],
+ ['--execute', '-e CODE', "Execute some Ruby code and exit.",
+ lambda { |value|
+ eval(value)
+ exit
+ }
+ ],
+ ['--execute-print', '-p CODE', "Execute some Ruby code, print the result, then exit.",
+ lambda { |value|
+ puts eval(value)
+ exit
+ }
+ ],
+ ['--execute-continue', '-E CODE',
+ "Execute some Ruby code, then continue with normal task processing.",
+ lambda { |value| eval(value) }
+ ],
+ ['--libdir', '-I LIBDIR', "Include LIBDIR in the search path for required modules.",
+ lambda { |value| $:.push(value) }
+ ],
+ ['--no-search', '--nosearch', '-N', "Do not search parent directories for the Rakefile.",
+ lambda { |value| options.nosearch = true }
+ ],
+ ['--prereqs', '-P', "Display the tasks and dependencies, then exit.",
+ lambda { |value| options.show_prereqs = true }
+ ],
+ ['--quiet', '-q', "Do not log messages to standard output.",
+ lambda { |value| Rake.verbose(false) }
+ ],
+ ['--rakefile', '-f [FILE]', "Use FILE as the rakefile.",
+ lambda { |value|
+ value ||= ''
+ @rakefiles.clear
+ @rakefiles << value
+ }
+ ],
+ ['--rakelibdir', '--rakelib', '-R RAKELIBDIR',
+ "Auto-import any .rake files in RAKELIBDIR. (default is 'rakelib')",
+ # HACK Use File::PATH_SEPARATOR
+ lambda { |value| options.rakelib = value.split(':') }
+ ],
+ ['--require', '-r MODULE', "Require MODULE before executing rakefile.",
+ lambda { |value|
+ begin
+ require value
+ rescue LoadError => ex
+ begin
+ rake_require value
+ rescue LoadError
+ raise ex
+ end
+ end
+ }
+ ],
+ ['--rules', "Trace the rules resolution.",
+ lambda { |value| options.trace_rules = true }
+ ],
+ ['--silent', '-s', "Like --quiet, but also suppresses the 'in directory' announcement.",
+ lambda { |value|
+ Rake.verbose(false)
+ options.silent = true
+ }
+ ],
+ ['--system', '-g',
+ "Using system wide (global) rakefiles (usually '~/.rake/*.rake').",
+ lambda { |value| options.load_system = true }
+ ],
+ ['--no-system', '--nosystem', '-G',
+ "Use standard project Rakefile search paths, ignore system wide rakefiles.",
+ lambda { |value| options.ignore_system = true }
+ ],
+ ['--tasks', '-T [PATTERN]', "Display the tasks (matching optional PATTERN) with descriptions, then exit.",
+ lambda { |value|
+ options.show_tasks = :tasks
+ options.show_task_pattern = Regexp.new(value || '')
+ Rake::TaskManager.record_task_metadata = true
+ }
+ ],
+ ['--trace', '-t', "Turn on invoke/execute tracing, enable full backtrace.",
+ lambda { |value|
+ options.trace = true
+ Rake.verbose(true)
+ }
+ ],
+ ['--verbose', '-v', "Log message to standard output.",
+ lambda { |value| Rake.verbose(true) }
+ ],
+ ['--version', '-V', "Display the program version.",
+ lambda { |value|
+ puts "rake, version #{RAKEVERSION}"
+ exit
+ }
+ ],
+ ['--where', '-W [PATTERN]', "Describe the tasks (matching optional PATTERN), then exit.",
+ lambda { |value|
+ options.show_tasks = :lines
+ options.show_task_pattern = Regexp.new(value || '')
+ Rake::TaskManager.record_task_metadata = true
+ }
+ ],
+ ['--no-deprecation-warnings', '-X', "Disable the deprecation warnings.",
+ lambda { |value|
+ options.ignore_deprecate = true
+ }
+ ],
+ ]
+ end
+
+ # Read and handle the command line options.
+ def handle_options
+ options.rakelib = ['rakelib']
+
+ OptionParser.new do |opts|
+ opts.banner = "rake [-f rakefile] {options} targets..."
+ opts.separator ""
+ opts.separator "Options are ..."
+
+ opts.on_tail("-h", "--help", "-H", "Display this help message.") do
+ puts opts
+ exit
+ end
+
+ standard_rake_options.each { |args| opts.on(*args) }
+ opts.environment('RAKEOPT')
+ end.parse!
+
+ # If class namespaces are requested, set the global options
+ # according to the values in the options structure.
+ if options.classic_namespace
+ $show_tasks = options.show_tasks
+ $show_prereqs = options.show_prereqs
+ $trace = options.trace
+ $dryrun = options.dryrun
+ $silent = options.silent
+ end
+ end
+
+ # Similar to the regular Ruby +require+ command, but will check
+ # for *.rake files in addition to *.rb files.
+ def rake_require(file_name, paths=$LOAD_PATH, loaded=$")
+ fn = file_name + ".rake"
+ return false if loaded.include?(fn)
+ paths.each do |path|
+ full_path = File.join(path, fn)
+ if File.exist?(full_path)
+ Rake.load_rakefile(full_path)
+ loaded << fn
+ return true
+ end
+ end
+ fail LoadError, "Can't find #{file_name}"
+ end
+
+ def find_rakefile_location
+ here = Dir.pwd
+ while ! (fn = have_rakefile)
+ Dir.chdir("..")
+ if Dir.pwd == here || options.nosearch
+ return nil
+ end
+ here = Dir.pwd
+ end
+ [fn, here]
+ ensure
+ Dir.chdir(Rake.original_dir)
+ end
+
+ def print_rakefile_directory(location)
+ $stderr.puts "(in #{Dir.pwd})" unless
+ options.silent or original_dir == location
+ end
+
+ def raw_load_rakefile # :nodoc:
+ rakefile, location = find_rakefile_location
+ if (! options.ignore_system) &&
+ (options.load_system || rakefile.nil?) &&
+ system_dir && File.directory?(system_dir)
+ print_rakefile_directory(location)
+ glob("#{system_dir}/*.rake") do |name|
+ add_import name
+ end
+ else
+ fail "No Rakefile found (looking for: #{@rakefiles.join(', ')})" if
+ rakefile.nil?
+ @rakefile = rakefile
+ Dir.chdir(location)
+ print_rakefile_directory(location)
+ $rakefile = @rakefile if options.classic_namespace
+ Rake.load_rakefile(File.expand_path(@rakefile)) if @rakefile && @rakefile != ''
+ options.rakelib.each do |rlib|
+ glob("#{rlib}/*.rake") do |name|
+ add_import name
+ end
+ end
+ end
+ load_imports
+ end
+
+ def glob(path, &block)
+ Dir[path.gsub("\\", '/')].each(&block)
+ end
+ private :glob
+
+ # The directory path containing the system wide rakefiles.
+ def system_dir
+ @system_dir ||=
+ begin
+ if ENV['RAKE_SYSTEM']
+ ENV['RAKE_SYSTEM']
+ else
+ standard_system_dir
+ end
+ end
+ end
+
+ # The standard directory containing system wide rake files.
+ if Win32.windows?
+ def standard_system_dir #:nodoc:
+ Win32.win32_system_dir
+ end
+ else
+ def standard_system_dir #:nodoc:
+ File.join(File.expand_path('~'), '.rake')
+ end
+ end
+ private :standard_system_dir
+
+ # Collect the list of tasks on the command line. If no tasks are
+ # given, return a list containing only the default task.
+ # Environmental assignments are processed at this time as well.
+ def collect_tasks
+ @top_level_tasks = []
+ ARGV.each do |arg|
+ if arg =~ /^(\w+)=(.*)$/
+ ENV[$1] = $2
+ else
+ @top_level_tasks << arg unless arg =~ /^-/
+ end
+ end
+ @top_level_tasks.push("default") if @top_level_tasks.size == 0
+ end
+
+ # Add a file to the list of files to be imported.
+ def add_import(fn)
+ @pending_imports << fn
+ end
+
+ # Load the pending list of imported files.
+ def load_imports
+ while fn = @pending_imports.shift
+ next if @imported.member?(fn)
+ if fn_task = lookup(fn)
+ fn_task.invoke
+ end
+ ext = File.extname(fn)
+ loader = @loaders[ext] || @default_loader
+ loader.load(fn)
+ @imported << fn
+ end
+ end
+
+ # Warn about deprecated use of top level constant names.
+ def const_warning(const_name)
+ @const_warning ||= false
+ if ! @const_warning
+ $stderr.puts %{WARNING: Deprecated reference to top-level constant '#{const_name}' } +
+ %{found at: #{rakefile_location}} # '
+ $stderr.puts %{ Use --classic-namespace on rake command}
+ $stderr.puts %{ or 'require "rake/classic_namespace"' in Rakefile}
+ end
+ @const_warning = true
+ end
+
+ def rakefile_location backtrace = caller
+ backtrace.map { |t| t[/([^:]+):/,1] }
+
+ re = /^#{@rakefile}$/
+ re = /#{re.source}/i if windows?
+
+ backtrace.find { |str| str =~ re } || ''
+ end
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/classic_namespace.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/classic_namespace.rb
new file mode 100755
index 00000000000..6e71012da46
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/classic_namespace.rb
@@ -0,0 +1,11 @@
+# The following classes used to be in the top level namespace.
+# Loading this file enables compatibility with older Rakefile that
+# referenced Task from the top level.
+
+warn "WARNING: Classic namespaces are deprecated and will be removed from future versions of Rake."
+# :stopdoc:
+Task = Rake::Task
+FileTask = Rake::FileTask
+FileCreationTask = Rake::FileCreationTask
+RakeApp = Rake::Application
+# :startdoc:
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/clean.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/clean.rb
new file mode 100755
index 00000000000..5c9cbcdb246
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/clean.rb
@@ -0,0 +1,32 @@
+# The 'rake/clean' file defines two file lists (CLEAN and CLOBBER) and
+# two rake tasks (:clean and :clobber).
+#
+# [:clean] Clean up the project by deleting scratch files and backup
+# files. Add files to the CLEAN file list to have the :clean
+# target handle them.
+#
+# [:clobber] Clobber all generated and non-source files in a project.
+# The task depends on :clean, so all the clean files will
+# be deleted as well as files in the CLOBBER file list.
+# The intent of this task is to return a project to its
+# pristine, just unpacked state.
+
+require 'rake'
+
+# :stopdoc:
+CLEAN = Rake::FileList["**/*~", "**/*.bak", "**/core"]
+CLEAN.clear_exclude.exclude { |fn|
+ fn.pathmap("%f") == 'core' && File.directory?(fn)
+}
+
+desc "Remove any temporary products."
+task :clean do
+ CLEAN.each { |fn| rm_r fn rescue nil }
+end
+
+CLOBBER = Rake::FileList.new
+
+desc "Remove any generated file."
+task :clobber => [:clean] do
+ CLOBBER.each { |fn| rm_r fn rescue nil }
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/cloneable.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/cloneable.rb
new file mode 100755
index 00000000000..19c780bff6c
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/cloneable.rb
@@ -0,0 +1,25 @@
+module Rake
+ # ##########################################################################
+ # Mixin for creating easily cloned objects.
+ #
+ module Cloneable
+ # Clone an object by making a new object and setting all the instance
+ # variables to the same values.
+ def dup
+ sibling = self.class.new
+ instance_variables.each do |ivar|
+ value = self.instance_variable_get(ivar)
+ new_value = value.clone rescue value
+ sibling.instance_variable_set(ivar, new_value)
+ end
+ sibling.taint if tainted?
+ sibling
+ end
+
+ def clone
+ sibling = dup
+ sibling.freeze if frozen?
+ sibling
+ end
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/contrib/compositepublisher.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/contrib/compositepublisher.rb
new file mode 100755
index 00000000000..69952a08081
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/contrib/compositepublisher.rb
@@ -0,0 +1,21 @@
+module Rake
+
+ # Manage several publishers as a single entity.
+ class CompositePublisher
+ def initialize
+ @publishers = []
+ end
+
+ # Add a publisher to the composite.
+ def add(pub)
+ @publishers << pub
+ end
+
+ # Upload all the individual publishers.
+ def upload
+ @publishers.each { |p| p.upload }
+ end
+ end
+
+end
+
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/contrib/ftptools.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/contrib/ftptools.rb
new file mode 100755
index 00000000000..78420c74128
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/contrib/ftptools.rb
@@ -0,0 +1,150 @@
+# = Tools for FTP uploading.
+#
+# This file is still under development and is not released for general
+# use.
+
+require 'date'
+require 'net/ftp'
+
+module Rake # :nodoc:
+
+ ####################################################################
+ # <b>Note:</b> <em> Not released for general use.</em>
+ class FtpFile
+ attr_reader :name, :size, :owner, :group, :time
+
+ def self.date
+ @date_class ||= Date
+ end
+
+ def self.time
+ @time_class ||= Time
+ end
+
+ def initialize(path, entry)
+ @path = path
+ @mode, _, @owner, @group, size, d1, d2, d3, @name = entry.split(' ')
+ @size = size.to_i
+ @time = determine_time(d1, d2, d3)
+ end
+
+ def path
+ File.join(@path, @name)
+ end
+
+ def directory?
+ @mode[0] == ?d
+ end
+
+ def mode
+ parse_mode(@mode)
+ end
+
+ def symlink?
+ @mode[0] == ?l
+ end
+
+ private # --------------------------------------------------------
+
+ def parse_mode(m)
+ result = 0
+ (1..9).each do |i|
+ result = 2*result + ((m[i]==?-) ? 0 : 1)
+ end
+ result
+ end
+
+ def determine_time(d1, d2, d3)
+ now = self.class.time.now
+ if /:/ =~ d3
+ result = Time.parse("#{d1} #{d2} #{now.year} #{d3}")
+ if result > now
+ result = Time.parse("#{d1} #{d2} #{now.year-1} #{d3}")
+ end
+ else
+ result = Time.parse("#{d1} #{d2} #{d3}")
+ end
+ result
+# elements = ParseDate.parsedate("#{d1} #{d2} #{d3}")
+# if elements[0].nil?
+# today = self.class.date.today
+# if elements[1] > today.month
+# elements[0] = today.year - 1
+# else
+# elements[0] = today.year
+# end
+# end
+# elements = elements.collect { |el| el.nil? ? 0 : el }
+# Time.mktime(*elements[0,7])
+ end
+ end
+
+ ####################################################################
+ # Manage the uploading of files to an FTP account.
+ class FtpUploader
+
+ # Log uploads to standard output when true.
+ attr_accessor :verbose
+
+ class << FtpUploader
+ # Create an uploader and pass it to the given block as +up+.
+ # When the block is complete, close the uploader.
+ def connect(path, host, account, password)
+ up = self.new(path, host, account, password)
+ begin
+ yield(up)
+ ensure
+ up.close
+ end
+ end
+ end
+
+ # Create an FTP uploader targeting the directory +path+ on +host+
+ # using the given account and password. +path+ will be the root
+ # path of the uploader.
+ def initialize(path, host, account, password)
+ @created = Hash.new
+ @path = path
+ @ftp = Net::FTP.new(host, account, password)
+ makedirs(@path)
+ @ftp.chdir(@path)
+ end
+
+ # Create the directory +path+ in the uploader root path.
+ def makedirs(path)
+ route = []
+ File.split(path).each do |dir|
+ route << dir
+ current_dir = File.join(route)
+ if @created[current_dir].nil?
+ @created[current_dir] = true
+ $stderr.puts "Creating Directory #{current_dir}" if @verbose
+ @ftp.mkdir(current_dir) rescue nil
+ end
+ end
+ end
+
+ # Upload all files matching +wildcard+ to the uploader's root
+ # path.
+ def upload_files(wildcard)
+ Dir[wildcard].each do |fn|
+ upload(fn)
+ end
+ end
+
+ # Close the uploader.
+ def close
+ @ftp.close
+ end
+
+ private # --------------------------------------------------------
+
+ # Upload a single file to the uploader's root path.
+ def upload(file)
+ $stderr.puts "Uploading #{file}" if @verbose
+ dir = File.dirname(file)
+ makedirs(dir)
+ @ftp.putbinaryfile(file, file) unless File.directory?(file)
+ end
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/contrib/publisher.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/contrib/publisher.rb
new file mode 100755
index 00000000000..8b11edb59c4
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/contrib/publisher.rb
@@ -0,0 +1,73 @@
+# Copyright 2003-2010 by Jim Weirich (jim.weirich@gmail.com)
+# All rights reserved.
+
+# :stopdoc:
+
+# Configuration information about an upload host system.
+# name :: Name of host system.
+# webdir :: Base directory for the web information for the
+# application. The application name (APP) is appended to
+# this directory before using.
+# pkgdir :: Directory on the host system where packages can be
+# placed.
+HostInfo = Struct.new(:name, :webdir, :pkgdir)
+
+# :startdoc:
+
+# Manage several publishers as a single entity.
+class CompositePublisher
+ def initialize
+ @publishers = []
+ end
+
+ # Add a publisher to the composite.
+ def add(pub)
+ @publishers << pub
+ end
+
+ # Upload all the individual publishers.
+ def upload
+ @publishers.each { |p| p.upload }
+ end
+end
+
+# Publish an entire directory to an existing remote directory using
+# SSH.
+class SshDirPublisher
+ def initialize(host, remote_dir, local_dir)
+ @host = host
+ @remote_dir = remote_dir
+ @local_dir = local_dir
+ end
+
+ def upload
+ run %{scp -rq #{@local_dir}/* #{@host}:#{@remote_dir}}
+ end
+end
+
+# Publish an entire directory to a fresh remote directory using SSH.
+class SshFreshDirPublisher < SshDirPublisher
+ def upload
+ run %{ssh #{@host} rm -rf #{@remote_dir}} rescue nil
+ run %{ssh #{@host} mkdir #{@remote_dir}}
+ super
+ end
+end
+
+# Publish a list of files to an existing remote directory.
+class SshFilePublisher
+ # Create a publisher using the give host information.
+ def initialize(host, remote_dir, local_dir, *files)
+ @host = host
+ @remote_dir = remote_dir
+ @local_dir = local_dir
+ @files = files
+ end
+
+ # Upload the local directory to the remote directory.
+ def upload
+ @files.each do |fn|
+ run %{scp -q #{@local_dir}/#{fn} #{@host}:#{@remote_dir}}
+ end
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/contrib/rubyforgepublisher.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/contrib/rubyforgepublisher.rb
new file mode 100755
index 00000000000..a4b96936c8d
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/contrib/rubyforgepublisher.rb
@@ -0,0 +1,16 @@
+require 'rake/contrib/sshpublisher'
+
+module Rake
+
+ class RubyForgePublisher < SshDirPublisher
+ attr_reader :project, :proj_id, :user
+
+ def initialize(projname, user)
+ super(
+ "#{user}@rubyforge.org",
+ "/var/www/gforge-projects/#{projname}",
+ "html")
+ end
+ end
+
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/contrib/sshpublisher.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/contrib/sshpublisher.rb
new file mode 100755
index 00000000000..bd6adc127e3
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/contrib/sshpublisher.rb
@@ -0,0 +1,50 @@
+require 'rake/dsl_definition'
+require 'rake/contrib/compositepublisher'
+
+module Rake
+
+ # Publish an entire directory to an existing remote directory using
+ # SSH.
+ class SshDirPublisher
+ include Rake::DSL
+
+ def initialize(host, remote_dir, local_dir)
+ @host = host
+ @remote_dir = remote_dir
+ @local_dir = local_dir
+ end
+
+ def upload
+ sh %{scp -rq #{@local_dir}/* #{@host}:#{@remote_dir}}
+ end
+ end
+
+ # Publish an entire directory to a fresh remote directory using SSH.
+ class SshFreshDirPublisher < SshDirPublisher
+ def upload
+ sh %{ssh #{@host} rm -rf #{@remote_dir}} rescue nil
+ sh %{ssh #{@host} mkdir #{@remote_dir}}
+ super
+ end
+ end
+
+ # Publish a list of files to an existing remote directory.
+ class SshFilePublisher
+ include Rake::DSL
+
+ # Create a publisher using the give host information.
+ def initialize(host, remote_dir, local_dir, *files)
+ @host = host
+ @remote_dir = remote_dir
+ @local_dir = local_dir
+ @files = files
+ end
+
+ # Upload the local directory to the remote directory.
+ def upload
+ @files.each do |fn|
+ sh %{scp -q #{@local_dir}/#{fn} #{@host}:#{@remote_dir}}
+ end
+ end
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/contrib/sys.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/contrib/sys.rb
new file mode 100755
index 00000000000..41963f1feff
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/contrib/sys.rb
@@ -0,0 +1,191 @@
+warn 'Sys has been deprecated in favor of FileUtils'
+
+#--
+# Copyright 2003-2010 by Jim Weirich (jim.weirich@gmail.com)
+# All rights reserved.
+#++
+#
+begin
+ require 'ftools'
+rescue LoadError
+end
+require 'rbconfig'
+
+######################################################################
+# Sys provides a number of file manipulation tools for the convenience
+# of writing Rakefiles. All commands in this module will announce
+# their activity on standard output if the $verbose flag is set
+# ($verbose = true is the default). You can control this by globally
+# setting $verbose or by using the +verbose+ and +quiet+ methods.
+#
+# Sys has been deprecated in favor of the FileUtils module available
+# in Ruby 1.8.
+#
+module Sys
+ RUBY = RbConfig::CONFIG['ruby_install_name']
+
+ # Install all the files matching +wildcard+ into the +dest_dir+
+ # directory. The permission mode is set to +mode+.
+ def install(wildcard, dest_dir, mode)
+ Dir[wildcard].each do |fn|
+ File.install(fn, dest_dir, mode, $verbose)
+ end
+ end
+
+ # Run the system command +cmd+.
+ def run(cmd)
+ log cmd
+ system(cmd) or fail "Command Failed: [#{cmd}]"
+ end
+
+ # Run a Ruby interpreter with the given arguments.
+ def ruby(*args)
+ run "#{RUBY} #{args.join(' ')}"
+ end
+
+ # Copy a single file from +file_name+ to +dest_file+.
+ def copy(file_name, dest_file)
+ log "Copying file #{file_name} to #{dest_file}"
+ File.copy(file_name, dest_file)
+ end
+
+ # Copy all files matching +wildcard+ into the directory +dest_dir+.
+ def copy_files(wildcard, dest_dir)
+ for_matching_files(wildcard, dest_dir) { |from, to| copy(from, to) }
+ end
+
+ # Link +file_name+ to +dest_file+.
+ def link(file_name, dest_file)
+ log "Linking file #{file_name} to #{dest_file}"
+ File.link(file_name, dest_file)
+ end
+
+ # Link all files matching +wildcard+ into the directory +dest_dir+.
+ def link_files(wildcard, dest_dir)
+ for_matching_files(wildcard, dest_dir) { |from, to| link(from, to) }
+ end
+
+ # Symlink +file_name+ to +dest_file+.
+ def symlink(file_name, dest_file)
+ log "Symlinking file #{file_name} to #{dest_file}"
+ File.symlink(file_name, dest_file)
+ end
+
+ # Symlink all files matching +wildcard+ into the directory +dest_dir+.
+ def symlink_files(wildcard, dest_dir)
+ for_matching_files(wildcard, dest_dir) { |from, to| link(from, to) }
+ end
+
+ # Remove all files matching +wildcard+. If a matching file is a
+ # directory, it must be empty to be removed. used +delete_all+ to
+ # recursively delete directories.
+ def delete(*wildcards)
+ wildcards.each do |wildcard|
+ Dir[wildcard].each do |fn|
+ if File.directory?(fn)
+ log "Deleting directory #{fn}"
+ Dir.delete(fn)
+ else
+ log "Deleting file #{fn}"
+ File.delete(fn)
+ end
+ end
+ end
+ end
+
+ # Recursively delete all files and directories matching +wildcard+.
+ def delete_all(*wildcards)
+ wildcards.each do |wildcard|
+ Dir[wildcard].each do |fn|
+ next if ! File.exist?(fn)
+ if File.directory?(fn)
+ Dir["#{fn}/*"].each do |subfn|
+ next if subfn=='.' || subfn=='..'
+ delete_all(subfn)
+ end
+ log "Deleting directory #{fn}"
+ Dir.delete(fn)
+ else
+ log "Deleting file #{fn}"
+ File.delete(fn)
+ end
+ end
+ end
+ end
+
+ # Make the directories given in +dirs+.
+ def makedirs(*dirs)
+ dirs.each do |fn|
+ log "Making directory #{fn}"
+ File.makedirs(fn)
+ end
+ end
+
+ # Make +dir+ the current working directory for the duration of
+ # executing the given block.
+ def indir(dir)
+ olddir = Dir.pwd
+ Dir.chdir(dir)
+ yield
+ ensure
+ Dir.chdir(olddir)
+ end
+
+ # Split a file path into individual directory names.
+ #
+ # For example:
+ # split_all("a/b/c") => ['a', 'b', 'c']
+ def split_all(path)
+ head, tail = File.split(path)
+ return [tail] if head == '.' || tail == '/'
+ return [head, tail] if head == '/'
+ return split_all(head) + [tail]
+ end
+
+ # Write a message to standard error if $verbose is enabled.
+ def log(msg)
+ print " " if $trace && $verbose
+ $stderr.puts msg if $verbose
+ end
+
+ # Perform a block with $verbose disabled.
+ def quiet(&block)
+ with_verbose(false, &block)
+ end
+
+ # Perform a block with $verbose enabled.
+ def verbose(&block)
+ with_verbose(true, &block)
+ end
+
+ # Perform a block with each file matching a set of wildcards.
+ def for_files(*wildcards)
+ wildcards.each do |wildcard|
+ Dir[wildcard].each do |fn|
+ yield(fn)
+ end
+ end
+ end
+
+ extend(self)
+
+ private # ----------------------------------------------------------
+
+ def for_matching_files(wildcard, dest_dir)
+ Dir[wildcard].each do |fn|
+ dest_file = File.join(dest_dir, fn)
+ parent = File.dirname(dest_file)
+ makedirs(parent) if ! File.directory?(parent)
+ yield(fn, dest_file)
+ end
+ end
+
+ def with_verbose(v)
+ oldverbose = $verbose
+ $verbose = v
+ yield
+ ensure
+ $verbose = oldverbose
+ end
+
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/default_loader.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/default_loader.rb
new file mode 100755
index 00000000000..5dd3c05617b
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/default_loader.rb
@@ -0,0 +1,10 @@
+module Rake
+
+ # Default Rakefile loader used by +import+.
+ class DefaultLoader
+ def load(fn)
+ Rake.load_rakefile(File.expand_path(fn))
+ end
+ end
+
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/dsl_definition.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/dsl_definition.rb
new file mode 100755
index 00000000000..6d9a6b88f3a
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/dsl_definition.rb
@@ -0,0 +1,176 @@
+# Rake DSL functions.
+require 'rake/file_utils_ext'
+
+module Rake
+
+ ##
+ # DSL is a module that provides #task, #desc, #namespace, etc. Use this
+ # when you'd like to use rake outside the top level scope.
+
+ module DSL
+
+ #--
+ # Include the FileUtils file manipulation functions in the top
+ # level module, but mark them private so that they don't
+ # unintentionally define methods on other objects.
+ #++
+
+ include FileUtilsExt
+ private(*FileUtils.instance_methods(false))
+ private(*FileUtilsExt.instance_methods(false))
+
+ private
+
+ # Declare a basic task.
+ #
+ # Example:
+ # task :clobber => [:clean] do
+ # rm_rf "html"
+ # end
+ #
+ def task(*args, &block)
+ Rake::Task.define_task(*args, &block)
+ end
+
+
+ # Declare a file task.
+ #
+ # Example:
+ # file "config.cfg" => ["config.template"] do
+ # open("config.cfg", "w") do |outfile|
+ # open("config.template") do |infile|
+ # while line = infile.gets
+ # outfile.puts line
+ # end
+ # end
+ # end
+ # end
+ #
+ def file(*args, &block)
+ Rake::FileTask.define_task(*args, &block)
+ end
+
+ # Declare a file creation task.
+ # (Mainly used for the directory command).
+ def file_create(args, &block)
+ Rake::FileCreationTask.define_task(args, &block)
+ end
+
+ # Declare a set of files tasks to create the given directories on
+ # demand.
+ #
+ # Example:
+ # directory "testdata/doc"
+ #
+ def directory(dir)
+ Rake.each_dir_parent(dir) do |d|
+ file_create d do |t|
+ mkdir_p t.name if ! File.exist?(t.name)
+ end
+ end
+ end
+
+ # Declare a task that performs its prerequisites in
+ # parallel. Multitasks does *not* guarantee that its prerequisites
+ # will execute in any given order (which is obvious when you think
+ # about it)
+ #
+ # Example:
+ # multitask :deploy => [:deploy_gem, :deploy_rdoc]
+ #
+ def multitask(args, &block)
+ Rake::MultiTask.define_task(args, &block)
+ end
+
+ # Create a new rake namespace and use it for evaluating the given
+ # block. Returns a NameSpace object that can be used to lookup
+ # tasks defined in the namespace.
+ #
+ # E.g.
+ #
+ # ns = namespace "nested" do
+ # task :run
+ # end
+ # task_run = ns[:run] # find :run in the given namespace.
+ #
+ def namespace(name=nil, &block)
+ name = name.to_s if name.kind_of?(Symbol)
+ name = name.to_str if name.respond_to?(:to_str)
+ unless name.kind_of?(String) || name.nil?
+ raise ArgumentError, "Expected a String or Symbol for a namespace name"
+ end
+ Rake.application.in_namespace(name, &block)
+ end
+
+ # Declare a rule for auto-tasks.
+ #
+ # Example:
+ # rule '.o' => '.c' do |t|
+ # sh %{cc -o #{t.name} #{t.source}}
+ # end
+ #
+ def rule(*args, &block)
+ Rake::Task.create_rule(*args, &block)
+ end
+
+ # Describe the next rake task.
+ #
+ # Example:
+ # desc "Run the Unit Tests"
+ # task :test => [:build]
+ # runtests
+ # end
+ #
+ def desc(description)
+ Rake.application.last_description = description
+ end
+
+ # Import the partial Rakefiles +fn+. Imported files are loaded
+ # _after_ the current file is completely loaded. This allows the
+ # import statement to appear anywhere in the importing file, and yet
+ # allowing the imported files to depend on objects defined in the
+ # importing file.
+ #
+ # A common use of the import statement is to include files
+ # containing dependency declarations.
+ #
+ # See also the --rakelibdir command line option.
+ #
+ # Example:
+ # import ".depend", "my_rules"
+ #
+ def import(*fns)
+ fns.each do |fn|
+ Rake.application.add_import(fn)
+ end
+ end
+
+ end
+
+ DeprecatedCommands = Object.new.extend(DSL)
+
+ module DeprecatedObjectDSL # :nodoc:
+ DSL.private_instance_methods(false).each do |name|
+ line = __LINE__+1
+ class_eval %{
+ def #{name}(*args, &block)
+ unless Rake.application.options.ignore_deprecate
+ unless @rake_dsl_warning
+ $stderr.puts "WARNING: Global access to Rake DSL methods is deprecated. Please include"
+ $stderr.puts " ... Rake::DSL into classes and modules which use the Rake DSL methods."
+ @rake_dsl_warning = true
+ end
+ $stderr.puts "WARNING: DSL method \#{self.class}##{name} called at \#{caller.first}"
+ end
+ Rake::DeprecatedCommands.send(:#{name}, *args, &block)
+ end
+ private :#{name}
+ }, __FILE__, line
+ end
+ end
+
+ extend FileUtilsExt
+end
+
+self.extend Rake::DSL
+include Rake::DeprecatedObjectDSL
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/early_time.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/early_time.rb
new file mode 100755
index 00000000000..8c0e7d33398
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/early_time.rb
@@ -0,0 +1,18 @@
+module Rake
+
+ # EarlyTime is a fake timestamp that occurs _before_ any other time value.
+ class EarlyTime
+ include Comparable
+ include Singleton
+
+ def <=>(other)
+ -1
+ end
+
+ def to_s
+ "<EARLY TIME>"
+ end
+ end
+
+ EARLY = EarlyTime.instance
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/ext/core.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/ext/core.rb
new file mode 100755
index 00000000000..1f3a7389063
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/ext/core.rb
@@ -0,0 +1,27 @@
+######################################################################
+# Core extension library
+#
+class Module
+ # Check for an existing method in the current class before extending. IF
+ # the method already exists, then a warning is printed and the extension is
+ # not added. Otherwise the block is yielded and any definitions in the
+ # block will take effect.
+ #
+ # Usage:
+ #
+ # class String
+ # rake_extension("xyz") do
+ # def xyz
+ # ...
+ # end
+ # end
+ # end
+ #
+ def rake_extension(method)
+ if method_defined?(method)
+ $stderr.puts "WARNING: Possible conflict with Rake extension: #{self}##{method} already exists"
+ else
+ yield
+ end
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/ext/module.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/ext/module.rb
new file mode 100755
index 00000000000..3f64aef6c8b
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/ext/module.rb
@@ -0,0 +1,39 @@
+require 'rake/ext/core'
+require 'rake/task'
+require 'rake/file_task'
+require 'rake/file_creation_task'
+require 'rake/application'
+require 'rake/task_manager'
+
+######################################################################
+# Rake extensions to Module.
+#
+class Module
+
+ # Rename the original handler to make it available.
+ alias :rake_original_const_missing :const_missing
+
+ # Check for deprecated uses of top level (i.e. in Object) uses of
+ # Rake class names. If someone tries to reference the constant
+ # name, display a warning and return the proper object. Using the
+ # --classic-namespace command line option will define these
+ # constants in Object and avoid this handler.
+ def const_missing(const_name)
+ case const_name
+ when :Task
+ Rake.application.const_warning(const_name)
+ Rake::Task
+ when :FileTask
+ Rake.application.const_warning(const_name)
+ Rake::FileTask
+ when :FileCreationTask
+ Rake.application.const_warning(const_name)
+ Rake::FileCreationTask
+ when :RakeApp
+ Rake.application.const_warning(const_name)
+ Rake::Application
+ else
+ rake_original_const_missing(const_name)
+ end
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/ext/string.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/ext/string.rb
new file mode 100755
index 00000000000..fb22a9deb10
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/ext/string.rb
@@ -0,0 +1,167 @@
+require 'rake/ext/core'
+
+######################################################################
+# Rake extension methods for String.
+#
+class String
+ rake_extension("ext") do
+ # Replace the file extension with +newext+. If there is no extension on
+ # the string, append the new extension to the end. If the new extension
+ # is not given, or is the empty string, remove any existing extension.
+ #
+ # +ext+ is a user added method for the String class.
+ def ext(newext='')
+ return self.dup if ['.', '..'].include? self
+ if newext != ''
+ newext = (newext =~ /^\./) ? newext : ("." + newext)
+ end
+ self.chomp(File.extname(self)) << newext
+ end
+ end
+
+ rake_extension("pathmap") do
+ # Explode a path into individual components. Used by +pathmap+.
+ def pathmap_explode
+ head, tail = File.split(self)
+ return [self] if head == self
+ return [tail] if head == '.' || tail == '/'
+ return [head, tail] if head == '/'
+ return head.pathmap_explode + [tail]
+ end
+ protected :pathmap_explode
+
+ # Extract a partial path from the path. Include +n+ directories from the
+ # front end (left hand side) if +n+ is positive. Include |+n+|
+ # directories from the back end (right hand side) if +n+ is negative.
+ def pathmap_partial(n)
+ dirs = File.dirname(self).pathmap_explode
+ partial_dirs =
+ if n > 0
+ dirs[0...n]
+ elsif n < 0
+ dirs.reverse[0...-n].reverse
+ else
+ "."
+ end
+ File.join(partial_dirs)
+ end
+ protected :pathmap_partial
+
+ # Preform the pathmap replacement operations on the given path. The
+ # patterns take the form 'pat1,rep1;pat2,rep2...'.
+ def pathmap_replace(patterns, &block)
+ result = self
+ patterns.split(';').each do |pair|
+ pattern, replacement = pair.split(',')
+ pattern = Regexp.new(pattern)
+ if replacement == '*' && block_given?
+ result = result.sub(pattern, &block)
+ elsif replacement
+ result = result.sub(pattern, replacement)
+ else
+ result = result.sub(pattern, '')
+ end
+ end
+ result
+ end
+ protected :pathmap_replace
+
+ # Map the path according to the given specification. The specification
+ # controls the details of the mapping. The following special patterns are
+ # recognized:
+ #
+ # * <b>%p</b> -- The complete path.
+ # * <b>%f</b> -- The base file name of the path, with its file extension,
+ # but without any directories.
+ # * <b>%n</b> -- The file name of the path without its file extension.
+ # * <b>%d</b> -- The directory list of the path.
+ # * <b>%x</b> -- The file extension of the path. An empty string if there
+ # is no extension.
+ # * <b>%X</b> -- Everything *but* the file extension.
+ # * <b>%s</b> -- The alternate file separator if defined, otherwise use
+ # the standard file separator.
+ # * <b>%%</b> -- A percent sign.
+ #
+ # The %d specifier can also have a numeric prefix (e.g. '%2d'). If the
+ # number is positive, only return (up to) +n+ directories in the path,
+ # starting from the left hand side. If +n+ is negative, return (up to)
+ # |+n+| directories from the right hand side of the path.
+ #
+ # Examples:
+ #
+ # 'a/b/c/d/file.txt'.pathmap("%2d") => 'a/b'
+ # 'a/b/c/d/file.txt'.pathmap("%-2d") => 'c/d'
+ #
+ # Also the %d, %p, %f, %n, %x, and %X operators can take a
+ # pattern/replacement argument to perform simple string substitutions on a
+ # particular part of the path. The pattern and replacement are separated
+ # by a comma and are enclosed by curly braces. The replacement spec comes
+ # after the % character but before the operator letter. (e.g.
+ # "%{old,new}d"). Multiple replacement specs should be separated by
+ # semi-colons (e.g. "%{old,new;src,bin}d").
+ #
+ # Regular expressions may be used for the pattern, and back refs may be
+ # used in the replacement text. Curly braces, commas and semi-colons are
+ # excluded from both the pattern and replacement text (let's keep parsing
+ # reasonable).
+ #
+ # For example:
+ #
+ # "src/org/onestepback/proj/A.java".pathmap("%{^src,bin}X.class")
+ #
+ # returns:
+ #
+ # "bin/org/onestepback/proj/A.class"
+ #
+ # If the replacement text is '*', then a block may be provided to perform
+ # some arbitrary calculation for the replacement.
+ #
+ # For example:
+ #
+ # "/path/to/file.TXT".pathmap("%X%{.*,*}x") { |ext|
+ # ext.downcase
+ # }
+ #
+ # Returns:
+ #
+ # "/path/to/file.txt"
+ #
+ def pathmap(spec=nil, &block)
+ return self if spec.nil?
+ result = ''
+ spec.scan(/%\{[^}]*\}-?\d*[sdpfnxX%]|%-?\d+d|%.|[^%]+/) do |frag|
+ case frag
+ when '%f'
+ result << File.basename(self)
+ when '%n'
+ result << File.basename(self).ext
+ when '%d'
+ result << File.dirname(self)
+ when '%x'
+ result << File.extname(self)
+ when '%X'
+ result << self.ext
+ when '%p'
+ result << self
+ when '%s'
+ result << (File::ALT_SEPARATOR || File::SEPARATOR)
+ when '%-'
+ # do nothing
+ when '%%'
+ result << "%"
+ when /%(-?\d+)d/
+ result << pathmap_partial($1.to_i)
+ when /^%\{([^}]*)\}(\d*[dpfnxX])/
+ patterns, operator = $1, $2
+ result << pathmap('%' + operator).pathmap_replace(patterns, &block)
+ when /^%/
+ fail ArgumentError, "Unknown pathmap specifier #{frag} in '#{spec}'"
+ else
+ result << frag
+ end
+ end
+ result
+ end
+ end
+end # class String
+
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/ext/time.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/ext/time.rb
new file mode 100755
index 00000000000..7877abf0ceb
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/ext/time.rb
@@ -0,0 +1,14 @@
+#--
+# Extensions to time to allow comparisons with an early time class.
+
+class Time
+ alias rake_original_time_compare :<=>
+ def <=>(other)
+ if Rake::EarlyTime === other
+ - other.<=>(self)
+ else
+ rake_original_time_compare(other)
+ end
+ end
+end
+
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/file_creation_task.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/file_creation_task.rb
new file mode 100755
index 00000000000..c87e2192bb4
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/file_creation_task.rb
@@ -0,0 +1,24 @@
+require 'rake/file_task'
+require 'rake/early_time'
+
+module Rake
+
+ # A FileCreationTask is a file task that when used as a dependency will be
+ # needed if and only if the file has not been created. Once created, it is
+ # not re-triggered if any of its dependencies are newer, nor does trigger
+ # any rebuilds of tasks that depend on it whenever it is updated.
+ #
+ class FileCreationTask < FileTask
+ # Is this file task needed? Yes if it doesn't exist.
+ def needed?
+ ! File.exist?(name)
+ end
+
+ # Time stamp for file creation task. This time stamp is earlier
+ # than any other time stamp.
+ def timestamp
+ Rake::EARLY
+ end
+ end
+
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/file_list.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/file_list.rb
new file mode 100755
index 00000000000..9f780346f3a
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/file_list.rb
@@ -0,0 +1,403 @@
+require 'rake/cloneable'
+require 'rake/file_utils_ext'
+require 'rake/pathmap'
+
+######################################################################
+module Rake
+
+ # #########################################################################
+ # A FileList is essentially an array with a few helper methods defined to
+ # make file manipulation a bit easier.
+ #
+ # FileLists are lazy. When given a list of glob patterns for possible files
+ # to be included in the file list, instead of searching the file structures
+ # to find the files, a FileList holds the pattern for latter use.
+ #
+ # This allows us to define a number of FileList to match any number of
+ # files, but only search out the actual files when then FileList itself is
+ # actually used. The key is that the first time an element of the
+ # FileList/Array is requested, the pending patterns are resolved into a real
+ # list of file names.
+ #
+ class FileList
+
+ include Cloneable
+
+ # == Method Delegation
+ #
+ # The lazy evaluation magic of FileLists happens by implementing all the
+ # array specific methods to call +resolve+ before delegating the heavy
+ # lifting to an embedded array object (@items).
+ #
+ # In addition, there are two kinds of delegation calls. The regular kind
+ # delegates to the @items array and returns the result directly. Well,
+ # almost directly. It checks if the returned value is the @items object
+ # itself, and if so will return the FileList object instead.
+ #
+ # The second kind of delegation call is used in methods that normally
+ # return a new Array object. We want to capture the return value of these
+ # methods and wrap them in a new FileList object. We enumerate these
+ # methods in the +SPECIAL_RETURN+ list below.
+
+ # List of array methods (that are not in +Object+) that need to be
+ # delegated.
+ ARRAY_METHODS = (Array.instance_methods - Object.instance_methods).map { |n| n.to_s }
+
+ # List of additional methods that must be delegated.
+ MUST_DEFINE = %w[to_a inspect <=>]
+
+ # List of methods that should not be delegated here (we define special
+ # versions of them explicitly below).
+ MUST_NOT_DEFINE = %w[to_a to_ary partition *]
+
+ # List of delegated methods that return new array values which need
+ # wrapping.
+ SPECIAL_RETURN = %w[
+ map collect sort sort_by select find_all reject grep
+ compact flatten uniq values_at
+ + - & |
+ ]
+
+ DELEGATING_METHODS = (ARRAY_METHODS + MUST_DEFINE - MUST_NOT_DEFINE).collect{ |s| s.to_s }.sort.uniq
+
+ # Now do the delegation.
+ DELEGATING_METHODS.each_with_index do |sym, i|
+ if SPECIAL_RETURN.include?(sym)
+ ln = __LINE__+1
+ class_eval %{
+ def #{sym}(*args, &block)
+ resolve
+ result = @items.send(:#{sym}, *args, &block)
+ FileList.new.import(result)
+ end
+ }, __FILE__, ln
+ else
+ ln = __LINE__+1
+ class_eval %{
+ def #{sym}(*args, &block)
+ resolve
+ result = @items.send(:#{sym}, *args, &block)
+ result.object_id == @items.object_id ? self : result
+ end
+ }, __FILE__, ln
+ end
+ end
+
+ # Create a file list from the globbable patterns given. If you wish to
+ # perform multiple includes or excludes at object build time, use the
+ # "yield self" pattern.
+ #
+ # Example:
+ # file_list = FileList.new('lib/**/*.rb', 'test/test*.rb')
+ #
+ # pkg_files = FileList.new('lib/**/*') do |fl|
+ # fl.exclude(/\bCVS\b/)
+ # end
+ #
+ def initialize(*patterns)
+ @pending_add = []
+ @pending = false
+ @exclude_patterns = DEFAULT_IGNORE_PATTERNS.dup
+ @exclude_procs = DEFAULT_IGNORE_PROCS.dup
+ @items = []
+ patterns.each { |pattern| include(pattern) }
+ yield self if block_given?
+ end
+
+ # Add file names defined by glob patterns to the file list. If an array
+ # is given, add each element of the array.
+ #
+ # Example:
+ # file_list.include("*.java", "*.cfg")
+ # file_list.include %w( math.c lib.h *.o )
+ #
+ def include(*filenames)
+ # TODO: check for pending
+ filenames.each do |fn|
+ if fn.respond_to? :to_ary
+ include(*fn.to_ary)
+ else
+ @pending_add << fn
+ end
+ end
+ @pending = true
+ self
+ end
+ alias :add :include
+
+ # Register a list of file name patterns that should be excluded from the
+ # list. Patterns may be regular expressions, glob patterns or regular
+ # strings. In addition, a block given to exclude will remove entries that
+ # return true when given to the block.
+ #
+ # Note that glob patterns are expanded against the file system. If a file
+ # is explicitly added to a file list, but does not exist in the file
+ # system, then an glob pattern in the exclude list will not exclude the
+ # file.
+ #
+ # Examples:
+ # FileList['a.c', 'b.c'].exclude("a.c") => ['b.c']
+ # FileList['a.c', 'b.c'].exclude(/^a/) => ['b.c']
+ #
+ # If "a.c" is a file, then ...
+ # FileList['a.c', 'b.c'].exclude("a.*") => ['b.c']
+ #
+ # If "a.c" is not a file, then ...
+ # FileList['a.c', 'b.c'].exclude("a.*") => ['a.c', 'b.c']
+ #
+ def exclude(*patterns, &block)
+ patterns.each do |pat|
+ @exclude_patterns << pat
+ end
+ if block_given?
+ @exclude_procs << block
+ end
+ resolve_exclude if ! @pending
+ self
+ end
+
+
+ # Clear all the exclude patterns so that we exclude nothing.
+ def clear_exclude
+ @exclude_patterns = []
+ @exclude_procs = []
+ self
+ end
+
+ # Define equality.
+ def ==(array)
+ to_ary == array
+ end
+
+ # Return the internal array object.
+ def to_a
+ resolve
+ @items
+ end
+
+ # Return the internal array object.
+ def to_ary
+ to_a
+ end
+
+ # Lie about our class.
+ def is_a?(klass)
+ klass == Array || super(klass)
+ end
+ alias kind_of? is_a?
+
+ # Redefine * to return either a string or a new file list.
+ def *(other)
+ result = @items * other
+ case result
+ when Array
+ FileList.new.import(result)
+ else
+ result
+ end
+ end
+
+ # Resolve all the pending adds now.
+ def resolve
+ if @pending
+ @pending = false
+ @pending_add.each do |fn| resolve_add(fn) end
+ @pending_add = []
+ resolve_exclude
+ end
+ self
+ end
+
+ def resolve_add(fn)
+ case fn
+ when %r{[*?\[\{]}
+ add_matching(fn)
+ else
+ self << fn
+ end
+ end
+ private :resolve_add
+
+ def resolve_exclude
+ reject! { |fn| exclude?(fn) }
+ self
+ end
+ private :resolve_exclude
+
+ # Return a new FileList with the results of running +sub+ against each
+ # element of the original list.
+ #
+ # Example:
+ # FileList['a.c', 'b.c'].sub(/\.c$/, '.o') => ['a.o', 'b.o']
+ #
+ def sub(pat, rep)
+ inject(FileList.new) { |res, fn| res << fn.sub(pat,rep) }
+ end
+
+ # Return a new FileList with the results of running +gsub+ against each
+ # element of the original list.
+ #
+ # Example:
+ # FileList['lib/test/file', 'x/y'].gsub(/\//, "\\")
+ # => ['lib\\test\\file', 'x\\y']
+ #
+ def gsub(pat, rep)
+ inject(FileList.new) { |res, fn| res << fn.gsub(pat,rep) }
+ end
+
+ # Same as +sub+ except that the original file list is modified.
+ def sub!(pat, rep)
+ each_with_index { |fn, i| self[i] = fn.sub(pat,rep) }
+ self
+ end
+
+ # Same as +gsub+ except that the original file list is modified.
+ def gsub!(pat, rep)
+ each_with_index { |fn, i| self[i] = fn.gsub(pat,rep) }
+ self
+ end
+
+ # Apply the pathmap spec to each of the included file names, returning a
+ # new file list with the modified paths. (See String#pathmap for
+ # details.)
+ def pathmap(spec=nil)
+ collect { |fn| fn.pathmap(spec) }
+ end
+
+ # Return a new FileList with <tt>String#ext</tt> method applied to
+ # each member of the array.
+ #
+ # This method is a shortcut for:
+ #
+ # array.collect { |item| item.ext(newext) }
+ #
+ # +ext+ is a user added method for the Array class.
+ def ext(newext='')
+ collect { |fn| fn.ext(newext) }
+ end
+
+
+ # Grep each of the files in the filelist using the given pattern. If a
+ # block is given, call the block on each matching line, passing the file
+ # name, line number, and the matching line of text. If no block is given,
+ # a standard emacs style file:linenumber:line message will be printed to
+ # standard out. Returns the number of matched items.
+ def egrep(pattern, *options)
+ matched = 0
+ each do |fn|
+ begin
+ open(fn, "rb", *options) do |inf|
+ count = 0
+ inf.each do |line|
+ count += 1
+ if pattern.match(line)
+ matched += 1
+ if block_given?
+ yield fn, count, line
+ else
+ puts "#{fn}:#{count}:#{line}"
+ end
+ end
+ end
+ end
+ rescue StandardError => ex
+ $stderr.puts "Error while processing '#{fn}': #{ex}"
+ end
+ end
+ matched
+ end
+
+ # Return a new file list that only contains file names from the current
+ # file list that exist on the file system.
+ def existing
+ select { |fn| File.exist?(fn) }
+ end
+
+ # Modify the current file list so that it contains only file name that
+ # exist on the file system.
+ def existing!
+ resolve
+ @items = @items.select { |fn| File.exist?(fn) }
+ self
+ end
+
+ # FileList version of partition. Needed because the nested arrays should
+ # be FileLists in this version.
+ def partition(&block) # :nodoc:
+ resolve
+ result = @items.partition(&block)
+ [
+ FileList.new.import(result[0]),
+ FileList.new.import(result[1]),
+ ]
+ end
+
+ # Convert a FileList to a string by joining all elements with a space.
+ def to_s
+ resolve
+ self.join(' ')
+ end
+
+ # Add matching glob patterns.
+ def add_matching(pattern)
+ Dir[pattern].each do |fn|
+ self << fn unless exclude?(fn)
+ end
+ end
+ private :add_matching
+
+ # Should the given file name be excluded?
+ def exclude?(fn)
+ return true if @exclude_patterns.any? do |pat|
+ case pat
+ when Regexp
+ fn =~ pat
+ when /[*?]/
+ File.fnmatch?(pat, fn, File::FNM_PATHNAME)
+ else
+ fn == pat
+ end
+ end
+ @exclude_procs.any? { |p| p.call(fn) }
+ end
+
+ DEFAULT_IGNORE_PATTERNS = [
+ /(^|[\/\\])CVS([\/\\]|$)/,
+ /(^|[\/\\])\.svn([\/\\]|$)/,
+ /\.bak$/,
+ /~$/
+ ]
+ DEFAULT_IGNORE_PROCS = [
+ proc { |fn| fn =~ /(^|[\/\\])core$/ && ! File.directory?(fn) }
+ ]
+
+ def import(array)
+ @items = array
+ self
+ end
+
+ class << self
+ # Create a new file list including the files listed. Similar to:
+ #
+ # FileList.new(*args)
+ def [](*args)
+ new(*args)
+ end
+ end
+ end
+end
+
+module Rake
+ class << self
+
+ # Yield each file or directory component.
+ def each_dir_parent(dir) # :nodoc:
+ old_length = nil
+ while dir != '.' && dir.length != old_length
+ yield(dir)
+ old_length = dir.length
+ dir = File.dirname(dir)
+ end
+ end
+ end
+end # module Rake
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/file_task.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/file_task.rb
new file mode 100755
index 00000000000..78902a86fd6
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/file_task.rb
@@ -0,0 +1,47 @@
+require 'rake/task.rb'
+require 'rake/early_time'
+
+module Rake
+ # #########################################################################
+ # A FileTask is a task that includes time based dependencies. If any of a
+ # FileTask's prerequisites have a timestamp that is later than the file
+ # represented by this task, then the file must be rebuilt (using the
+ # supplied actions).
+ #
+ class FileTask < Task
+
+ # Is this file task needed? Yes if it doesn't exist, or if its time stamp
+ # is out of date.
+ def needed?
+ ! File.exist?(name) || out_of_date?(timestamp)
+ end
+
+ # Time stamp for file task.
+ def timestamp
+ if File.exist?(name)
+ File.mtime(name.to_s)
+ else
+ Rake::EARLY
+ end
+ end
+
+ private
+
+ # Are there any prerequisites with a later time than the given time stamp?
+ def out_of_date?(stamp)
+ @prerequisites.any? { |n| application[n, @scope].timestamp > stamp}
+ end
+
+ # ----------------------------------------------------------------
+ # Task class methods.
+ #
+ class << self
+ # Apply the scope to the task name according to the rules for this kind
+ # of task. File based tasks ignore the scope when creating the name.
+ def scope_name(scope, task_name)
+ task_name
+ end
+ end
+ end
+end
+
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/file_utils.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/file_utils.rb
new file mode 100755
index 00000000000..e02d541ab81
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/file_utils.rb
@@ -0,0 +1,114 @@
+require 'rbconfig'
+require 'fileutils'
+
+#--
+# This a FileUtils extension that defines several additional commands to be
+# added to the FileUtils utility functions.
+module FileUtils
+ # Path to the currently running Ruby program
+ RUBY = File.join(
+ RbConfig::CONFIG['bindir'],
+ RbConfig::CONFIG['ruby_install_name'] + RbConfig::CONFIG['EXEEXT']).
+ sub(/.*\s.*/m, '"\&"')
+
+ OPT_TABLE['sh'] = %w(noop verbose)
+ OPT_TABLE['ruby'] = %w(noop verbose)
+
+ # Run the system command +cmd+. If multiple arguments are given the command
+ # is not run with the shell (same semantics as Kernel::exec and
+ # Kernel::system).
+ #
+ # Example:
+ # sh %{ls -ltr}
+ #
+ # sh 'ls', 'file with spaces'
+ #
+ # # check exit status after command runs
+ # sh %{grep pattern file} do |ok, res|
+ # if ! ok
+ # puts "pattern not found (status = #{res.exitstatus})"
+ # end
+ # end
+ #
+ def sh(*cmd, &block)
+ options = (Hash === cmd.last) ? cmd.pop : {}
+ shell_runner = block_given? ? block : create_shell_runner(cmd)
+ set_verbose_option(options)
+ options[:noop] ||= Rake::FileUtilsExt.nowrite_flag
+ Rake.rake_check_options options, :noop, :verbose
+ Rake.rake_output_message cmd.join(" ") if options[:verbose]
+
+ unless options[:noop]
+ res = rake_system(*cmd)
+ status = $?
+ status = PseudoStatus.new(1) if !res && status.nil?
+ shell_runner.call(res, status)
+ end
+ end
+
+ def create_shell_runner(cmd) # :nodoc:
+ show_command = cmd.join(" ")
+ show_command = show_command[0,42] + "..." unless $trace
+ lambda { |ok, status|
+ ok or fail "Command failed with status (#{status.exitstatus}): [#{show_command}]"
+ }
+ end
+ private :create_shell_runner
+
+ def set_verbose_option(options) # :nodoc:
+ unless options.key? :verbose
+ options[:verbose] =
+ Rake::FileUtilsExt.verbose_flag == Rake::FileUtilsExt::DEFAULT ||
+ Rake::FileUtilsExt.verbose_flag
+ end
+ end
+ private :set_verbose_option
+
+ def rake_system(*cmd) # :nodoc:
+ Rake::AltSystem.system(*cmd)
+ end
+ private :rake_system
+
+ # Run a Ruby interpreter with the given arguments.
+ #
+ # Example:
+ # ruby %{-pe '$_.upcase!' <README}
+ #
+ def ruby(*args,&block)
+ options = (Hash === args.last) ? args.pop : {}
+ if args.length > 1 then
+ sh(*([RUBY] + args + [options]), &block)
+ else
+ sh("#{RUBY} #{args.first}", options, &block)
+ end
+ end
+
+ LN_SUPPORTED = [true]
+
+ # Attempt to do a normal file link, but fall back to a copy if the link
+ # fails.
+ def safe_ln(*args)
+ unless LN_SUPPORTED[0]
+ cp(*args)
+ else
+ begin
+ ln(*args)
+ rescue StandardError, NotImplementedError
+ LN_SUPPORTED[0] = false
+ cp(*args)
+ end
+ end
+ end
+
+ # Split a file path into individual directory names.
+ #
+ # Example:
+ # split_all("a/b/c") => ['a', 'b', 'c']
+ #
+ def split_all(path)
+ head, tail = File.split(path)
+ return [tail] if head == '.' || tail == '/'
+ return [head, tail] if head == '/'
+ return split_all(head) + [tail]
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/file_utils_ext.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/file_utils_ext.rb
new file mode 100755
index 00000000000..557420df809
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/file_utils_ext.rb
@@ -0,0 +1,145 @@
+require 'rake/file_utils'
+
+module Rake
+ #
+ # FileUtilsExt provides a custom version of the FileUtils methods
+ # that respond to the <tt>verbose</tt> and <tt>nowrite</tt>
+ # commands.
+ #
+ module FileUtilsExt
+ include FileUtils
+
+ class << self
+ attr_accessor :verbose_flag, :nowrite_flag
+ end
+
+ DEFAULT = Object.new
+
+ FileUtilsExt.verbose_flag = DEFAULT
+ FileUtilsExt.nowrite_flag = false
+
+ $fileutils_verbose = true
+ $fileutils_nowrite = false
+
+ FileUtils::OPT_TABLE.each do |name, opts|
+ default_options = []
+ if opts.include?(:verbose) || opts.include?("verbose")
+ default_options << ':verbose => FileUtilsExt.verbose_flag'
+ end
+ if opts.include?(:noop) || opts.include?("noop")
+ default_options << ':noop => FileUtilsExt.nowrite_flag'
+ end
+
+ next if default_options.empty?
+ module_eval(<<-EOS, __FILE__, __LINE__ + 1)
+ def #{name}( *args, &block )
+ super(
+ *rake_merge_option(args,
+ #{default_options.join(', ')}
+ ), &block)
+ end
+ EOS
+ end
+
+ # Get/set the verbose flag controlling output from the FileUtils
+ # utilities. If verbose is true, then the utility method is
+ # echoed to standard output.
+ #
+ # Examples:
+ # verbose # return the current value of the
+ # # verbose flag
+ # verbose(v) # set the verbose flag to _v_.
+ # verbose(v) { code } # Execute code with the verbose flag set
+ # # temporarily to _v_. Return to the
+ # # original value when code is done.
+ def verbose(value=nil)
+ oldvalue = FileUtilsExt.verbose_flag
+ FileUtilsExt.verbose_flag = value unless value.nil?
+ if block_given?
+ begin
+ yield
+ ensure
+ FileUtilsExt.verbose_flag = oldvalue
+ end
+ end
+ FileUtilsExt.verbose_flag
+ end
+
+ # Get/set the nowrite flag controlling output from the FileUtils
+ # utilities. If verbose is true, then the utility method is
+ # echoed to standard output.
+ #
+ # Examples:
+ # nowrite # return the current value of the
+ # # nowrite flag
+ # nowrite(v) # set the nowrite flag to _v_.
+ # nowrite(v) { code } # Execute code with the nowrite flag set
+ # # temporarily to _v_. Return to the
+ # # original value when code is done.
+ def nowrite(value=nil)
+ oldvalue = FileUtilsExt.nowrite_flag
+ FileUtilsExt.nowrite_flag = value unless value.nil?
+ if block_given?
+ begin
+ yield
+ ensure
+ FileUtilsExt.nowrite_flag = oldvalue
+ end
+ end
+ oldvalue
+ end
+
+ # Use this function to prevent potentially destructive ruby code
+ # from running when the :nowrite flag is set.
+ #
+ # Example:
+ #
+ # when_writing("Building Project") do
+ # project.build
+ # end
+ #
+ # The following code will build the project under normal
+ # conditions. If the nowrite(true) flag is set, then the example
+ # will print:
+ #
+ # DRYRUN: Building Project
+ #
+ # instead of actually building the project.
+ #
+ def when_writing(msg=nil)
+ if FileUtilsExt.nowrite_flag
+ $stderr.puts "DRYRUN: #{msg}" if msg
+ else
+ yield
+ end
+ end
+
+ # Merge the given options with the default values.
+ def rake_merge_option(args, defaults)
+ if Hash === args.last
+ defaults.update(args.last)
+ args.pop
+ end
+ args.push defaults
+ args
+ end
+
+ # Send the message to the default rake output (which is $stderr).
+ def rake_output_message(message)
+ $stderr.puts(message)
+ end
+
+ # Check that the options do not contain options not listed in
+ # +optdecl+. An ArgumentError exception is thrown if non-declared
+ # options are found.
+ def rake_check_options(options, *optdecl)
+ h = options.dup
+ optdecl.each do |name|
+ h.delete name
+ end
+ raise ArgumentError, "no such option: #{h.keys.join(' ')}" unless h.empty?
+ end
+
+ extend self
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/gempackagetask.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/gempackagetask.rb
new file mode 100755
index 00000000000..5f1fc4def87
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/gempackagetask.rb
@@ -0,0 +1,15 @@
+# rake/gempackagetask is deprecated in favor of rubygems/package_task
+
+warn 'rake/gempackagetask is deprecated. Use rubygems/package_task instead'
+
+require 'rubygems'
+require 'rubygems/package_task'
+
+require 'rake'
+
+# :stopdoc:
+
+module Rake
+ GemPackageTask = Gem::PackageTask
+end
+
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/invocation_chain.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/invocation_chain.rb
new file mode 100755
index 00000000000..8a01ab4c295
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/invocation_chain.rb
@@ -0,0 +1,51 @@
+module Rake
+
+ ####################################################################
+ # InvocationChain tracks the chain of task invocations to detect
+ # circular dependencies.
+ class InvocationChain
+ def initialize(value, tail)
+ @value = value
+ @tail = tail
+ end
+
+ def member?(obj)
+ @value == obj || @tail.member?(obj)
+ end
+
+ def append(value)
+ if member?(value)
+ fail RuntimeError, "Circular dependency detected: #{to_s} => #{value}"
+ end
+ self.class.new(value, self)
+ end
+
+ def to_s
+ "#{prefix}#{@value}"
+ end
+
+ def self.append(value, chain)
+ chain.append(value)
+ end
+
+ private
+
+ def prefix
+ "#{@tail.to_s} => "
+ end
+
+ class EmptyInvocationChain
+ def member?(obj)
+ false
+ end
+ def append(value)
+ InvocationChain.new(value, self)
+ end
+ def to_s
+ "TOP"
+ end
+ end
+
+ EMPTY = EmptyInvocationChain.new
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/invocation_exception_mixin.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/invocation_exception_mixin.rb
new file mode 100755
index 00000000000..84ff3353ba9
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/invocation_exception_mixin.rb
@@ -0,0 +1,16 @@
+module Rake
+ module InvocationExceptionMixin
+ # Return the invocation chain (list of Rake tasks) that were in
+ # effect when this exception was detected by rake. May be null if
+ # no tasks were active.
+ def chain
+ @rake_invocation_chain ||= nil
+ end
+
+ # Set the invocation chain in effect when this exception was
+ # detected.
+ def chain=(value)
+ @rake_invocation_chain = value
+ end
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/loaders/makefile.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/loaders/makefile.rb
new file mode 100755
index 00000000000..4ece4323af8
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/loaders/makefile.rb
@@ -0,0 +1,40 @@
+module Rake
+
+ # Makefile loader to be used with the import file loader.
+ class MakefileLoader
+ include Rake::DSL
+
+ SPACE_MARK = "\0"
+
+ # Load the makefile dependencies in +fn+.
+ def load(fn)
+ lines = File.read fn
+ lines.gsub!(/\\ /, SPACE_MARK)
+ lines.gsub!(/#[^\n]*\n/m, "")
+ lines.gsub!(/\\\n/, ' ')
+ lines.each_line do |line|
+ process_line(line)
+ end
+ end
+
+ private
+
+ # Process one logical line of makefile data.
+ def process_line(line)
+ file_tasks, args = line.split(':', 2)
+ return if args.nil?
+ dependents = args.split.map { |d| respace(d) }
+ file_tasks.scan(/\S+/) do |file_task|
+ file_task = respace(file_task)
+ file file_task => dependents
+ end
+ end
+
+ def respace(str)
+ str.tr SPACE_MARK, ' '
+ end
+ end
+
+ # Install the handler
+ Rake.application.add_loader('mf', MakefileLoader.new)
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/multi_task.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/multi_task.rb
new file mode 100755
index 00000000000..21c8de732f0
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/multi_task.rb
@@ -0,0 +1,16 @@
+module Rake
+
+ # Same as a regular task, but the immediate prerequisites are done in
+ # parallel using Ruby threads.
+ #
+ class MultiTask < Task
+ private
+ def invoke_prerequisites(args, invocation_chain)
+ threads = @prerequisites.collect { |p|
+ Thread.new(p) { |r| application[r, @scope].invoke_with_call_chain(args, invocation_chain) }
+ }
+ threads.each { |t| t.join }
+ end
+ end
+
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/name_space.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/name_space.rb
new file mode 100755
index 00000000000..e1cc0940b8a
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/name_space.rb
@@ -0,0 +1,25 @@
+module Rake
+
+ # The NameSpace class will lookup task names in the the scope
+ # defined by a +namespace+ command.
+ #
+ class NameSpace
+
+ # Create a namespace lookup object using the given task manager
+ # and the list of scopes.
+ def initialize(task_manager, scope_list)
+ @task_manager = task_manager
+ @scope = scope_list.dup
+ end
+
+ # Lookup a task named +name+ in the namespace.
+ def [](name)
+ @task_manager.lookup(name, @scope)
+ end
+
+ # Return the list of tasks defined in this and nested namespaces.
+ def tasks
+ @task_manager.tasks_in_scope(@scope)
+ end
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/packagetask.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/packagetask.rb
new file mode 100755
index 00000000000..08c1a8c025d
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/packagetask.rb
@@ -0,0 +1,185 @@
+# Define a package task library to aid in the definition of
+# redistributable package files.
+
+require 'rake'
+require 'rake/tasklib'
+
+module Rake
+
+ # Create a packaging task that will package the project into
+ # distributable files (e.g zip archive or tar files).
+ #
+ # The PackageTask will create the following targets:
+ #
+ # [<b>:package</b>]
+ # Create all the requested package files.
+ #
+ # [<b>:clobber_package</b>]
+ # Delete all the package files. This target is automatically
+ # added to the main clobber target.
+ #
+ # [<b>:repackage</b>]
+ # Rebuild the package files from scratch, even if they are not out
+ # of date.
+ #
+ # [<b>"<em>package_dir</em>/<em>name</em>-<em>version</em>.tgz"</b>]
+ # Create a gzipped tar package (if <em>need_tar</em> is true).
+ #
+ # [<b>"<em>package_dir</em>/<em>name</em>-<em>version</em>.tar.gz"</b>]
+ # Create a gzipped tar package (if <em>need_tar_gz</em> is true).
+ #
+ # [<b>"<em>package_dir</em>/<em>name</em>-<em>version</em>.tar.bz2"</b>]
+ # Create a bzip2'd tar package (if <em>need_tar_bz2</em> is true).
+ #
+ # [<b>"<em>package_dir</em>/<em>name</em>-<em>version</em>.zip"</b>]
+ # Create a zip package archive (if <em>need_zip</em> is true).
+ #
+ # Example:
+ #
+ # Rake::PackageTask.new("rake", "1.2.3") do |p|
+ # p.need_tar = true
+ # p.package_files.include("lib/**/*.rb")
+ # end
+ #
+ class PackageTask < TaskLib
+ # Name of the package (from the GEM Spec).
+ attr_accessor :name
+
+ # Version of the package (e.g. '1.3.2').
+ attr_accessor :version
+
+ # Directory used to store the package files (default is 'pkg').
+ attr_accessor :package_dir
+
+ # True if a gzipped tar file (tgz) should be produced (default is false).
+ attr_accessor :need_tar
+
+ # True if a gzipped tar file (tar.gz) should be produced (default is false).
+ attr_accessor :need_tar_gz
+
+ # True if a bzip2'd tar file (tar.bz2) should be produced (default is false).
+ attr_accessor :need_tar_bz2
+
+ # True if a zip file should be produced (default is false)
+ attr_accessor :need_zip
+
+ # List of files to be included in the package.
+ attr_accessor :package_files
+
+ # Tar command for gzipped or bzip2ed archives. The default is 'tar'.
+ attr_accessor :tar_command
+
+ # Zip command for zipped archives. The default is 'zip'.
+ attr_accessor :zip_command
+
+ # Create a Package Task with the given name and version. Use +:noversion+
+ # as the version to build a package without a version or to provide a
+ # fully-versioned package name.
+
+ def initialize(name=nil, version=nil)
+ init(name, version)
+ yield self if block_given?
+ define unless name.nil?
+ end
+
+ # Initialization that bypasses the "yield self" and "define" step.
+ def init(name, version)
+ @name = name
+ @version = version
+ @package_files = Rake::FileList.new
+ @package_dir = 'pkg'
+ @need_tar = false
+ @need_tar_gz = false
+ @need_tar_bz2 = false
+ @need_zip = false
+ @tar_command = 'tar'
+ @zip_command = 'zip'
+ end
+
+ # Create the tasks defined by this task library.
+ def define
+ fail "Version required (or :noversion)" if @version.nil?
+ @version = nil if :noversion == @version
+
+ desc "Build all the packages"
+ task :package
+
+ desc "Force a rebuild of the package files"
+ task :repackage => [:clobber_package, :package]
+
+ desc "Remove package products"
+ task :clobber_package do
+ rm_r package_dir rescue nil
+ end
+
+ task :clobber => [:clobber_package]
+
+ [
+ [need_tar, tgz_file, "z"],
+ [need_tar_gz, tar_gz_file, "z"],
+ [need_tar_bz2, tar_bz2_file, "j"]
+ ].each do |(need, file, flag)|
+ if need
+ task :package => ["#{package_dir}/#{file}"]
+ file "#{package_dir}/#{file}" => [package_dir_path] + package_files do
+ chdir(package_dir) do
+ sh %{#{@tar_command} #{flag}cvf #{file} #{package_name}}
+ end
+ end
+ end
+ end
+
+ if need_zip
+ task :package => ["#{package_dir}/#{zip_file}"]
+ file "#{package_dir}/#{zip_file}" => [package_dir_path] + package_files do
+ chdir(package_dir) do
+ sh %{#{@zip_command} -r #{zip_file} #{package_name}}
+ end
+ end
+ end
+
+ directory package_dir
+
+ file package_dir_path => @package_files do
+ mkdir_p package_dir rescue nil
+ @package_files.each do |fn|
+ f = File.join(package_dir_path, fn)
+ fdir = File.dirname(f)
+ mkdir_p(fdir) if !File.exist?(fdir)
+ if File.directory?(fn)
+ mkdir_p(f)
+ else
+ rm_f f
+ safe_ln(fn, f)
+ end
+ end
+ end
+ self
+ end
+
+ def package_name
+ @version ? "#{@name}-#{@version}" : @name
+ end
+
+ def package_dir_path
+ "#{package_dir}/#{package_name}"
+ end
+
+ def tgz_file
+ "#{package_name}.tgz"
+ end
+
+ def tar_gz_file
+ "#{package_name}.tar.gz"
+ end
+
+ def tar_bz2_file
+ "#{package_name}.tar.bz2"
+ end
+
+ def zip_file
+ "#{package_name}.zip"
+ end
+ end
+
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/pathmap.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/pathmap.rb
new file mode 100755
index 00000000000..22757243413
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/pathmap.rb
@@ -0,0 +1 @@
+require 'rake/ext/string'
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/pseudo_status.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/pseudo_status.rb
new file mode 100755
index 00000000000..b58df3da184
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/pseudo_status.rb
@@ -0,0 +1,24 @@
+module Rake
+
+ ####################################################################
+ # Exit status class for times the system just gives us a nil.
+ class PseudoStatus
+ attr_reader :exitstatus
+ def initialize(code=0)
+ @exitstatus = code
+ end
+ def to_i
+ @exitstatus << 8
+ end
+ def >>(n)
+ to_i >> n
+ end
+ def stopped?
+ false
+ end
+ def exited?
+ true
+ end
+ end
+
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/rake_module.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/rake_module.rb
new file mode 100755
index 00000000000..a9d210c6375
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/rake_module.rb
@@ -0,0 +1,29 @@
+require 'rake/application'
+
+module Rake
+
+ # Rake module singleton methods.
+ #
+ class << self
+ # Current Rake Application
+ def application
+ @application ||= Rake::Application.new
+ end
+
+ # Set the current Rake application object.
+ def application=(app)
+ @application = app
+ end
+
+ # Return the original directory where the Rake application was started.
+ def original_dir
+ application.original_dir
+ end
+
+ # Load a rakefile.
+ def load_rakefile(path)
+ load(path)
+ end
+ end
+
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/rake_test_loader.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/rake_test_loader.rb
new file mode 100755
index 00000000000..7e3a6b3f352
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/rake_test_loader.rb
@@ -0,0 +1,22 @@
+require 'rake'
+
+# Load the test files from the command line.
+argv = ARGV.select do |argument|
+ case argument
+ when /^-/ then
+ argument
+ when /\*/ then
+ FileList[argument].to_a.each do |file|
+ require File.expand_path file
+ end
+
+ false
+ else
+ require File.expand_path argument
+
+ false
+ end
+end
+
+ARGV.replace argv
+
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/rdoctask.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/rdoctask.rb
new file mode 100755
index 00000000000..b6ae224a9ea
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/rdoctask.rb
@@ -0,0 +1,234 @@
+# rake/rdoctask is deprecated in favor of rdoc/task
+
+if Rake.application
+ Rake.application.deprecate('require \'rake/rdoctask\'', 'require \'rdoc/task\' (in RDoc 2.4.2+)', __FILE__)
+end
+
+require 'rubygems'
+
+begin
+ gem 'rdoc'
+ require 'rdoc'
+ require 'rdoc/task'
+rescue LoadError, Gem::LoadError
+end
+
+# :stopdoc:
+
+if defined?(RDoc::Task) then
+ module Rake
+ RDocTask = RDoc::Task unless const_defined? :RDocTask
+ end
+else
+ require 'rake'
+ require 'rake/tasklib'
+
+ module Rake
+
+ # NOTE: Rake::RDocTask is deprecated in favor of RDoc:Task which is included
+ # in RDoc 2.4.2+. Use require 'rdoc/task' to require it.
+ #
+ # Create a documentation task that will generate the RDoc files for
+ # a project.
+ #
+ # The RDocTask will create the following targets:
+ #
+ # [<b><em>rdoc</em></b>]
+ # Main task for this RDOC task.
+ #
+ # [<b>:clobber_<em>rdoc</em></b>]
+ # Delete all the rdoc files. This target is automatically
+ # added to the main clobber target.
+ #
+ # [<b>:re<em>rdoc</em></b>]
+ # Rebuild the rdoc files from scratch, even if they are not out
+ # of date.
+ #
+ # Simple Example:
+ #
+ # Rake::RDocTask.new do |rd|
+ # rd.main = "README.rdoc"
+ # rd.rdoc_files.include("README.rdoc", "lib/**/*.rb")
+ # end
+ #
+ # The +rd+ object passed to the block is an RDocTask object. See the
+ # attributes list for the RDocTask class for available customization options.
+ #
+ # == Specifying different task names
+ #
+ # You may wish to give the task a different name, such as if you are
+ # generating two sets of documentation. For instance, if you want to have a
+ # development set of documentation including private methods:
+ #
+ # Rake::RDocTask.new(:rdoc_dev) do |rd|
+ # rd.main = "README.doc"
+ # rd.rdoc_files.include("README.rdoc", "lib/**/*.rb")
+ # rd.options << "--all"
+ # end
+ #
+ # The tasks would then be named :<em>rdoc_dev</em>, :clobber_<em>rdoc_dev</em>, and
+ # :re<em>rdoc_dev</em>.
+ #
+ # If you wish to have completely different task names, then pass a Hash as
+ # first argument. With the <tt>:rdoc</tt>, <tt>:clobber_rdoc</tt> and
+ # <tt>:rerdoc</tt> options, you can customize the task names to your liking.
+ # For example:
+ #
+ # Rake::RDocTask.new(:rdoc => "rdoc", :clobber_rdoc => "rdoc:clean", :rerdoc => "rdoc:force")
+ #
+ # This will create the tasks <tt>:rdoc</tt>, <tt>:rdoc_clean</tt> and
+ # <tt>:rdoc:force</tt>.
+ #
+ class RDocTask < TaskLib
+ # Name of the main, top level task. (default is :rdoc)
+ attr_accessor :name
+
+ # Name of directory to receive the html output files. (default is "html")
+ attr_accessor :rdoc_dir
+
+ # Title of RDoc documentation. (defaults to rdoc's default)
+ attr_accessor :title
+
+ # Name of file to be used as the main, top level file of the
+ # RDoc. (default is none)
+ attr_accessor :main
+
+ # Name of template to be used by rdoc. (defaults to rdoc's default)
+ attr_accessor :template
+
+ # List of files to be included in the rdoc generation. (default is [])
+ attr_accessor :rdoc_files
+
+ # Additional list of options to be passed rdoc. (default is [])
+ attr_accessor :options
+
+ # Whether to run the rdoc process as an external shell (default is false)
+ attr_accessor :external
+
+ attr_accessor :inline_source
+
+ # Create an RDoc task with the given name. See the RDocTask class overview
+ # for documentation.
+ def initialize(name = :rdoc) # :yield: self
+ if name.is_a?(Hash)
+ invalid_options = name.keys.map { |k| k.to_sym } - [:rdoc, :clobber_rdoc, :rerdoc]
+ if !invalid_options.empty?
+ raise ArgumentError, "Invalid option(s) passed to RDocTask.new: #{invalid_options.join(", ")}"
+ end
+ end
+
+ @name = name
+ @rdoc_files = Rake::FileList.new
+ @rdoc_dir = 'html'
+ @main = nil
+ @title = nil
+ @template = nil
+ @external = false
+ @inline_source = true
+ @options = []
+ yield self if block_given?
+ define
+ end
+
+ # Create the tasks defined by this task lib.
+ def define
+ if rdoc_task_name != "rdoc"
+ desc "Build the RDOC HTML Files"
+ else
+ desc "Build the #{rdoc_task_name} HTML Files"
+ end
+ task rdoc_task_name
+
+ desc "Force a rebuild of the RDOC files"
+ task rerdoc_task_name => [clobber_task_name, rdoc_task_name]
+
+ desc "Remove rdoc products"
+ task clobber_task_name do
+ rm_r rdoc_dir rescue nil
+ end
+
+ task :clobber => [clobber_task_name]
+
+ directory @rdoc_dir
+ task rdoc_task_name => [rdoc_target]
+ file rdoc_target => @rdoc_files + [Rake.application.rakefile] do
+ rm_r @rdoc_dir rescue nil
+ @before_running_rdoc.call if @before_running_rdoc
+ args = option_list + @rdoc_files
+ if @external
+ argstring = args.join(' ')
+ sh %{ruby -Ivendor vendor/rd #{argstring}}
+ else
+ require 'rdoc/rdoc'
+ RDoc::RDoc.new.document(args)
+ end
+ end
+ self
+ end
+
+ def option_list
+ result = @options.dup
+ result << "-o" << @rdoc_dir
+ result << "--main" << quote(main) if main
+ result << "--title" << quote(title) if title
+ result << "-T" << quote(template) if template
+ result << "--inline-source" if inline_source && !@options.include?("--inline-source") && !@options.include?("-S")
+ result
+ end
+
+ def quote(str)
+ if @external
+ "'#{str}'"
+ else
+ str
+ end
+ end
+
+ def option_string
+ option_list.join(' ')
+ end
+
+ # The block passed to this method will be called just before running the
+ # RDoc generator. It is allowed to modify RDocTask attributes inside the
+ # block.
+ def before_running_rdoc(&block)
+ @before_running_rdoc = block
+ end
+
+ private
+
+ def rdoc_target
+ "#{rdoc_dir}/index.html"
+ end
+
+ def rdoc_task_name
+ case name
+ when Hash
+ (name[:rdoc] || "rdoc").to_s
+ else
+ name.to_s
+ end
+ end
+
+ def clobber_task_name
+ case name
+ when Hash
+ (name[:clobber_rdoc] || "clobber_rdoc").to_s
+ else
+ "clobber_#{name}"
+ end
+ end
+
+ def rerdoc_task_name
+ case name
+ when Hash
+ (name[:rerdoc] || "rerdoc").to_s
+ else
+ "re#{name}"
+ end
+ end
+
+ end
+ end
+end
+
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/ruby182_test_unit_fix.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/ruby182_test_unit_fix.rb
new file mode 100755
index 00000000000..9e411ed51a3
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/ruby182_test_unit_fix.rb
@@ -0,0 +1,25 @@
+# Local Rake override to fix bug in Ruby 0.8.2
+module Test # :nodoc:
+ # Local Rake override to fix bug in Ruby 0.8.2
+ module Unit # :nodoc:
+ # Local Rake override to fix bug in Ruby 0.8.2
+ module Collector # :nodoc:
+ # Local Rake override to fix bug in Ruby 0.8.2
+ class Dir # :nodoc:
+ undef collect_file
+ def collect_file(name, suites, already_gathered) # :nodoc:
+ dir = File.dirname(File.expand_path(name))
+ $:.unshift(dir) unless $:.first == dir
+ if(@req)
+ @req.require(name)
+ else
+ require(name)
+ end
+ find_test_cases(already_gathered).each{|t| add_suite(suites, t.suite)}
+ ensure
+ $:.delete_at $:.rindex(dir)
+ end
+ end
+ end
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/rule_recursion_overflow_error.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/rule_recursion_overflow_error.rb
new file mode 100755
index 00000000000..da4318da9dc
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/rule_recursion_overflow_error.rb
@@ -0,0 +1,20 @@
+
+module Rake
+
+ # Error indicating a recursion overflow error in task selection.
+ class RuleRecursionOverflowError < StandardError
+ def initialize(*args)
+ super
+ @targets = []
+ end
+
+ def add_target(target)
+ @targets << target
+ end
+
+ def message
+ super + ": [" + @targets.reverse.join(' => ') + "]"
+ end
+ end
+
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/runtest.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/runtest.rb
new file mode 100755
index 00000000000..2b98a60caef
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/runtest.rb
@@ -0,0 +1,21 @@
+require 'test/unit'
+require 'test/unit/assertions'
+
+module Rake
+ include Test::Unit::Assertions
+
+ def run_tests(pattern='test/test*.rb', log_enabled=false)
+ Dir["#{pattern}"].each { |fn|
+ $stderr.puts fn if log_enabled
+ begin
+ require fn
+ rescue Exception => ex
+ $stderr.puts "Error in #{fn}: #{ex.message}"
+ $stderr.puts ex.backtrace
+ assert false
+ end
+ }
+ end
+
+ extend self
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/task.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/task.rb
new file mode 100755
index 00000000000..f977d18711c
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/task.rb
@@ -0,0 +1,327 @@
+require 'rake/invocation_exception_mixin'
+
+module Rake
+
+ # #########################################################################
+ # A Task is the basic unit of work in a Rakefile. Tasks have associated
+ # actions (possibly more than one) and a list of prerequisites. When
+ # invoked, a task will first ensure that all of its prerequisites have an
+ # opportunity to run and then it will execute its own actions.
+ #
+ # Tasks are not usually created directly using the new method, but rather
+ # use the +file+ and +task+ convenience methods.
+ #
+ class Task
+ # List of prerequisites for a task.
+ attr_reader :prerequisites
+
+ # List of actions attached to a task.
+ attr_reader :actions
+
+ # Application owning this task.
+ attr_accessor :application
+
+ # Comment for this task. Restricted to a single line of no more than 50
+ # characters.
+ attr_reader :comment
+
+ # Full text of the (possibly multi-line) comment.
+ attr_reader :full_comment
+
+ # Array of nested namespaces names used for task lookup by this task.
+ attr_reader :scope
+
+ # File/Line locations of each of the task definitions for this
+ # task (only valid if the task was defined with the detect
+ # location option set).
+ attr_reader :locations
+
+ # Return task name
+ def to_s
+ name
+ end
+
+ def inspect
+ "<#{self.class} #{name} => [#{prerequisites.join(', ')}]>"
+ end
+
+ # List of sources for task.
+ attr_writer :sources
+ def sources
+ @sources ||= []
+ end
+
+ # List of prerequisite tasks
+ def prerequisite_tasks
+ prerequisites.collect { |pre| lookup_prerequisite(pre) }
+ end
+
+ def lookup_prerequisite(prerequisite_name)
+ application[prerequisite_name, @scope]
+ end
+ private :lookup_prerequisite
+
+ # First source from a rule (nil if no sources)
+ def source
+ @sources.first if defined?(@sources)
+ end
+
+ # Create a task named +task_name+ with no actions or prerequisites. Use
+ # +enhance+ to add actions and prerequisites.
+ def initialize(task_name, app)
+ @name = task_name.to_s
+ @prerequisites = []
+ @actions = []
+ @already_invoked = false
+ @full_comment = nil
+ @comment = nil
+ @lock = Monitor.new
+ @application = app
+ @scope = app.current_scope
+ @arg_names = nil
+ @locations = []
+ end
+
+ # Enhance a task with prerequisites or actions. Returns self.
+ def enhance(deps=nil, &block)
+ @prerequisites |= deps if deps
+ @actions << block if block_given?
+ self
+ end
+
+ # Name of the task, including any namespace qualifiers.
+ def name
+ @name.to_s
+ end
+
+ # Name of task with argument list description.
+ def name_with_args # :nodoc:
+ if arg_description
+ "#{name}#{arg_description}"
+ else
+ name
+ end
+ end
+
+ # Argument description (nil if none).
+ def arg_description # :nodoc:
+ @arg_names ? "[#{(arg_names || []).join(',')}]" : nil
+ end
+
+ # Name of arguments for this task.
+ def arg_names
+ @arg_names || []
+ end
+
+ # Reenable the task, allowing its tasks to be executed if the task
+ # is invoked again.
+ def reenable
+ @already_invoked = false
+ end
+
+ # Clear the existing prerequisites and actions of a rake task.
+ def clear
+ clear_prerequisites
+ clear_actions
+ self
+ end
+
+ # Clear the existing prerequisites of a rake task.
+ def clear_prerequisites
+ prerequisites.clear
+ self
+ end
+
+ # Clear the existing actions on a rake task.
+ def clear_actions
+ actions.clear
+ self
+ end
+
+ # Invoke the task if it is needed. Prerequisites are invoked first.
+ def invoke(*args)
+ task_args = TaskArguments.new(arg_names, args)
+ invoke_with_call_chain(task_args, InvocationChain::EMPTY)
+ end
+
+ # Same as invoke, but explicitly pass a call chain to detect
+ # circular dependencies.
+ def invoke_with_call_chain(task_args, invocation_chain) # :nodoc:
+ new_chain = InvocationChain.append(self, invocation_chain)
+ @lock.synchronize do
+ if application.options.trace
+ $stderr.puts "** Invoke #{name} #{format_trace_flags}"
+ end
+ return if @already_invoked
+ @already_invoked = true
+ invoke_prerequisites(task_args, new_chain)
+ execute(task_args) if needed?
+ end
+ rescue Exception => ex
+ add_chain_to(ex, new_chain)
+ raise ex
+ end
+ protected :invoke_with_call_chain
+
+ def add_chain_to(exception, new_chain)
+ exception.extend(InvocationExceptionMixin) unless exception.respond_to?(:chain)
+ exception.chain = new_chain if exception.chain.nil?
+ end
+ private :add_chain_to
+
+ # Invoke all the prerequisites of a task.
+ def invoke_prerequisites(task_args, invocation_chain) # :nodoc:
+ prerequisite_tasks.each { |prereq|
+ prereq_args = task_args.new_scope(prereq.arg_names)
+ prereq.invoke_with_call_chain(prereq_args, invocation_chain)
+ }
+ end
+
+ # Format the trace flags for display.
+ def format_trace_flags
+ flags = []
+ flags << "first_time" unless @already_invoked
+ flags << "not_needed" unless needed?
+ flags.empty? ? "" : "(" + flags.join(", ") + ")"
+ end
+ private :format_trace_flags
+
+ # Execute the actions associated with this task.
+ def execute(args=nil)
+ args ||= EMPTY_TASK_ARGS
+ if application.options.dryrun
+ $stderr.puts "** Execute (dry run) #{name}"
+ return
+ end
+ if application.options.trace
+ $stderr.puts "** Execute #{name}"
+ end
+ application.enhance_with_matching_rule(name) if @actions.empty?
+ @actions.each do |act|
+ case act.arity
+ when 1
+ act.call(self)
+ else
+ act.call(self, args)
+ end
+ end
+ end
+
+ # Is this task needed?
+ def needed?
+ true
+ end
+
+ # Timestamp for this task. Basic tasks return the current time for their
+ # time stamp. Other tasks can be more sophisticated.
+ def timestamp
+ prerequisite_tasks.collect { |pre| pre.timestamp }.max || Time.now
+ end
+
+ # Add a description to the task. The description can consist of an option
+ # argument list (enclosed brackets) and an optional comment.
+ def add_description(description)
+ return if ! description
+ comment = description.strip
+ add_comment(comment) if comment && ! comment.empty?
+ end
+
+ # Writing to the comment attribute is the same as adding a description.
+ def comment=(description)
+ add_description(description)
+ end
+
+ # Add a comment to the task. If a comment already exists, separate
+ # the new comment with " / ".
+ def add_comment(comment)
+ if @full_comment
+ @full_comment << " / "
+ else
+ @full_comment = ''
+ end
+ @full_comment << comment
+ if @full_comment =~ /\A([^.]+?\.)( |$)/
+ @comment = $1
+ else
+ @comment = @full_comment
+ end
+ end
+ private :add_comment
+
+ # Set the names of the arguments for this task. +args+ should be
+ # an array of symbols, one for each argument name.
+ def set_arg_names(args)
+ @arg_names = args.map { |a| a.to_sym }
+ end
+
+ # Return a string describing the internal state of a task. Useful for
+ # debugging.
+ def investigation
+ result = "------------------------------\n"
+ result << "Investigating #{name}\n"
+ result << "class: #{self.class}\n"
+ result << "task needed: #{needed?}\n"
+ result << "timestamp: #{timestamp}\n"
+ result << "pre-requisites: \n"
+ prereqs = prerequisite_tasks
+ prereqs.sort! {|a,b| a.timestamp <=> b.timestamp}
+ prereqs.each do |p|
+ result << "--#{p.name} (#{p.timestamp})\n"
+ end
+ latest_prereq = prerequisite_tasks.collect { |pre| pre.timestamp }.max
+ result << "latest-prerequisite time: #{latest_prereq}\n"
+ result << "................................\n\n"
+ return result
+ end
+
+ # ----------------------------------------------------------------
+ # Rake Module Methods
+ #
+ class << self
+
+ # Clear the task list. This cause rake to immediately forget all the
+ # tasks that have been assigned. (Normally used in the unit tests.)
+ def clear
+ Rake.application.clear
+ end
+
+ # List of all defined tasks.
+ def tasks
+ Rake.application.tasks
+ end
+
+ # Return a task with the given name. If the task is not currently
+ # known, try to synthesize one from the defined rules. If no rules are
+ # found, but an existing file matches the task name, assume it is a file
+ # task with no dependencies or actions.
+ def [](task_name)
+ Rake.application[task_name]
+ end
+
+ # TRUE if the task name is already defined.
+ def task_defined?(task_name)
+ Rake.application.lookup(task_name) != nil
+ end
+
+ # Define a task given +args+ and an option block. If a rule with the
+ # given name already exists, the prerequisites and actions are added to
+ # the existing task. Returns the defined task.
+ def define_task(*args, &block)
+ Rake.application.define_task(self, *args, &block)
+ end
+
+ # Define a rule for synthesizing tasks.
+ def create_rule(*args, &block)
+ Rake.application.create_rule(*args, &block)
+ end
+
+ # Apply the scope to the task name according to the rules for
+ # this kind of task. Generic tasks will accept the scope as
+ # part of the name.
+ def scope_name(scope, task_name)
+ (scope + [task_name]).join(':')
+ end
+
+ end # class << Rake::Task
+ end # class Rake::Task
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/task_argument_error.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/task_argument_error.rb
new file mode 100755
index 00000000000..3e1dda64dba
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/task_argument_error.rb
@@ -0,0 +1,7 @@
+module Rake
+
+ # Error indicating an ill-formed task declaration.
+ class TaskArgumentError < ArgumentError
+ end
+
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/task_arguments.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/task_arguments.rb
new file mode 100755
index 00000000000..02d01b99f98
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/task_arguments.rb
@@ -0,0 +1,78 @@
+module Rake
+
+ ####################################################################
+ # TaskArguments manage the arguments passed to a task.
+ #
+ class TaskArguments
+ include Enumerable
+
+ attr_reader :names
+
+ # Create a TaskArgument object with a list of named arguments
+ # (given by :names) and a set of associated values (given by
+ # :values). :parent is the parent argument object.
+ def initialize(names, values, parent=nil)
+ @names = names
+ @parent = parent
+ @hash = {}
+ names.each_with_index { |name, i|
+ @hash[name.to_sym] = values[i] unless values[i].nil?
+ }
+ end
+
+ # Create a new argument scope using the prerequisite argument
+ # names.
+ def new_scope(names)
+ values = names.collect { |n| self[n] }
+ self.class.new(names, values, self)
+ end
+
+ # Find an argument value by name or index.
+ def [](index)
+ lookup(index.to_sym)
+ end
+
+ # Specify a hash of default values for task arguments. Use the
+ # defaults only if there is no specific value for the given
+ # argument.
+ def with_defaults(defaults)
+ @hash = defaults.merge(@hash)
+ end
+
+ def each(&block)
+ @hash.each(&block)
+ end
+
+ def values_at(*keys)
+ keys.map { |k| lookup(k) }
+ end
+
+ def method_missing(sym, *args, &block)
+ lookup(sym.to_sym)
+ end
+
+ def to_hash
+ @hash
+ end
+
+ def to_s
+ @hash.inspect
+ end
+
+ def inspect
+ to_s
+ end
+
+ protected
+
+ def lookup(name)
+ if @hash.has_key?(name)
+ @hash[name]
+ elsif @parent
+ @parent.lookup(name)
+ end
+ end
+ end
+
+ EMPTY_TASK_ARGS = TaskArguments.new([], [])
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/task_manager.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/task_manager.rb
new file mode 100755
index 00000000000..4c3c26aa3a4
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/task_manager.rb
@@ -0,0 +1,307 @@
+module Rake
+
+ # The TaskManager module is a mixin for managing tasks.
+ module TaskManager
+ # Track the last comment made in the Rakefile.
+ attr_accessor :last_description
+ alias :last_comment :last_description # Backwards compatibility
+
+ def initialize
+ super
+ @tasks = Hash.new
+ @rules = Array.new
+ @scope = Array.new
+ @last_description = nil
+ end
+
+ def create_rule(*args, &block)
+ pattern, _, deps = resolve_args(args)
+ pattern = Regexp.new(Regexp.quote(pattern) + '$') if String === pattern
+ @rules << [pattern, deps, block]
+ end
+
+ def define_task(task_class, *args, &block)
+ task_name, arg_names, deps = resolve_args(args)
+ task_name = task_class.scope_name(@scope, task_name)
+ deps = [deps] unless deps.respond_to?(:to_ary)
+ deps = deps.collect {|d| d.to_s }
+ task = intern(task_class, task_name)
+ task.set_arg_names(arg_names) unless arg_names.empty?
+ if Rake::TaskManager.record_task_metadata
+ add_location(task)
+ task.add_description(get_description(task))
+ end
+ task.enhance(deps, &block)
+ end
+
+ # Lookup a task. Return an existing task if found, otherwise
+ # create a task of the current type.
+ def intern(task_class, task_name)
+ @tasks[task_name.to_s] ||= task_class.new(task_name, self)
+ end
+
+ # Find a matching task for +task_name+.
+ def [](task_name, scopes=nil)
+ task_name = task_name.to_s
+ self.lookup(task_name, scopes) or
+ enhance_with_matching_rule(task_name) or
+ synthesize_file_task(task_name) or
+ fail "Don't know how to build task '#{task_name}'"
+ end
+
+ def synthesize_file_task(task_name)
+ return nil unless File.exist?(task_name)
+ define_task(Rake::FileTask, task_name)
+ end
+
+ # Resolve the arguments for a task/rule. Returns a triplet of
+ # [task_name, arg_name_list, prerequisites].
+ def resolve_args(args)
+ if args.last.is_a?(Hash)
+ deps = args.pop
+ resolve_args_with_dependencies(args, deps)
+ else
+ resolve_args_without_dependencies(args)
+ end
+ end
+
+ # Resolve task arguments for a task or rule when there are no
+ # dependencies declared.
+ #
+ # The patterns recognized by this argument resolving function are:
+ #
+ # task :t
+ # task :t, [:a]
+ # task :t, :a (deprecated)
+ #
+ def resolve_args_without_dependencies(args)
+ task_name = args.shift
+ if args.size == 1 && args.first.respond_to?(:to_ary)
+ arg_names = args.first.to_ary
+ else
+ arg_names = args
+ end
+ [task_name, arg_names, []]
+ end
+ private :resolve_args_without_dependencies
+
+ # Resolve task arguments for a task or rule when there are
+ # dependencies declared.
+ #
+ # The patterns recognized by this argument resolving function are:
+ #
+ # task :t => [:d]
+ # task :t, [a] => [:d]
+ # task :t, :needs => [:d] (deprecated)
+ # task :t, :a, :needs => [:d] (deprecated)
+ #
+ def resolve_args_with_dependencies(args, hash) # :nodoc:
+ fail "Task Argument Error" if hash.size != 1
+ key, value = hash.map { |k, v| [k,v] }.first
+ if args.empty?
+ task_name = key
+ arg_names = []
+ deps = value
+ elsif key == :needs
+ Rake.application.deprecate(
+ "task :t, arg, :needs => [deps]",
+ "task :t, [args] => [deps]",
+ caller.detect { |c| c !~ /\blib\/rake\b/ })
+ task_name = args.shift
+ arg_names = args
+ deps = value
+ else
+ task_name = args.shift
+ arg_names = key
+ deps = value
+ end
+ deps = [deps] unless deps.respond_to?(:to_ary)
+ [task_name, arg_names, deps]
+ end
+ private :resolve_args_with_dependencies
+
+ # If a rule can be found that matches the task name, enhance the
+ # task with the prerequisites and actions from the rule. Set the
+ # source attribute of the task appropriately for the rule. Return
+ # the enhanced task or nil of no rule was found.
+ def enhance_with_matching_rule(task_name, level=0)
+ fail Rake::RuleRecursionOverflowError,
+ "Rule Recursion Too Deep" if level >= 16
+ @rules.each do |pattern, extensions, block|
+ if pattern.match(task_name)
+ task = attempt_rule(task_name, extensions, block, level)
+ return task if task
+ end
+ end
+ nil
+ rescue Rake::RuleRecursionOverflowError => ex
+ ex.add_target(task_name)
+ fail ex
+ end
+
+ # List of all defined tasks in this application.
+ def tasks
+ @tasks.values.sort_by { |t| t.name }
+ end
+
+ # List of all the tasks defined in the given scope (and its
+ # sub-scopes).
+ def tasks_in_scope(scope)
+ prefix = scope.join(":")
+ tasks.select { |t|
+ /^#{prefix}:/ =~ t.name
+ }
+ end
+
+ # Clear all tasks in this application.
+ def clear
+ @tasks.clear
+ @rules.clear
+ end
+
+ # Lookup a task, using scope and the scope hints in the task name.
+ # This method performs straight lookups without trying to
+ # synthesize file tasks or rules. Special scope names (e.g. '^')
+ # are recognized. If no scope argument is supplied, use the
+ # current scope. Return nil if the task cannot be found.
+ def lookup(task_name, initial_scope=nil)
+ initial_scope ||= @scope
+ task_name = task_name.to_s
+ if task_name =~ /^rake:/
+ scopes = []
+ task_name = task_name.sub(/^rake:/, '')
+ elsif task_name =~ /^(\^+)/
+ scopes = initial_scope[0, initial_scope.size - $1.size]
+ task_name = task_name.sub(/^(\^+)/, '')
+ else
+ scopes = initial_scope
+ end
+ lookup_in_scope(task_name, scopes)
+ end
+
+ # Lookup the task name
+ def lookup_in_scope(name, scope)
+ n = scope.size
+ while n >= 0
+ tn = (scope[0,n] + [name]).join(':')
+ task = @tasks[tn]
+ return task if task
+ n -= 1
+ end
+ nil
+ end
+ private :lookup_in_scope
+
+ # Return the list of scope names currently active in the task
+ # manager.
+ def current_scope
+ @scope.dup
+ end
+
+ # Evaluate the block in a nested namespace named +name+. Create
+ # an anonymous namespace if +name+ is nil.
+ def in_namespace(name)
+ name ||= generate_name
+ @scope.push(name)
+ ns = NameSpace.new(self, @scope)
+ yield(ns)
+ ns
+ ensure
+ @scope.pop
+ end
+
+ private
+
+ # Add a location to the locations field of the given task.
+ def add_location(task)
+ loc = find_location
+ task.locations << loc if loc
+ task
+ end
+
+ # Find the location that called into the dsl layer.
+ def find_location
+ locations = caller
+ i = 0
+ while locations[i]
+ return locations[i+1] if locations[i] =~ /rake\/dsl_definition.rb/
+ i += 1
+ end
+ nil
+ end
+
+ # Generate an anonymous namespace name.
+ def generate_name
+ @seed ||= 0
+ @seed += 1
+ "_anon_#{@seed}"
+ end
+
+ def trace_rule(level, message)
+ $stderr.puts "#{" "*level}#{message}" if Rake.application.options.trace_rules
+ end
+
+ # Attempt to create a rule given the list of prerequisites.
+ def attempt_rule(task_name, extensions, block, level)
+ sources = make_sources(task_name, extensions)
+ prereqs = sources.collect { |source|
+ trace_rule level, "Attempting Rule #{task_name} => #{source}"
+ if File.exist?(source) || Rake::Task.task_defined?(source)
+ trace_rule level, "(#{task_name} => #{source} ... EXIST)"
+ source
+ elsif parent = enhance_with_matching_rule(source, level+1)
+ trace_rule level, "(#{task_name} => #{source} ... ENHANCE)"
+ parent.name
+ else
+ trace_rule level, "(#{task_name} => #{source} ... FAIL)"
+ return nil
+ end
+ }
+ task = FileTask.define_task({task_name => prereqs}, &block)
+ task.sources = prereqs
+ task
+ end
+
+ # Make a list of sources from the list of file name extensions /
+ # translation procs.
+ def make_sources(task_name, extensions)
+ result = extensions.collect { |ext|
+ case ext
+ when /%/
+ task_name.pathmap(ext)
+ when %r{/}
+ ext
+ when /^\./
+ task_name.ext(ext)
+ when String
+ ext
+ when Proc
+ if ext.arity == 1
+ ext.call(task_name)
+ else
+ ext.call
+ end
+ else
+ fail "Don't know how to handle rule dependent: #{ext.inspect}"
+ end
+ }
+ result.flatten
+ end
+
+
+ private
+
+ # Return the current description, clearing it in the process.
+ def get_description(task)
+ desc = @last_description
+ @last_description = nil
+ desc
+ end
+
+ class << self
+ attr_accessor :record_task_metadata
+ TaskManager.record_task_metadata = false
+ end
+ end
+
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/tasklib.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/tasklib.rb
new file mode 100755
index 00000000000..f1e17dad319
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/tasklib.rb
@@ -0,0 +1,22 @@
+require 'rake'
+
+module Rake
+
+ # Base class for Task Libraries.
+ class TaskLib
+ include Cloneable
+ include Rake::DSL
+
+ # Make a symbol by pasting two strings together.
+ #
+ # NOTE: DEPRECATED! This method is kinda stupid. I don't know why
+ # I didn't just use string interpolation. But now other task
+ # libraries depend on this so I can't remove it without breaking
+ # other people's code. So for now it stays for backwards
+ # compatibility. BUT DON'T USE IT.
+ def paste(a,b) # :nodoc:
+ (a.to_s + b.to_s).intern
+ end
+ end
+
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/testtask.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/testtask.rb
new file mode 100755
index 00000000000..04d3ae473a9
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/testtask.rb
@@ -0,0 +1,191 @@
+# Define a task library for running unit tests.
+
+require 'rake'
+require 'rake/tasklib'
+
+module Rake
+
+ # Create a task that runs a set of tests.
+ #
+ # Example:
+ #
+ # Rake::TestTask.new do |t|
+ # t.libs << "test"
+ # t.test_files = FileList['test/test*.rb']
+ # t.verbose = true
+ # end
+ #
+ # If rake is invoked with a "TEST=filename" command line option,
+ # then the list of test files will be overridden to include only the
+ # filename specified on the command line. This provides an easy way
+ # to run just one test.
+ #
+ # If rake is invoked with a "TESTOPTS=options" command line option,
+ # then the given options are passed to the test process after a
+ # '--'. This allows Test::Unit options to be passed to the test
+ # suite.
+ #
+ # Examples:
+ #
+ # rake test # run tests normally
+ # rake test TEST=just_one_file.rb # run just one test file.
+ # rake test TESTOPTS="-v" # run in verbose mode
+ # rake test TESTOPTS="--runner=fox" # use the fox test runner
+ #
+ class TestTask < TaskLib
+
+ # Name of test task. (default is :test)
+ attr_accessor :name
+
+ # List of directories to added to $LOAD_PATH before running the
+ # tests. (default is 'lib')
+ attr_accessor :libs
+
+ # True if verbose test output desired. (default is false)
+ attr_accessor :verbose
+
+ # Test options passed to the test suite. An explicit
+ # TESTOPTS=opts on the command line will override this. (default
+ # is NONE)
+ attr_accessor :options
+
+ # Request that the tests be run with the warning flag set.
+ # E.g. warning=true implies "ruby -w" used to run the tests.
+ attr_accessor :warning
+
+ # Glob pattern to match test files. (default is 'test/test*.rb')
+ attr_accessor :pattern
+
+ # Style of test loader to use. Options are:
+ #
+ # * :rake -- Rake provided test loading script (default).
+ # * :testrb -- Ruby provided test loading script.
+ # * :direct -- Load tests using command line loader.
+ #
+ attr_accessor :loader
+
+ # Array of commandline options to pass to ruby when running test loader.
+ attr_accessor :ruby_opts
+
+ # Explicitly define the list of test files to be included in a
+ # test. +list+ is expected to be an array of file names (a
+ # FileList is acceptable). If both +pattern+ and +test_files+ are
+ # used, then the list of test files is the union of the two.
+ def test_files=(list)
+ @test_files = list
+ end
+
+ # Create a testing task.
+ def initialize(name=:test)
+ @name = name
+ @libs = ["lib"]
+ @pattern = nil
+ @options = nil
+ @test_files = nil
+ @verbose = false
+ @warning = false
+ @loader = :rake
+ @ruby_opts = []
+ yield self if block_given?
+ @pattern = 'test/test*.rb' if @pattern.nil? && @test_files.nil?
+ define
+ end
+
+ # Create the tasks defined by this task lib.
+ def define
+ desc "Run tests" + (@name==:test ? "" : " for #{@name}")
+ task @name do
+ FileUtilsExt.verbose(@verbose) do
+ ruby "#{ruby_opts_string} #{run_code} #{file_list_string} #{option_list}"
+ end
+ end
+ self
+ end
+
+ def option_list # :nodoc:
+ (ENV['TESTOPTS'] ||
+ ENV['TESTOPT'] ||
+ ENV['TEST_OPTS'] ||
+ ENV['TEST_OPT'] ||
+ @options ||
+ "")
+ end
+
+ def ruby_opts_string
+ opts = @ruby_opts.dup
+ opts.unshift( "-I\"#{lib_path}\"" ) unless @libs.empty?
+ opts.unshift( "-w" ) if @warning
+ opts.join(" ")
+ end
+
+ def lib_path
+ @libs.join(File::PATH_SEPARATOR)
+ end
+
+ def file_list_string
+ file_list.collect { |fn| "\"#{fn}\"" }.join(' ')
+ end
+
+ def file_list # :nodoc:
+ if ENV['TEST']
+ FileList[ ENV['TEST'] ]
+ else
+ result = []
+ result += @test_files.to_a if @test_files
+ result << @pattern if @pattern
+ result
+ end
+ end
+
+ def fix # :nodoc:
+ case ruby_version
+ when '1.8.2'
+ "\"#{find_file 'rake/ruby182_test_unit_fix'}\""
+ else
+ nil
+ end || ''
+ end
+
+ def ruby_version
+ RUBY_VERSION
+ end
+
+ def run_code
+ case @loader
+ when :direct
+ "-e \"ARGV.each{|f| require f}\""
+ when :testrb
+ "-S testrb #{fix}"
+ when :rake
+ "-I\"#{rake_lib_dir}\" \"#{rake_loader}\""
+ end
+ end
+
+ def rake_loader # :nodoc:
+ find_file('rake/rake_test_loader') or
+ fail "unable to find rake test loader"
+ end
+
+ def find_file(fn) # :nodoc:
+ $LOAD_PATH.each do |path|
+ file_path = File.join(path, "#{fn}.rb")
+ return file_path if File.exist? file_path
+ end
+ nil
+ end
+
+ def rake_lib_dir # :nodoc:
+ find_dir('rake') or
+ fail "unable to find rake lib"
+ end
+
+ def find_dir(fn) # :nodoc:
+ $LOAD_PATH.each do |path|
+ file_path = File.join(path, "#{fn}.rb")
+ return path if File.exist? file_path
+ end
+ nil
+ end
+
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/version.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/version.rb
new file mode 100755
index 00000000000..4e9f35fc809
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/version.rb
@@ -0,0 +1,8 @@
+module Rake
+ VERSION = '0.9.2.2'
+
+ module Version # :nodoc: all
+ MAJOR, MINOR, BUILD, PATCH = VERSION.split('.')
+ NUMBERS = [ MAJOR, MINOR, BUILD, PATCH ]
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/win32.rb b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/win32.rb
new file mode 100755
index 00000000000..98289a10b45
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/win32.rb
@@ -0,0 +1,55 @@
+
+module Rake
+ require 'rake/alt_system'
+
+ # Win 32 interface methods for Rake. Windows specific functionality
+ # will be placed here to collect that knowledge in one spot.
+ module Win32
+
+ # Error indicating a problem in locating the home directory on a
+ # Win32 system.
+ class Win32HomeError < RuntimeError
+ end
+
+ class << self
+ # True if running on a windows system.
+ def windows?
+ AltSystem::WINDOWS
+ end
+
+ # Run a command line on windows.
+ def rake_system(*cmd)
+ AltSystem.system(*cmd)
+ end
+
+ # The standard directory containing system wide rake files on
+ # Win 32 systems. Try the following environment variables (in
+ # order):
+ #
+ # * HOME
+ # * HOMEDRIVE + HOMEPATH
+ # * APPDATA
+ # * USERPROFILE
+ #
+ # If the above are not defined, the return nil.
+ def win32_system_dir #:nodoc:
+ win32_shared_path = ENV['HOME']
+ if win32_shared_path.nil? && ENV['HOMEDRIVE'] && ENV['HOMEPATH']
+ win32_shared_path = ENV['HOMEDRIVE'] + ENV['HOMEPATH']
+ end
+
+ win32_shared_path ||= ENV['APPDATA']
+ win32_shared_path ||= ENV['USERPROFILE']
+ raise Win32HomeError, "Unable to determine home path environment variable." if
+ win32_shared_path.nil? or win32_shared_path.empty?
+ normalize(File.join(win32_shared_path, 'Rake'))
+ end
+
+ # Normalize a win32 path so that the slashes are all forward slashes.
+ def normalize(path)
+ path.gsub(/\\/, '/')
+ end
+
+ end
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/specifications/actionmailer-2.3.14.gemspec b/sonar-server/src/main/webapp/WEB-INF/gems/specifications/actionmailer-2.3.14.gemspec
new file mode 100755
index 00000000000..a963ba606ce
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/specifications/actionmailer-2.3.14.gemspec
@@ -0,0 +1,30 @@
+# -*- encoding: utf-8 -*-
+
+Gem::Specification.new do |s|
+ s.name = "actionmailer"
+ s.version = "2.3.14"
+
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
+ s.authors = ["David Heinemeier Hansson"]
+ s.date = "2011-08-16"
+ s.description = "Makes it trivial to test and deliver emails sent from a single service layer."
+ s.email = "david@loudthinking.com"
+ s.homepage = "http://www.rubyonrails.org"
+ s.require_paths = ["lib"]
+ s.requirements = ["none"]
+ s.rubyforge_project = "actionmailer"
+ s.rubygems_version = "1.8.15"
+ s.summary = "Service layer for easy email delivery and testing."
+
+ if s.respond_to? :specification_version then
+ s.specification_version = 3
+
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
+ s.add_runtime_dependency(%q<actionpack>, ["= 2.3.14"])
+ else
+ s.add_dependency(%q<actionpack>, ["= 2.3.14"])
+ end
+ else
+ s.add_dependency(%q<actionpack>, ["= 2.3.14"])
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/specifications/actionpack-2.3.14.gemspec b/sonar-server/src/main/webapp/WEB-INF/gems/specifications/actionpack-2.3.14.gemspec
new file mode 100755
index 00000000000..2db20164f7c
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/specifications/actionpack-2.3.14.gemspec
@@ -0,0 +1,33 @@
+# -*- encoding: utf-8 -*-
+
+Gem::Specification.new do |s|
+ s.name = "actionpack"
+ s.version = "2.3.14"
+
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
+ s.authors = ["David Heinemeier Hansson"]
+ s.date = "2011-08-16"
+ s.description = "Eases web-request routing, handling, and response as a half-way front, half-way page controller. Implemented with specific emphasis on enabling easy unit/integration testing that doesn't require a browser."
+ s.email = "david@loudthinking.com"
+ s.homepage = "http://www.rubyonrails.org"
+ s.require_paths = ["lib"]
+ s.requirements = ["none"]
+ s.rubyforge_project = "actionpack"
+ s.rubygems_version = "1.8.15"
+ s.summary = "Web-flow and rendering framework putting the VC in MVC."
+
+ if s.respond_to? :specification_version then
+ s.specification_version = 3
+
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
+ s.add_runtime_dependency(%q<activesupport>, ["= 2.3.14"])
+ s.add_runtime_dependency(%q<rack>, ["~> 1.1.0"])
+ else
+ s.add_dependency(%q<activesupport>, ["= 2.3.14"])
+ s.add_dependency(%q<rack>, ["~> 1.1.0"])
+ end
+ else
+ s.add_dependency(%q<activesupport>, ["= 2.3.14"])
+ s.add_dependency(%q<rack>, ["~> 1.1.0"])
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/specifications/activerecord-2.3.14.gemspec b/sonar-server/src/main/webapp/WEB-INF/gems/specifications/activerecord-2.3.14.gemspec
new file mode 100755
index 00000000000..ec3f0d35148
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/specifications/activerecord-2.3.14.gemspec
@@ -0,0 +1,32 @@
+# -*- encoding: utf-8 -*-
+
+Gem::Specification.new do |s|
+ s.name = "activerecord"
+ s.version = "2.3.14"
+
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
+ s.authors = ["David Heinemeier Hansson"]
+ s.date = "2011-08-16"
+ s.description = "Implements the ActiveRecord pattern (Fowler, PoEAA) for ORM. It ties database tables and classes together for business objects, like Customer or Subscription, that can find, save, and destroy themselves without resorting to manual SQL."
+ s.email = "david@loudthinking.com"
+ s.extra_rdoc_files = ["README"]
+ s.files = ["README"]
+ s.homepage = "http://www.rubyonrails.org"
+ s.rdoc_options = ["--main", "README"]
+ s.require_paths = ["lib"]
+ s.rubyforge_project = "activerecord"
+ s.rubygems_version = "1.8.15"
+ s.summary = "Implements the ActiveRecord pattern for ORM."
+
+ if s.respond_to? :specification_version then
+ s.specification_version = 3
+
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
+ s.add_runtime_dependency(%q<activesupport>, ["= 2.3.14"])
+ else
+ s.add_dependency(%q<activesupport>, ["= 2.3.14"])
+ end
+ else
+ s.add_dependency(%q<activesupport>, ["= 2.3.14"])
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/specifications/activerecord-jdbc-adapter-1.1.3.gemspec b/sonar-server/src/main/webapp/WEB-INF/gems/specifications/activerecord-jdbc-adapter-1.1.3.gemspec
new file mode 100644
index 00000000000..3bcf7f860e5
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/specifications/activerecord-jdbc-adapter-1.1.3.gemspec
@@ -0,0 +1,35 @@
+# -*- encoding: utf-8 -*-
+
+Gem::Specification.new do |s|
+ s.name = "activerecord-jdbc-adapter"
+ s.version = "1.1.3"
+
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
+ s.authors = ["Nick Sieger, Ola Bini and JRuby contributors"]
+ s.date = "2011-07-26"
+ s.description = "activerecord-jdbc-adapter is a database adapter for Rails' ActiveRecord\ncomponent that can be used with JRuby[http://www.jruby.org/]. It allows use of\nvirtually any JDBC-compliant database with your JRuby on Rails application."
+ s.email = "nick@nicksieger.com, ola.bini@gmail.com"
+ s.extra_rdoc_files = ["History.txt", "Manifest.txt", "README.txt", "LICENSE.txt"]
+ s.files = ["History.txt", "Manifest.txt", "README.txt", "LICENSE.txt"]
+ s.homepage = "http://jruby-extras.rubyforge.org/activerecord-jdbc-adapter"
+ s.rdoc_options = ["--main", "README.txt", "-SHN", "-f", "darkfish"]
+ s.require_paths = ["lib"]
+ s.rubyforge_project = "jruby-extras"
+ s.rubygems_version = "1.8.23"
+ s.summary = "JDBC adapter for ActiveRecord, for use within JRuby on Rails."
+
+ if s.respond_to? :specification_version then
+ s.specification_version = 3
+
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
+ s.add_development_dependency(%q<rubyforge>, [">= 2.0.4"])
+ s.add_development_dependency(%q<hoe>, [">= 2.9.4"])
+ else
+ s.add_dependency(%q<rubyforge>, [">= 2.0.4"])
+ s.add_dependency(%q<hoe>, [">= 2.9.4"])
+ end
+ else
+ s.add_dependency(%q<rubyforge>, [">= 2.0.4"])
+ s.add_dependency(%q<hoe>, [">= 2.9.4"])
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/specifications/activerecord-oracle_enhanced-adapter-1.4.0.gemspec b/sonar-server/src/main/webapp/WEB-INF/gems/specifications/activerecord-oracle_enhanced-adapter-1.4.0.gemspec
new file mode 100644
index 00000000000..127b6926fd2
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/specifications/activerecord-oracle_enhanced-adapter-1.4.0.gemspec
@@ -0,0 +1,57 @@
+# -*- encoding: utf-8 -*-
+
+Gem::Specification.new do |s|
+ s.name = "activerecord-oracle_enhanced-adapter"
+ s.version = "1.4.0"
+
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
+ s.authors = ["Raimonds Simanovskis"]
+ s.date = "2011-08-08"
+ s.description = "Oracle \"enhanced\" ActiveRecord adapter contains useful additional methods for working with new and legacy Oracle databases.\nThis adapter is superset of original ActiveRecord Oracle adapter.\n"
+ s.email = "raimonds.simanovskis@gmail.com"
+ s.extra_rdoc_files = ["README.md"]
+ s.files = ["README.md"]
+ s.homepage = "http://github.com/rsim/oracle-enhanced"
+ s.require_paths = ["lib"]
+ s.rubygems_version = "1.8.23"
+ s.summary = "Oracle enhanced adapter for ActiveRecord"
+
+ if s.respond_to? :specification_version then
+ s.specification_version = 3
+
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
+ s.add_development_dependency(%q<jeweler>, ["~> 1.5.1"])
+ s.add_development_dependency(%q<rspec>, ["~> 2.4"])
+ s.add_development_dependency(%q<activerecord>, [">= 0"])
+ s.add_development_dependency(%q<activemodel>, [">= 0"])
+ s.add_development_dependency(%q<activesupport>, [">= 0"])
+ s.add_development_dependency(%q<actionpack>, [">= 0"])
+ s.add_development_dependency(%q<railties>, [">= 0"])
+ s.add_development_dependency(%q<arel>, [">= 0"])
+ s.add_development_dependency(%q<ruby-plsql>, [">= 0.4.4"])
+ s.add_development_dependency(%q<ruby-oci8>, ["~> 2.0.4"])
+ else
+ s.add_dependency(%q<jeweler>, ["~> 1.5.1"])
+ s.add_dependency(%q<rspec>, ["~> 2.4"])
+ s.add_dependency(%q<activerecord>, [">= 0"])
+ s.add_dependency(%q<activemodel>, [">= 0"])
+ s.add_dependency(%q<activesupport>, [">= 0"])
+ s.add_dependency(%q<actionpack>, [">= 0"])
+ s.add_dependency(%q<railties>, [">= 0"])
+ s.add_dependency(%q<arel>, [">= 0"])
+ s.add_dependency(%q<ruby-plsql>, [">= 0.4.4"])
+ s.add_dependency(%q<ruby-oci8>, ["~> 2.0.4"])
+ end
+ else
+ s.add_dependency(%q<jeweler>, ["~> 1.5.1"])
+ s.add_dependency(%q<rspec>, ["~> 2.4"])
+ s.add_dependency(%q<activerecord>, [">= 0"])
+ s.add_dependency(%q<activemodel>, [">= 0"])
+ s.add_dependency(%q<activesupport>, [">= 0"])
+ s.add_dependency(%q<actionpack>, [">= 0"])
+ s.add_dependency(%q<railties>, [">= 0"])
+ s.add_dependency(%q<arel>, [">= 0"])
+ s.add_dependency(%q<ruby-plsql>, [">= 0.4.4"])
+ s.add_dependency(%q<ruby-oci8>, ["~> 2.0.4"])
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/specifications/activeresource-2.3.14.gemspec b/sonar-server/src/main/webapp/WEB-INF/gems/specifications/activeresource-2.3.14.gemspec
new file mode 100755
index 00000000000..3ad5af59c88
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/specifications/activeresource-2.3.14.gemspec
@@ -0,0 +1,32 @@
+# -*- encoding: utf-8 -*-
+
+Gem::Specification.new do |s|
+ s.name = "activeresource"
+ s.version = "2.3.14"
+
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
+ s.authors = ["David Heinemeier Hansson"]
+ s.date = "2011-08-16"
+ s.description = "Wraps web resources in model classes that can be manipulated through XML over REST."
+ s.email = "david@loudthinking.com"
+ s.extra_rdoc_files = ["README"]
+ s.files = ["README"]
+ s.homepage = "http://www.rubyonrails.org"
+ s.rdoc_options = ["--main", "README"]
+ s.require_paths = ["lib"]
+ s.rubyforge_project = "activeresource"
+ s.rubygems_version = "1.8.15"
+ s.summary = "Think Active Record for web resources."
+
+ if s.respond_to? :specification_version then
+ s.specification_version = 3
+
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
+ s.add_runtime_dependency(%q<activesupport>, ["= 2.3.14"])
+ else
+ s.add_dependency(%q<activesupport>, ["= 2.3.14"])
+ end
+ else
+ s.add_dependency(%q<activesupport>, ["= 2.3.14"])
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/specifications/activesupport-2.3.14.gemspec b/sonar-server/src/main/webapp/WEB-INF/gems/specifications/activesupport-2.3.14.gemspec
new file mode 100755
index 00000000000..0b5b0c59e0b
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/specifications/activesupport-2.3.14.gemspec
@@ -0,0 +1,26 @@
+# -*- encoding: utf-8 -*-
+
+Gem::Specification.new do |s|
+ s.name = "activesupport"
+ s.version = "2.3.14"
+
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
+ s.authors = ["David Heinemeier Hansson"]
+ s.date = "2011-08-16"
+ s.description = "Utility library which carries commonly used classes and goodies from the Rails framework"
+ s.email = "david@loudthinking.com"
+ s.homepage = "http://www.rubyonrails.org"
+ s.require_paths = ["lib"]
+ s.rubyforge_project = "activesupport"
+ s.rubygems_version = "1.8.15"
+ s.summary = "Support and utility classes used by the Rails framework."
+
+ if s.respond_to? :specification_version then
+ s.specification_version = 3
+
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
+ else
+ end
+ else
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/specifications/color-tools-1.3.0.gemspec b/sonar-server/src/main/webapp/WEB-INF/gems/specifications/color-tools-1.3.0.gemspec
new file mode 100644
index 00000000000..c99bc8f9b49
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/specifications/color-tools-1.3.0.gemspec
@@ -0,0 +1,32 @@
+# -*- encoding: utf-8 -*-
+
+Gem::Specification.new do |s|
+ s.name = "color-tools"
+ s.version = "1.3.0"
+
+ s.required_rubygems_version = nil if s.respond_to? :required_rubygems_version=
+ s.authors = ["Austin Ziegler"]
+ s.autorequire = "color"
+ s.cert_chain = nil
+ s.date = "2005-08-07"
+ s.description = "color-tools is a Ruby library to provide RGB, CMYK, and other colourspace support to applications that require it. It also provides 152 named RGB colours. It offers 152 named RGB colours (184 with spelling variations) that are commonly supported and used in HTML, SVG, and X11 applications. A technique for generating a monochromatic contrasting palette is also included."
+ s.email = "austin@rubyforge.org"
+ s.extra_rdoc_files = ["README", "Install", "Changelog"]
+ s.files = ["README", "Install", "Changelog"]
+ s.homepage = "http://rubyforge.org/projects/ruby-pdf"
+ s.rdoc_options = ["--title", "color-tools", "--main", "README", "--line-numbers"]
+ s.require_paths = ["lib"]
+ s.required_ruby_version = Gem::Requirement.new("> 0.0.0")
+ s.rubyforge_project = "ruby-pdf"
+ s.rubygems_version = "1.8.23"
+ s.summary = "color-tools provides colour space definition and manpiulation as well as commonly named RGB colours."
+
+ if s.respond_to? :specification_version then
+ s.specification_version = 1
+
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
+ else
+ end
+ else
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/specifications/fastercsv-1.4.0.gemspec b/sonar-server/src/main/webapp/WEB-INF/gems/specifications/fastercsv-1.4.0.gemspec
new file mode 100644
index 00000000000..d618cf5ff04
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/specifications/fastercsv-1.4.0.gemspec
@@ -0,0 +1,29 @@
+# -*- encoding: utf-8 -*-
+
+Gem::Specification.new do |s|
+ s.name = "fastercsv"
+ s.version = "1.4.0"
+
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
+ s.authors = ["James Edward Gray II"]
+ s.date = "2008-09-10"
+ s.description = "FasterCSV is intended as a complete replacement to the CSV standard library. It is significantly faster and smaller while still being pure Ruby code. It also strives for a better interface."
+ s.email = "james@grayproductions.net"
+ s.extra_rdoc_files = ["AUTHORS", "COPYING", "README", "INSTALL", "TODO", "CHANGELOG", "LICENSE"]
+ s.files = ["AUTHORS", "COPYING", "README", "INSTALL", "TODO", "CHANGELOG", "LICENSE"]
+ s.homepage = "http://fastercsv.rubyforge.org"
+ s.rdoc_options = ["--title", "FasterCSV Documentation", "--main", "README"]
+ s.require_paths = ["lib"]
+ s.rubyforge_project = "fastercsv"
+ s.rubygems_version = "1.8.23"
+ s.summary = "FasterCSV is CSV, but faster, smaller, and cleaner."
+
+ if s.respond_to? :specification_version then
+ s.specification_version = 2
+
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
+ else
+ end
+ else
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/specifications/i18n-0.4.2.gemspec b/sonar-server/src/main/webapp/WEB-INF/gems/specifications/i18n-0.4.2.gemspec
new file mode 100644
index 00000000000..b70d5cbe6c6
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/specifications/i18n-0.4.2.gemspec
@@ -0,0 +1,26 @@
+# -*- encoding: utf-8 -*-
+
+Gem::Specification.new do |s|
+ s.name = "i18n"
+ s.version = "0.4.2"
+
+ s.required_rubygems_version = Gem::Requirement.new(">= 1.3.5") if s.respond_to? :required_rubygems_version=
+ s.authors = ["Sven Fuchs", "Joshua Harvey", "Matt Aimonetti", "Stephan Soller", "Saimon Moore"]
+ s.date = "2010-10-26"
+ s.description = "New wave Internationalization support for Ruby."
+ s.email = "rails-i18n@googlegroups.com"
+ s.homepage = "http://github.com/svenfuchs/i18n"
+ s.require_paths = ["lib"]
+ s.rubyforge_project = "[none]"
+ s.rubygems_version = "1.8.23"
+ s.summary = "New wave Internationalization support for Ruby"
+
+ if s.respond_to? :specification_version then
+ s.specification_version = 3
+
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
+ else
+ end
+ else
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/specifications/jruby-openssl-0.7.4.gemspec b/sonar-server/src/main/webapp/WEB-INF/gems/specifications/jruby-openssl-0.7.4.gemspec
new file mode 100644
index 00000000000..2ffa35257d3
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/specifications/jruby-openssl-0.7.4.gemspec
@@ -0,0 +1,32 @@
+# -*- encoding: utf-8 -*-
+
+Gem::Specification.new do |s|
+ s.name = "jruby-openssl"
+ s.version = "0.7.4"
+
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
+ s.authors = ["Ola Bini and JRuby contributors"]
+ s.date = "2011-04-27"
+ s.description = "JRuby-OpenSSL is an add-on gem for JRuby that emulates the Ruby OpenSSL native library."
+ s.email = "ola.bini@gmail.com"
+ s.extra_rdoc_files = ["History.txt", "Manifest.txt", "README.txt", "License.txt"]
+ s.files = ["History.txt", "Manifest.txt", "README.txt", "License.txt"]
+ s.homepage = "http://jruby-extras.rubyforge.org/jruby-openssl"
+ s.rdoc_options = ["--main", "README.txt"]
+ s.require_paths = ["lib"]
+ s.rubyforge_project = "jruby-extras"
+ s.rubygems_version = "1.8.23"
+ s.summary = "OpenSSL add-on for JRuby"
+
+ if s.respond_to? :specification_version then
+ s.specification_version = 3
+
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
+ s.add_runtime_dependency(%q<bouncy-castle-java>, [">= 0"])
+ else
+ s.add_dependency(%q<bouncy-castle-java>, [">= 0"])
+ end
+ else
+ s.add_dependency(%q<bouncy-castle-java>, [">= 0"])
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/specifications/json-jruby-1.2.3-universal-java-1.6.gemspec b/sonar-server/src/main/webapp/WEB-INF/gems/specifications/json-jruby-1.2.3-universal-java-1.6.gemspec
new file mode 100644
index 00000000000..c00a363df52
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/specifications/json-jruby-1.2.3-universal-java-1.6.gemspec
@@ -0,0 +1,26 @@
+# -*- encoding: utf-8 -*-
+
+Gem::Specification.new do |s|
+ s.name = "json-jruby"
+ s.version = "1.2.3"
+ s.platform = "universal-java-1.6"
+
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
+ s.authors = ["Daniel Luz"]
+ s.date = "2010-03-14"
+ s.email = "mernen+rubyforge@gmail.com"
+ s.homepage = "http://rubyforge.org/projects/json-jruby/"
+ s.require_paths = ["lib"]
+ s.rubyforge_project = "json-jruby"
+ s.rubygems_version = "1.8.23"
+ s.summary = "A JSON implementation as a JRuby extension"
+
+ if s.respond_to? :specification_version then
+ s.specification_version = 3
+
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
+ else
+ end
+ else
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/specifications/rack-1.1.3.gemspec b/sonar-server/src/main/webapp/WEB-INF/gems/specifications/rack-1.1.3.gemspec
new file mode 100755
index 00000000000..2941436e72e
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/specifications/rack-1.1.3.gemspec
@@ -0,0 +1,50 @@
+# -*- encoding: utf-8 -*-
+
+Gem::Specification.new do |s|
+ s.name = "rack"
+ s.version = "1.1.3"
+
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
+ s.authors = ["Christian Neukirchen"]
+ s.date = "2011-12-28"
+ s.description = "Rack provides minimal, modular and adaptable interface for developing\nweb applications in Ruby. By wrapping HTTP requests and responses in\nthe simplest way possible, it unifies and distills the API for web\nservers, web frameworks, and software in between (the so-called\nmiddleware) into a single method call.\n\nAlso see http://rack.rubyforge.org.\n"
+ s.email = "chneukirchen@gmail.com"
+ s.executables = ["rackup"]
+ s.extra_rdoc_files = ["README", "SPEC", "KNOWN-ISSUES"]
+ s.files = ["bin/rackup", "README", "SPEC", "KNOWN-ISSUES"]
+ s.homepage = "http://rack.rubyforge.org"
+ s.require_paths = ["lib"]
+ s.rubyforge_project = "rack"
+ s.rubygems_version = "1.8.15"
+ s.summary = "a modular Ruby webserver interface"
+
+ if s.respond_to? :specification_version then
+ s.specification_version = 3
+
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
+ s.add_development_dependency(%q<test-spec>, [">= 0"])
+ s.add_development_dependency(%q<activesupport>, ["< 2"])
+ s.add_development_dependency(%q<camping>, ["< 1.6"])
+ s.add_development_dependency(%q<fcgi>, [">= 0"])
+ s.add_development_dependency(%q<memcache-client>, [">= 0"])
+ s.add_development_dependency(%q<mongrel>, [">= 0"])
+ s.add_development_dependency(%q<thin>, ["< 1.2"])
+ else
+ s.add_dependency(%q<test-spec>, [">= 0"])
+ s.add_dependency(%q<activesupport>, ["< 2"])
+ s.add_dependency(%q<camping>, ["< 1.6"])
+ s.add_dependency(%q<fcgi>, [">= 0"])
+ s.add_dependency(%q<memcache-client>, [">= 0"])
+ s.add_dependency(%q<mongrel>, [">= 0"])
+ s.add_dependency(%q<thin>, ["< 1.2"])
+ end
+ else
+ s.add_dependency(%q<test-spec>, [">= 0"])
+ s.add_dependency(%q<activesupport>, ["< 2"])
+ s.add_dependency(%q<camping>, ["< 1.6"])
+ s.add_dependency(%q<fcgi>, [">= 0"])
+ s.add_dependency(%q<memcache-client>, [">= 0"])
+ s.add_dependency(%q<mongrel>, [">= 0"])
+ s.add_dependency(%q<thin>, ["< 1.2"])
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/specifications/rails-2.3.14.gemspec b/sonar-server/src/main/webapp/WEB-INF/gems/specifications/rails-2.3.14.gemspec
new file mode 100644
index 00000000000..7d0319df030
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/specifications/rails-2.3.14.gemspec
@@ -0,0 +1,47 @@
+# -*- encoding: utf-8 -*-
+
+Gem::Specification.new do |s|
+ s.name = "rails"
+ s.version = "2.3.14"
+
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
+ s.authors = ["David Heinemeier Hansson"]
+ s.date = "2011-08-16"
+ s.description = " Rails is a framework for building web-application using CGI, FCGI, mod_ruby, or WEBrick\n on top of either MySQL, PostgreSQL, SQLite, DB2, SQL Server, or Oracle with eRuby- or Builder-based templates.\n"
+ s.email = "david@loudthinking.com"
+ s.executables = ["rails"]
+ s.files = ["bin/rails"]
+ s.homepage = "http://www.rubyonrails.org"
+ s.rdoc_options = ["--exclude", "."]
+ s.require_paths = ["lib"]
+ s.rubyforge_project = "rails"
+ s.rubygems_version = "1.8.15"
+ s.summary = "Web-application framework with template engine, control-flow layer, and ORM."
+
+ if s.respond_to? :specification_version then
+ s.specification_version = 3
+
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
+ s.add_runtime_dependency(%q<rake>, [">= 0.8.3"])
+ s.add_runtime_dependency(%q<activesupport>, ["= 2.3.14"])
+ s.add_runtime_dependency(%q<activerecord>, ["= 2.3.14"])
+ s.add_runtime_dependency(%q<actionpack>, ["= 2.3.14"])
+ s.add_runtime_dependency(%q<actionmailer>, ["= 2.3.14"])
+ s.add_runtime_dependency(%q<activeresource>, ["= 2.3.14"])
+ else
+ s.add_dependency(%q<rake>, [">= 0.8.3"])
+ s.add_dependency(%q<activesupport>, ["= 2.3.14"])
+ s.add_dependency(%q<activerecord>, ["= 2.3.14"])
+ s.add_dependency(%q<actionpack>, ["= 2.3.14"])
+ s.add_dependency(%q<actionmailer>, ["= 2.3.14"])
+ s.add_dependency(%q<activeresource>, ["= 2.3.14"])
+ end
+ else
+ s.add_dependency(%q<rake>, [">= 0.8.3"])
+ s.add_dependency(%q<activesupport>, ["= 2.3.14"])
+ s.add_dependency(%q<activerecord>, ["= 2.3.14"])
+ s.add_dependency(%q<actionpack>, ["= 2.3.14"])
+ s.add_dependency(%q<actionmailer>, ["= 2.3.14"])
+ s.add_dependency(%q<activeresource>, ["= 2.3.14"])
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/gems/specifications/rake-0.9.2.2.gemspec b/sonar-server/src/main/webapp/WEB-INF/gems/specifications/rake-0.9.2.2.gemspec
new file mode 100755
index 00000000000..b6d5eb5b8de
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/gems/specifications/rake-0.9.2.2.gemspec
@@ -0,0 +1,34 @@
+# -*- encoding: utf-8 -*-
+
+Gem::Specification.new do |s|
+ s.name = "rake"
+ s.version = "0.9.2.2"
+
+ s.required_rubygems_version = Gem::Requirement.new(">= 1.3.2") if s.respond_to? :required_rubygems_version=
+ s.authors = ["Jim Weirich"]
+ s.date = "2011-10-22"
+ s.description = "Rake is a Make-like program implemented in Ruby. Tasks and dependencies arespecified in standard Ruby syntax."
+ s.email = "jim@weirichhouse.org"
+ s.executables = ["rake"]
+ s.extra_rdoc_files = ["README.rdoc", "MIT-LICENSE", "TODO", "CHANGES", "doc/command_line_usage.rdoc", "doc/glossary.rdoc", "doc/proto_rake.rdoc", "doc/rakefile.rdoc", "doc/rational.rdoc", "doc/release_notes/rake-0.4.14.rdoc", "doc/release_notes/rake-0.4.15.rdoc", "doc/release_notes/rake-0.5.0.rdoc", "doc/release_notes/rake-0.5.3.rdoc", "doc/release_notes/rake-0.5.4.rdoc", "doc/release_notes/rake-0.6.0.rdoc", "doc/release_notes/rake-0.7.0.rdoc", "doc/release_notes/rake-0.7.1.rdoc", "doc/release_notes/rake-0.7.2.rdoc", "doc/release_notes/rake-0.7.3.rdoc", "doc/release_notes/rake-0.8.0.rdoc", "doc/release_notes/rake-0.8.2.rdoc", "doc/release_notes/rake-0.8.3.rdoc", "doc/release_notes/rake-0.8.4.rdoc", "doc/release_notes/rake-0.8.5.rdoc", "doc/release_notes/rake-0.8.6.rdoc", "doc/release_notes/rake-0.8.7.rdoc", "doc/release_notes/rake-0.9.0.rdoc", "doc/release_notes/rake-0.9.1.rdoc", "doc/release_notes/rake-0.9.2.rdoc"]
+ s.files = ["bin/rake", "README.rdoc", "MIT-LICENSE", "TODO", "CHANGES", "doc/command_line_usage.rdoc", "doc/glossary.rdoc", "doc/proto_rake.rdoc", "doc/rakefile.rdoc", "doc/rational.rdoc", "doc/release_notes/rake-0.4.14.rdoc", "doc/release_notes/rake-0.4.15.rdoc", "doc/release_notes/rake-0.5.0.rdoc", "doc/release_notes/rake-0.5.3.rdoc", "doc/release_notes/rake-0.5.4.rdoc", "doc/release_notes/rake-0.6.0.rdoc", "doc/release_notes/rake-0.7.0.rdoc", "doc/release_notes/rake-0.7.1.rdoc", "doc/release_notes/rake-0.7.2.rdoc", "doc/release_notes/rake-0.7.3.rdoc", "doc/release_notes/rake-0.8.0.rdoc", "doc/release_notes/rake-0.8.2.rdoc", "doc/release_notes/rake-0.8.3.rdoc", "doc/release_notes/rake-0.8.4.rdoc", "doc/release_notes/rake-0.8.5.rdoc", "doc/release_notes/rake-0.8.6.rdoc", "doc/release_notes/rake-0.8.7.rdoc", "doc/release_notes/rake-0.9.0.rdoc", "doc/release_notes/rake-0.9.1.rdoc", "doc/release_notes/rake-0.9.2.rdoc"]
+ s.homepage = "http://rake.rubyforge.org"
+ s.rdoc_options = ["--line-numbers", "--show-hash", "--main", "README.rdoc", "--title", "Rake -- Ruby Make"]
+ s.require_paths = ["lib"]
+ s.required_ruby_version = Gem::Requirement.new(">= 1.8.6")
+ s.rubyforge_project = "rake"
+ s.rubygems_version = "1.8.15"
+ s.summary = "Ruby based make-like utility."
+
+ if s.respond_to? :specification_version then
+ s.specification_version = 3
+
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
+ s.add_development_dependency(%q<minitest>, ["~> 2.1"])
+ else
+ s.add_dependency(%q<minitest>, ["~> 2.1"])
+ end
+ else
+ s.add_dependency(%q<minitest>, ["~> 2.1"])
+ end
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/.specification b/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/.specification
deleted file mode 100755
index ca8ae3d2251..00000000000
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/.specification
+++ /dev/null
@@ -1,301 +0,0 @@
---- !ruby/object:Gem::Specification
-name: rack
-version: !ruby/object:Gem::Version
- prerelease: false
- segments:
- - 1
- - 0
- - 1
- version: 1.0.1
-platform: ruby
-authors:
- - Christian Neukirchen
-autorequire:
-bindir: bin
-cert_chain: []
-
-date: 2009-10-18 00:00:00 +02:00
-default_executable: rackup
-dependencies:
- - !ruby/object:Gem::Dependency
- name: test-spec
- prerelease: false
- requirement: &id001 !ruby/object:Gem::Requirement
- requirements:
- - - ">="
- - !ruby/object:Gem::Version
- segments:
- - 0
- version: "0"
- type: :development
- version_requirements: *id001
- - !ruby/object:Gem::Dependency
- name: camping
- prerelease: false
- requirement: &id002 !ruby/object:Gem::Requirement
- requirements:
- - - ">="
- - !ruby/object:Gem::Version
- segments:
- - 0
- version: "0"
- type: :development
- version_requirements: *id002
- - !ruby/object:Gem::Dependency
- name: fcgi
- prerelease: false
- requirement: &id003 !ruby/object:Gem::Requirement
- requirements:
- - - ">="
- - !ruby/object:Gem::Version
- segments:
- - 0
- version: "0"
- type: :development
- version_requirements: *id003
- - !ruby/object:Gem::Dependency
- name: memcache-client
- prerelease: false
- requirement: &id004 !ruby/object:Gem::Requirement
- requirements:
- - - ">="
- - !ruby/object:Gem::Version
- segments:
- - 0
- version: "0"
- type: :development
- version_requirements: *id004
- - !ruby/object:Gem::Dependency
- name: mongrel
- prerelease: false
- requirement: &id005 !ruby/object:Gem::Requirement
- requirements:
- - - ">="
- - !ruby/object:Gem::Version
- segments:
- - 0
- version: "0"
- type: :development
- version_requirements: *id005
- - !ruby/object:Gem::Dependency
- name: ruby-openid
- prerelease: false
- requirement: &id006 !ruby/object:Gem::Requirement
- requirements:
- - - ~>
- - !ruby/object:Gem::Version
- segments:
- - 2
- - 0
- - 0
- version: 2.0.0
- type: :development
- version_requirements: *id006
- - !ruby/object:Gem::Dependency
- name: thin
- prerelease: false
- requirement: &id007 !ruby/object:Gem::Requirement
- requirements:
- - - ">="
- - !ruby/object:Gem::Version
- segments:
- - 0
- version: "0"
- type: :development
- version_requirements: *id007
-description: Rack provides minimal, modular and adaptable interface for developing web applications in Ruby. By wrapping HTTP requests and responses in the simplest way possible, it unifies and distills the API for web servers, web frameworks, and software in between (the so-called middleware) into a single method call. Also see http://rack.rubyforge.org.
-email: chneukirchen@gmail.com
-executables:
- - rackup
-extensions: []
-
-extra_rdoc_files:
- - README
- - SPEC
- - RDOX
- - KNOWN-ISSUES
-files:
- - COPYING
- - KNOWN-ISSUES
- - README
- - Rakefile
- - bin/rackup
- - contrib/rack_logo.svg
- - example/lobster.ru
- - example/protectedlobster.rb
- - example/protectedlobster.ru
- - lib/rack.rb
- - lib/rack/adapter/camping.rb
- - lib/rack/auth/abstract/handler.rb
- - lib/rack/auth/abstract/request.rb
- - lib/rack/auth/basic.rb
- - lib/rack/auth/digest/md5.rb
- - lib/rack/auth/digest/nonce.rb
- - lib/rack/auth/digest/params.rb
- - lib/rack/auth/digest/request.rb
- - lib/rack/auth/openid.rb
- - lib/rack/builder.rb
- - lib/rack/cascade.rb
- - lib/rack/chunked.rb
- - lib/rack/commonlogger.rb
- - lib/rack/conditionalget.rb
- - lib/rack/content_length.rb
- - lib/rack/content_type.rb
- - lib/rack/deflater.rb
- - lib/rack/directory.rb
- - lib/rack/file.rb
- - lib/rack/handler.rb
- - lib/rack/handler/cgi.rb
- - lib/rack/handler/evented_mongrel.rb
- - lib/rack/handler/fastcgi.rb
- - lib/rack/handler/lsws.rb
- - lib/rack/handler/mongrel.rb
- - lib/rack/handler/scgi.rb
- - lib/rack/handler/swiftiplied_mongrel.rb
- - lib/rack/handler/thin.rb
- - lib/rack/handler/webrick.rb
- - lib/rack/head.rb
- - lib/rack/lint.rb
- - lib/rack/lobster.rb
- - lib/rack/lock.rb
- - lib/rack/methodoverride.rb
- - lib/rack/mime.rb
- - lib/rack/mock.rb
- - lib/rack/recursive.rb
- - lib/rack/reloader.rb
- - lib/rack/request.rb
- - lib/rack/response.rb
- - lib/rack/rewindable_input.rb
- - lib/rack/session/abstract/id.rb
- - lib/rack/session/cookie.rb
- - lib/rack/session/memcache.rb
- - lib/rack/session/pool.rb
- - lib/rack/showexceptions.rb
- - lib/rack/showstatus.rb
- - lib/rack/static.rb
- - lib/rack/urlmap.rb
- - lib/rack/utils.rb
- - test/cgi/lighttpd.conf
- - test/cgi/test
- - test/cgi/test.fcgi
- - test/cgi/test.ru
- - test/multipart/binary
- - test/multipart/empty
- - test/multipart/ie
- - test/multipart/nested
- - test/multipart/none
- - test/multipart/semicolon
- - test/multipart/text
- - test/spec_rack_auth_basic.rb
- - test/spec_rack_auth_digest.rb
- - test/spec_rack_auth_openid.rb
- - test/spec_rack_builder.rb
- - test/spec_rack_camping.rb
- - test/spec_rack_cascade.rb
- - test/spec_rack_cgi.rb
- - test/spec_rack_chunked.rb
- - test/spec_rack_commonlogger.rb
- - test/spec_rack_conditionalget.rb
- - test/spec_rack_content_length.rb
- - test/spec_rack_content_type.rb
- - test/spec_rack_deflater.rb
- - test/spec_rack_directory.rb
- - test/spec_rack_fastcgi.rb
- - test/spec_rack_file.rb
- - test/spec_rack_handler.rb
- - test/spec_rack_head.rb
- - test/spec_rack_lint.rb
- - test/spec_rack_lobster.rb
- - test/spec_rack_lock.rb
- - test/spec_rack_methodoverride.rb
- - test/spec_rack_mock.rb
- - test/spec_rack_mongrel.rb
- - test/spec_rack_recursive.rb
- - test/spec_rack_request.rb
- - test/spec_rack_response.rb
- - test/spec_rack_rewindable_input.rb
- - test/spec_rack_session_cookie.rb
- - test/spec_rack_session_memcache.rb
- - test/spec_rack_session_pool.rb
- - test/spec_rack_showexceptions.rb
- - test/spec_rack_showstatus.rb
- - test/spec_rack_static.rb
- - test/spec_rack_thin.rb
- - test/spec_rack_urlmap.rb
- - test/spec_rack_utils.rb
- - test/spec_rack_webrick.rb
- - test/testrequest.rb
- - test/unregistered_handler/rack/handler/unregistered.rb
- - test/unregistered_handler/rack/handler/unregistered_long_one.rb
- - SPEC
- - RDOX
- - rack.gemspec
-has_rdoc: true
-homepage: http://rack.rubyforge.org
-licenses: []
-
-post_install_message:
-rdoc_options: []
-
-require_paths:
- - lib
-required_ruby_version: !ruby/object:Gem::Requirement
- requirements:
- - - ">="
- - !ruby/object:Gem::Version
- segments:
- - 0
- version: "0"
-required_rubygems_version: !ruby/object:Gem::Requirement
- requirements:
- - - ">="
- - !ruby/object:Gem::Version
- segments:
- - 0
- version: "0"
-requirements: []
-
-rubyforge_project: rack
-rubygems_version: 1.3.6
-signing_key:
-specification_version: 2
-summary: a modular Ruby webserver interface
-test_files:
- - test/spec_rack_auth_basic.rb
- - test/spec_rack_auth_digest.rb
- - test/spec_rack_auth_openid.rb
- - test/spec_rack_builder.rb
- - test/spec_rack_camping.rb
- - test/spec_rack_cascade.rb
- - test/spec_rack_cgi.rb
- - test/spec_rack_chunked.rb
- - test/spec_rack_commonlogger.rb
- - test/spec_rack_conditionalget.rb
- - test/spec_rack_content_length.rb
- - test/spec_rack_content_type.rb
- - test/spec_rack_deflater.rb
- - test/spec_rack_directory.rb
- - test/spec_rack_fastcgi.rb
- - test/spec_rack_file.rb
- - test/spec_rack_handler.rb
- - test/spec_rack_head.rb
- - test/spec_rack_lint.rb
- - test/spec_rack_lobster.rb
- - test/spec_rack_lock.rb
- - test/spec_rack_methodoverride.rb
- - test/spec_rack_mock.rb
- - test/spec_rack_mongrel.rb
- - test/spec_rack_recursive.rb
- - test/spec_rack_request.rb
- - test/spec_rack_response.rb
- - test/spec_rack_rewindable_input.rb
- - test/spec_rack_session_cookie.rb
- - test/spec_rack_session_memcache.rb
- - test/spec_rack_session_pool.rb
- - test/spec_rack_showexceptions.rb
- - test/spec_rack_showstatus.rb
- - test/spec_rack_static.rb
- - test/spec_rack_thin.rb
- - test/spec_rack_urlmap.rb
- - test/spec_rack_utils.rb
- - test/spec_rack_webrick.rb
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/RDOX b/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/RDOX
deleted file mode 100755
index 8b95b0cb22d..00000000000
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/RDOX
+++ /dev/null
@@ -1,428 +0,0 @@
-
-== Rack::Auth::Basic
-* should challenge correctly when no credentials are specified
-* should rechallenge if incorrect credentials are specified
-* should return application output if correct credentials are specified
-* should return 400 Bad Request if different auth scheme used
-* realm as optional constructor arg
-
-== Rack::Auth::Digest::MD5
-* should challenge when no credentials are specified
-* should return application output if correct credentials given
-* should return application output if correct credentials given (hashed passwords)
-* should rechallenge if incorrect username given
-* should rechallenge if incorrect password given
-* should rechallenge with stale parameter if nonce is stale
-* should return 400 Bad Request if incorrect qop given
-* should return 400 Bad Request if incorrect uri given
-* should return 400 Bad Request if different auth scheme used
-* should not require credentials for unprotected path
-* should challenge when no credentials are specified for protected path
-* should return application output if correct credentials given for protected path
-* should return application output if correct credentials given for POST
-* should return application output if correct credentials given for PUT (using method override of POST)
-* realm as optional constructor arg
-
-== Rack::Auth::OpenID
-* realm uri should be valid
-* should be able to check if a uri is within the realm (empty)
-* return_to should be valid
-* extensions should have required constants defined
-* extensions should have Request and Response defined and inherit from OpenID::Extension
-
-== Rack::Builder
-* chains apps by default
-* has implicit #to_app
-* supports blocks on use
-* has explicit #to_app
-* apps are initialized once
-
-== Rack::Adapter::Camping
-* works with GET
-* works with POST
-
-== Rack::Cascade
-* should dispatch onward on 404 by default
-* should dispatch onward on whatever is passed
-* should fail if empty
-* should append new app
-
-== Rack::Handler::CGI
-* startup (empty)
-* should respond
-* should be a lighttpd
-* should have rack headers
-* should have CGI headers on GET
-* should have CGI headers on POST
-* should support HTTP auth
-* should set status
-* shutdown
-
-== Rack::Chunked
-* chunks responses with no Content-Length
-* chunks empty bodies properly
-* does not modify response when Content-Length header present
-* does not modify response when client is HTTP/1.0
-* does not modify response when Transfer-Encoding header already present
-* does not modify response when status code is 100
-* does not modify response when status code is 204
-* does not modify response when status code is 304
-
-== Rack::CommonLogger
-* should log to rack.errors by default
-* should log to anything with <<
-
-== Rack::ConditionalGet
-* should set a 304 status and truncate body when If-Modified-Since hits
-* should set a 304 status and truncate body when If-None-Match hits
-* should not affect non-GET/HEAD requests
-
-== Rack::ContentLength
-* sets Content-Length on String bodies if none is set
-* sets Content-Length on Array bodies if none is set
-* does not set Content-Length on variable length bodies
-* does not change Content-Length if it is already set
-* does not set Content-Length on 304 responses
-* does not set Content-Length when Transfer-Encoding is chunked
-
-== Rack::ContentType
-* sets Content-Type to default text/html if none is set
-* sets Content-Type to chosen default if none is set
-* does not change Content-Type if it is already set
-* case insensitive detection of Content-Type
-
-== Rack::Deflater
-* should be able to deflate bodies that respond to each
-* should be able to deflate String bodies
-* should be able to gzip bodies that respond to each
-* should be able to fallback to no deflation
-* should be able to skip when there is no response entity body
-* should handle the lack of an acceptable encoding
-* should handle gzip response with Last-Modified header
-* should do nothing when no-transform Cache-Control directive present
-
-== Rack::Directory
-* serves directory indices
-* passes to app if file found
-* serves uri with URL encoded filenames
-* does not allow directory traversal
-* 404s if it can't find the file
-
-== Rack::Handler::FastCGI
-* startup (empty)
-* should respond
-* should be a lighttpd
-* should have rack headers
-* should have CGI headers on GET
-* should have CGI headers on POST
-* should support HTTP auth
-* should set status
-* shutdown
-
-== Rack::File
-* serves files
-* sets Last-Modified header
-* serves files with URL encoded filenames
-* does not allow directory traversal
-* does not allow directory traversal with encoded periods
-* 404s if it can't find the file
-* detects SystemCallErrors
-* returns bodies that respond to #to_path
-
-== Rack::Handler
-* has registered default handlers
-* handler that doesn't exist should raise a NameError
-* should get unregistered, but already required, handler by name
-* should register custom handler
-* should not need registration for properly coded handlers even if not already required
-
-== Rack::Head
-* response (empty)
-* passes GET, POST, PUT, DELETE, OPTIONS, TRACE requests
-* removes body from HEAD requests
-
-== Rack::Lint
-* passes valid request
-* notices fatal errors
-* notices environment errors
-* notices input errors
-* notices error errors
-* notices status errors
-* notices header errors
-* notices content-type errors
-* notices content-length errors
-* notices body errors
-* notices input handling errors
-* notices error handling errors
-* notices HEAD errors
-* passes valid read calls
-
-== Rack::Lint::InputWrapper
-* delegates :size to underlying IO object
-* delegates :rewind to underlying IO object
-
-== Rack::Lobster::LambdaLobster
-* should be a single lambda
-* should look like a lobster
-* should be flippable
-
-== Rack::Lobster
-* should look like a lobster
-* should be flippable
-* should provide crashing for testing purposes
-
-== Rack::Lock
-* should call synchronize on lock
-* should set multithread flag to false
-* should reset original multithread flag when exiting lock
-
-== Rack::MethodOverride
-* should not affect GET requests
-* _method parameter should modify REQUEST_METHOD for POST requests
-* X-HTTP-Method-Override header should modify REQUEST_METHOD for POST requests
-* should not modify REQUEST_METHOD if the method is unknown
-* should not modify REQUEST_METHOD when _method is nil
-* should store the original REQUEST_METHOD prior to overriding
-
-== Rack::MockRequest
-* should return a MockResponse
-* should be able to only return the environment
-* should provide sensible defaults
-* should allow GET/POST/PUT/DELETE
-* should set content length
-* should allow posting
-* should use all parts of an URL
-* should behave valid according to the Rack spec
-
-== Rack::MockResponse
-* should provide access to the HTTP status
-* should provide access to the HTTP headers
-* should provide access to the HTTP body
-* should provide access to the Rack errors
-* should optionally make Rack errors fatal
-
-== Rack::Handler::Mongrel
-* should respond
-* should be a Mongrel
-* should have rack headers
-* should have CGI headers on GET
-* should have CGI headers on POST
-* should support HTTP auth
-* should set status
-* should provide a .run
-* should provide a .run that maps a hash
-* should provide a .run that maps a urlmap
-* should provide a .run that maps a urlmap restricting by host
-* should stream #each part of the response
-
-== Rack::Recursive
-* should allow for subrequests
-* should raise error on requests not below the app
-* should support forwarding
-
-== Rack::Request
-* wraps the rack variables
-* can figure out the correct host
-* can parse the query string
-* can parse POST data
-* can parse POST data with explicit content type
-* does not parse POST data when media type is not form-data
-* rewinds input after parsing POST data
-* cleans up Safari's ajax POST body
-* can get value by key from params with #[]
-* can set value to key on params with #[]=
-* values_at answers values by keys in order given
-* referrer should be extracted correct
-* can cache, but invalidates the cache
-* can figure out if called via XHR
-* can parse cookies
-* parses cookies according to RFC 2109
-* provides setters
-* provides the original env
-* can restore the URL
-* can restore the full path
-* can handle multiple media type parameters
-* can parse multipart form data
-* can parse big multipart form data
-* can detect invalid multipart form data
-* shouldn't try to interpret binary as utf8
-* should work around buggy 1.8.* Tempfile equality
-* does conform to the Rack spec
-* should parse Accept-Encoding correctly
-* should provide ip information
-* should allow subclass request to be instantiated after parent request
-* should allow parent request to be instantiated after subclass request
-
-== Rack::Response
-* has sensible default values
-* can be written to
-* can set and read headers
-* can set cookies
-* formats the Cookie expiration date accordingly to RFC 2109
-* can set secure cookies
-* can set http only cookies
-* can delete cookies
-* can do redirects
-* has a useful constructor
-* has a constructor that can take a block
-* doesn't return invalid responses
-* knows if it's empty
-* should provide access to the HTTP status
-* should provide access to the HTTP headers
-* does not add or change Content-Length when #finish()ing
-* updates Content-Length when body appended to using #write
-
-== Rack::RewindableInput
-=== given an IO object that is already rewindable
-* should be able to handle to read()
-* should be able to handle to read(nil)
-* should be able to handle to read(length)
-* should be able to handle to read(length, buffer)
-* should be able to handle to read(nil, buffer)
-* should rewind to the beginning when #rewind is called
-* should be able to handle gets
-* should be able to handle each
-* should not buffer into a Tempfile if no data has been read yet
-* should buffer into a Tempfile when data has been consumed for the first time
-* should close the underlying tempfile upon calling #close
-* should be possibel to call #close when no data has been buffered yet (empty)
-* should be possible to call #close multiple times (empty)
-=== given an IO object that is not rewindable
-* should be able to handle to read()
-* should be able to handle to read(nil)
-* should be able to handle to read(length)
-* should be able to handle to read(length, buffer)
-* should be able to handle to read(nil, buffer)
-* should rewind to the beginning when #rewind is called
-* should be able to handle gets
-* should be able to handle each
-* should not buffer into a Tempfile if no data has been read yet
-* should buffer into a Tempfile when data has been consumed for the first time
-* should close the underlying tempfile upon calling #close
-* should be possibel to call #close when no data has been buffered yet (empty)
-* should be possible to call #close multiple times (empty)
-=== given an IO object whose rewind method raises Errno::ESPIPE
-* should be able to handle to read()
-* should be able to handle to read(nil)
-* should be able to handle to read(length)
-* should be able to handle to read(length, buffer)
-* should be able to handle to read(nil, buffer)
-* should rewind to the beginning when #rewind is called
-* should be able to handle gets
-* should be able to handle each
-* should not buffer into a Tempfile if no data has been read yet
-* should buffer into a Tempfile when data has been consumed for the first time
-* should close the underlying tempfile upon calling #close
-* should be possibel to call #close when no data has been buffered yet (empty)
-* should be possible to call #close multiple times (empty)
-
-== Rack::Session::Cookie
-* creates a new cookie
-* loads from a cookie
-* survives broken cookies
-* barks on too big cookies
-* creates a new cookie with integrity hash
-* loads from a cookie wih integrity hash
-* ignores tampered with session cookies
-
-== Rack::Session::Memcache
-* MemCache can connect to existing server (empty)
-* faults on no connection
-* creates a new cookie
-* determines session from a cookie
-* survives nonexistant cookies
-* maintains freshness
-* deletes cookies with :drop option
-* provides new session id with :renew option
-* omits cookie with :defer option
-* multithread: should cleanly merge sessions (empty)
-
-== Rack::Session::Pool
-* creates a new cookie
-* determines session from a cookie
-* survives nonexistant cookies
-* deletes cookies with :drop option
-* provides new session id with :renew option
-* omits cookie with :defer option
-* multithread: should merge sessions (empty)
-
-== Rack::ShowExceptions
-* catches exceptions
-
-== Rack::ShowStatus
-* should provide a default status message
-* should let the app provide additional information
-* should not replace existing messages
-* should pass on original headers
-* should replace existing messages if there is detail
-
-== Rack::Static
-* serves files
-* 404s if url root is known but it can't find the file
-* calls down the chain if url root is not known
-
-== Rack::Handler::Thin
-* should respond
-* should be a Thin
-* should have rack headers
-* should have CGI headers on GET
-* should have CGI headers on POST
-* should support HTTP auth
-* should set status
-
-== Rack::URLMap
-* dispatches paths correctly
-* dispatches hosts correctly
-* should be nestable
-* should route root apps correctly
-
-== Rack::Utils
-* should escape correctly
-* should escape correctly for multibyte characters
-* should unescape correctly
-* should parse query strings correctly
-* should parse nested query strings correctly
-* should build query strings correctly
-* should figure out which encodings are acceptable
-* should return the bytesize of String
-
-== Rack::Utils::HeaderHash
-* should retain header case
-* should check existence of keys case insensitively
-* should merge case-insensitively
-* should overwrite case insensitively and assume the new key's case
-* should be converted to real Hash
-* should convert Array values to Strings when converting to Hash
-* should be able to delete the given key case-sensitively
-* should be able to delete the given key case-insensitively
-* should return the deleted value when #delete is called on an existing key
-* should return nil when #delete is called on a non-existant key
-
-== Rack::Utils::Context
-* should set context correctly
-* should alter app on recontexting
-* should run different apps
-
-== Rack::Utils::Multipart
-* should return nil if content type is not multipart
-* should parse multipart upload with text file
-* should parse multipart upload with nested parameters
-* should parse multipart upload with binary file
-* should parse multipart upload with empty file
-* should parse multipart upload with filename with semicolons
-* should not include file params if no file was selected
-* should parse IE multipart upload and clean up filename
-* rewinds input after parsing upload
-
-== Rack::Handler::WEBrick
-* should respond
-* should be a WEBrick
-* should have rack headers
-* should have CGI headers on GET
-* should have CGI headers on POST
-* should support HTTP auth
-* should set status
-* should correctly set cookies
-* should provide a .run
-
-335 specifications, 13 empty (1196 requirements), 0 failures
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/Rakefile b/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/Rakefile
deleted file mode 100755
index c88f7aff7e9..00000000000
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/Rakefile
+++ /dev/null
@@ -1,164 +0,0 @@
-# Rakefile for Rack. -*-ruby-*-
-require 'rake/rdoctask'
-require 'rake/testtask'
-
-
-desc "Run all the tests"
-task :default => [:test]
-
-
-desc "Make an archive as .tar.gz"
-task :dist => [:chmod, :changelog, :rdoc, "SPEC", "rack.gemspec"] do
- FileUtils.touch("RDOX")
- sh "git archive --format=tar --prefix=#{release}/ HEAD^{tree} >#{release}.tar"
- sh "pax -waf #{release}.tar -s ':^:#{release}/:' RDOX SPEC ChangeLog doc rack.gemspec"
- sh "gzip -f -9 #{release}.tar"
-end
-
-desc "Make an official release"
-task :officialrelease do
- puts "Official build for #{release}..."
- sh "rm -rf stage"
- sh "git clone --shared . stage"
- sh "cd stage && rake officialrelease_really"
- sh "mv stage/#{release}.tar.gz stage/#{release}.gem ."
-end
-
-task :officialrelease_really => [:fulltest, "RDOX", "SPEC", :dist, :gem] do
- sh "sha1sum #{release}.tar.gz #{release}.gem"
-end
-
-
-def version
- abort "You need to pass VERSION=... to build packages." unless ENV["VERSION"]
- ENV["VERSION"]
-end
-
-def release
- "rack-#{version}"
-end
-
-def manifest
- `git ls-files`.split("\n")
-end
-
-
-desc "Make binaries executable"
-task :chmod do
- Dir["bin/*"].each { |binary| File.chmod(0775, binary) }
- Dir["test/cgi/test*"].each { |binary| File.chmod(0775, binary) }
-end
-
-desc "Generate a ChangeLog"
-task :changelog do
- File.open("ChangeLog", "w") { |out|
- `git log -z`.split("\0").map { |chunk|
- author = chunk[/Author: (.*)/, 1].strip
- date = chunk[/Date: (.*)/, 1].strip
- desc, detail = $'.strip.split("\n", 2)
- detail ||= ""
- detail = detail.gsub(/.*darcs-hash:.*/, '')
- detail.rstrip!
- out.puts "#{date} #{author}"
- out.puts " * #{desc.strip}"
- out.puts detail unless detail.empty?
- out.puts
- }
- }
-end
-
-
-desc "Generate RDox"
-task "RDOX" do
- sh "specrb -Ilib:test -a --rdox >RDOX"
-end
-
-desc "Generate Rack Specification"
-task "SPEC" do
- File.open("SPEC", "wb") { |file|
- IO.foreach("lib/rack/lint.rb") { |line|
- if line =~ /## (.*)/
- file.puts $1
- end
- }
- }
-end
-
-desc "Run all the fast tests"
-task :test do
- sh "specrb -Ilib:test -w #{ENV['TEST'] || '-a'} #{ENV['TESTOPTS'] || '-t "^(?!Rack::Handler|Rack::Adapter|Rack::Session::Memcache|Rack::Auth::OpenID)"'}"
-end
-
-desc "Run all the tests"
-task :fulltest => [:chmod] do
- sh "specrb -Ilib:test -w #{ENV['TEST'] || '-a'} #{ENV['TESTOPTS']}"
-end
-
-begin
- require 'rubygems'
-rescue LoadError
- # Too bad.
-else
- task "rack.gemspec" do
- spec = Gem::Specification.new do |s|
- s.name = "rack"
- s.version = version
- s.platform = Gem::Platform::RUBY
- s.summary = "a modular Ruby webserver interface"
-
- s.description = <<-EOF
-Rack provides minimal, modular and adaptable interface for developing
-web applications in Ruby. By wrapping HTTP requests and responses in
-the simplest way possible, it unifies and distills the API for web
-servers, web frameworks, and software in between (the so-called
-middleware) into a single method call.
-
-Also see http://rack.rubyforge.org.
- EOF
-
- s.files = manifest + %w(SPEC RDOX rack.gemspec)
- s.bindir = 'bin'
- s.executables << 'rackup'
- s.require_path = 'lib'
- s.has_rdoc = true
- s.extra_rdoc_files = ['README', 'SPEC', 'RDOX', 'KNOWN-ISSUES']
- s.test_files = Dir['test/{test,spec}_*.rb']
-
- s.author = 'Christian Neukirchen'
- s.email = 'chneukirchen@gmail.com'
- s.homepage = 'http://rack.rubyforge.org'
- s.rubyforge_project = 'rack'
-
- s.add_development_dependency 'test-spec'
-
- s.add_development_dependency 'camping'
- s.add_development_dependency 'fcgi'
- s.add_development_dependency 'memcache-client'
- s.add_development_dependency 'mongrel'
- s.add_development_dependency 'ruby-openid', '~> 2.0.0'
- s.add_development_dependency 'thin'
- end
-
- File.open("rack.gemspec", "w") { |f| f << spec.to_ruby }
- end
-
- task :gem => ["rack.gemspec", "SPEC"] do
- FileUtils.touch("RDOX")
- sh "gem build rack.gemspec"
- end
-end
-
-desc "Generate RDoc documentation"
-task :rdoc do
- sh(*%w{rdoc --line-numbers --main README
- --title 'Rack\ Documentation' --charset utf-8 -U -o doc} +
- %w{README KNOWN-ISSUES SPEC RDOX} +
- Dir["lib/**/*.rb"])
-end
-
-task :pushsite => [:rdoc] do
- sh "cd site && git gc"
- sh "rsync -avz doc/ chneukirchen@rack.rubyforge.org:/var/www/gforge-projects/rack/doc/"
- sh "rsync -avz site/ chneukirchen@rack.rubyforge.org:/var/www/gforge-projects/rack/"
- sh "cd site && git push"
-end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/bin/rackup b/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/bin/rackup
deleted file mode 100755
index 8e4df15e82f..00000000000
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/bin/rackup
+++ /dev/null
@@ -1,176 +0,0 @@
-#!/usr/bin/env ruby
-# -*- ruby -*-
-
-$LOAD_PATH.unshift File.expand_path("#{__FILE__}/../../lib")
-autoload :Rack, 'rack'
-
-require 'optparse'
-
-automatic = false
-server = nil
-env = "development"
-daemonize = false
-pid = nil
-options = {:Port => 9292, :Host => "0.0.0.0", :AccessLog => []}
-
-# Don't evaluate CGI ISINDEX parameters.
-# http://hoohoo.ncsa.uiuc.edu/cgi/cl.html
-ARGV.clear if ENV.include?("REQUEST_METHOD")
-
-opts = OptionParser.new("", 24, ' ') { |opts|
- opts.banner = "Usage: rackup [ruby options] [rack options] [rackup config]"
-
- opts.separator ""
- opts.separator "Ruby options:"
-
- lineno = 1
- opts.on("-e", "--eval LINE", "evaluate a LINE of code") { |line|
- eval line, TOPLEVEL_BINDING, "-e", lineno
- lineno += 1
- }
-
- opts.on("-d", "--debug", "set debugging flags (set $DEBUG to true)") {
- $DEBUG = true
- }
- opts.on("-w", "--warn", "turn warnings on for your script") {
- $-w = true
- }
-
- opts.on("-I", "--include PATH",
- "specify $LOAD_PATH (may be used more than once)") { |path|
- $LOAD_PATH.unshift(*path.split(":"))
- }
-
- opts.on("-r", "--require LIBRARY",
- "require the library, before executing your script") { |library|
- require library
- }
-
- opts.separator ""
- opts.separator "Rack options:"
- opts.on("-s", "--server SERVER", "serve using SERVER (webrick/mongrel)") { |s|
- server = s
- }
-
- opts.on("-o", "--host HOST", "listen on HOST (default: 0.0.0.0)") { |host|
- options[:Host] = host
- }
-
- opts.on("-p", "--port PORT", "use PORT (default: 9292)") { |port|
- options[:Port] = port
- }
-
- opts.on("-E", "--env ENVIRONMENT", "use ENVIRONMENT for defaults (default: development)") { |e|
- env = e
- }
-
- opts.on("-D", "--daemonize", "run daemonized in the background") { |d|
- daemonize = d ? true : false
- }
-
- opts.on("-P", "--pid FILE", "file to store PID (default: rack.pid)") { |f|
- pid = File.expand_path(f)
- }
-
- opts.separator ""
- opts.separator "Common options:"
-
- opts.on_tail("-h", "--help", "Show this message") do
- puts opts
- exit
- end
-
- opts.on_tail("--version", "Show version") do
- puts "Rack #{Rack.version}"
- exit
- end
-
- opts.parse! ARGV
-}
-
-require 'pp' if $DEBUG
-
-config = ARGV[0] || "config.ru"
-if !File.exist? config
- abort "configuration #{config} not found"
-end
-
-if config =~ /\.ru$/
- cfgfile = File.read(config)
- if cfgfile[/^#\\(.*)/]
- opts.parse! $1.split(/\s+/)
- end
- inner_app = eval "Rack::Builder.new {( " + cfgfile + "\n )}.to_app",
- nil, config
-else
- require config
- inner_app = Object.const_get(File.basename(config, '.rb').capitalize)
-end
-
-unless server = Rack::Handler.get(server)
- # Guess.
- if ENV.include?("PHP_FCGI_CHILDREN")
- server = Rack::Handler::FastCGI
-
- # We already speak FastCGI
- options.delete :File
- options.delete :Port
- elsif ENV.include?("REQUEST_METHOD")
- server = Rack::Handler::CGI
- else
- begin
- server = Rack::Handler::Mongrel
- rescue LoadError => e
- server = Rack::Handler::WEBrick
- end
- end
-end
-
-p server if $DEBUG
-
-case env
-when "development"
- app = Rack::Builder.new {
- use Rack::CommonLogger, $stderr unless server.name =~ /CGI/
- use Rack::ShowExceptions
- use Rack::Lint
- run inner_app
- }.to_app
-
-when "deployment"
- app = Rack::Builder.new {
- use Rack::CommonLogger, $stderr unless server.name =~ /CGI/
- run inner_app
- }.to_app
-
-when "none"
- app = inner_app
-
-end
-
-if $DEBUG
- pp app
- pp inner_app
-end
-
-if daemonize
- if RUBY_VERSION < "1.9"
- exit if fork
- Process.setsid
- exit if fork
- Dir.chdir "/"
- File.umask 0000
- STDIN.reopen "/dev/null"
- STDOUT.reopen "/dev/null", "a"
- STDERR.reopen "/dev/null", "a"
- else
- Process.daemon
- end
-
- if pid
- File.open(pid, 'w'){ |f| f.write("#{Process.pid}") }
- at_exit { File.delete(pid) if File.exist?(pid) }
- end
-end
-
-server.run app, options
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/auth/openid.rb b/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/auth/openid.rb
deleted file mode 100755
index c5f6a5143e3..00000000000
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/auth/openid.rb
+++ /dev/null
@@ -1,480 +0,0 @@
-# AUTHOR: blink <blinketje@gmail.com>; blink#ruby-lang@irc.freenode.net
-
-gem 'ruby-openid', '~> 2' if defined? Gem
-require 'rack/request'
-require 'rack/utils'
-require 'rack/auth/abstract/handler'
-require 'uri'
-require 'openid' #gem
-require 'openid/extension' #gem
-require 'openid/store/memory' #gem
-
-module Rack
- class Request
- def openid_request
- @env['rack.auth.openid.request']
- end
-
- def openid_response
- @env['rack.auth.openid.response']
- end
- end
-
- module Auth
-
- # Rack::Auth::OpenID provides a simple method for setting up an OpenID
- # Consumer. It requires the ruby-openid library from janrain to operate,
- # as well as a rack method of session management.
- #
- # The ruby-openid home page is at http://openidenabled.com/ruby-openid/.
- #
- # The OpenID specifications can be found at
- # http://openid.net/specs/openid-authentication-1_1.html
- # and
- # http://openid.net/specs/openid-authentication-2_0.html. Documentation
- # for published OpenID extensions and related topics can be found at
- # http://openid.net/developers/specs/.
- #
- # It is recommended to read through the OpenID spec, as well as
- # ruby-openid's documentation, to understand what exactly goes on. However
- # a setup as simple as the presented examples is enough to provide
- # Consumer functionality.
- #
- # This library strongly intends to utilize the OpenID 2.0 features of the
- # ruby-openid library, which provides OpenID 1.0 compatiblity.
- #
- # NOTE: Due to the amount of data that this library stores in the
- # session, Rack::Session::Cookie may fault.
-
- class OpenID
-
- class NoSession < RuntimeError; end
- class BadExtension < RuntimeError; end
- # Required for ruby-openid
- ValidStatus = [:success, :setup_needed, :cancel, :failure]
-
- # = Arguments
- #
- # The first argument is the realm, identifying the site they are trusting
- # with their identity. This is required, also treated as the trust_root
- # in OpenID 1.x exchanges.
- #
- # The optional second argument is a hash of options.
- #
- # == Options
- #
- # <tt>:return_to</tt> defines the url to return to after the client
- # authenticates with the openid service provider. This url should point
- # to where Rack::Auth::OpenID is mounted. If <tt>:return_to</tt> is not
- # provided, return_to will be the current url which allows flexibility
- # with caveats.
- #
- # <tt>:session_key</tt> defines the key to the session hash in the env.
- # It defaults to 'rack.session'.
- #
- # <tt>:openid_param</tt> defines at what key in the request parameters to
- # find the identifier to resolve. As per the 2.0 spec, the default is
- # 'openid_identifier'.
- #
- # <tt>:store</tt> defined what OpenID Store to use for persistant
- # information. By default a Store::Memory will be used.
- #
- # <tt>:immediate</tt> as true will make initial requests to be of an
- # immediate type. This is false by default. See OpenID specification
- # documentation.
- #
- # <tt>:extensions</tt> should be a hash of openid extension
- # implementations. The key should be the extension main module, the value
- # should be an array of arguments for extension::Request.new.
- # The hash is iterated over and passed to #add_extension for processing.
- # Please see #add_extension for further documentation.
- #
- # == Examples
- #
- # simple_oid = OpenID.new('http://mysite.com/')
- #
- # return_oid = OpenID.new('http://mysite.com/', {
- # :return_to => 'http://mysite.com/openid'
- # })
- #
- # complex_oid = OpenID.new('http://mysite.com/',
- # :immediate => true,
- # :extensions => {
- # ::OpenID::SReg => [['email'],['nickname']]
- # }
- # )
- #
- # = Advanced
- #
- # Most of the functionality of this library is encapsulated such that
- # expansion and overriding functions isn't difficult nor tricky.
- # Alternately, to avoid opening up singleton objects or subclassing, a
- # wrapper rack middleware can be composed to act upon Auth::OpenID's
- # responses. See #check and #finish for locations of pertinent data.
- #
- # == Responses
- #
- # To change the responses that Auth::OpenID returns, override the methods
- # #redirect, #bad_request, #unauthorized, #access_denied, and
- # #foreign_server_failure.
- #
- # Additionally #confirm_post_params is used when the URI would exceed
- # length limits on a GET request when doing the initial verification
- # request.
- #
- # == Processing
- #
- # To change methods of processing completed transactions, override the
- # methods #success, #setup_needed, #cancel, and #failure. Please ensure
- # the returned object is a rack compatible response.
- #
- # The first argument is an OpenID::Response, the second is a
- # Rack::Request of the current request, the last is the hash used in
- # ruby-openid handling, which can be found manually at
- # env['rack.session'][:openid].
- #
- # This is useful if you wanted to expand the processing done, such as
- # setting up user accounts.
- #
- # oid_app = Rack::Auth::OpenID.new realm, :return_to => return_to
- # def oid_app.success oid, request, session
- # user = Models::User[oid.identity_url]
- # user ||= Models::User.create_from_openid oid
- # request['rack.session'][:user] = user.id
- # redirect MyApp.site_home
- # end
- #
- # site_map['/openid'] = oid_app
- # map = Rack::URLMap.new site_map
- # ...
-
- def initialize(realm, options={})
- realm = URI(realm)
- raise ArgumentError, "Invalid realm: #{realm}" \
- unless realm.absolute? \
- and realm.fragment.nil? \
- and realm.scheme =~ /^https?$/ \
- and realm.host =~ /^(\*\.)?#{URI::REGEXP::PATTERN::URIC_NO_SLASH}+/
- realm.path = '/' if realm.path.empty?
- @realm = realm.to_s
-
- if ruri = options[:return_to]
- ruri = URI(ruri)
- raise ArgumentError, "Invalid return_to: #{ruri}" \
- unless ruri.absolute? \
- and ruri.scheme =~ /^https?$/ \
- and ruri.fragment.nil?
- raise ArgumentError, "return_to #{ruri} not within realm #{realm}" \
- unless self.within_realm?(ruri)
- @return_to = ruri.to_s
- end
-
- @session_key = options[:session_key] || 'rack.session'
- @openid_param = options[:openid_param] || 'openid_identifier'
- @store = options[:store] || ::OpenID::Store::Memory.new
- @immediate = !!options[:immediate]
-
- @extensions = {}
- if extensions = options.delete(:extensions)
- extensions.each do |ext, args|
- add_extension ext, *args
- end
- end
-
- # Undocumented, semi-experimental
- @anonymous = !!options[:anonymous]
- end
-
- attr_reader :realm, :return_to, :session_key, :openid_param, :store,
- :immediate, :extensions
-
- # Sets up and uses session data at <tt>:openid</tt> within the session.
- # Errors in this setup will raise a NoSession exception.
- #
- # If the parameter 'openid.mode' is set, which implies a followup from
- # the openid server, processing is passed to #finish and the result is
- # returned. However, if there is no appropriate openid information in the
- # session, a 400 error is returned.
- #
- # If the parameter specified by <tt>options[:openid_param]</tt> is
- # present, processing is passed to #check and the result is returned.
- #
- # If neither of these conditions are met, #unauthorized is called.
-
- def call(env)
- env['rack.auth.openid'] = self
- env_session = env[@session_key]
- unless env_session and env_session.is_a?(Hash)
- raise NoSession, 'No compatible session'
- end
- # let us work in our own namespace...
- session = (env_session[:openid] ||= {})
- unless session and session.is_a?(Hash)
- raise NoSession, 'Incompatible openid session'
- end
-
- request = Rack::Request.new(env)
- consumer = ::OpenID::Consumer.new(session, @store)
-
- if mode = request.GET['openid.mode']
- if session.key?(:openid_param)
- finish(consumer, session, request)
- else
- bad_request
- end
- elsif request.GET[@openid_param]
- check(consumer, session, request)
- else
- unauthorized
- end
- end
-
- # As the first part of OpenID consumer action, #check retrieves the data
- # required for completion.
- #
- # If all parameters fit within the max length of a URI, a 303 redirect
- # will be returned. Otherwise #confirm_post_params will be called.
- #
- # Any messages from OpenID's request are logged to env['rack.errors']
- #
- # <tt>env['rack.auth.openid.request']</tt> is the openid checkid request
- # instance.
- #
- # <tt>session[:openid_param]</tt> is set to the openid identifier
- # provided by the user.
- #
- # <tt>session[:return_to]</tt> is set to the return_to uri given to the
- # identity provider.
-
- def check(consumer, session, req)
- oid = consumer.begin(req.GET[@openid_param], @anonymous)
- req.env['rack.auth.openid.request'] = oid
- req.env['rack.errors'].puts(oid.message)
- p oid if $DEBUG
-
- ## Extension support
- extensions.each do |ext,args|
- oid.add_extension(ext::Request.new(*args))
- end
-
- session[:openid_param] = req.GET[openid_param]
- return_to_uri = return_to ? return_to : req.url
- session[:return_to] = return_to_uri
- immediate = session.key?(:setup_needed) ? false : immediate
-
- if oid.send_redirect?(realm, return_to_uri, immediate)
- uri = oid.redirect_url(realm, return_to_uri, immediate)
- redirect(uri)
- else
- confirm_post_params(oid, realm, return_to_uri, immediate)
- end
- rescue ::OpenID::DiscoveryFailure => e
- # thrown from inside OpenID::Consumer#begin by yadis stuff
- req.env['rack.errors'].puts([e.message, *e.backtrace]*"\n")
- return foreign_server_failure
- end
-
- # This is the final portion of authentication.
- # If successful, a redirect to the realm is be returned.
- # Data gathered from extensions are stored in session[:openid] with the
- # extension's namespace uri as the key.
- #
- # Any messages from OpenID's response are logged to env['rack.errors']
- #
- # <tt>env['rack.auth.openid.response']</tt> will contain the openid
- # response.
-
- def finish(consumer, session, req)
- oid = consumer.complete(req.GET, req.url)
- req.env['rack.auth.openid.response'] = oid
- req.env['rack.errors'].puts(oid.message)
- p oid if $DEBUG
-
- raise unless ValidStatus.include?(oid.status)
- __send__(oid.status, oid, req, session)
- end
-
- # The first argument should be the main extension module.
- # The extension module should contain the constants:
- # * class Request, should have OpenID::Extension as an ancestor
- # * class Response, should have OpenID::Extension as an ancestor
- # * string NS_URI, which defining the namespace of the extension
- #
- # All trailing arguments will be passed to extension::Request.new in
- # #check.
- # The openid response will be passed to
- # extension::Response#from_success_response, #get_extension_args will be
- # called on the result to attain the gathered data.
- #
- # This method returns the key at which the response data will be found in
- # the session, which is the namespace uri by default.
-
- def add_extension(ext, *args)
- raise BadExtension unless valid_extension?(ext)
- extensions[ext] = args
- return ext::NS_URI
- end
-
- # Checks the validitity, in the context of usage, of a submitted
- # extension.
-
- def valid_extension?(ext)
- if not %w[NS_URI Request Response].all?{|c| ext.const_defined?(c) }
- raise ArgumentError, 'Extension is missing constants.'
- elsif not ext::Response.respond_to?(:from_success_response)
- raise ArgumentError, 'Response is missing required method.'
- end
- return true
- rescue
- return false
- end
-
- # Checks the provided uri to ensure it'd be considered within the realm.
- # is currently not compatible with wildcard realms.
-
- def within_realm? uri
- uri = URI.parse(uri.to_s)
- realm = URI.parse(self.realm)
- return false unless uri.absolute?
- return false unless uri.path[0, realm.path.size] == realm.path
- return false unless uri.host == realm.host or realm.host[/^\*\./]
- # for wildcard support, is awkward with URI limitations
- realm_match = Regexp.escape(realm.host).
- sub(/^\*\./,"^#{URI::REGEXP::PATTERN::URIC_NO_SLASH}+.")+'$'
- return false unless uri.host.match(realm_match)
- return true
- end
- alias_method :include?, :within_realm?
-
- protected
-
- ### These methods define some of the boilerplate responses.
-
- # Returns an html form page for posting to an Identity Provider if the
- # GET request would exceed the upper URI length limit.
-
- def confirm_post_params(oid, realm, return_to, immediate)
- Rack::Response.new.finish do |r|
- r.write '<html><head><title>Confirm...</title></head><body>'
- r.write oid.form_markup(realm, return_to, immediate)
- r.write '</body></html>'
- end
- end
-
- # Returns a 303 redirect with the destination of that provided by the
- # argument.
-
- def redirect(uri)
- [ 303, {'Content-Length'=>'0', 'Content-Type'=>'text/plain',
- 'Location' => uri},
- [] ]
- end
-
- # Returns an empty 400 response.
-
- def bad_request
- [ 400, {'Content-Type'=>'text/plain', 'Content-Length'=>'0'},
- [''] ]
- end
-
- # Returns a basic unauthorized 401 response.
-
- def unauthorized
- [ 401, {'Content-Type' => 'text/plain', 'Content-Length' => '13'},
- ['Unauthorized.'] ]
- end
-
- # Returns a basic access denied 403 response.
-
- def access_denied
- [ 403, {'Content-Type' => 'text/plain', 'Content-Length' => '14'},
- ['Access denied.'] ]
- end
-
- # Returns a 503 response to be used if communication with the remote
- # OpenID server fails.
-
- def foreign_server_failure
- [ 503, {'Content-Type'=>'text/plain', 'Content-Length' => '23'},
- ['Foreign server failure.'] ]
- end
-
- private
-
- ### These methods are called after a transaction is completed, depending
- # on its outcome. These should all return a rack compatible response.
- # You'd want to override these to provide additional functionality.
-
- # Called to complete processing on a successful transaction.
- # Within the openid session, :openid_identity and :openid_identifier are
- # set to the user friendly and the standard representation of the
- # validated identity. All other data in the openid session is cleared.
-
- def success(oid, request, session)
- session.clear
- session[:openid_identity] = oid.display_identifier
- session[:openid_identifier] = oid.identity_url
- extensions.keys.each do |ext|
- label = ext.name[/[^:]+$/].downcase
- response = ext::Response.from_success_response(oid)
- session[label] = response.data
- end
- redirect(realm)
- end
-
- # Called if the Identity Provider indicates further setup by the user is
- # required.
- # The identifier is retrived from the openid session at :openid_param.
- # And :setup_needed is set to true to prevent looping.
-
- def setup_needed(oid, request, session)
- identifier = session[:openid_param]
- session[:setup_needed] = true
- redirect req.script_name + '?' + openid_param + '=' + identifier
- end
-
- # Called if the user indicates they wish to cancel identification.
- # Data within openid session is cleared.
-
- def cancel(oid, request, session)
- session.clear
- access_denied
- end
-
- # Called if the Identity Provider indicates the user is unable to confirm
- # their identity. Data within the openid session is left alone, in case
- # of swarm auth attacks.
-
- def failure(oid, request, session)
- unauthorized
- end
- end
-
- # A class developed out of the request to use OpenID as an authentication
- # middleware. The request will be sent to the OpenID instance unless the
- # block evaluates to true. For example in rackup, you can use it as such:
- #
- # use Rack::Session::Pool
- # use Rack::Auth::OpenIDAuth, realm, openid_options do |env|
- # env['rack.session'][:authkey] == a_string
- # end
- # run RackApp
- #
- # Or simply:
- #
- # app = Rack::Auth::OpenIDAuth.new app, realm, openid_options, &auth
-
- class OpenIDAuth < Rack::Auth::AbstractHandler
- attr_reader :oid
- def initialize(app, realm, options={}, &auth)
- @oid = OpenID.new(realm, options)
- super(app, &auth)
- end
-
- def call(env)
- to = auth.call(env) ? @app : @oid
- to.call env
- end
- end
- end
-end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/commonlogger.rb b/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/commonlogger.rb
deleted file mode 100755
index 5e68ac626dc..00000000000
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/commonlogger.rb
+++ /dev/null
@@ -1,61 +0,0 @@
-module Rack
- # Rack::CommonLogger forwards every request to an +app+ given, and
- # logs a line in the Apache common log format to the +logger+, or
- # rack.errors by default.
-
- class CommonLogger
- def initialize(app, logger=nil)
- @app = app
- @logger = logger
- end
-
- def call(env)
- dup._call(env)
- end
-
- def _call(env)
- @env = env
- @logger ||= self
- @time = Time.now
- @status, @header, @body = @app.call(env)
- [@status, @header, self]
- end
-
- def close
- @body.close if @body.respond_to? :close
- end
-
- # By default, log to rack.errors.
- def <<(str)
- @env["rack.errors"].write(str)
- @env["rack.errors"].flush
- end
-
- def each
- length = 0
- @body.each { |part|
- length += part.size
- yield part
- }
-
- @now = Time.now
-
- # Common Log Format: http://httpd.apache.org/docs/1.3/logs.html#common
- # lilith.local - - [07/Aug/2006 23:58:02] "GET / HTTP/1.1" 500 -
- # %{%s - %s [%s] "%s %s%s %s" %d %s\n} %
- @logger << %{%s - %s [%s] "%s %s%s %s" %d %s %0.4f\n} %
- [
- @env['HTTP_X_FORWARDED_FOR'] || @env["REMOTE_ADDR"] || "-",
- @env["REMOTE_USER"] || "-",
- @now.strftime("%d/%b/%Y %H:%M:%S"),
- @env["REQUEST_METHOD"],
- @env["PATH_INFO"],
- @env["QUERY_STRING"].empty? ? "" : "?"+@env["QUERY_STRING"],
- @env["HTTP_VERSION"],
- @status.to_s[0..3],
- (length.zero? ? "-" : length.to_s),
- @now - @time
- ]
- end
- end
-end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/session/memcache.rb b/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/session/memcache.rb
deleted file mode 100755
index 4a65cbf35d3..00000000000
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/session/memcache.rb
+++ /dev/null
@@ -1,109 +0,0 @@
-# AUTHOR: blink <blinketje@gmail.com>; blink#ruby-lang@irc.freenode.net
-
-require 'rack/session/abstract/id'
-require 'memcache'
-
-module Rack
- module Session
- # Rack::Session::Memcache provides simple cookie based session management.
- # Session data is stored in memcached. The corresponding session key is
- # maintained in the cookie.
- # You may treat Session::Memcache as you would Session::Pool with the
- # following caveats.
- #
- # * Setting :expire_after to 0 would note to the Memcache server to hang
- # onto the session data until it would drop it according to it's own
- # specifications. However, the cookie sent to the client would expire
- # immediately.
- #
- # Note that memcache does drop data before it may be listed to expire. For
- # a full description of behaviour, please see memcache's documentation.
-
- class Memcache < Abstract::ID
- attr_reader :mutex, :pool
- DEFAULT_OPTIONS = Abstract::ID::DEFAULT_OPTIONS.merge \
- :namespace => 'rack:session',
- :memcache_server => 'localhost:11211'
-
- def initialize(app, options={})
- super
-
- @mutex = Mutex.new
- @pool = MemCache.
- new @default_options[:memcache_server], @default_options
- raise 'No memcache servers' unless @pool.servers.any?{|s|s.alive?}
- end
-
- def generate_sid
- loop do
- sid = super
- break sid unless @pool.get(sid, true)
- end
- end
-
- def get_session(env, sid)
- session = @pool.get(sid) if sid
- @mutex.lock if env['rack.multithread']
- unless sid and session
- env['rack.errors'].puts("Session '#{sid.inspect}' not found, initializing...") if $VERBOSE and not sid.nil?
- session = {}
- sid = generate_sid
- ret = @pool.add sid, session
- raise "Session collision on '#{sid.inspect}'" unless /^STORED/ =~ ret
- end
- session.instance_variable_set('@old', {}.merge(session))
- return [sid, session]
- rescue MemCache::MemCacheError, Errno::ECONNREFUSED # MemCache server cannot be contacted
- warn "#{self} is unable to find server."
- warn $!.inspect
- return [ nil, {} ]
- ensure
- @mutex.unlock if env['rack.multithread']
- end
-
- def set_session(env, session_id, new_session, options)
- expiry = options[:expire_after]
- expiry = expiry.nil? ? 0 : expiry + 1
-
- @mutex.lock if env['rack.multithread']
- session = @pool.get(session_id) || {}
- if options[:renew] or options[:drop]
- @pool.delete session_id
- return false if options[:drop]
- session_id = generate_sid
- @pool.add session_id, 0 # so we don't worry about cache miss on #set
- end
- old_session = new_session.instance_variable_get('@old') || {}
- session = merge_sessions session_id, old_session, new_session, session
- @pool.set session_id, session, expiry
- return session_id
- rescue MemCache::MemCacheError, Errno::ECONNREFUSED # MemCache server cannot be contacted
- warn "#{self} is unable to find server."
- warn $!.inspect
- return false
- ensure
- @mutex.unlock if env['rack.multithread']
- end
-
- private
-
- def merge_sessions sid, old, new, cur=nil
- cur ||= {}
- unless Hash === old and Hash === new
- warn 'Bad old or new sessions provided.'
- return cur
- end
-
- delete = old.keys - new.keys
- warn "//@#{sid}: delete #{delete*','}" if $VERBOSE and not delete.empty?
- delete.each{|k| cur.delete k }
-
- update = new.keys.select{|k| new[k] != old[k] }
- warn "//@#{sid}: update #{update*','}" if $VERBOSE and not update.empty?
- update.each{|k| cur[k] = new[k] }
-
- cur
- end
- end
- end
-end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/rack.gemspec b/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/rack.gemspec
deleted file mode 100755
index 2640997b27f..00000000000
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/rack.gemspec
+++ /dev/null
@@ -1,54 +0,0 @@
-# -*- encoding: utf-8 -*-
-
-Gem::Specification.new do |s|
- s.name = %q{rack}
- s.version = "1.0.1"
-
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
- s.authors = ["Christian Neukirchen"]
- s.date = %q{2009-10-18}
- s.default_executable = %q{rackup}
- s.description = %q{Rack provides minimal, modular and adaptable interface for developing web applications in Ruby. By wrapping HTTP requests and responses in the simplest way possible, it unifies and distills the API for web servers, web frameworks, and software in between (the so-called middleware) into a single method call. Also see http://rack.rubyforge.org.}
- s.email = %q{chneukirchen@gmail.com}
- s.executables = ["rackup"]
- s.extra_rdoc_files = ["README", "SPEC", "RDOX", "KNOWN-ISSUES"]
- s.files = ["COPYING", "KNOWN-ISSUES", "README", "Rakefile", "bin/rackup", "contrib/rack_logo.svg", "example/lobster.ru", "example/protectedlobster.rb", "example/protectedlobster.ru", "lib/rack.rb", "lib/rack/adapter/camping.rb", "lib/rack/auth/abstract/handler.rb", "lib/rack/auth/abstract/request.rb", "lib/rack/auth/basic.rb", "lib/rack/auth/digest/md5.rb", "lib/rack/auth/digest/nonce.rb", "lib/rack/auth/digest/params.rb", "lib/rack/auth/digest/request.rb", "lib/rack/auth/openid.rb", "lib/rack/builder.rb", "lib/rack/cascade.rb", "lib/rack/chunked.rb", "lib/rack/commonlogger.rb", "lib/rack/conditionalget.rb", "lib/rack/content_length.rb", "lib/rack/content_type.rb", "lib/rack/deflater.rb", "lib/rack/directory.rb", "lib/rack/file.rb", "lib/rack/handler.rb", "lib/rack/handler/cgi.rb", "lib/rack/handler/evented_mongrel.rb", "lib/rack/handler/fastcgi.rb", "lib/rack/handler/lsws.rb", "lib/rack/handler/mongrel.rb", "lib/rack/handler/scgi.rb", "lib/rack/handler/swiftiplied_mongrel.rb", "lib/rack/handler/thin.rb", "lib/rack/handler/webrick.rb", "lib/rack/head.rb", "lib/rack/lint.rb", "lib/rack/lobster.rb", "lib/rack/lock.rb", "lib/rack/methodoverride.rb", "lib/rack/mime.rb", "lib/rack/mock.rb", "lib/rack/recursive.rb", "lib/rack/reloader.rb", "lib/rack/request.rb", "lib/rack/response.rb", "lib/rack/rewindable_input.rb", "lib/rack/session/abstract/id.rb", "lib/rack/session/cookie.rb", "lib/rack/session/memcache.rb", "lib/rack/session/pool.rb", "lib/rack/showexceptions.rb", "lib/rack/showstatus.rb", "lib/rack/static.rb", "lib/rack/urlmap.rb", "lib/rack/utils.rb", "test/cgi/lighttpd.conf", "test/cgi/test", "test/cgi/test.fcgi", "test/cgi/test.ru", "test/multipart/binary", "test/multipart/empty", "test/multipart/ie", "test/multipart/nested", "test/multipart/none", "test/multipart/semicolon", "test/multipart/text", "test/spec_rack_auth_basic.rb", "test/spec_rack_auth_digest.rb", "test/spec_rack_auth_openid.rb", "test/spec_rack_builder.rb", "test/spec_rack_camping.rb", "test/spec_rack_cascade.rb", "test/spec_rack_cgi.rb", "test/spec_rack_chunked.rb", "test/spec_rack_commonlogger.rb", "test/spec_rack_conditionalget.rb", "test/spec_rack_content_length.rb", "test/spec_rack_content_type.rb", "test/spec_rack_deflater.rb", "test/spec_rack_directory.rb", "test/spec_rack_fastcgi.rb", "test/spec_rack_file.rb", "test/spec_rack_handler.rb", "test/spec_rack_head.rb", "test/spec_rack_lint.rb", "test/spec_rack_lobster.rb", "test/spec_rack_lock.rb", "test/spec_rack_methodoverride.rb", "test/spec_rack_mock.rb", "test/spec_rack_mongrel.rb", "test/spec_rack_recursive.rb", "test/spec_rack_request.rb", "test/spec_rack_response.rb", "test/spec_rack_rewindable_input.rb", "test/spec_rack_session_cookie.rb", "test/spec_rack_session_memcache.rb", "test/spec_rack_session_pool.rb", "test/spec_rack_showexceptions.rb", "test/spec_rack_showstatus.rb", "test/spec_rack_static.rb", "test/spec_rack_thin.rb", "test/spec_rack_urlmap.rb", "test/spec_rack_utils.rb", "test/spec_rack_webrick.rb", "test/testrequest.rb", "test/unregistered_handler/rack/handler/unregistered.rb", "test/unregistered_handler/rack/handler/unregistered_long_one.rb", "SPEC", "RDOX", "rack.gemspec"]
- s.has_rdoc = true
- s.homepage = %q{http://rack.rubyforge.org}
- s.require_paths = ["lib"]
- s.rubyforge_project = %q{rack}
- s.rubygems_version = %q{1.3.1}
- s.summary = %q{a modular Ruby webserver interface}
- s.test_files = ["test/spec_rack_auth_basic.rb", "test/spec_rack_auth_digest.rb", "test/spec_rack_auth_openid.rb", "test/spec_rack_builder.rb", "test/spec_rack_camping.rb", "test/spec_rack_cascade.rb", "test/spec_rack_cgi.rb", "test/spec_rack_chunked.rb", "test/spec_rack_commonlogger.rb", "test/spec_rack_conditionalget.rb", "test/spec_rack_content_length.rb", "test/spec_rack_content_type.rb", "test/spec_rack_deflater.rb", "test/spec_rack_directory.rb", "test/spec_rack_fastcgi.rb", "test/spec_rack_file.rb", "test/spec_rack_handler.rb", "test/spec_rack_head.rb", "test/spec_rack_lint.rb", "test/spec_rack_lobster.rb", "test/spec_rack_lock.rb", "test/spec_rack_methodoverride.rb", "test/spec_rack_mock.rb", "test/spec_rack_mongrel.rb", "test/spec_rack_recursive.rb", "test/spec_rack_request.rb", "test/spec_rack_response.rb", "test/spec_rack_rewindable_input.rb", "test/spec_rack_session_cookie.rb", "test/spec_rack_session_memcache.rb", "test/spec_rack_session_pool.rb", "test/spec_rack_showexceptions.rb", "test/spec_rack_showstatus.rb", "test/spec_rack_static.rb", "test/spec_rack_thin.rb", "test/spec_rack_urlmap.rb", "test/spec_rack_utils.rb", "test/spec_rack_webrick.rb"]
-
- if s.respond_to? :specification_version then
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
- s.specification_version = 2
-
- if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
- s.add_development_dependency(%q<test-spec>, [">= 0"])
- s.add_development_dependency(%q<camping>, [">= 0"])
- s.add_development_dependency(%q<fcgi>, [">= 0"])
- s.add_development_dependency(%q<memcache-client>, [">= 0"])
- s.add_development_dependency(%q<mongrel>, [">= 0"])
- s.add_development_dependency(%q<ruby-openid>, ["~> 2.0.0"])
- s.add_development_dependency(%q<thin>, [">= 0"])
- else
- s.add_dependency(%q<test-spec>, [">= 0"])
- s.add_dependency(%q<camping>, [">= 0"])
- s.add_dependency(%q<fcgi>, [">= 0"])
- s.add_dependency(%q<memcache-client>, [">= 0"])
- s.add_dependency(%q<mongrel>, [">= 0"])
- s.add_dependency(%q<ruby-openid>, ["~> 2.0.0"])
- s.add_dependency(%q<thin>, [">= 0"])
- end
- else
- s.add_dependency(%q<test-spec>, [">= 0"])
- s.add_dependency(%q<camping>, [">= 0"])
- s.add_dependency(%q<fcgi>, [">= 0"])
- s.add_dependency(%q<memcache-client>, [">= 0"])
- s.add_dependency(%q<mongrel>, [">= 0"])
- s.add_dependency(%q<ruby-openid>, ["~> 2.0.0"])
- s.add_dependency(%q<thin>, [">= 0"])
- end
-end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/RUNNING_UNIT_TESTS b/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/RUNNING_UNIT_TESTS
deleted file mode 100755
index 16b119878ad..00000000000
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/RUNNING_UNIT_TESTS
+++ /dev/null
@@ -1,24 +0,0 @@
-== Running with Rake
-
-The easiest way to run the unit tests is through Rake. The default task runs
-the entire test suite for all classes. For more information, checkout the
-full array of rake tasks with "rake -T"
-
-Rake can be found at http://rake.rubyforge.org
-
-== Running by hand
-
-If you only want to run a single test suite, or don't want to bother with Rake,
-you can do so with something like:
-
- ruby controller/base_tests.rb
-
-== Dependency on ActiveRecord and database setup
-
-Test cases in the test/controller/active_record/ directory depend on having
-activerecord and sqlite installed. If ActiveRecord is not in
-actionpack/../activerecord directory, or the sqlite rubygem is not installed,
-these tests are skipped.
-
-Other tests are runnable from a fresh copy of actionpack without any configuration.
-
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/cookies.rb b/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/cookies.rb
deleted file mode 100755
index c328db8bebb..00000000000
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/cookies.rb
+++ /dev/null
@@ -1,95 +0,0 @@
-module ActionController #:nodoc:
- # Cookies are read and written through ActionController#cookies.
- #
- # The cookies being read are the ones received along with the request, the cookies
- # being written will be sent out with the response. Reading a cookie does not get
- # the cookie object itself back, just the value it holds.
- #
- # Examples for writing:
- #
- # # Sets a simple session cookie.
- # cookies[:user_name] = "david"
- #
- # # Sets a cookie that expires in 1 hour.
- # cookies[:login] = { :value => "XJ-122", :expires => 1.hour.from_now }
- #
- # Examples for reading:
- #
- # cookies[:user_name] # => "david"
- # cookies.size # => 2
- #
- # Example for deleting:
- #
- # cookies.delete :user_name
- #
- # Please note that if you specify a :domain when setting a cookie, you must also specify the domain when deleting the cookie:
- #
- # cookies[:key] = {
- # :value => 'a yummy cookie',
- # :expires => 1.year.from_now,
- # :domain => 'domain.com'
- # }
- #
- # cookies.delete(:key, :domain => 'domain.com')
- #
- # The option symbols for setting cookies are:
- #
- # * <tt>:value</tt> - The cookie's value or list of values (as an array).
- # * <tt>:path</tt> - The path for which this cookie applies. Defaults to the root
- # of the application.
- # * <tt>:domain</tt> - The domain for which this cookie applies.
- # * <tt>:expires</tt> - The time at which this cookie expires, as a Time object.
- # * <tt>:secure</tt> - Whether this cookie is a only transmitted to HTTPS servers.
- # Default is +false+.
- # * <tt>:httponly</tt> - Whether this cookie is accessible via scripting or
- # only HTTP. Defaults to +false+.
- module Cookies
- def self.included(base)
- base.helper_method :cookies
- end
-
- protected
- # Returns the cookie container, which operates as described above.
- def cookies
- @cookies ||= CookieJar.new(self)
- end
- end
-
- class CookieJar < Hash #:nodoc:
- def initialize(controller)
- @controller, @cookies = controller, controller.request.cookies
- super()
- update(@cookies)
- end
-
- # Returns the value of the cookie by +name+, or +nil+ if no such cookie exists.
- def [](name)
- super(name.to_s)
- end
-
- # Sets the cookie named +name+. The second argument may be the very cookie
- # value, or a hash of options as documented above.
- def []=(key, options)
- if options.is_a?(Hash)
- options.symbolize_keys!
- else
- options = { :value => options }
- end
-
- options[:path] = "/" unless options.has_key?(:path)
- super(key.to_s, options[:value])
- @controller.response.set_cookie(key, options)
- end
-
- # Removes the cookie on the client machine by setting the value to an empty string
- # and setting its expiration date into the past. Like <tt>[]=</tt>, you can pass in
- # an options hash to delete cookies with extra data such as a <tt>:path</tt>.
- def delete(key, options = {})
- options.symbolize_keys!
- options[:path] = "/" unless options.has_key?(:path)
- value = super(key.to_s)
- @controller.response.delete_cookie(key, options)
- value
- end
- end
-end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/session/abstract_store.rb b/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/session/abstract_store.rb
deleted file mode 100755
index f6369abf156..00000000000
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/session/abstract_store.rb
+++ /dev/null
@@ -1,181 +0,0 @@
-require 'rack/utils'
-
-module ActionController
- module Session
- class AbstractStore
- ENV_SESSION_KEY = 'rack.session'.freeze
- ENV_SESSION_OPTIONS_KEY = 'rack.session.options'.freeze
-
- HTTP_COOKIE = 'HTTP_COOKIE'.freeze
- SET_COOKIE = 'Set-Cookie'.freeze
-
- class SessionHash < Hash
- def initialize(by, env)
- super()
- @by = by
- @env = env
- @loaded = false
- end
-
- def session_id
- ActiveSupport::Deprecation.warn(
- "ActionController::Session::AbstractStore::SessionHash#session_id " +
- "has been deprecated. Please use request.session_options[:id] instead.", caller)
- @env[ENV_SESSION_OPTIONS_KEY][:id]
- end
-
- def [](key)
- load! unless @loaded
- super
- end
-
- def []=(key, value)
- load! unless @loaded
- super
- end
-
- def to_hash
- h = {}.replace(self)
- h.delete_if { |k,v| v.nil? }
- h
- end
-
- def data
- ActiveSupport::Deprecation.warn(
- "ActionController::Session::AbstractStore::SessionHash#data " +
- "has been deprecated. Please use #to_hash instead.", caller)
- to_hash
- end
-
- def inspect
- load! unless @loaded
- super
- end
-
- private
- def loaded?
- @loaded
- end
-
- def load!
- stale_session_check! do
- id, session = @by.send(:load_session, @env)
- (@env[ENV_SESSION_OPTIONS_KEY] ||= {})[:id] = id
- replace(session)
- @loaded = true
- end
- end
-
- def stale_session_check!
- yield
- rescue ArgumentError => argument_error
- if argument_error.message =~ %r{undefined class/module ([\w:]*\w)}
- begin
- # Note that the regexp does not allow $1 to end with a ':'
- $1.constantize
- rescue LoadError, NameError => const_error
- raise ActionController::SessionRestoreError, "Session contains objects whose class definition isn\\'t available.\nRemember to require the classes for all objects kept in the session.\n(Original exception: \#{const_error.message} [\#{const_error.class}])\n"
- end
-
- retry
- else
- raise
- end
- end
- end
-
- DEFAULT_OPTIONS = {
- :key => '_session_id',
- :path => '/',
- :domain => nil,
- :expire_after => nil,
- :secure => false,
- :httponly => true,
- :cookie_only => true
- }
-
- def initialize(app, options = {})
- # Process legacy CGI options
- options = options.symbolize_keys
- if options.has_key?(:session_path)
- options[:path] = options.delete(:session_path)
- end
- if options.has_key?(:session_key)
- options[:key] = options.delete(:session_key)
- end
- if options.has_key?(:session_http_only)
- options[:httponly] = options.delete(:session_http_only)
- end
-
- @app = app
- @default_options = DEFAULT_OPTIONS.merge(options)
- @key = @default_options[:key]
- @cookie_only = @default_options[:cookie_only]
- end
-
- def call(env)
- session = SessionHash.new(self, env)
-
- env[ENV_SESSION_KEY] = session
- env[ENV_SESSION_OPTIONS_KEY] = @default_options.dup
-
- response = @app.call(env)
-
- session_data = env[ENV_SESSION_KEY]
- options = env[ENV_SESSION_OPTIONS_KEY]
-
- if !session_data.is_a?(AbstractStore::SessionHash) || session_data.send(:loaded?) || options[:expire_after]
- session_data.send(:load!) if session_data.is_a?(AbstractStore::SessionHash) && !session_data.send(:loaded?)
-
- sid = options[:id] || generate_sid
-
- unless set_session(env, sid, session_data.to_hash)
- return response
- end
-
- cookie = Rack::Utils.escape(@key) + '=' + Rack::Utils.escape(sid)
- cookie << "; domain=#{options[:domain]}" if options[:domain]
- cookie << "; path=#{options[:path]}" if options[:path]
- if options[:expire_after]
- expiry = Time.now + options[:expire_after]
- cookie << "; expires=#{expiry.httpdate}"
- end
- cookie << "; Secure" if options[:secure]
- cookie << "; HttpOnly" if options[:httponly]
-
- headers = response[1]
- unless headers[SET_COOKIE].blank?
- headers[SET_COOKIE] << "\n#{cookie}"
- else
- headers[SET_COOKIE] = cookie
- end
- end
-
- response
- end
-
- private
- def generate_sid
- ActiveSupport::SecureRandom.hex(16)
- end
-
- def load_session(env)
- request = Rack::Request.new(env)
- sid = request.cookies[@key]
- unless @cookie_only
- sid ||= request.params[@key]
- end
- sid, session = get_session(env, sid)
- [sid, session]
- end
-
- def get_session(env, sid)
- raise '#get_session needs to be implemented.'
- end
-
- def set_session(env, sid, session_data)
- raise '#set_session needs to be implemented.'
- end
- end
- end
-end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/templates/rescues/_trace.erb b/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/templates/rescues/_trace.erb
deleted file mode 100755
index a8c1ef9a6e0..00000000000
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/templates/rescues/_trace.erb
+++ /dev/null
@@ -1,23 +0,0 @@
-<%
-traces = [
-["Application Trace", @exception.application_backtrace],
-["Framework Trace", @exception.framework_backtrace],
-["Full Trace", @exception.clean_backtrace]
-]
-names = traces.collect {|name, trace| name}
-%>
-<p><code>RAILS_ROOT: <%= defined?(RAILS_ROOT) ? RAILS_ROOT : "unset" %></code></p>
-<div id="traces">
-<% names.each do |name| %>
-<%
-show = "document.getElementById('#{name.gsub /\s/, '-'}').style.display='block';"
-hide = (names - [name]).collect {|hide_name| "document.getElementById('#{hide_name.gsub /\s/, '-'}').style.display='none';"}
-%>
-<a href="#" onclick="<%= hide %><%= show %>; return false;"><%= name %></a> <%= '|' unless names.last == name %>
-<% end %>
-<% traces.each do |name, trace| %>
-<div id="<%= name.gsub /\s/, '-' %>" style="display: <%= name == "Application Trace" ? 'block' : 'none' %>;">
-<pre><code><%= trace.join "\n" %></code></pre>
-</div>
-<% end %>
-</div>
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/templates/rescues/diagnostics.erb b/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/templates/rescues/diagnostics.erb
deleted file mode 100755
index 35e81aa36ab..00000000000
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/templates/rescues/diagnostics.erb
+++ /dev/null
@@ -1,9 +0,0 @@
-<h1>
-<%=h @exception.class.to_s %>
-<% if request.parameters['controller'] %>
-in <%=h request.parameters['controller'].humanize %>Controller<% if request.parameters['action'] %>#<%=h request.parameters['action'] %><% end %>
-<% end %>
-</h1>
-<pre><%=h @exception.clean_message %></pre>
-<%= render :file => @rescues_path["rescues/_trace.erb"] %>
-<%= render :file => @rescues_path["rescues/_request_and_response.erb"] %>
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/templates/rescues/layout.erb b/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/templates/rescues/layout.erb
deleted file mode 100755
index d29876193e8..00000000000
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/templates/rescues/layout.erb
+++ /dev/null
@@ -1,24 +0,0 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<title>Action Controller: Exception caught</title>
-<style>
-body { background-color: #fff; color: #333; }
-body, p, ol, ul, td {
-font-family: verdana, arial, helvetica, sans-serif;
-font-size: 13px;
-line-height: 18px;
-}
-pre {
-background-color: #eee;
-padding: 10px;
-font-size: 11px;
-}
-a { color: #000; }
-a:visited { color: #666; }
-a:hover { color: #fff; background-color:#000; }
-</style>
-</head>
-<body>
-<%= @contents %>
-</body>
-</html>
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/templates/rescues/routing_error.erb b/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/templates/rescues/routing_error.erb
deleted file mode 100755
index ada6912cceb..00000000000
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/templates/rescues/routing_error.erb
+++ /dev/null
@@ -1,10 +0,0 @@
-<h1>Routing Error</h1>
-<p><pre><%=h @exception.message %></pre></p>
-<% unless @exception.failures.empty? %><p>
-<h2>Failure reasons:</h2>
-<ol>
-<% @exception.failures.each do |route, reason| %>
-<li><code><%=h route.inspect.gsub('\\', '') %></code> failed because <%=h reason.downcase %></li>
-<% end %>
-</ol>
-</p><% end %>
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/templates/rescues/template_error.erb b/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/templates/rescues/template_error.erb
deleted file mode 100755
index 34189be8e15..00000000000
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/templates/rescues/template_error.erb
+++ /dev/null
@@ -1,16 +0,0 @@
-<h1>
-<%=h @exception.original_exception.class.to_s %> in
-<%=h request.parameters["controller"].capitalize if request.parameters["controller"]%>#<%=h request.parameters["action"] %>
-</h1>
-<p>
-Showing <i><%=h @exception.file_name %></i> where line <b>#<%=h @exception.line_number %></b> raised:
-<pre><code><%=h @exception.message %></code></pre>
-</p>
-<p>Extracted source (around line <b>#<%=h @exception.line_number %></b>):
-<pre><code><%=h @exception.source_extract %></code></pre></p>
-<p><%=h @exception.sub_template_message %></p>
-<% @real_exception = @exception
-@exception = @exception.original_exception || @exception %>
-<%= render :file => @rescues_path["rescues/_trace.erb"] %>
-<% @exception = @real_exception %>
-<%= render :file => @rescues_path["rescues/_request_and_response.erb"] %>
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/safe_buffer.rb b/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/safe_buffer.rb
deleted file mode 100755
index 09f44ab26fe..00000000000
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/safe_buffer.rb
+++ /dev/null
@@ -1,28 +0,0 @@
-
-module ActionView #:nodoc:
- class SafeBuffer < String
- def <<(value)
- if value.html_safe?
- super(value)
- else
- super(ERB::Util.h(value))
- end
- end
-
- def concat(value)
- self << value
- end
-
- def html_safe?
- true
- end
-
- def html_safe!
- self
- end
-
- def to_s
- self
- end
- end
-end \ No newline at end of file
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/associations/belongs_to_polymorphic_association.rb b/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/associations/belongs_to_polymorphic_association.rb
deleted file mode 100755
index 67e18d692dc..00000000000
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/associations/belongs_to_polymorphic_association.rb
+++ /dev/null
@@ -1,53 +0,0 @@
-module ActiveRecord
- module Associations
- class BelongsToPolymorphicAssociation < AssociationProxy #:nodoc:
- def replace(record)
- if record.nil?
- @target = @owner[@reflection.primary_key_name] = @owner[@reflection.options[:foreign_type]] = nil
- else
- @target = (AssociationProxy === record ? record.target : record)
-
- @owner[@reflection.primary_key_name] = record_id(record)
- @owner[@reflection.options[:foreign_type]] = record.class.base_class.name.to_s
-
- @updated = true
- end
-
- loaded
- record
- end
-
- def updated?
- @updated
- end
-
- private
- def find_target
- return nil if association_class.nil?
-
- if @reflection.options[:conditions]
- association_class.find(
- @owner[@reflection.primary_key_name],
- :select => @reflection.options[:select],
- :conditions => conditions,
- :include => @reflection.options[:include]
- )
- else
- association_class.find(@owner[@reflection.primary_key_name], :select => @reflection.options[:select], :include => @reflection.options[:include])
- end
- end
-
- def foreign_key_present
- !@owner[@reflection.primary_key_name].nil?
- end
-
- def record_id(record)
- record.send(@reflection.options[:primary_key] || :id)
- end
-
- def association_class
- @owner[@reflection.options[:foreign_type]] ? @owner[@reflection.options[:foreign_type]].constantize : nil
- end
- end
- end
-end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/i18n_interpolation_deprecation.rb b/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/i18n_interpolation_deprecation.rb
deleted file mode 100755
index ccb0cac0262..00000000000
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/i18n_interpolation_deprecation.rb
+++ /dev/null
@@ -1,26 +0,0 @@
-# Deprecates the use of the former message interpolation syntax in activerecord
-# as in "must have %d characters". The new syntax uses explicit variable names
-# as in "{{value}} must have {{count}} characters".
-
-require 'i18n/backend/simple'
-module I18n
- module Backend
- class Simple
- DEPRECATED_INTERPOLATORS = { '%d' => '{{count}}', '%s' => '{{value}}' }
-
- protected
- def interpolate_with_deprecated_syntax(locale, string, values = {})
- return string unless string.is_a?(String) && !values.empty?
-
- string = string.gsub(/%d|%s/) do |s|
- instead = DEPRECATED_INTERPOLATORS[s]
- ActiveSupport::Deprecation.warn "using #{s} in messages is deprecated; use #{instead} instead."
- instead
- end
-
- interpolate_without_deprecated_syntax(locale, string, values)
- end
- alias_method_chain :interpolate, :deprecated_syntax
- end
- end
-end \ No newline at end of file
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/basic_object.rb b/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/basic_object.rb
deleted file mode 100755
index 1f77209e7f3..00000000000
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/basic_object.rb
+++ /dev/null
@@ -1,24 +0,0 @@
-# A base class with no predefined methods that tries to behave like Builder's
-# BlankSlate in Ruby 1.9. In Ruby pre-1.9, this is actually the
-# Builder::BlankSlate class.
-#
-# Ruby 1.9 introduces BasicObject which differs slightly from Builder's
-# BlankSlate that has been used so far. ActiveSupport::BasicObject provides a
-# barebones base class that emulates Builder::BlankSlate while still relying on
-# Ruby 1.9's BasicObject in Ruby 1.9.
-module ActiveSupport
- if defined? ::BasicObject
- class BasicObject < ::BasicObject
- undef_method :==
- undef_method :equal?
-
- # Let ActiveSupport::BasicObject at least raise exceptions.
- def raise(*args)
- ::Object.send(:raise, *args)
- end
- end
- else
- require 'blankslate'
- BasicObject = BlankSlate
- end
-end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/array/random_access.rb b/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/array/random_access.rb
deleted file mode 100755
index 54d17cbf301..00000000000
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/array/random_access.rb
+++ /dev/null
@@ -1,12 +0,0 @@
-module ActiveSupport #:nodoc:
- module CoreExtensions #:nodoc:
- module Array #:nodoc:
- module RandomAccess
- # Returns a random element from the array.
- def rand
- self[Kernel.rand(length)]
- end
- end
- end
- end
-end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/class/attribute_accessors.rb b/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/class/attribute_accessors.rb
deleted file mode 100755
index c7958714743..00000000000
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/class/attribute_accessors.rb
+++ /dev/null
@@ -1,54 +0,0 @@
-# Extends the class object with class and instance accessors for class attributes,
-# just like the native attr* accessors for instance attributes.
-#
-# class Person
-# cattr_accessor :hair_colors
-# end
-#
-# Person.hair_colors = [:brown, :black, :blonde, :red]
-class Class
- def cattr_reader(*syms)
- syms.flatten.each do |sym|
- next if sym.is_a?(Hash)
- class_eval(<<-EOS, __FILE__, __LINE__)
- unless defined? @@#{sym} # unless defined? @@hair_colors
- @@#{sym} = nil # @@hair_colors = nil
- end # end
- #
- def self.#{sym} # def self.hair_colors
- @@#{sym} # @@hair_colors
- end # end
- #
- def #{sym} # def hair_colors
- @@#{sym} # @@hair_colors
- end # end
- EOS
- end
- end
-
- def cattr_writer(*syms)
- options = syms.extract_options!
- syms.flatten.each do |sym|
- class_eval(<<-EOS, __FILE__, __LINE__)
- unless defined? @@#{sym} # unless defined? @@hair_colors
- @@#{sym} = nil # @@hair_colors = nil
- end # end
- #
- def self.#{sym}=(obj) # def self.hair_colors=(obj)
- @@#{sym} = obj # @@hair_colors = obj
- end # end
- #
- #{" #
- def #{sym}=(obj) # def hair_colors=(obj)
- @@#{sym} = obj # @@hair_colors = obj
- end # end
- " unless options[:instance_writer] == false } # # instance writer above is generated unless options[:instance_writer] == false
- EOS
- end
- end
-
- def cattr_accessor(*syms)
- cattr_reader(*syms)
- cattr_writer(*syms)
- end
-end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/module/attribute_accessors.rb b/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/module/attribute_accessors.rb
deleted file mode 100755
index 9359b22b24d..00000000000
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/module/attribute_accessors.rb
+++ /dev/null
@@ -1,60 +0,0 @@
-require "active_support/core_ext/array"
-
-# Extends the module object with module and instance accessors for class attributes,
-# just like the native attr* accessors for instance attributes.
-#
-# module AppConfiguration
-# mattr_accessor :google_api_key
-# self.google_api_key = "123456789"
-#
-# mattr_accessor :paypal_url
-# self.paypal_url = "www.sandbox.paypal.com"
-# end
-#
-# AppConfiguration.google_api_key = "overriding the api key!"
-class Module
- def mattr_reader(*syms)
- syms.each do |sym|
- next if sym.is_a?(Hash)
- class_eval(<<-EOS, __FILE__, __LINE__)
- unless defined? @@#{sym} # unless defined? @@pagination_options
- @@#{sym} = nil # @@pagination_options = nil
- end # end
- #
- def self.#{sym} # def self.pagination_options
- @@#{sym} # @@pagination_options
- end # end
- #
- def #{sym} # def pagination_options
- @@#{sym} # @@pagination_options
- end # end
- EOS
- end
- end
-
- def mattr_writer(*syms)
- options = syms.extract_options!
- syms.each do |sym|
- class_eval(<<-EOS, __FILE__, __LINE__)
- unless defined? @@#{sym} # unless defined? @@pagination_options
- @@#{sym} = nil # @@pagination_options = nil
- end # end
- #
- def self.#{sym}=(obj) # def self.pagination_options=(obj)
- @@#{sym} = obj # @@pagination_options = obj
- end # end
- #
- #{" #
- def #{sym}=(obj) # def pagination_options=(obj)
- @@#{sym} = obj # @@pagination_options = obj
- end # end
- " unless options[:instance_writer] == false } # # instance writer above is generated unless options[:instance_writer] == false
- EOS
- end
- end
-
- def mattr_accessor(*syms)
- mattr_reader(*syms)
- mattr_writer(*syms)
- end
-end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/object/metaclass.rb b/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/object/metaclass.rb
deleted file mode 100755
index 93fb0ad594c..00000000000
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/object/metaclass.rb
+++ /dev/null
@@ -1,13 +0,0 @@
-class Object
- # Get object's meta (ghost, eigenclass, singleton) class
- def metaclass
- class << self
- self
- end
- end
-
- # If class_eval is called on an object, add those methods to its metaclass
- def class_eval(*args, &block)
- metaclass.class_eval(*args, &block)
- end
-end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/string/output_safety.rb b/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/string/output_safety.rb
deleted file mode 100755
index f05650eb2dc..00000000000
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/string/output_safety.rb
+++ /dev/null
@@ -1,48 +0,0 @@
-module ActiveSupport #:nodoc:
- module CoreExtensions #:nodoc:
- module String #:nodoc:
- module OutputSafety
- def self.included(base)
- base.class_eval do
- alias_method :add_without_safety, :+
- alias_method :+, :add_with_safety
- alias_method_chain :concat, :safety
- undef_method :<<
- alias_method :<<, :concat_with_safety
- end
- end
-
- def html_safe?
- defined?(@_rails_html_safe) && @_rails_html_safe
- end
-
- def html_safe!
- @_rails_html_safe = true
- self
- end
-
- def add_with_safety(other)
- result = add_without_safety(other)
- if html_safe? && also_html_safe?(other)
- result.html_safe!
- else
- result
- end
- end
-
- def concat_with_safety(other_or_fixnum)
- result = concat_without_safety(other_or_fixnum)
- unless html_safe? && also_html_safe?(other_or_fixnum)
- @_rails_html_safe = false
- end
- result
- end
-
- private
- def also_html_safe?(other)
- other.respond_to?(:html_safe?) && other.html_safe?
- end
- end
- end
- end
-end \ No newline at end of file
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/README.textile b/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/README.textile
deleted file mode 100755
index a07fc8426d7..00000000000
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/README.textile
+++ /dev/null
@@ -1,20 +0,0 @@
-h1. Ruby I18n gem
-
-I18n and localization solution for Ruby.
-
-For information please refer to http://rails-i18n.org
-
-h2. Authors
-
-* "Matt Aimonetti":http://railsontherun.com
-* "Sven Fuchs":http://www.artweb-design.de
-* "Joshua Harvey":http://www.workingwithrails.com/person/759-joshua-harvey
-* "Saimon Moore":http://saimonmoore.net
-* "Stephan Soller":http://www.arkanis-development.de
-
-h2. License
-
-MIT License. See the included MIT-LICENCE file.
-
-
-
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/Rakefile b/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/Rakefile
deleted file mode 100755
index 2164e13e69b..00000000000
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/Rakefile
+++ /dev/null
@@ -1,5 +0,0 @@
-task :default => [:test]
-
-task :test do
- ruby "test/all.rb"
-end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/i18n.gemspec b/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/i18n.gemspec
deleted file mode 100755
index f102689a6f4..00000000000
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/i18n.gemspec
+++ /dev/null
@@ -1,27 +0,0 @@
-Gem::Specification.new do |s|
- s.name = "i18n"
- s.version = "0.1.3"
- s.date = "2009-01-09"
- s.summary = "Internationalization support for Ruby"
- s.email = "rails-i18n@googlegroups.com"
- s.homepage = "http://rails-i18n.org"
- s.description = "Add Internationalization support to your Ruby application."
- s.has_rdoc = false
- s.authors = ['Sven Fuchs', 'Joshua Harvey', 'Matt Aimonetti', 'Stephan Soller', 'Saimon Moore']
- s.files = [
- 'i18n.gemspec',
- 'lib/i18n/backend/simple.rb',
- 'lib/i18n/exceptions.rb',
- 'lib/i18n.rb',
- 'MIT-LICENSE',
- 'README.textile'
- ]
- s.test_files = [
- 'test/all.rb',
- 'test/i18n_exceptions_test.rb',
- 'test/i18n_test.rb',
- 'test/locale/en.rb',
- 'test/locale/en.yml',
- 'test/simple_backend_test.rb'
- ]
-end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/lib/i18n.rb b/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/lib/i18n.rb
deleted file mode 100755
index 76361bed90a..00000000000
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/lib/i18n.rb
+++ /dev/null
@@ -1,199 +0,0 @@
-# Authors:: Matt Aimonetti (http://railsontherun.com/),
-# Sven Fuchs (http://www.artweb-design.de),
-# Joshua Harvey (http://www.workingwithrails.com/person/759-joshua-harvey),
-# Saimon Moore (http://saimonmoore.net),
-# Stephan Soller (http://www.arkanis-development.de/)
-# Copyright:: Copyright (c) 2008 The Ruby i18n Team
-# License:: MIT
-require 'i18n/backend/simple'
-require 'i18n/exceptions'
-
-module I18n
- @@backend = nil
- @@load_path = nil
- @@default_locale = :'en'
- @@exception_handler = :default_exception_handler
-
- class << self
- # Returns the current backend. Defaults to +Backend::Simple+.
- def backend
- @@backend ||= Backend::Simple.new
- end
-
- # Sets the current backend. Used to set a custom backend.
- def backend=(backend)
- @@backend = backend
- end
-
- # Returns the current default locale. Defaults to :'en'
- def default_locale
- @@default_locale
- end
-
- # Sets the current default locale. Used to set a custom default locale.
- def default_locale=(locale)
- @@default_locale = locale
- end
-
- # Returns the current locale. Defaults to I18n.default_locale.
- def locale
- Thread.current[:locale] ||= default_locale
- end
-
- # Sets the current locale pseudo-globally, i.e. in the Thread.current hash.
- def locale=(locale)
- Thread.current[:locale] = locale
- end
-
- # Returns an array of locales for which translations are available
- def available_locales
- backend.available_locales
- end
-
- # Sets the exception handler.
- def exception_handler=(exception_handler)
- @@exception_handler = exception_handler
- end
-
- # Allow clients to register paths providing translation data sources. The
- # backend defines acceptable sources.
- #
- # E.g. the provided SimpleBackend accepts a list of paths to translation
- # files which are either named *.rb and contain plain Ruby Hashes or are
- # named *.yml and contain YAML data. So for the SimpleBackend clients may
- # register translation files like this:
- # I18n.load_path << 'path/to/locale/en.yml'
- def load_path
- @@load_path ||= []
- end
-
- # Sets the load path instance. Custom implementations are expected to
- # behave like a Ruby Array.
- def load_path=(load_path)
- @@load_path = load_path
- end
-
- # Tells the backend to reload translations. Used in situations like the
- # Rails development environment. Backends can implement whatever strategy
- # is useful.
- def reload!
- backend.reload!
- end
-
- # Translates, pluralizes and interpolates a given key using a given locale,
- # scope, and default, as well as interpolation values.
- #
- # *LOOKUP*
- #
- # Translation data is organized as a nested hash using the upper-level keys
- # as namespaces. <em>E.g.</em>, ActionView ships with the translation:
- # <tt>:date => {:formats => {:short => "%b %d"}}</tt>.
- #
- # Translations can be looked up at any level of this hash using the key argument
- # and the scope option. <em>E.g.</em>, in this example <tt>I18n.t :date</tt>
- # returns the whole translations hash <tt>{:formats => {:short => "%b %d"}}</tt>.
- #
- # Key can be either a single key or a dot-separated key (both Strings and Symbols
- # work). <em>E.g.</em>, the short format can be looked up using both:
- # I18n.t 'date.formats.short'
- # I18n.t :'date.formats.short'
- #
- # Scope can be either a single key, a dot-separated key or an array of keys
- # or dot-separated keys. Keys and scopes can be combined freely. So these
- # examples will all look up the same short date format:
- # I18n.t 'date.formats.short'
- # I18n.t 'formats.short', :scope => 'date'
- # I18n.t 'short', :scope => 'date.formats'
- # I18n.t 'short', :scope => %w(date formats)
- #
- # *INTERPOLATION*
- #
- # Translations can contain interpolation variables which will be replaced by
- # values passed to #translate as part of the options hash, with the keys matching
- # the interpolation variable names.
- #
- # <em>E.g.</em>, with a translation <tt>:foo => "foo {{bar}}"</tt> the option
- # value for the key +bar+ will be interpolated into the translation:
- # I18n.t :foo, :bar => 'baz' # => 'foo baz'
- #
- # *PLURALIZATION*
- #
- # Translation data can contain pluralized translations. Pluralized translations
- # are arrays of singluar/plural versions of translations like <tt>['Foo', 'Foos']</tt>.
- #
- # Note that <tt>I18n::Backend::Simple</tt> only supports an algorithm for English
- # pluralization rules. Other algorithms can be supported by custom backends.
- #
- # This returns the singular version of a pluralized translation:
- # I18n.t :foo, :count => 1 # => 'Foo'
- #
- # These both return the plural version of a pluralized translation:
- # I18n.t :foo, :count => 0 # => 'Foos'
- # I18n.t :foo, :count => 2 # => 'Foos'
- #
- # The <tt>:count</tt> option can be used both for pluralization and interpolation.
- # <em>E.g.</em>, with the translation
- # <tt>:foo => ['{{count}} foo', '{{count}} foos']</tt>, count will
- # be interpolated to the pluralized translation:
- # I18n.t :foo, :count => 1 # => '1 foo'
- #
- # *DEFAULTS*
- #
- # This returns the translation for <tt>:foo</tt> or <tt>default</tt> if no translation was found:
- # I18n.t :foo, :default => 'default'
- #
- # This returns the translation for <tt>:foo</tt> or the translation for <tt>:bar</tt> if no
- # translation for <tt>:foo</tt> was found:
- # I18n.t :foo, :default => :bar
- #
- # Returns the translation for <tt>:foo</tt> or the translation for <tt>:bar</tt>
- # or <tt>default</tt> if no translations for <tt>:foo</tt> and <tt>:bar</tt> were found.
- # I18n.t :foo, :default => [:bar, 'default']
- #
- # <b>BULK LOOKUP</b>
- #
- # This returns an array with the translations for <tt>:foo</tt> and <tt>:bar</tt>.
- # I18n.t [:foo, :bar]
- #
- # Can be used with dot-separated nested keys:
- # I18n.t [:'baz.foo', :'baz.bar']
- #
- # Which is the same as using a scope option:
- # I18n.t [:foo, :bar], :scope => :baz
- def translate(key, options = {})
- locale = options.delete(:locale) || I18n.locale
- backend.translate(locale, key, options)
- rescue I18n::ArgumentError => e
- raise e if options[:raise]
- send(@@exception_handler, e, locale, key, options)
- end
- alias :t :translate
-
- # Localizes certain objects, such as dates and numbers to local formatting.
- def localize(object, options = {})
- locale = options[:locale] || I18n.locale
- format = options[:format] || :default
- backend.localize(locale, object, format)
- end
- alias :l :localize
-
- protected
- # Handles exceptions raised in the backend. All exceptions except for
- # MissingTranslationData exceptions are re-raised. When a MissingTranslationData
- # was caught and the option :raise is not set the handler returns an error
- # message string containing the key/scope.
- def default_exception_handler(exception, locale, key, options)
- return exception.message if MissingTranslationData === exception
- raise exception
- end
-
- # Merges the given locale, key and scope into a single array of keys.
- # Splits keys that contain dots into multiple keys. Makes sure all
- # keys are Symbols.
- def normalize_translation_keys(locale, key, scope)
- keys = [locale] + Array(scope) + [key]
- keys = keys.map { |k| k.to_s.split(/\./) }
- keys.flatten.map { |k| k.to_sym }
- end
- end
-end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/lib/i18n/backend/simple.rb b/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/lib/i18n/backend/simple.rb
deleted file mode 100755
index c09acd7d2dd..00000000000
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/lib/i18n/backend/simple.rb
+++ /dev/null
@@ -1,214 +0,0 @@
-require 'yaml'
-
-module I18n
- module Backend
- class Simple
- INTERPOLATION_RESERVED_KEYS = %w(scope default)
- MATCH = /(\\\\)?\{\{([^\}]+)\}\}/
-
- # Accepts a list of paths to translation files. Loads translations from
- # plain Ruby (*.rb) or YAML files (*.yml). See #load_rb and #load_yml
- # for details.
- def load_translations(*filenames)
- filenames.each { |filename| load_file(filename) }
- end
-
- # Stores translations for the given locale in memory.
- # This uses a deep merge for the translations hash, so existing
- # translations will be overwritten by new ones only at the deepest
- # level of the hash.
- def store_translations(locale, data)
- merge_translations(locale, data)
- end
-
- def translate(locale, key, options = {})
- raise InvalidLocale.new(locale) if locale.nil?
- return key.map { |k| translate(locale, k, options) } if key.is_a? Array
-
- reserved = :scope, :default
- count, scope, default = options.values_at(:count, *reserved)
- options.delete(:default)
- values = options.reject { |name, value| reserved.include?(name) }
-
- entry = lookup(locale, key, scope)
- if entry.nil?
- entry = default(locale, default, options)
- if entry.nil?
- raise(I18n::MissingTranslationData.new(locale, key, options))
- end
- end
- entry = pluralize(locale, entry, count)
- entry = interpolate(locale, entry, values)
- entry
- end
-
- # Acts the same as +strftime+, but returns a localized version of the
- # formatted date string. Takes a key from the date/time formats
- # translations as a format argument (<em>e.g.</em>, <tt>:short</tt> in <tt>:'date.formats'</tt>).
- def localize(locale, object, format = :default)
- raise ArgumentError, "Object must be a Date, DateTime or Time object. #{object.inspect} given." unless object.respond_to?(:strftime)
-
- type = object.respond_to?(:sec) ? 'time' : 'date'
- # TODO only translate these if format is a String?
- formats = translate(locale, :"#{type}.formats")
- format = formats[format.to_sym] if formats && formats[format.to_sym]
- # TODO raise exception unless format found?
- format = format.to_s.dup
-
- # TODO only translate these if the format string is actually present
- # TODO check which format strings are present, then bulk translate then, then replace them
- format.gsub!(/%a/, translate(locale, :"date.abbr_day_names")[object.wday])
- format.gsub!(/%A/, translate(locale, :"date.day_names")[object.wday])
- format.gsub!(/%b/, translate(locale, :"date.abbr_month_names")[object.mon])
- format.gsub!(/%B/, translate(locale, :"date.month_names")[object.mon])
- format.gsub!(/%p/, translate(locale, :"time.#{object.hour < 12 ? :am : :pm}")) if object.respond_to? :hour
- object.strftime(format)
- end
-
- def initialized?
- @initialized ||= false
- end
-
- # Returns an array of locales for which translations are available
- def available_locales
- init_translations unless initialized?
- translations.keys
- end
-
- def reload!
- @initialized = false
- @translations = nil
- end
-
- protected
- def init_translations
- load_translations(*I18n.load_path.flatten)
- @initialized = true
- end
-
- def translations
- @translations ||= {}
- end
-
- # Looks up a translation from the translations hash. Returns nil if
- # eiher key is nil, or locale, scope or key do not exist as a key in the
- # nested translations hash. Splits keys or scopes containing dots
- # into multiple keys, i.e. <tt>currency.format</tt> is regarded the same as
- # <tt>%w(currency format)</tt>.
- def lookup(locale, key, scope = [])
- return unless key
- init_translations unless initialized?
- keys = I18n.send(:normalize_translation_keys, locale, key, scope)
- keys.inject(translations) do |result, k|
- if (x = result[k.to_sym]).nil?
- return nil
- else
- x
- end
- end
- end
-
- # Evaluates a default translation.
- # If the given default is a String it is used literally. If it is a Symbol
- # it will be translated with the given options. If it is an Array the first
- # translation yielded will be returned.
- #
- # <em>I.e.</em>, <tt>default(locale, [:foo, 'default'])</tt> will return +default+ if
- # <tt>translate(locale, :foo)</tt> does not yield a result.
- def default(locale, default, options = {})
- case default
- when String then default
- when Symbol then translate locale, default, options
- when Array then default.each do |obj|
- result = default(locale, obj, options.dup) and return result
- end and nil
- end
- rescue MissingTranslationData
- nil
- end
-
- # Picks a translation from an array according to English pluralization
- # rules. It will pick the first translation if count is not equal to 1
- # and the second translation if it is equal to 1. Other backends can
- # implement more flexible or complex pluralization rules.
- def pluralize(locale, entry, count)
- return entry unless entry.is_a?(Hash) and count
- # raise InvalidPluralizationData.new(entry, count) unless entry.is_a?(Hash)
- key = :zero if count == 0 && entry.has_key?(:zero)
- key ||= count == 1 ? :one : :other
- raise InvalidPluralizationData.new(entry, count) unless entry.has_key?(key)
- entry[key]
- end
-
- # Interpolates values into a given string.
- #
- # interpolate "file {{file}} opened by \\{{user}}", :file => 'test.txt', :user => 'Mr. X'
- # # => "file test.txt opened by {{user}}"
- #
- # Note that you have to double escape the <tt>\\</tt> when you want to escape
- # the <tt>{{...}}</tt> key in a string (once for the string and once for the
- # interpolation).
- def interpolate(locale, string, values = {})
- return string unless string.is_a?(String)
-
- string.gsub(MATCH) do
- escaped, pattern, key = $1, $2, $2.to_sym
-
- if escaped
- pattern
- elsif INTERPOLATION_RESERVED_KEYS.include?(pattern)
- raise ReservedInterpolationKey.new(pattern, string)
- elsif !values.include?(key)
- raise MissingInterpolationArgument.new(pattern, string)
- else
- values[key].to_s
- end
- end
- end
-
- # Loads a single translations file by delegating to #load_rb or
- # #load_yml depending on the file extension and directly merges the
- # data to the existing translations. Raises I18n::UnknownFileType
- # for all other file extensions.
- def load_file(filename)
- type = File.extname(filename).tr('.', '').downcase
- raise UnknownFileType.new(type, filename) unless respond_to?(:"load_#{type}")
- data = send :"load_#{type}", filename # TODO raise a meaningful exception if this does not yield a Hash
- data.each { |locale, d| merge_translations(locale, d) }
- end
-
- # Loads a plain Ruby translations file. eval'ing the file must yield
- # a Hash containing translation data with locales as toplevel keys.
- def load_rb(filename)
- eval(IO.read(filename), binding, filename)
- end
-
- # Loads a YAML translations file. The data must have locales as
- # toplevel keys.
- def load_yml(filename)
- YAML::load(IO.read(filename))
- end
-
- # Deep merges the given translations hash with the existing translations
- # for the given locale
- def merge_translations(locale, data)
- locale = locale.to_sym
- translations[locale] ||= {}
- data = deep_symbolize_keys(data)
-
- # deep_merge by Stefan Rusterholz, see http://www.ruby-forum.com/topic/142809
- merger = proc { |key, v1, v2| Hash === v1 && Hash === v2 ? v1.merge(v2, &merger) : v2 }
- translations[locale].merge!(data, &merger)
- end
-
- # Return a new hash with all keys and nested keys converted to symbols.
- def deep_symbolize_keys(hash)
- hash.inject({}) { |result, (key, value)|
- value = deep_symbolize_keys(value) if value.is_a? Hash
- result[(key.to_sym rescue key) || key] = value
- result
- }
- end
- end
- end
-end \ No newline at end of file
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/test/all.rb b/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/test/all.rb
deleted file mode 100755
index 353712da494..00000000000
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/test/all.rb
+++ /dev/null
@@ -1,5 +0,0 @@
-dir = File.dirname(__FILE__)
-require dir + '/i18n_test.rb'
-require dir + '/simple_backend_test.rb'
-require dir + '/i18n_exceptions_test.rb'
-# *require* dir + '/custom_backend_test.rb' \ No newline at end of file
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/test/i18n_exceptions_test.rb b/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/test/i18n_exceptions_test.rb
deleted file mode 100755
index 4e78e71b340..00000000000
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/test/i18n_exceptions_test.rb
+++ /dev/null
@@ -1,99 +0,0 @@
-$:.unshift "lib"
-
-require 'rubygems'
-require 'test/unit'
-require 'i18n'
-require 'active_support'
-
-class I18nExceptionsTest < Test::Unit::TestCase
- def test_invalid_locale_stores_locale
- force_invalid_locale
- rescue I18n::ArgumentError => e
- assert_nil e.locale
- end
-
- def test_invalid_locale_message
- force_invalid_locale
- rescue I18n::ArgumentError => e
- assert_equal 'nil is not a valid locale', e.message
- end
-
- def test_missing_translation_data_stores_locale_key_and_options
- force_missing_translation_data
- rescue I18n::ArgumentError => e
- options = {:scope => :bar}
- assert_equal 'de', e.locale
- assert_equal :foo, e.key
- assert_equal options, e.options
- end
-
- def test_missing_translation_data_message
- force_missing_translation_data
- rescue I18n::ArgumentError => e
- assert_equal 'translation missing: de, bar, foo', e.message
- end
-
- def test_invalid_pluralization_data_stores_entry_and_count
- force_invalid_pluralization_data
- rescue I18n::ArgumentError => e
- assert_equal [:bar], e.entry
- assert_equal 1, e.count
- end
-
- def test_invalid_pluralization_data_message
- force_invalid_pluralization_data
- rescue I18n::ArgumentError => e
- assert_equal 'translation data [:bar] can not be used with :count => 1', e.message
- end
-
- def test_missing_interpolation_argument_stores_key_and_string
- force_missing_interpolation_argument
- rescue I18n::ArgumentError => e
- assert_equal 'bar', e.key
- assert_equal "{{bar}}", e.string
- end
-
- def test_missing_interpolation_argument_message
- force_missing_interpolation_argument
- rescue I18n::ArgumentError => e
- assert_equal 'interpolation argument bar missing in "{{bar}}"', e.message
- end
-
- def test_reserved_interpolation_key_stores_key_and_string
- force_reserved_interpolation_key
- rescue I18n::ArgumentError => e
- assert_equal 'scope', e.key
- assert_equal "{{scope}}", e.string
- end
-
- def test_reserved_interpolation_key_message
- force_reserved_interpolation_key
- rescue I18n::ArgumentError => e
- assert_equal 'reserved key "scope" used in "{{scope}}"', e.message
- end
-
- private
- def force_invalid_locale
- I18n.backend.translate nil, :foo
- end
-
- def force_missing_translation_data
- I18n.backend.store_translations 'de', :bar => nil
- I18n.backend.translate 'de', :foo, :scope => :bar
- end
-
- def force_invalid_pluralization_data
- I18n.backend.store_translations 'de', :foo => [:bar]
- I18n.backend.translate 'de', :foo, :count => 1
- end
-
- def force_missing_interpolation_argument
- I18n.backend.store_translations 'de', :foo => "{{bar}}"
- I18n.backend.translate 'de', :foo, :baz => 'baz'
- end
-
- def force_reserved_interpolation_key
- I18n.backend.store_translations 'de', :foo => "{{scope}}"
- I18n.backend.translate 'de', :foo, :baz => 'baz'
- end
-end \ No newline at end of file
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/test/i18n_test.rb b/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/test/i18n_test.rb
deleted file mode 100755
index 2835ec4eabb..00000000000
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/test/i18n_test.rb
+++ /dev/null
@@ -1,124 +0,0 @@
-$:.unshift "lib"
-
-require 'rubygems'
-require 'test/unit'
-require 'i18n'
-require 'active_support'
-
-class I18nTest < Test::Unit::TestCase
- def setup
- I18n.backend.store_translations :'en', {
- :currency => {
- :format => {
- :separator => '.',
- :delimiter => ',',
- }
- }
- }
- end
-
- def test_uses_simple_backend_set_by_default
- assert I18n.backend.is_a?(I18n::Backend::Simple)
- end
-
- def test_can_set_backend
- assert_nothing_raised{ I18n.backend = self }
- assert_equal self, I18n.backend
- I18n.backend = I18n::Backend::Simple.new
- end
-
- def test_uses_en_us_as_default_locale_by_default
- assert_equal 'en', I18n.default_locale
- end
-
- def test_can_set_default_locale
- assert_nothing_raised{ I18n.default_locale = 'de' }
- assert_equal 'de', I18n.default_locale
- I18n.default_locale = 'en'
- end
-
- def test_uses_default_locale_as_locale_by_default
- assert_equal I18n.default_locale, I18n.locale
- end
-
- def test_can_set_locale_to_thread_current
- assert_nothing_raised{ I18n.locale = 'de' }
- assert_equal 'de', I18n.locale
- assert_equal 'de', Thread.current[:locale]
- I18n.locale = 'en'
- end
-
- def test_can_set_exception_handler
- assert_nothing_raised{ I18n.exception_handler = :custom_exception_handler }
- I18n.exception_handler = :default_exception_handler # revert it
- end
-
- def test_uses_custom_exception_handler
- I18n.exception_handler = :custom_exception_handler
- I18n.expects(:custom_exception_handler)
- I18n.translate :bogus
- I18n.exception_handler = :default_exception_handler # revert it
- end
-
- def test_delegates_translate_to_backend
- I18n.backend.expects(:translate).with 'de', :foo, {}
- I18n.translate :foo, :locale => 'de'
- end
-
- def test_delegates_localize_to_backend
- I18n.backend.expects(:localize).with 'de', :whatever, :default
- I18n.localize :whatever, :locale => 'de'
- end
-
- def test_translate_given_no_locale_uses_i18n_locale
- I18n.backend.expects(:translate).with 'en', :foo, {}
- I18n.translate :foo
- end
-
- def test_translate_on_nested_symbol_keys_works
- assert_equal ".", I18n.t(:'currency.format.separator')
- end
-
- def test_translate_with_nested_string_keys_works
- assert_equal ".", I18n.t('currency.format.separator')
- end
-
- def test_translate_with_array_as_scope_works
- assert_equal ".", I18n.t(:separator, :scope => ['currency.format'])
- end
-
- def test_translate_with_array_containing_dot_separated_strings_as_scope_works
- assert_equal ".", I18n.t(:separator, :scope => ['currency.format'])
- end
-
- def test_translate_with_key_array_and_dot_separated_scope_works
- assert_equal [".", ","], I18n.t(%w(separator delimiter), :scope => 'currency.format')
- end
-
- def test_translate_with_dot_separated_key_array_and_scope_works
- assert_equal [".", ","], I18n.t(%w(format.separator format.delimiter), :scope => 'currency')
- end
-
- def test_translate_with_options_using_scope_works
- I18n.backend.expects(:translate).with('de', :precision, :scope => :"currency.format")
- I18n.with_options :locale => 'de', :scope => :'currency.format' do |locale|
- locale.t :precision
- end
- end
-
- # def test_translate_given_no_args_raises_missing_translation_data
- # assert_equal "translation missing: en, no key", I18n.t
- # end
-
- def test_translate_given_a_bogus_key_raises_missing_translation_data
- assert_equal "translation missing: en, bogus", I18n.t(:bogus)
- end
-
- def test_localize_nil_raises_argument_error
- assert_raise(I18n::ArgumentError) { I18n.l nil }
- end
-
- def test_localize_object_raises_argument_error
- assert_raise(I18n::ArgumentError) { I18n.l Object.new }
- end
-end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/test/locale/en.rb b/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/test/locale/en.rb
deleted file mode 100755
index 6044ce10d90..00000000000
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/test/locale/en.rb
+++ /dev/null
@@ -1 +0,0 @@
-{:'en-Ruby' => {:foo => {:bar => "baz"}}} \ No newline at end of file
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/test/locale/en.yml b/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/test/locale/en.yml
deleted file mode 100755
index 0b298c9c0e1..00000000000
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/test/locale/en.yml
+++ /dev/null
@@ -1,3 +0,0 @@
-en-Yaml:
- foo:
- bar: baz \ No newline at end of file
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/test/simple_backend_test.rb b/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/test/simple_backend_test.rb
deleted file mode 100755
index a1696c77f66..00000000000
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/test/simple_backend_test.rb
+++ /dev/null
@@ -1,567 +0,0 @@
-# encoding: utf-8
-$:.unshift "lib"
-
-require 'rubygems'
-require 'test/unit'
-require 'i18n'
-require 'time'
-require 'yaml'
-
-module I18nSimpleBackendTestSetup
- def setup_backend
- # backend_reset_translations!
- @backend = I18n::Backend::Simple.new
- @backend.store_translations 'en', :foo => {:bar => 'bar', :baz => 'baz'}
- @locale_dir = File.dirname(__FILE__) + '/locale'
- end
- alias :setup :setup_backend
-
- # def backend_reset_translations!
- # I18n::Backend::Simple::ClassMethods.send :class_variable_set, :@@translations, {}
- # end
-
- def backend_get_translations
- # I18n::Backend::Simple::ClassMethods.send :class_variable_get, :@@translations
- @backend.instance_variable_get :@translations
- end
-
- def add_datetime_translations
- @backend.store_translations :'de', {
- :date => {
- :formats => {
- :default => "%d.%m.%Y",
- :short => "%d. %b",
- :long => "%d. %B %Y",
- },
- :day_names => %w(Sonntag Montag Dienstag Mittwoch Donnerstag Freitag Samstag),
- :abbr_day_names => %w(So Mo Di Mi Do Fr Sa),
- :month_names => %w(Januar Februar März April Mai Juni Juli August September Oktober November Dezember).unshift(nil),
- :abbr_month_names => %w(Jan Feb Mar Apr Mai Jun Jul Aug Sep Okt Nov Dez).unshift(nil),
- :order => [:day, :month, :year]
- },
- :time => {
- :formats => {
- :default => "%a, %d. %b %Y %H:%M:%S %z",
- :short => "%d. %b %H:%M",
- :long => "%d. %B %Y %H:%M",
- },
- :am => 'am',
- :pm => 'pm'
- },
- :datetime => {
- :distance_in_words => {
- :half_a_minute => 'half a minute',
- :less_than_x_seconds => {
- :one => 'less than 1 second',
- :other => 'less than {{count}} seconds'
- },
- :x_seconds => {
- :one => '1 second',
- :other => '{{count}} seconds'
- },
- :less_than_x_minutes => {
- :one => 'less than a minute',
- :other => 'less than {{count}} minutes'
- },
- :x_minutes => {
- :one => '1 minute',
- :other => '{{count}} minutes'
- },
- :about_x_hours => {
- :one => 'about 1 hour',
- :other => 'about {{count}} hours'
- },
- :x_days => {
- :one => '1 day',
- :other => '{{count}} days'
- },
- :about_x_months => {
- :one => 'about 1 month',
- :other => 'about {{count}} months'
- },
- :x_months => {
- :one => '1 month',
- :other => '{{count}} months'
- },
- :about_x_years => {
- :one => 'about 1 year',
- :other => 'about {{count}} year'
- },
- :over_x_years => {
- :one => 'over 1 year',
- :other => 'over {{count}} years'
- }
- }
- }
- }
- end
-end
-
-class I18nSimpleBackendTranslationsTest < Test::Unit::TestCase
- include I18nSimpleBackendTestSetup
-
- def test_store_translations_adds_translations # no, really :-)
- @backend.store_translations :'en', :foo => 'bar'
- assert_equal Hash[:'en', {:foo => 'bar'}], backend_get_translations
- end
-
- def test_store_translations_deep_merges_translations
- @backend.store_translations :'en', :foo => {:bar => 'bar'}
- @backend.store_translations :'en', :foo => {:baz => 'baz'}
- assert_equal Hash[:'en', {:foo => {:bar => 'bar', :baz => 'baz'}}], backend_get_translations
- end
-
- def test_store_translations_forces_locale_to_sym
- @backend.store_translations 'en', :foo => 'bar'
- assert_equal Hash[:'en', {:foo => 'bar'}], backend_get_translations
- end
-
- def test_store_translations_converts_keys_to_symbols
- # backend_reset_translations!
- @backend.store_translations 'en', 'foo' => {'bar' => 'bar', 'baz' => 'baz'}
- assert_equal Hash[:'en', {:foo => {:bar => 'bar', :baz => 'baz'}}], backend_get_translations
- end
-end
-
-class I18nSimpleBackendAvailableLocalesTest < Test::Unit::TestCase
- def test_available_locales
- @backend = I18n::Backend::Simple.new
- @backend.store_translations 'de', :foo => 'bar'
- @backend.store_translations 'en', :foo => 'foo'
-
- assert_equal ['de', 'en'], @backend.available_locales.map{|locale| locale.to_s }.sort
- end
-end
-
-class I18nSimpleBackendTranslateTest < Test::Unit::TestCase
- include I18nSimpleBackendTestSetup
-
- def test_translate_calls_lookup_with_locale_given
- @backend.expects(:lookup).with('de', :bar, [:foo]).returns 'bar'
- @backend.translate 'de', :bar, :scope => [:foo]
- end
-
- def test_given_no_keys_it_returns_the_default
- assert_equal 'default', @backend.translate('en', nil, :default => 'default')
- end
-
- def test_translate_given_a_symbol_as_a_default_translates_the_symbol
- assert_equal 'bar', @backend.translate('en', nil, :scope => [:foo], :default => :bar)
- end
-
- def test_translate_given_an_array_as_default_uses_the_first_match
- assert_equal 'bar', @backend.translate('en', :does_not_exist, :scope => [:foo], :default => [:does_not_exist_2, :bar])
- end
-
- def test_translate_given_an_array_of_inexistent_keys_it_raises_missing_translation_data
- assert_raise I18n::MissingTranslationData do
- @backend.translate('en', :does_not_exist, :scope => [:foo], :default => [:does_not_exist_2, :does_not_exist_3])
- end
- end
-
- def test_translate_an_array_of_keys_translates_all_of_them
- assert_equal %w(bar baz), @backend.translate('en', [:bar, :baz], :scope => [:foo])
- end
-
- def test_translate_calls_pluralize
- @backend.expects(:pluralize).with 'en', 'bar', 1
- @backend.translate 'en', :bar, :scope => [:foo], :count => 1
- end
-
- def test_translate_calls_interpolate
- @backend.expects(:interpolate).with 'en', 'bar', {}
- @backend.translate 'en', :bar, :scope => [:foo]
- end
-
- def test_translate_calls_interpolate_including_count_as_a_value
- @backend.expects(:interpolate).with 'en', 'bar', {:count => 1}
- @backend.translate 'en', :bar, :scope => [:foo], :count => 1
- end
-
- def test_translate_given_nil_as_a_locale_raises_an_argument_error
- assert_raise(I18n::InvalidLocale){ @backend.translate nil, :bar }
- end
-
- def test_translate_with_a_bogus_key_and_no_default_raises_missing_translation_data
- assert_raise(I18n::MissingTranslationData){ @backend.translate 'de', :bogus }
- end
-end
-
-class I18nSimpleBackendLookupTest < Test::Unit::TestCase
- include I18nSimpleBackendTestSetup
-
- # useful because this way we can use the backend with no key for interpolation/pluralization
- def test_lookup_given_nil_as_a_key_returns_nil
- assert_nil @backend.send(:lookup, 'en', nil)
- end
-
- def test_lookup_given_nested_keys_looks_up_a_nested_hash_value
- assert_equal 'bar', @backend.send(:lookup, 'en', :bar, [:foo])
- end
-end
-
-class I18nSimpleBackendPluralizeTest < Test::Unit::TestCase
- include I18nSimpleBackendTestSetup
-
- def test_pluralize_given_nil_returns_the_given_entry
- entry = {:one => 'bar', :other => 'bars'}
- assert_equal entry, @backend.send(:pluralize, nil, entry, nil)
- end
-
- def test_pluralize_given_0_returns_zero_string_if_zero_key_given
- assert_equal 'zero', @backend.send(:pluralize, nil, {:zero => 'zero', :one => 'bar', :other => 'bars'}, 0)
- end
-
- def test_pluralize_given_0_returns_plural_string_if_no_zero_key_given
- assert_equal 'bars', @backend.send(:pluralize, nil, {:one => 'bar', :other => 'bars'}, 0)
- end
-
- def test_pluralize_given_1_returns_singular_string
- assert_equal 'bar', @backend.send(:pluralize, nil, {:one => 'bar', :other => 'bars'}, 1)
- end
-
- def test_pluralize_given_2_returns_plural_string
- assert_equal 'bars', @backend.send(:pluralize, nil, {:one => 'bar', :other => 'bars'}, 2)
- end
-
- def test_pluralize_given_3_returns_plural_string
- assert_equal 'bars', @backend.send(:pluralize, nil, {:one => 'bar', :other => 'bars'}, 3)
- end
-
- def test_interpolate_given_incomplete_pluralization_data_raises_invalid_pluralization_data
- assert_raise(I18n::InvalidPluralizationData){ @backend.send(:pluralize, nil, {:one => 'bar'}, 2) }
- end
-
- # def test_interpolate_given_a_string_raises_invalid_pluralization_data
- # assert_raise(I18n::InvalidPluralizationData){ @backend.send(:pluralize, nil, 'bar', 2) }
- # end
- #
- # def test_interpolate_given_an_array_raises_invalid_pluralization_data
- # assert_raise(I18n::InvalidPluralizationData){ @backend.send(:pluralize, nil, ['bar'], 2) }
- # end
-end
-
-class I18nSimpleBackendInterpolateTest < Test::Unit::TestCase
- include I18nSimpleBackendTestSetup
-
- def test_interpolate_given_a_value_hash_interpolates_the_values_to_the_string
- assert_equal 'Hi David!', @backend.send(:interpolate, nil, 'Hi {{name}}!', :name => 'David')
- end
-
- def test_interpolate_given_a_value_hash_interpolates_into_unicode_string
- assert_equal 'Häi David!', @backend.send(:interpolate, nil, 'Häi {{name}}!', :name => 'David')
- end
-
- def test_interpolate_given_an_unicode_value_hash_interpolates_to_the_string
- assert_equal 'Hi ゆきひろ!', @backend.send(:interpolate, nil, 'Hi {{name}}!', :name => 'ゆきひろ')
- end
-
- def test_interpolate_given_an_unicode_value_hash_interpolates_into_unicode_string
- assert_equal 'こんにちは、ゆきひろさん!', @backend.send(:interpolate, nil, 'こんにちは、{{name}}さん!', :name => 'ゆきひろ')
- end
-
- if Kernel.const_defined?(:Encoding)
- def test_interpolate_given_a_non_unicode_multibyte_value_hash_interpolates_into_a_string_with_the_same_encoding
- assert_equal euc_jp('Hi ゆきひろ!'), @backend.send(:interpolate, nil, 'Hi {{name}}!', :name => euc_jp('ゆきひろ'))
- end
-
- def test_interpolate_given_an_unicode_value_hash_into_a_non_unicode_multibyte_string_raises_encoding_compatibility_error
- assert_raise(Encoding::CompatibilityError) do
- @backend.send(:interpolate, nil, euc_jp('こんにちは、{{name}}さん!'), :name => 'ゆきひろ')
- end
- end
-
- def test_interpolate_given_a_non_unicode_multibyte_value_hash_into_an_unicode_string_raises_encoding_compatibility_error
- assert_raise(Encoding::CompatibilityError) do
- @backend.send(:interpolate, nil, 'こんにちは、{{name}}さん!', :name => euc_jp('ゆきひろ'))
- end
- end
- end
-
- def test_interpolate_given_nil_as_a_string_returns_nil
- assert_nil @backend.send(:interpolate, nil, nil, :name => 'David')
- end
-
- def test_interpolate_given_an_non_string_as_a_string_returns_nil
- assert_equal [], @backend.send(:interpolate, nil, [], :name => 'David')
- end
-
- def test_interpolate_given_a_values_hash_with_nil_values_interpolates_the_string
- assert_equal 'Hi !', @backend.send(:interpolate, nil, 'Hi {{name}}!', {:name => nil})
- end
-
- def test_interpolate_given_an_empty_values_hash_raises_missing_interpolation_argument
- assert_raise(I18n::MissingInterpolationArgument) { @backend.send(:interpolate, nil, 'Hi {{name}}!', {}) }
- end
-
- def test_interpolate_given_a_string_containing_a_reserved_key_raises_reserved_interpolation_key
- assert_raise(I18n::ReservedInterpolationKey) { @backend.send(:interpolate, nil, '{{default}}', {:default => nil}) }
- end
-
- private
-
- def euc_jp(string)
- string.encode!(Encoding::EUC_JP)
- end
-end
-
-class I18nSimpleBackendLocalizeDateTest < Test::Unit::TestCase
- include I18nSimpleBackendTestSetup
-
- def setup
- @backend = I18n::Backend::Simple.new
- add_datetime_translations
- @date = Date.new 2008, 1, 1
- end
-
- def test_translate_given_the_short_format_it_uses_it
- assert_equal '01. Jan', @backend.localize('de', @date, :short)
- end
-
- def test_translate_given_the_long_format_it_uses_it
- assert_equal '01. Januar 2008', @backend.localize('de', @date, :long)
- end
-
- def test_translate_given_the_default_format_it_uses_it
- assert_equal '01.01.2008', @backend.localize('de', @date, :default)
- end
-
- def test_translate_given_a_day_name_format_it_returns_a_day_name
- assert_equal 'Dienstag', @backend.localize('de', @date, '%A')
- end
-
- def test_translate_given_an_abbr_day_name_format_it_returns_an_abbrevated_day_name
- assert_equal 'Di', @backend.localize('de', @date, '%a')
- end
-
- def test_translate_given_a_month_name_format_it_returns_a_month_name
- assert_equal 'Januar', @backend.localize('de', @date, '%B')
- end
-
- def test_translate_given_an_abbr_month_name_format_it_returns_an_abbrevated_month_name
- assert_equal 'Jan', @backend.localize('de', @date, '%b')
- end
-
- def test_translate_given_no_format_it_does_not_fail
- assert_nothing_raised{ @backend.localize 'de', @date }
- end
-
- def test_translate_given_an_unknown_format_it_does_not_fail
- assert_nothing_raised{ @backend.localize 'de', @date, '%x' }
- end
-
- def test_localize_nil_raises_argument_error
- assert_raise(I18n::ArgumentError) { @backend.localize 'de', nil }
- end
-
- def test_localize_object_raises_argument_error
- assert_raise(I18n::ArgumentError) { @backend.localize 'de', Object.new }
- end
-end
-
-class I18nSimpleBackendLocalizeDateTimeTest < Test::Unit::TestCase
- include I18nSimpleBackendTestSetup
-
- def setup
- @backend = I18n::Backend::Simple.new
- add_datetime_translations
- @morning = DateTime.new 2008, 1, 1, 6
- @evening = DateTime.new 2008, 1, 1, 18
- end
-
- def test_translate_given_the_short_format_it_uses_it
- assert_equal '01. Jan 06:00', @backend.localize('de', @morning, :short)
- end
-
- def test_translate_given_the_long_format_it_uses_it
- assert_equal '01. Januar 2008 06:00', @backend.localize('de', @morning, :long)
- end
-
- def test_translate_given_the_default_format_it_uses_it
- assert_equal 'Di, 01. Jan 2008 06:00:00 +0000', @backend.localize('de', @morning, :default)
- end
-
- def test_translate_given_a_day_name_format_it_returns_the_correct_day_name
- assert_equal 'Dienstag', @backend.localize('de', @morning, '%A')
- end
-
- def test_translate_given_an_abbr_day_name_format_it_returns_the_correct_abbrevated_day_name
- assert_equal 'Di', @backend.localize('de', @morning, '%a')
- end
-
- def test_translate_given_a_month_name_format_it_returns_the_correct_month_name
- assert_equal 'Januar', @backend.localize('de', @morning, '%B')
- end
-
- def test_translate_given_an_abbr_month_name_format_it_returns_the_correct_abbrevated_month_name
- assert_equal 'Jan', @backend.localize('de', @morning, '%b')
- end
-
- def test_translate_given_a_meridian_indicator_format_it_returns_the_correct_meridian_indicator
- assert_equal 'am', @backend.localize('de', @morning, '%p')
- assert_equal 'pm', @backend.localize('de', @evening, '%p')
- end
-
- def test_translate_given_no_format_it_does_not_fail
- assert_nothing_raised{ @backend.localize 'de', @morning }
- end
-
- def test_translate_given_an_unknown_format_it_does_not_fail
- assert_nothing_raised{ @backend.localize 'de', @morning, '%x' }
- end
-end
-
-class I18nSimpleBackendLocalizeTimeTest < Test::Unit::TestCase
- include I18nSimpleBackendTestSetup
-
- def setup
- @old_timezone, ENV['TZ'] = ENV['TZ'], 'UTC'
- @backend = I18n::Backend::Simple.new
- add_datetime_translations
- @morning = Time.parse '2008-01-01 6:00 UTC'
- @evening = Time.parse '2008-01-01 18:00 UTC'
- end
-
- def teardown
- @old_timezone ? ENV['TZ'] = @old_timezone : ENV.delete('TZ')
- end
-
- def test_translate_given_the_short_format_it_uses_it
- assert_equal '01. Jan 06:00', @backend.localize('de', @morning, :short)
- end
-
- def test_translate_given_the_long_format_it_uses_it
- assert_equal '01. Januar 2008 06:00', @backend.localize('de', @morning, :long)
- end
-
- # TODO Seems to break on Windows because ENV['TZ'] is ignored. What's a better way to do this?
- # def test_translate_given_the_default_format_it_uses_it
- # assert_equal 'Di, 01. Jan 2008 06:00:00 +0000', @backend.localize('de', @morning, :default)
- # end
-
- def test_translate_given_a_day_name_format_it_returns_the_correct_day_name
- assert_equal 'Dienstag', @backend.localize('de', @morning, '%A')
- end
-
- def test_translate_given_an_abbr_day_name_format_it_returns_the_correct_abbrevated_day_name
- assert_equal 'Di', @backend.localize('de', @morning, '%a')
- end
-
- def test_translate_given_a_month_name_format_it_returns_the_correct_month_name
- assert_equal 'Januar', @backend.localize('de', @morning, '%B')
- end
-
- def test_translate_given_an_abbr_month_name_format_it_returns_the_correct_abbrevated_month_name
- assert_equal 'Jan', @backend.localize('de', @morning, '%b')
- end
-
- def test_translate_given_a_meridian_indicator_format_it_returns_the_correct_meridian_indicator
- assert_equal 'am', @backend.localize('de', @morning, '%p')
- assert_equal 'pm', @backend.localize('de', @evening, '%p')
- end
-
- def test_translate_given_no_format_it_does_not_fail
- assert_nothing_raised{ @backend.localize 'de', @morning }
- end
-
- def test_translate_given_an_unknown_format_it_does_not_fail
- assert_nothing_raised{ @backend.localize 'de', @morning, '%x' }
- end
-end
-
-class I18nSimpleBackendHelperMethodsTest < Test::Unit::TestCase
- def setup
- @backend = I18n::Backend::Simple.new
- end
-
- def test_deep_symbolize_keys_works
- result = @backend.send :deep_symbolize_keys, 'foo' => {'bar' => {'baz' => 'bar'}}
- expected = {:foo => {:bar => {:baz => 'bar'}}}
- assert_equal expected, result
- end
-end
-
-class I18nSimpleBackendLoadTranslationsTest < Test::Unit::TestCase
- include I18nSimpleBackendTestSetup
-
- def test_load_translations_with_unknown_file_type_raises_exception
- assert_raise(I18n::UnknownFileType) { @backend.load_translations "#{@locale_dir}/en.xml" }
- end
-
- def test_load_translations_with_ruby_file_type_does_not_raise_exception
- assert_nothing_raised { @backend.load_translations "#{@locale_dir}/en.rb" }
- end
-
- def test_load_rb_loads_data_from_ruby_file
- data = @backend.send :load_rb, "#{@locale_dir}/en.rb"
- assert_equal({:'en-Ruby' => {:foo => {:bar => "baz"}}}, data)
- end
-
- def test_load_rb_loads_data_from_yaml_file
- data = @backend.send :load_yml, "#{@locale_dir}/en.yml"
- assert_equal({'en-Yaml' => {'foo' => {'bar' => 'baz'}}}, data)
- end
-
- def test_load_translations_loads_from_different_file_formats
- @backend = I18n::Backend::Simple.new
- @backend.load_translations "#{@locale_dir}/en.rb", "#{@locale_dir}/en.yml"
- expected = {
- :'en-Ruby' => {:foo => {:bar => "baz"}},
- :'en-Yaml' => {:foo => {:bar => "baz"}}
- }
- assert_equal expected, backend_get_translations
- end
-end
-
-class I18nSimpleBackendLoadPathTest < Test::Unit::TestCase
- include I18nSimpleBackendTestSetup
-
- def teardown
- I18n.load_path = []
- end
-
- def test_nested_load_paths_do_not_break_locale_loading
- @backend = I18n::Backend::Simple.new
- I18n.load_path = [[File.dirname(__FILE__) + '/locale/en.yml']]
- assert_nil backend_get_translations
- assert_nothing_raised { @backend.send :init_translations }
- assert_not_nil backend_get_translations
- end
-
- def test_adding_arrays_of_filenames_to_load_path_do_not_break_locale_loading
- @backend = I18n::Backend::Simple.new
- I18n.load_path << Dir[File.dirname(__FILE__) + '/locale/*.{rb,yml}']
- assert_nil backend_get_translations
- assert_nothing_raised { @backend.send :init_translations }
- assert_not_nil backend_get_translations
- end
-end
-
-class I18nSimpleBackendReloadTranslationsTest < Test::Unit::TestCase
- include I18nSimpleBackendTestSetup
-
- def setup
- @backend = I18n::Backend::Simple.new
- I18n.load_path = [File.dirname(__FILE__) + '/locale/en.yml']
- assert_nil backend_get_translations
- @backend.send :init_translations
- end
-
- def teardown
- I18n.load_path = []
- end
-
- def test_setup
- assert_not_nil backend_get_translations
- end
-
- def test_reload_translations_unloads_translations
- @backend.reload!
- assert_nil backend_get_translations
- end
-
- def test_reload_translations_uninitializes_translations
- @backend.reload!
- assert_equal @backend.initialized?, false
- end
-end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/xml_mini/libxml.rb b/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/xml_mini/libxml.rb
deleted file mode 100755
index 3586b24a6b9..00000000000
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/xml_mini/libxml.rb
+++ /dev/null
@@ -1,133 +0,0 @@
-require 'libxml'
-
-# = XmlMini LibXML implementation
-module ActiveSupport
- module XmlMini_LibXML #:nodoc:
- extend self
-
- # Parse an XML Document string into a simple hash using libxml.
- # string::
- # XML Document string to parse
- def parse(string)
- LibXML::XML.default_keep_blanks = false
-
- if string.blank?
- {}
- else
- LibXML::XML::Parser.string(string.strip).parse.to_hash
- end
- end
-
- end
-end
-
-module LibXML
- module Conversions
- module Document
- def to_hash
- root.to_hash
- end
- end
-
- module Node
- CONTENT_ROOT = '__content__'
- LIB_XML_LIMIT = 30000000 # Hardcoded LibXML limit
-
- # Convert XML document to hash
- #
- # hash::
- # Hash to merge the converted element into.
- def to_hash(hash={})
- if text?
- raise LibXML::XML::Error if content.length >= LIB_XML_LIMIT
- hash[CONTENT_ROOT] = content
- else
- sub_hash = insert_name_into_hash(hash, name)
- attributes_to_hash(sub_hash)
- if array?
- children_array_to_hash(sub_hash)
- elsif yaml?
- children_yaml_to_hash(sub_hash)
- else
- children_to_hash(sub_hash)
- end
- end
- hash
- end
-
- protected
-
- # Insert name into hash
- #
- # hash::
- # Hash to merge the converted element into.
- # name::
- # name to to merge into hash
- def insert_name_into_hash(hash, name)
- sub_hash = {}
- if hash[name]
- if !hash[name].kind_of? Array
- hash[name] = [hash[name]]
- end
- hash[name] << sub_hash
- else
- hash[name] = sub_hash
- end
- sub_hash
- end
-
- # Insert children into hash
- #
- # hash::
- # Hash to merge the children into.
- def children_to_hash(hash={})
- each { |child| child.to_hash(hash) }
- attributes_to_hash(hash)
- hash
- end
-
- # Convert xml attributes to hash
- #
- # hash::
- # Hash to merge the attributes into
- def attributes_to_hash(hash={})
- each_attr { |attr| hash[attr.name] = attr.value }
- hash
- end
-
- # Convert array into hash
- #
- # hash::
- # Hash to merge the array into
- def children_array_to_hash(hash={})
- hash[child.name] = map do |child|
- returning({}) { |sub_hash| child.children_to_hash(sub_hash) }
- end
- hash
- end
-
- # Convert yaml into hash
- #
- # hash::
- # Hash to merge the yaml into
- def children_yaml_to_hash(hash = {})
- hash[CONTENT_ROOT] = content unless content.blank?
- hash
- end
-
- # Check if child is of type array
- def array?
- child? && child.next? && child.name == child.next.name
- end
-
- # Check if child is of type yaml
- def yaml?
- attributes.collect{|x| x.value}.include?('yaml')
- end
-
- end
- end
-end
-
-LibXML::XML::Document.send(:include, LibXML::Conversions::Document)
-LibXML::XML::Node.send(:include, LibXML::Conversions::Node)
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/xml_mini/nokogiri.rb b/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/xml_mini/nokogiri.rb
deleted file mode 100755
index f3c64c6a227..00000000000
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/xml_mini/nokogiri.rb
+++ /dev/null
@@ -1,69 +0,0 @@
-require 'nokogiri'
-
-# = XmlMini Nokogiri implementation
-module ActiveSupport
- module XmlMini_Nokogiri #:nodoc:
- extend self
-
- # Parse an XML Document string into a simple hash using libxml / nokogiri.
- # string::
- # XML Document string to parse
- def parse(string)
- if string.blank?
- {}
- else
- doc = Nokogiri::XML(string) { |cfg| cfg.noblanks }
- raise doc.errors.first if doc.errors.length > 0
- doc.to_hash
- end
- end
-
- module Conversions
- module Document
- def to_hash
- root.to_hash
- end
- end
-
- module Node
- CONTENT_ROOT = '__content__'
-
- # Convert XML document to hash
- #
- # hash::
- # Hash to merge the converted element into.
- def to_hash(hash = {})
- attributes = attributes_as_hash
- if hash[name]
- hash[name] = [hash[name]].flatten
- hash[name] << attributes
- else
- hash[name] ||= attributes
- end
-
- children.each { |child|
- next if child.blank? && 'file' != self['type']
-
- if child.text? || child.cdata?
- (attributes[CONTENT_ROOT] ||= '') << child.content
- next
- end
-
- child.to_hash attributes
- }
-
- hash
- end
-
- def attributes_as_hash
- Hash[*(attribute_nodes.map { |node|
- [node.node_name, node.value]
- }.flatten)]
- end
- end
- end
-
- Nokogiri::XML::Document.send(:include, Conversions::Document)
- Nokogiri::XML::Node.send(:include, Conversions::Node)
- end
-end
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/about b/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/about
deleted file mode 100755
index 1eeb6eb9159..00000000000
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/about
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/usr/bin/env ruby
-require File.expand_path('../../config/boot', __FILE__)
-$LOAD_PATH.unshift "#{RAILTIES_PATH}/builtin/rails_info"
-require 'commands/about'
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/console b/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/console
deleted file mode 100755
index 235a1f27804..00000000000
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/console
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/usr/bin/env ruby
-require File.expand_path('../../config/boot', __FILE__)
-require 'commands/console'
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/dbconsole b/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/dbconsole
deleted file mode 100755
index 83c8436a9d9..00000000000
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/dbconsole
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/usr/bin/env ruby
-require File.expand_path('../../config/boot', __FILE__)
-require 'commands/dbconsole'
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/destroy b/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/destroy
deleted file mode 100755
index 88d295f7aa0..00000000000
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/destroy
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/usr/bin/env ruby
-require File.expand_path('../../config/boot', __FILE__)
-require 'commands/destroy'
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/generate b/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/generate
deleted file mode 100755
index 62a8a4c0c53..00000000000
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/generate
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/usr/bin/env ruby
-require File.expand_path('../../config/boot', __FILE__)
-require 'commands/generate'
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/performance/benchmarker b/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/performance/benchmarker
deleted file mode 100755
index 3bff809fb39..00000000000
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/performance/benchmarker
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/usr/bin/env ruby
-require File.expand_path('../../../config/boot', __FILE__)
-require 'commands/performance/benchmarker'
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/performance/profiler b/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/performance/profiler
deleted file mode 100755
index 07640575cd6..00000000000
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/performance/profiler
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/usr/bin/env ruby
-require File.expand_path('../../../config/boot', __FILE__)
-require 'commands/performance/profiler'
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/plugin b/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/plugin
deleted file mode 100755
index b82201fa833..00000000000
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/plugin
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/usr/bin/env ruby
-require File.expand_path('../../config/boot', __FILE__)
-require 'commands/plugin'
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/rails b/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/rails
deleted file mode 100755
index 6a0c675206c..00000000000
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/rails
+++ /dev/null
@@ -1,20 +0,0 @@
-require File.dirname(__FILE__) + '/../lib/ruby_version_check'
-Signal.trap("INT") { puts; exit }
-
-require File.dirname(__FILE__) + '/../lib/rails/version'
-if %w(--version -v).include? ARGV.first
- puts "Rails #{Rails::VERSION::STRING}"
- exit(0)
-end
-
-freeze = ARGV.any? { |option| %w(--freeze -f).include?(option) }
-
-app_path = ARGV.first
-
-require File.dirname(__FILE__) + '/../lib/rails_generator'
-
-require 'rails_generator/scripts/generate'
-Rails::Generator::Base.use_application_sources!
-Rails::Generator::Scripts::Generate.new.run(ARGV, :generator => 'app')
-
-Dir.chdir(app_path) { `rake rails:freeze:gems`; puts "froze" } if freeze \ No newline at end of file
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/runner b/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/runner
deleted file mode 100755
index be4c5d4572e..00000000000
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/runner
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/usr/bin/env ruby
-require File.expand_path('../../config/boot', __FILE__)
-require 'commands/runner'
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/server b/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/server
deleted file mode 100755
index b9fcb717935..00000000000
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/server
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/usr/bin/env ruby
-require File.expand_path('../../config/boot', __FILE__)
-require 'commands/server'
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/doc/README_FOR_APP b/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/doc/README_FOR_APP
deleted file mode 100644
index fe41f5cc24d..00000000000
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/doc/README_FOR_APP
+++ /dev/null
@@ -1,2 +0,0 @@
-Use this README file to introduce your application and point to useful places in the API for learning more.
-Run "rake doc:app" to generate API documentation for your models, controllers, helpers, and libraries.
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/html/images/rails.png b/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/html/images/rails.png
deleted file mode 100644
index 75a30e4e636..00000000000
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/html/images/rails.png
+++ /dev/null
Binary files differ
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/test_helper.rb b/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/test_helper.rb
deleted file mode 100644
index cf148b8b474..00000000000
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/test_helper.rb
+++ /dev/null
@@ -1,3 +0,0 @@
-require 'rubygems'
-require 'active_support'
-require 'active_support/test_case' \ No newline at end of file
diff --git a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/tasks/rails.rb b/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/tasks/rails.rb
deleted file mode 100644
index 0600a05a543..00000000000
--- a/sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/tasks/rails.rb
+++ /dev/null
@@ -1,9 +0,0 @@
-$VERBOSE = nil
-
-# Load Rails rakefile extensions
-Dir["#{File.dirname(__FILE__)}/*.rake"].each { |ext| load ext }
-
-# Load any custom rakefile extensions
-Dir["#{RAILS_ROOT}/vendor/plugins/*/tasks/**/*.rake"].sort.each { |ext| load ext }
-Dir["#{RAILS_ROOT}/vendor/plugins/*/lib/tasks/**/*.rake"].sort.each { |ext| load ext }
-Dir["#{RAILS_ROOT}/lib/tasks/**/*.rake"].sort.each { |ext| load ext }
diff --git a/sonar-server/src/main/webapp/WEB-INF/web.xml b/sonar-server/src/main/webapp/WEB-INF/web.xml
index 6b9231734a8..4d5b040522e 100644
--- a/sonar-server/src/main/webapp/WEB-INF/web.xml
+++ b/sonar-server/src/main/webapp/WEB-INF/web.xml
@@ -10,21 +10,26 @@
<param-name>public.root</param-name>
<param-value>/</param-value>
</context-param>
-
<context-param>
<param-name>rails.env</param-name>
<param-value>production</param-value>
</context-param>
-
<context-param>
<param-name>jruby.min.runtimes</param-name>
<param-value>1</param-value>
</context-param>
-
<context-param>
<param-name>jruby.max.runtimes</param-name>
<param-value>1</param-value>
</context-param>
+ <context-param>
+ <param-name>jruby.compat.version</param-name>
+ <param-value>1.8</param-value>
+ </context-param>
+ <context-param>
+ <param-name>jruby.rack.logging</param-name>
+ <param-value>slf4j</param-value>
+ </context-param>
<filter>
<filter-name>ServletFilters</filter-name>