From 1bae22140048e9d48f686ff3a0bd8388b3d016a8 Mon Sep 17 00:00:00 2001 From: Simon Brandhof Date: Thu, 6 Sep 2012 09:33:36 +0200 Subject: [PATCH] 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 --- pom.xml | 19 +- sonar-plugin-api/pom.xml | 1 - sonar-server/pom.xml | 3 - .../main/webapp/WEB-INF/config/environment.rb | 11 +- .../WEB-INF/config/environments/production.rb | 2 +- .../gems/actionpack-2.3.14}/CHANGELOG | 70 +- .../gems/actionpack-2.3.14}/MIT-LICENSE | 2 +- .../gems/actionpack-2.3.14}/README | 14 +- .../gems/actionpack-2.3.14}/Rakefile | 14 +- .../gems/actionpack-2.3.14}/install.rb | 0 .../lib/action_controller.rb | 4 +- .../assertions/dom_assertions.rb | 0 .../assertions/model_assertions.rb | 0 .../assertions/response_assertions.rb | 27 +- .../assertions/routing_assertions.rb | 0 .../assertions/selector_assertions.rb | 0 .../assertions/tag_assertions.rb | 0 .../lib/action_controller/base.rb | 34 +- .../lib/action_controller/benchmarking.rb | 0 .../lib/action_controller/caching.rb | 0 .../lib/action_controller/caching/actions.rb | 0 .../action_controller/caching/fragments.rb | 10 +- .../lib/action_controller/caching/pages.rb | 0 .../lib/action_controller/caching/sweeper.rb | 0 .../lib/action_controller/caching/sweeping.rb | 0 .../lib/action_controller/cgi_ext.rb | 0 .../lib/action_controller/cgi_ext/cookie.rb | 0 .../cgi_ext/query_extension.rb | 0 .../lib/action_controller/cgi_ext/stdinput.rb | 0 .../lib/action_controller/cgi_process.rb | 0 .../lib/action_controller/cookies.rb | 197 ++ .../lib/action_controller/dispatcher.rb | 0 .../lib/action_controller/failsafe.rb | 1 + .../lib/action_controller/filters.rb | 0 .../lib/action_controller/flash.rb | 42 + .../lib/action_controller/headers.rb | 0 .../lib/action_controller/helpers.rb | 0 .../action_controller/http_authentication.rb | 0 .../lib/action_controller/integration.rb | 32 +- .../lib/action_controller/layout.rb | 0 .../lib/action_controller/middleware_stack.rb | 0 .../lib/action_controller/middlewares.rb | 0 .../lib/action_controller/mime_responds.rb | 0 .../lib/action_controller/mime_type.rb | 0 .../lib/action_controller/mime_types.rb | 0 .../lib/action_controller/params_parser.rb | 0 .../lib/action_controller/performance_test.rb | 0 .../action_controller/polymorphic_routes.rb | 2 +- .../lib/action_controller/rack_lint_patch.rb | 2 +- .../action_controller/record_identifier.rb | 0 .../lib/action_controller/reloader.rb | 0 .../lib/action_controller/request.rb | 6 +- .../request_forgery_protection.rb | 15 +- .../lib/action_controller/rescue.rb | 4 +- .../lib/action_controller/resources.rb | 2 +- .../lib/action_controller/response.rb | 14 +- .../lib/action_controller/routing.rb | 2 +- .../lib/action_controller/routing/builder.rb | 0 .../routing/optimisations.rb | 0 .../routing/recognition_optimisation.rb | 0 .../lib/action_controller/routing/route.rb | 6 +- .../action_controller/routing/route_set.rb | 1 + .../action_controller/routing/routing_ext.rb | 0 .../lib/action_controller/routing/segments.rb | 0 .../session/abstract_store.rb | 276 ++ .../action_controller/session/cookie_store.rb | 91 +- .../session/mem_cache_store.rb | 11 +- .../action_controller/session_management.rb | 0 .../lib/action_controller/status_codes.rb | 0 .../lib/action_controller/streaming.rb | 0 .../lib/action_controller/string_coercion.rb | 0 .../rescues/_request_and_response.erb | 22 +- .../templates/rescues/_trace.erb | 26 + .../templates/rescues/diagnostics.erb | 11 + .../templates/rescues/layout.erb | 29 + .../templates/rescues/missing_template.erb | 0 .../templates/rescues/routing_error.erb | 10 + .../templates/rescues/template_error.erb | 21 + .../templates/rescues/unknown_action.erb | 0 .../lib/action_controller/test_case.rb | 0 .../lib/action_controller/test_process.rb | 2 +- .../lib/action_controller/translation.rb | 0 .../lib/action_controller/uploaded_file.rb | 0 .../lib/action_controller/url_rewriter.rb | 17 +- .../action_controller/vendor/html-scanner.rb | 0 .../vendor/html-scanner/html/document.rb | 0 .../vendor/html-scanner/html/node.rb | 2 +- .../vendor/html-scanner/html/sanitizer.rb | 0 .../vendor/html-scanner/html/selector.rb | 0 .../vendor/html-scanner/html/tokenizer.rb | 0 .../vendor/html-scanner/html/version.rb | 0 .../lib/action_controller/verification.rb | 0 .../actionpack-2.3.14}/lib/action_pack.rb | 2 +- .../lib/action_pack/version.rb | 2 +- .../actionpack-2.3.14}/lib/action_view.rb | 6 +- .../lib/action_view/base.rb | 0 .../lib/action_view/helpers.rb | 2 + .../helpers/active_record_helper.rb | 22 +- .../action_view/helpers/asset_tag_helper.rb | 5 +- .../action_view/helpers/atom_feed_helper.rb | 0 .../action_view/helpers/benchmark_helper.rb | 0 .../lib/action_view/helpers/cache_helper.rb | 0 .../lib/action_view/helpers/capture_helper.rb | 4 +- .../lib/action_view/helpers/csrf_helper.rb | 14 + .../lib/action_view/helpers/date_helper.rb | 23 +- .../lib/action_view/helpers/debug_helper.rb | 4 +- .../lib/action_view/helpers/form_helper.rb | 96 +- .../helpers/form_options_helper.rb | 9 +- .../action_view/helpers/form_tag_helper.rb | 13 +- .../action_view/helpers/javascript_helper.rb | 2 +- .../lib/action_view/helpers/number_helper.rb | 4 +- .../action_view/helpers/prototype_helper.rb | 10 +- .../action_view/helpers/raw_output_helper.rb | 4 +- .../helpers/record_identification_helper.rb | 0 .../action_view/helpers/record_tag_helper.rb | 0 .../action_view/helpers/sanitize_helper.rb | 12 +- .../helpers/scriptaculous_helper.rb | 0 .../lib/action_view/helpers/tag_helper.rb | 11 +- .../lib/action_view/helpers/text_helper.rb | 52 +- .../action_view/helpers/translation_helper.rb | 46 +- .../lib/action_view/helpers/url_helper.rb | 21 +- .../lib/action_view/inline_template.rb | 0 .../lib/action_view/locale/en.yml | 2 +- .../lib/action_view/partials.rb | 3 +- .../lib/action_view/paths.rb | 8 + .../lib/action_view/reloadable_template.rb | 0 .../lib/action_view/renderable.rb | 18 +- .../lib/action_view/renderable_partial.rb | 8 +- .../lib/action_view/template.rb | 4 +- .../lib/action_view/template_error.rb | 0 .../lib/action_view/template_handler.rb | 0 .../lib/action_view/template_handlers.rb | 0 .../action_view/template_handlers/builder.rb | 0 .../lib/action_view/template_handlers/erb.rb | 11 +- .../lib/action_view/template_handlers/rjs.rb | 0 .../lib/action_view/test_case.rb | 2 +- .../gems/actionpack-2.3.14}/lib/actionpack.rb | 0 .../gems/activerecord-2.3.14}/CHANGELOG | 46 + .../gems/activerecord-2.3.14}/README | 0 .../gems/activerecord-2.3.14}/Rakefile | 12 +- .../gems/activerecord-2.3.14}/install.rb | 0 .../activerecord-2.3.14}/lib/active_record.rb | 3 +- .../lib/active_record/aggregations.rb | 0 .../lib/active_record/association_preload.rb | 134 +- .../lib/active_record/associations.rb | 86 +- .../associations/association_collection.rb | 90 +- .../associations/association_proxy.rb | 22 +- .../associations/belongs_to_association.rb | 12 +- .../belongs_to_polymorphic_association.rb | 77 + .../has_and_belongs_to_many_association.rb | 0 .../associations/has_many_association.rb | 5 + .../has_many_through_association.rb | 10 +- .../associations/has_one_association.rb | 11 +- .../has_one_through_association.rb | 0 .../lib/active_record/attribute_methods.rb | 2 +- .../lib/active_record/autosave_association.rb | 105 +- .../lib/active_record/base.rb | 151 +- .../lib/active_record/batches.rb | 22 +- .../lib/active_record/calculations.rb | 40 +- .../lib/active_record/callbacks.rb | 0 .../abstract/connection_pool.rb | 0 .../abstract/connection_specification.rb | 6 +- .../abstract/database_limits.rb | 57 + .../abstract/database_statements.rb | 0 .../abstract/query_cache.rb | 2 +- .../connection_adapters/abstract/quoting.rb | 10 +- .../abstract/schema_definitions.rb | 2 +- .../abstract/schema_statements.rb | 78 +- .../connection_adapters/abstract_adapter.rb | 8 + .../connection_adapters/mysql_adapter.rb | 36 +- .../connection_adapters/postgresql_adapter.rb | 97 +- .../connection_adapters/sqlite3_adapter.rb | 2 +- .../connection_adapters/sqlite_adapter.rb | 15 +- .../lib/active_record/dirty.rb | 6 +- .../lib/active_record/dynamic_finder_match.rb | 0 .../lib/active_record/dynamic_scope_match.rb | 0 .../lib/active_record/fixtures.rb | 1 + .../lib/active_record/locale/en.yml | 22 +- .../lib/active_record/locking/optimistic.rb | 36 +- .../lib/active_record/locking/pessimistic.rb | 0 .../lib/active_record/migration.rb | 7 +- .../lib/active_record/named_scope.rb | 25 +- .../lib/active_record/nested_attributes.rb | 116 +- .../lib/active_record/observer.rb | 0 .../lib/active_record/query_cache.rb | 0 .../lib/active_record/reflection.rb | 67 +- .../lib/active_record/schema.rb | 6 +- .../lib/active_record/schema_dumper.rb | 3 + .../lib/active_record/serialization.rb | 2 +- .../serializers/json_serializer.rb | 2 +- .../serializers/xml_serializer.rb | 0 .../lib/active_record/session_store.rb | 10 +- .../lib/active_record/test_case.rb | 0 .../lib/active_record/timestamp.rb | 0 .../lib/active_record/transactions.rb | 0 .../lib/active_record/validations.rb | 39 +- .../lib/active_record/version.rb | 2 +- .../activerecord-2.3.14}/lib/activerecord.rb | 0 .../activerecord-jdbc-adapter-1.1.3/.gemtest | 0 .../.specification | 0 .../History.txt | 0 .../LICENSE.txt | 0 .../Manifest.txt | 0 .../README.txt | 0 .../activerecord-jdbc-adapter-1.1.3/Rakefile | 0 .../connection_adapters/derby_adapter.rb | 0 .../connection_adapters/h2_adapter.rb | 0 .../connection_adapters/hsqldb_adapter.rb | 0 .../connection_adapters/informix_adapter.rb | 0 .../connection_adapters/jdbc_adapter.rb | 0 .../connection_adapters/jndi_adapter.rb | 0 .../connection_adapters/mssql_adapter.rb | 0 .../connection_adapters/mysql2_adapter.rb | 0 .../connection_adapters/mysql_adapter.rb | 0 .../connection_adapters/oracle_adapter.rb | 0 .../connection_adapters/postgresql_adapter.rb | 0 .../connection_adapters/sqlite3_adapter.rb | 0 .../lib/activerecord-jdbc-adapter.rb | 0 .../engines/sql/compilers/db2_compiler.rb | 0 .../engines/sql/compilers/derby_compiler.rb | 0 .../arel/engines/sql/compilers/h2_compiler.rb | 0 .../engines/sql/compilers/hsqldb_compiler.rb | 0 .../engines/sql/compilers/jdbc_compiler.rb | 0 .../engines/sql/compilers/mssql_compiler.rb | 0 .../lib/arel/visitors/compat.rb | 0 .../lib/arel/visitors/db2.rb | 0 .../lib/arel/visitors/derby.rb | 0 .../lib/arel/visitors/firebird.rb | 0 .../lib/arel/visitors/hsqldb.rb | 0 .../lib/arel/visitors/sql_server.rb | 0 .../lib/arjdbc.rb | 0 .../lib/arjdbc/db2.rb | 0 .../lib/arjdbc/db2/adapter.rb | 0 .../lib/arjdbc/derby.rb | 0 .../lib/arjdbc/derby/adapter.rb | 0 .../lib/arjdbc/derby/connection_methods.rb | 0 .../lib/arjdbc/discover.rb | 0 .../lib/arjdbc/firebird.rb | 0 .../lib/arjdbc/firebird/adapter.rb | 0 .../lib/arjdbc/h2.rb | 0 .../lib/arjdbc/h2/adapter.rb | 0 .../lib/arjdbc/h2/connection_methods.rb | 0 .../lib/arjdbc/hsqldb.rb | 0 .../lib/arjdbc/hsqldb/adapter.rb | 0 .../lib/arjdbc/hsqldb/connection_methods.rb | 0 .../lib/arjdbc/informix.rb | 0 .../lib/arjdbc/informix/adapter.rb | 0 .../lib/arjdbc/informix/connection_methods.rb | 0 .../lib/arjdbc/jdbc.rb | 0 .../lib/arjdbc/jdbc/adapter.rb | 0 .../lib/arjdbc/jdbc/adapter_java.jar | Bin .../lib/arjdbc/jdbc/callbacks.rb | 0 .../lib/arjdbc/jdbc/column.rb | 0 .../lib/arjdbc/jdbc/compatibility.rb | 0 .../lib/arjdbc/jdbc/connection.rb | 0 .../lib/arjdbc/jdbc/connection_methods.rb | 0 .../lib/arjdbc/jdbc/core_ext.rb | 0 .../lib/arjdbc/jdbc/discover.rb | 0 .../lib/arjdbc/jdbc/driver.rb | 0 .../lib/arjdbc/jdbc/extension.rb | 0 .../lib/arjdbc/jdbc/java.rb | 0 .../lib/arjdbc/jdbc/jdbc.rake | 0 .../jdbc/missing_functionality_helper.rb | 0 .../lib/arjdbc/jdbc/quoted_primary_key.rb | 0 .../lib/arjdbc/jdbc/railtie.rb | 0 .../lib/arjdbc/jdbc/rake_tasks.rb | 0 .../lib/arjdbc/jdbc/require_driver.rb | 0 .../lib/arjdbc/jdbc/type_converter.rb | 0 .../lib/arjdbc/mimer.rb | 0 .../lib/arjdbc/mimer/adapter.rb | 0 .../lib/arjdbc/mssql.rb | 0 .../lib/arjdbc/mssql/adapter.rb | 0 .../lib/arjdbc/mssql/connection_methods.rb | 0 .../lib/arjdbc/mssql/limit_helpers.rb | 0 .../lib/arjdbc/mssql/tsql_helper.rb | 0 .../lib/arjdbc/mysql.rb | 0 .../lib/arjdbc/mysql/adapter.rb | 0 .../lib/arjdbc/mysql/connection_methods.rb | 0 .../lib/arjdbc/oracle.rb | 0 .../lib/arjdbc/oracle/adapter.rb | 0 .../lib/arjdbc/oracle/connection_methods.rb | 0 .../lib/arjdbc/postgresql.rb | 0 .../lib/arjdbc/postgresql/adapter.rb | 0 .../arjdbc/postgresql/connection_methods.rb | 0 .../lib/arjdbc/sqlite3.rb | 0 .../lib/arjdbc/sqlite3/adapter.rb | 0 .../lib/arjdbc/sqlite3/connection_methods.rb | 0 .../lib/arjdbc/sybase.rb | 0 .../lib/arjdbc/sybase/adapter.rb | 0 .../lib/arjdbc/version.rb | 0 .../lib/generators/jdbc/jdbc_generator.rb | 0 .../lib/jdbc_adapter.rb | 0 .../lib/jdbc_adapter/rake_tasks.rb | 0 .../lib/jdbc_adapter/version.rb | 0 .../activerecord-jdbc-adapter-1.1.3/lib/pg.rb | 0 .../.rspec | 0 .../.specification | 0 .../Gemfile | 0 .../History.txt | 0 .../License.txt | 0 .../README.md | 0 .../RUNNING_TESTS.md | 0 .../Rakefile | 0 .../VERSION | 0 ...tiverecord-oracle_enhanced-adapter.gemspec | 0 .../emulation/oracle_adapter.rb | 0 .../connection_adapters/oracle_enhanced.rake | 0 .../oracle_enhanced_activerecord_patches.rb | 0 .../oracle_enhanced_adapter.rb | 0 .../oracle_enhanced_base_ext.rb | 0 .../oracle_enhanced_column.rb | 0 .../oracle_enhanced_connection.rb | 0 .../oracle_enhanced_context_index.rb | 0 .../oracle_enhanced_core_ext.rb | 0 .../oracle_enhanced_cpk.rb | 0 .../oracle_enhanced_dirty.rb | 0 .../oracle_enhanced_jdbc_connection.rb | 0 .../oracle_enhanced_oci_connection.rb | 0 .../oracle_enhanced_procedures.rb | 0 .../oracle_enhanced_schema_definitions.rb | 0 .../oracle_enhanced_schema_dumper.rb | 0 .../oracle_enhanced_schema_statements.rb | 0 .../oracle_enhanced_schema_statements_ext.rb | 0 .../oracle_enhanced_structure_dump.rb | 0 .../oracle_enhanced_tasks.rb | 0 .../oracle_enhanced_version.rb | 0 .../activerecord-oracle_enhanced-adapter.rb | 0 .../gems/activeresource-2.3.14}/CHANGELOG | 14 + .../gems/activeresource-2.3.14}/README | 0 .../gems/activeresource-2.3.14}/Rakefile | 12 +- .../lib/active_resource.rb | 0 .../lib/active_resource/base.rb | 13 +- .../lib/active_resource/connection.rb | 0 .../lib/active_resource/custom_methods.rb | 0 .../lib/active_resource/exceptions.rb | 0 .../lib/active_resource/formats.rb | 0 .../active_resource/formats/json_format.rb | 0 .../lib/active_resource/formats/xml_format.rb | 0 .../lib/active_resource/http_mock.rb | 117 +- .../lib/active_resource/validations.rb | 6 +- .../lib/active_resource/version.rb | 2 +- .../lib/activeresource.rb | 0 .../gems/activesupport-2.3.14}/CHANGELOG | 53 + .../gems/activesupport-2.3.14}/README | 0 .../lib/active_support.rb | 1 + .../lib/active_support/all.rb | 0 .../lib/active_support/backtrace_cleaner.rb | 0 .../lib/active_support/base64.rb | 0 .../lib/active_support/basic_object.rb | 21 + .../lib/active_support/buffered_logger.rb | 4 +- .../lib/active_support/cache.rb | 0 .../cache/compressed_mem_cache_store.rb | 0 .../lib/active_support/cache/drb_store.rb | 0 .../lib/active_support/cache/file_store.rb | 0 .../active_support/cache/mem_cache_store.rb | 0 .../lib/active_support/cache/memory_store.rb | 8 +- .../cache/strategy/local_cache.rb | 2 +- .../cache/synchronized_memory_store.rb | 0 .../lib/active_support/callbacks.rb | 0 .../lib/active_support/core_ext.rb | 0 .../lib/active_support/core_ext/array.rb | 0 .../active_support/core_ext/array/access.rb | 0 .../core_ext/array/conversions.rb | 2 +- .../core_ext/array/extract_options.rb | 0 .../active_support/core_ext/array/grouping.rb | 2 +- .../core_ext/array/random_access.rb | 42 + .../active_support/core_ext/array/wrapper.rb | 0 .../lib/active_support/core_ext/base64.rb | 0 .../core_ext/base64/encoding.rb | 0 .../lib/active_support/core_ext/benchmark.rb | 0 .../lib/active_support/core_ext/bigdecimal.rb | 0 .../core_ext/bigdecimal/conversions.rb | 0 .../lib/active_support/core_ext/blank.rb | 0 .../lib/active_support/core_ext/cgi.rb | 0 .../core_ext/cgi/escape_skipping_slashes.rb | 0 .../lib/active_support/core_ext/class.rb | 1 + .../core_ext/class/attribute.rb | 67 + .../core_ext/class/attribute_accessors.rb | 61 + .../core_ext/class/delegating_attributes.rb | 0 .../core_ext/class/inheritable_attributes.rb | 0 .../active_support/core_ext/class/removal.rb | 0 .../lib/active_support/core_ext/date.rb | 0 .../active_support/core_ext/date/behavior.rb | 0 .../core_ext/date/calculations.rb | 18 +- .../core_ext/date/conversions.rb | 0 .../lib/active_support/core_ext/date_time.rb | 0 .../core_ext/date_time/calculations.rb | 0 .../core_ext/date_time/conversions.rb | 17 +- .../lib/active_support/core_ext/duplicable.rb | 0 .../lib/active_support/core_ext/enumerable.rb | 8 +- .../lib/active_support/core_ext/exception.rb | 0 .../lib/active_support/core_ext/file.rb | 0 .../active_support/core_ext/file/atomic.rb | 3 +- .../lib/active_support/core_ext/float.rb | 0 .../active_support/core_ext/float/rounding.rb | 0 .../lib/active_support/core_ext/float/time.rb | 0 .../lib/active_support/core_ext/hash.rb | 0 .../core_ext/hash/conversions.rb | 0 .../core_ext/hash/deep_merge.rb | 0 .../lib/active_support/core_ext/hash/diff.rb | 0 .../active_support/core_ext/hash/except.rb | 0 .../core_ext/hash/indifferent_access.rb | 0 .../lib/active_support/core_ext/hash/keys.rb | 0 .../core_ext/hash/reverse_merge.rb | 0 .../lib/active_support/core_ext/hash/slice.rb | 0 .../lib/active_support/core_ext/integer.rb | 0 .../core_ext/integer/even_odd.rb | 0 .../core_ext/integer/inflections.rb | 0 .../active_support/core_ext/integer/time.rb | 0 .../lib/active_support/core_ext/kernel.rb | 0 .../core_ext/kernel/agnostics.rb | 0 .../core_ext/kernel/daemonizing.rb | 0 .../core_ext/kernel/debugger.rb | 0 .../core_ext/kernel/reporting.rb | 2 +- .../core_ext/kernel/requires.rb | 0 .../core_ext/kernel/singleton_class.rb | 13 + .../lib/active_support/core_ext/load_error.rb | 0 .../lib/active_support/core_ext/logger.rb | 0 .../lib/active_support/core_ext/module.rb | 0 .../core_ext/module/aliasing.rb | 2 +- .../module/attr_accessor_with_default.rb | 2 +- .../core_ext/module/attr_internal.rb | 0 .../core_ext/module/attribute_accessors.rb | 67 + .../core_ext/module/delegation.rb | 0 .../core_ext/module/inclusion.rb | 0 .../core_ext/module/introspection.rb | 0 .../active_support/core_ext/module/loading.rb | 0 .../core_ext/module/model_naming.rb | 0 .../core_ext/module/remove_method.rb | 6 + .../core_ext/module/synchronization.rb | 2 +- .../lib/active_support/core_ext/name_error.rb | 0 .../lib/active_support/core_ext/numeric.rb | 0 .../active_support/core_ext/numeric/bytes.rb | 0 .../core_ext/numeric/conversions.rb | 4 +- .../active_support/core_ext/numeric/time.rb | 0 .../lib/active_support/core_ext/object.rb | 1 + .../active_support/core_ext/object/blank.rb | 22 +- .../core_ext/object/conversions.rb | 0 .../core_ext/object/extending.rb | 0 .../core_ext/object/instance_variables.rb | 0 .../core_ext/object/metaclass.rb | 14 + .../active_support/core_ext/object/misc.rb | 3 + .../core_ext/object/singleton_class.rb | 13 + .../lib/active_support/core_ext/pathname.rb | 0 .../core_ext/pathname/clean_within.rb | 0 .../lib/active_support/core_ext/proc.rb | 0 .../lib/active_support/core_ext/process.rb | 0 .../active_support/core_ext/process/daemon.rb | 0 .../lib/active_support/core_ext/range.rb | 0 .../core_ext/range/blockless_step.rb | 2 +- .../core_ext/range/conversions.rb | 0 .../core_ext/range/include_range.rb | 0 .../active_support/core_ext/range/overlaps.rb | 0 .../lib/active_support/core_ext/rexml.rb | 0 .../lib/active_support/core_ext/string.rb | 1 - .../active_support/core_ext/string/access.rb | 0 .../core_ext/string/behavior.rb | 0 .../core_ext/string/bytesize.rb | 0 .../core_ext/string/conversions.rb | 0 .../active_support/core_ext/string/filters.rb | 0 .../core_ext/string/inflections.rb | 0 .../core_ext/string/iterators.rb | 0 .../core_ext/string/multibyte.rb | 0 .../core_ext/string/output_safety.rb} | 59 +- .../core_ext/string/starts_ends_with.rb | 6 +- .../active_support/core_ext/string/xchar.rb | 0 .../lib/active_support/core_ext/symbol.rb | 0 .../lib/active_support/core_ext/time.rb | 12 +- .../active_support/core_ext/time/behavior.rb | 0 .../core_ext/time/calculations.rb | 15 +- .../core_ext/time/conversions.rb | 0 .../lib/active_support/core_ext/time/zones.rb | 0 .../lib/active_support/core_ext/try.rb | 0 .../lib/active_support/core_ext/uri.rb | 0 .../lib/active_support/dependencies.rb | 50 +- .../lib/active_support/deprecation.rb | 12 +- .../lib/active_support/duration.rb | 0 .../lib/active_support/gzip.rb | 0 .../lib/active_support/inflections.rb | 2 +- .../lib/active_support/inflector.rb | 7 +- .../lib/active_support/json.rb | 0 .../active_support/json/backends/jsongem.rb | 0 .../lib/active_support/json/backends/yajl.rb | 40 + .../lib/active_support/json/backends/yaml.rb | 17 +- .../lib/active_support/json/decoding.rb | 17 +- .../lib/active_support/json/encoders/date.rb | 0 .../active_support/json/encoders/date_time.rb | 0 .../json/encoders/enumerable.rb | 0 .../json/encoders/false_class.rb | 0 .../lib/active_support/json/encoders/hash.rb | 0 .../active_support/json/encoders/nil_class.rb | 0 .../active_support/json/encoders/numeric.rb | 0 .../active_support/json/encoders/object.rb | 0 .../active_support/json/encoders/regexp.rb | 0 .../active_support/json/encoders/string.rb | 0 .../active_support/json/encoders/symbol.rb | 0 .../lib/active_support/json/encoders/time.rb | 0 .../json/encoders/true_class.rb | 0 .../lib/active_support/json/encoding.rb | 13 +- .../lib/active_support/json/variable.rb | 0 .../lib/active_support/locale/en.yml | 5 +- .../lib/active_support/memoizable.rb | 4 +- .../lib/active_support/message_encryptor.rb | 0 .../lib/active_support/message_verifier.rb | 0 .../lib/active_support/multibyte.rb | 0 .../lib/active_support/multibyte/chars.rb | 0 .../active_support/multibyte/exceptions.rb | 0 .../multibyte/unicode_database.rb | 4 +- .../lib/active_support/multibyte/utils.rb | 13 +- .../lib/active_support/option_merger.rb | 0 .../lib/active_support/ordered_hash.rb | 55 +- .../lib/active_support/ordered_options.rb | 0 .../lib/active_support/rescuable.rb | 0 .../lib/active_support/secure_random.rb | 0 .../lib/active_support/string_inquirer.rb | 0 .../lib/active_support/test_case.rb | 0 .../lib/active_support/testing/assertions.rb | 14 + .../lib/active_support/testing/declarative.rb | 0 .../lib/active_support/testing/default.rb | 0 .../lib/active_support/testing/deprecation.rb | 0 .../lib/active_support/testing/performance.rb | 2 +- .../testing/setup_and_teardown.rb | 4 +- .../lib/active_support/time_with_zone.rb | 0 .../lib/active_support/values/time_zone.rb | 164 +- .../active_support/values/unicode_tables.dat | Bin .../lib/active_support/vendor.rb | 12 +- .../vendor/builder-2.1.2/blankslate.rb | 0 .../vendor/builder-2.1.2/builder.rb | 0 .../builder-2.1.2/builder/blankslate.rb | 0 .../vendor/builder-2.1.2/builder/css.rb | 0 .../vendor/builder-2.1.2/builder/xchar.rb | 0 .../vendor/builder-2.1.2/builder/xmlbase.rb | 0 .../vendor/builder-2.1.2/builder/xmlevents.rb | 0 .../vendor/builder-2.1.2/builder/xmlmarkup.rb | 0 .../active_support/vendor/i18n-0.4.1/i18n.rb | 322 +++ .../vendor/i18n-0.4.1}/i18n/backend.rb | 0 .../i18n-0.4.1}/i18n/backend/active_record.rb | 0 .../i18n/backend/active_record/missing.rb | 65 + .../i18n/backend/active_record/store_procs.rb | 0 .../i18n/backend/active_record/translation.rb | 93 + .../vendor/i18n-0.4.1/i18n/backend/base.rb | 237 ++ .../vendor/i18n-0.4.1/i18n/backend/cache.rb | 77 + .../i18n-0.4.1}/i18n/backend/cascade.rb | 0 .../vendor/i18n-0.4.1/i18n/backend/chain.rb | 77 + .../vendor/i18n-0.4.1}/i18n/backend/cldr.rb | 0 .../i18n-0.4.1/i18n/backend/fallbacks.rb | 69 + .../i18n-0.4.1}/i18n/backend/flatten.rb | 0 .../vendor/i18n-0.4.1/i18n/backend/gettext.rb | 75 + .../i18n/backend/interpolation_compiler.rb | 0 .../i18n-0.4.1}/i18n/backend/key_value.rb | 0 .../i18n-0.4.1}/i18n/backend/memoize.rb | 0 .../i18n-0.4.1}/i18n/backend/metadata.rb | 0 .../i18n-0.4.1}/i18n/backend/pluralization.rb | 0 .../vendor/i18n-0.4.1/i18n/backend/simple.rb | 87 + .../i18n/backend/transliterator.rb | 0 .../vendor/i18n-0.4.1/i18n/config.rb | 84 + .../vendor/i18n-0.4.1}/i18n/core_ext/hash.rb | 0 .../i18n/core_ext/string/interpolate.rb | 0 .../vendor/i18n-0.4.1}/i18n/exceptions.rb | 22 +- .../vendor/i18n-0.4.1}/i18n/gettext.rb | 0 .../vendor/i18n-0.4.1/i18n/gettext/helpers.rb | 65 + .../i18n-0.4.1}/i18n/gettext/po_parser.rb | 0 .../vendor/i18n-0.4.1}/i18n/locale.rb | 0 .../i18n-0.4.1}/i18n/locale/fallbacks.rb | 0 .../vendor/i18n-0.4.1}/i18n/locale/tag.rb | 0 .../i18n-0.4.1}/i18n/locale/tag/parents.rb | 0 .../i18n-0.4.1}/i18n/locale/tag/rfc4646.rb | 0 .../i18n-0.4.1}/i18n/locale/tag/simple.rb | 0 .../vendor/i18n-0.4.1/i18n/version.rb | 3 + .../vendor/memcache-client-1.7.4/memcache.rb | 0 .../vendor/tzinfo-0.3.12/tzinfo.rb | 0 .../tzinfo-0.3.12/tzinfo/data_timezone.rb | 0 .../tzinfo/data_timezone_info.rb | 0 .../tzinfo/definitions/Africa/Algiers.rb | 0 .../tzinfo/definitions/Africa/Cairo.rb | 0 .../tzinfo/definitions/Africa/Casablanca.rb | 0 .../tzinfo/definitions/Africa/Harare.rb | 0 .../tzinfo/definitions/Africa/Johannesburg.rb | 0 .../tzinfo/definitions/Africa/Monrovia.rb | 0 .../tzinfo/definitions/Africa/Nairobi.rb | 0 .../America/Argentina/Buenos_Aires.rb | 0 .../definitions/America/Argentina/San_Juan.rb | 0 .../tzinfo/definitions/America/Bogota.rb | 0 .../tzinfo/definitions/America/Caracas.rb | 0 .../tzinfo/definitions/America/Chicago.rb | 0 .../tzinfo/definitions/America/Chihuahua.rb | 0 .../tzinfo/definitions/America/Denver.rb | 0 .../tzinfo/definitions/America/Godthab.rb | 0 .../tzinfo/definitions/America/Guatemala.rb | 0 .../tzinfo/definitions/America/Halifax.rb | 0 .../America/Indiana/Indianapolis.rb | 0 .../tzinfo/definitions/America/Juneau.rb | 0 .../tzinfo/definitions/America/La_Paz.rb | 0 .../tzinfo/definitions/America/Lima.rb | 0 .../tzinfo/definitions/America/Los_Angeles.rb | 0 .../tzinfo/definitions/America/Mazatlan.rb | 0 .../tzinfo/definitions/America/Mexico_City.rb | 0 .../tzinfo/definitions/America/Monterrey.rb | 0 .../tzinfo/definitions/America/New_York.rb | 0 .../tzinfo/definitions/America/Phoenix.rb | 0 .../tzinfo/definitions/America/Regina.rb | 0 .../tzinfo/definitions/America/Santiago.rb | 0 .../tzinfo/definitions/America/Sao_Paulo.rb | 0 .../tzinfo/definitions/America/St_Johns.rb | 0 .../tzinfo/definitions/America/Tijuana.rb | 0 .../tzinfo/definitions/Asia/Almaty.rb | 0 .../tzinfo/definitions/Asia/Baghdad.rb | 0 .../tzinfo/definitions/Asia/Baku.rb | 0 .../tzinfo/definitions/Asia/Bangkok.rb | 0 .../tzinfo/definitions/Asia/Chongqing.rb | 0 .../tzinfo/definitions/Asia/Colombo.rb | 0 .../tzinfo/definitions/Asia/Dhaka.rb | 0 .../tzinfo/definitions/Asia/Hong_Kong.rb | 0 .../tzinfo/definitions/Asia/Irkutsk.rb | 0 .../tzinfo/definitions/Asia/Jakarta.rb | 0 .../tzinfo/definitions/Asia/Jerusalem.rb | 0 .../tzinfo/definitions/Asia/Kabul.rb | 0 .../tzinfo/definitions/Asia/Kamchatka.rb | 0 .../tzinfo/definitions/Asia/Karachi.rb | 0 .../tzinfo/definitions/Asia/Katmandu.rb | 0 .../tzinfo/definitions/Asia/Kolkata.rb | 0 .../tzinfo/definitions/Asia/Krasnoyarsk.rb | 0 .../tzinfo/definitions/Asia/Kuala_Lumpur.rb | 0 .../tzinfo/definitions/Asia/Kuwait.rb | 0 .../tzinfo/definitions/Asia/Magadan.rb | 0 .../tzinfo/definitions/Asia/Muscat.rb | 0 .../tzinfo/definitions/Asia/Novosibirsk.rb | 0 .../tzinfo/definitions/Asia/Rangoon.rb | 0 .../tzinfo/definitions/Asia/Riyadh.rb | 0 .../tzinfo/definitions/Asia/Seoul.rb | 0 .../tzinfo/definitions/Asia/Shanghai.rb | 0 .../tzinfo/definitions/Asia/Singapore.rb | 0 .../tzinfo/definitions/Asia/Taipei.rb | 0 .../tzinfo/definitions/Asia/Tashkent.rb | 0 .../tzinfo/definitions/Asia/Tbilisi.rb | 0 .../tzinfo/definitions/Asia/Tehran.rb | 0 .../tzinfo/definitions/Asia/Tokyo.rb | 0 .../tzinfo/definitions/Asia/Ulaanbaatar.rb | 0 .../tzinfo/definitions/Asia/Urumqi.rb | 0 .../tzinfo/definitions/Asia/Vladivostok.rb | 0 .../tzinfo/definitions/Asia/Yakutsk.rb | 0 .../tzinfo/definitions/Asia/Yekaterinburg.rb | 0 .../tzinfo/definitions/Asia/Yerevan.rb | 0 .../tzinfo/definitions/Atlantic/Azores.rb | 0 .../tzinfo/definitions/Atlantic/Cape_Verde.rb | 0 .../definitions/Atlantic/South_Georgia.rb | 0 .../tzinfo/definitions/Australia/Adelaide.rb | 0 .../tzinfo/definitions/Australia/Brisbane.rb | 0 .../tzinfo/definitions/Australia/Darwin.rb | 0 .../tzinfo/definitions/Australia/Hobart.rb | 0 .../tzinfo/definitions/Australia/Melbourne.rb | 0 .../tzinfo/definitions/Australia/Perth.rb | 0 .../tzinfo/definitions/Australia/Sydney.rb | 0 .../tzinfo/definitions/Etc/UTC.rb | 0 .../tzinfo/definitions/Europe/Amsterdam.rb | 0 .../tzinfo/definitions/Europe/Athens.rb | 0 .../tzinfo/definitions/Europe/Belgrade.rb | 0 .../tzinfo/definitions/Europe/Berlin.rb | 0 .../tzinfo/definitions/Europe/Bratislava.rb | 0 .../tzinfo/definitions/Europe/Brussels.rb | 0 .../tzinfo/definitions/Europe/Bucharest.rb | 0 .../tzinfo/definitions/Europe/Budapest.rb | 0 .../tzinfo/definitions/Europe/Copenhagen.rb | 0 .../tzinfo/definitions/Europe/Dublin.rb | 0 .../tzinfo/definitions/Europe/Helsinki.rb | 0 .../tzinfo/definitions/Europe/Istanbul.rb | 0 .../tzinfo/definitions/Europe/Kiev.rb | 0 .../tzinfo/definitions/Europe/Lisbon.rb | 0 .../tzinfo/definitions/Europe/Ljubljana.rb | 0 .../tzinfo/definitions/Europe/London.rb | 0 .../tzinfo/definitions/Europe/Madrid.rb | 0 .../tzinfo/definitions/Europe/Minsk.rb | 0 .../tzinfo/definitions/Europe/Moscow.rb | 0 .../tzinfo/definitions/Europe/Paris.rb | 0 .../tzinfo/definitions/Europe/Prague.rb | 0 .../tzinfo/definitions/Europe/Riga.rb | 0 .../tzinfo/definitions/Europe/Rome.rb | 0 .../tzinfo/definitions/Europe/Sarajevo.rb | 0 .../tzinfo/definitions/Europe/Skopje.rb | 0 .../tzinfo/definitions/Europe/Sofia.rb | 0 .../tzinfo/definitions/Europe/Stockholm.rb | 0 .../tzinfo/definitions/Europe/Tallinn.rb | 0 .../tzinfo/definitions/Europe/Vienna.rb | 0 .../tzinfo/definitions/Europe/Vilnius.rb | 0 .../tzinfo/definitions/Europe/Warsaw.rb | 0 .../tzinfo/definitions/Europe/Zagreb.rb | 0 .../tzinfo/definitions/Pacific/Auckland.rb | 0 .../tzinfo/definitions/Pacific/Fiji.rb | 0 .../tzinfo/definitions/Pacific/Guam.rb | 0 .../tzinfo/definitions/Pacific/Honolulu.rb | 0 .../tzinfo/definitions/Pacific/Majuro.rb | 0 .../tzinfo/definitions/Pacific/Midway.rb | 0 .../tzinfo/definitions/Pacific/Noumea.rb | 0 .../tzinfo/definitions/Pacific/Pago_Pago.rb | 0 .../definitions/Pacific/Port_Moresby.rb | 0 .../tzinfo/definitions/Pacific/Tongatapu.rb | 0 .../tzinfo-0.3.12/tzinfo/info_timezone.rb | 0 .../tzinfo-0.3.12/tzinfo/linked_timezone.rb | 0 .../tzinfo/linked_timezone_info.rb | 0 .../tzinfo-0.3.12/tzinfo/offset_rationals.rb | 0 .../tzinfo-0.3.12/tzinfo/ruby_core_support.rb | 2 +- .../tzinfo-0.3.12/tzinfo/time_or_datetime.rb | 0 .../vendor/tzinfo-0.3.12/tzinfo/timezone.rb | 0 .../tzinfo/timezone_definition.rb | 0 .../tzinfo-0.3.12/tzinfo/timezone_info.rb | 0 .../tzinfo/timezone_offset_info.rb | 0 .../tzinfo-0.3.12/tzinfo/timezone_period.rb | 0 .../tzinfo/timezone_transition_info.rb | 0 .../lib/active_support/version.rb | 2 +- .../lib/active_support/whiny_nil.rb | 0 .../lib/active_support/xml_mini.rb | 0 .../lib/active_support/xml_mini/jdom.rb | 0 .../lib/active_support/xml_mini/libxml.rb | 73 + .../lib/active_support/xml_mini/libxmlsax.rb | 74 + .../lib/active_support/xml_mini/nokogiri.rb | 72 + .../active_support/xml_mini/nokogirisax.rb | 73 + .../lib/active_support/xml_mini/rexml.rb | 0 .../lib/activesupport.rb | 0 .../gems/color-tools-1.3.0/.specification | 0 .../gems/color-tools-1.3.0/Changelog | 0 .../gems/color-tools-1.3.0/Install | 0 .../gems/color-tools-1.3.0/README | 0 .../gems/color-tools-1.3.0/Rakefile | 0 .../gems/color-tools-1.3.0/lib/color.rb | 0 .../gems/color-tools-1.3.0/lib/color/cmyk.rb | 0 .../gems/color-tools-1.3.0/lib/color/css.rb | 0 .../color-tools-1.3.0/lib/color/grayscale.rb | 0 .../gems/color-tools-1.3.0/lib/color/hsl.rb | 0 .../color-tools-1.3.0/lib/color/palette.rb | 0 .../lib/color/palette/gimp.rb | 0 .../lib/color/palette/monocontrast.rb | 0 .../color-tools-1.3.0/lib/color/rgb-colors.rb | 0 .../gems/color-tools-1.3.0/lib/color/rgb.rb | 0 .../lib/color/rgb/metallic.rb | 0 .../gems/color-tools-1.3.0/lib/color/yiq.rb | 0 .../gems/color-tools-1.3.0/metaconfig | 0 .../gems/color-tools-1.3.0/pre-setup.rb | 0 .../gems/color-tools-1.3.0/setup.rb | 0 .../gems/fastercsv-1.4.0/.specification | 0 .../gems/fastercsv-1.4.0/AUTHORS | 0 .../gems/fastercsv-1.4.0/CHANGELOG | 0 .../gems/fastercsv-1.4.0/COPYING | 0 .../gems/fastercsv-1.4.0/INSTALL | 0 .../gems/fastercsv-1.4.0/LICENSE | 0 .../gems/fastercsv-1.4.0/README | 0 .../gems/fastercsv-1.4.0/Rakefile | 0 .../gems/fastercsv-1.4.0/TODO | 0 .../gems/fastercsv-1.4.0/lib/faster_csv.rb | 0 .../gems/fastercsv-1.4.0/lib/fastercsv.rb | 0 .../gems/fastercsv-1.4.0/setup.rb | 0 .../gems/i18n-0.4.2/.specification | 0 .../gems/i18n-0.4.2/CHANGELOG.textile | 0 .../gems/i18n-0.4.2/MIT-LICENSE | 0 .../gems/i18n-0.4.2/README.textile | 0 .../gems/i18n-0.4.2/lib/i18n.rb | 0 .../gems/gems/i18n-0.4.2/lib/i18n/backend.rb | 20 + .../lib/i18n/backend/active_record.rb | 61 + .../lib/i18n/backend/active_record/missing.rb | 0 .../i18n/backend/active_record/store_procs.rb | 38 + .../i18n/backend/active_record/translation.rb | 0 .../gems/i18n-0.4.2/lib/i18n/backend/base.rb | 0 .../gems/i18n-0.4.2/lib/i18n/backend/cache.rb | 0 .../i18n-0.4.2/lib/i18n/backend/cascade.rb | 57 + .../gems/i18n-0.4.2/lib/i18n/backend/chain.rb | 0 .../gems/i18n-0.4.2/lib/i18n/backend/cldr.rb | 100 + .../i18n-0.4.2/lib/i18n/backend/fallbacks.rb | 0 .../i18n-0.4.2/lib/i18n/backend/flatten.rb | 113 + .../i18n-0.4.2/lib/i18n/backend/gettext.rb | 0 .../i18n/backend/interpolation_compiler.rb | 123 + .../i18n-0.4.2/lib/i18n/backend/key_value.rb | 102 + .../i18n-0.4.2/lib/i18n/backend/memoize.rb | 48 + .../i18n-0.4.2/lib/i18n/backend/metadata.rb | 65 + .../lib/i18n/backend/pluralization.rb | 57 + .../i18n-0.4.2/lib/i18n/backend/simple.rb | 0 .../lib/i18n/backend/transliterator.rb | 98 + .../gems/i18n-0.4.2/lib/i18n/config.rb | 0 .../gems/i18n-0.4.2/lib/i18n/core_ext/hash.rb | 29 + .../lib/i18n/core_ext/string/interpolate.rb | 98 + .../gems/i18n-0.4.2/lib/i18n/exceptions.rb | 0 .../gems/gems/i18n-0.4.2/lib/i18n/gettext.rb | 27 + .../i18n-0.4.2/lib/i18n/gettext/helpers.rb | 0 .../i18n-0.4.2/lib/i18n/gettext/po_parser.rb | 329 +++ .../gems/gems/i18n-0.4.2/lib/i18n/locale.rb | 6 + .../i18n-0.4.2/lib/i18n/locale/fallbacks.rb | 98 + .../gems/i18n-0.4.2/lib/i18n/locale/tag.rb | 28 + .../i18n-0.4.2/lib/i18n/locale/tag/parents.rb | 24 + .../i18n-0.4.2/lib/i18n/locale/tag/rfc4646.rb | 76 + .../i18n-0.4.2/lib/i18n/locale/tag/simple.rb | 41 + .../gems/i18n-0.4.2/lib/i18n/version.rb | 0 .../gems/jruby-openssl-0.7.4/.specification | 0 .../gems/jruby-openssl-0.7.4/History.txt | 0 .../gems/jruby-openssl-0.7.4/License.txt | 0 .../gems/jruby-openssl-0.7.4/Manifest.txt | 0 .../gems/jruby-openssl-0.7.4/README.txt | 0 .../gems/jruby-openssl-0.7.4/Rakefile | 0 .../gems/jruby-openssl-0.7.4/lib/jopenssl.jar | Bin .../lib/jopenssl/version.rb | 0 .../gems/jruby-openssl-0.7.4/lib/openssl.rb | 0 .../jruby-openssl-0.7.4/lib/openssl/bn.rb | 0 .../lib/openssl/buffering.rb | 0 .../jruby-openssl-0.7.4/lib/openssl/cipher.rb | 0 .../jruby-openssl-0.7.4/lib/openssl/config.rb | 0 .../jruby-openssl-0.7.4/lib/openssl/digest.rb | 0 .../jruby-openssl-0.7.4/lib/openssl/dummy.rb | 0 .../lib/openssl/dummyssl.rb | 0 .../jruby-openssl-0.7.4/lib/openssl/pkcs7.rb | 0 .../jruby-openssl-0.7.4/lib/openssl/ssl.rb | 0 .../jruby-openssl-0.7.4/lib/openssl/x509.rb | 0 .../.specification | 0 .../lib/json.rb | 0 .../lib/json/add/core.rb | 0 .../lib/json/add/rails.rb | 0 .../lib/json/common.rb | 0 .../lib/json/ext.rb | 0 .../lib/json/ext/generator.jar | Bin .../lib/json/ext/parser.jar | Bin .../lib/json/pure.rb | 0 .../lib/json/pure/generator.rb | 0 .../lib/json/pure/generator.rb.orig | 0 .../lib/json/pure/parser.rb | 0 .../lib/json/version.rb | 0 .../lib/json/version.rb.orig | 0 .../gems/rack-1.1.3}/COPYING | 2 +- .../gems/rack-1.1.3}/KNOWN-ISSUES | 3 + .../empty.log => gems/gems/rack-1.1.3/RDOX} | 0 .../gems/rack-1.1.3}/README | 95 +- .../rack-1.0.1 => gems/gems/rack-1.1.3}/SPEC | 9 +- .../WEB-INF/gems/gems/rack-1.1.3/bin/rackup | 4 + .../gems/rack-1.1.3/contrib/rack_logo.svg | 111 + .../gems/gems/rack-1.1.3/example/lobster.ru | 4 + .../rack-1.1.3/example/protectedlobster.rb | 14 + .../rack-1.1.3/example/protectedlobster.ru | 8 + .../gems/rack-1.1.3}/lib/rack.rb | 18 +- .../rack-1.1.3}/lib/rack/adapter/camping.rb | 0 .../lib/rack/auth/abstract/handler.rb | 0 .../lib/rack/auth/abstract/request.rb | 0 .../gems/rack-1.1.3}/lib/rack/auth/basic.rb | 0 .../rack-1.1.3}/lib/rack/auth/digest/md5.rb | 3 +- .../rack-1.1.3}/lib/rack/auth/digest/nonce.rb | 0 .../lib/rack/auth/digest/params.rb | 0 .../lib/rack/auth/digest/request.rb | 0 .../gems/rack-1.1.3}/lib/rack/builder.rb | 17 + .../gems/rack-1.1.3}/lib/rack/cascade.rb | 29 +- .../gems/rack-1.1.3}/lib/rack/chunked.rb | 4 +- .../gems/rack-1.1.3/lib/rack/commonlogger.rb | 49 + .../rack-1.1.3}/lib/rack/conditionalget.rb | 0 .../gems/gems/rack-1.1.3/lib/rack/config.rb | 15 + .../rack-1.1.3}/lib/rack/content_length.rb | 0 .../gems/rack-1.1.3}/lib/rack/content_type.rb | 2 +- .../gems/rack-1.1.3}/lib/rack/deflater.rb | 0 .../gems/rack-1.1.3}/lib/rack/directory.rb | 8 +- .../gems/gems/rack-1.1.3/lib/rack/etag.rb | 23 + .../gems/rack-1.1.3}/lib/rack/file.rb | 6 +- .../gems/rack-1.1.3}/lib/rack/handler.rb | 19 + .../gems/rack-1.1.3}/lib/rack/handler/cgi.rb | 2 +- .../lib/rack/handler/evented_mongrel.rb | 0 .../rack-1.1.3}/lib/rack/handler/fastcgi.rb | 5 +- .../gems/rack-1.1.3}/lib/rack/handler/lsws.rb | 5 +- .../rack-1.1.3}/lib/rack/handler/mongrel.rb | 13 +- .../gems/rack-1.1.3}/lib/rack/handler/scgi.rb | 8 +- .../lib/rack/handler/swiftiplied_mongrel.rb | 0 .../gems/rack-1.1.3}/lib/rack/handler/thin.rb | 0 .../rack-1.1.3}/lib/rack/handler/webrick.rb | 6 +- .../gems/rack-1.1.3}/lib/rack/head.rb | 0 .../gems/rack-1.1.3}/lib/rack/lint.rb | 59 +- .../gems/rack-1.1.3}/lib/rack/lobster.rb | 0 .../gems/rack-1.1.3}/lib/rack/lock.rb | 0 .../gems/gems/rack-1.1.3/lib/rack/logger.rb | 20 + .../rack-1.1.3}/lib/rack/methodoverride.rb | 0 .../gems/rack-1.1.3}/lib/rack/mime.rb | 4 +- .../gems/rack-1.1.3}/lib/rack/mock.rb | 34 +- .../gems/rack-1.1.3/lib/rack/nulllogger.rb | 18 + .../gems/rack-1.1.3}/lib/rack/recursive.rb | 0 .../gems/rack-1.1.3}/lib/rack/reloader.rb | 5 +- .../gems/rack-1.1.3}/lib/rack/request.rb | 55 +- .../gems/rack-1.1.3}/lib/rack/response.rb | 44 +- .../rack-1.1.3}/lib/rack/rewindable_input.rb | 0 .../gems/gems/rack-1.1.3/lib/rack/runtime.rb | 27 + .../gems/gems/rack-1.1.3/lib/rack/sendfile.rb | 142 ++ .../gems/gems/rack-1.1.3/lib/rack/server.rb | 212 ++ .../lib/rack/session/abstract/id.rb | 8 +- .../rack-1.1.3}/lib/rack/session/cookie.rb | 7 +- .../rack-1.1.3/lib/rack/session/memcache.rb | 119 + .../gems/rack-1.1.3}/lib/rack/session/pool.rb | 2 +- .../rack-1.1.3}/lib/rack/showexceptions.rb | 0 .../gems/rack-1.1.3}/lib/rack/showstatus.rb | 0 .../gems/rack-1.1.3}/lib/rack/static.rb | 0 .../gems/rack-1.1.3}/lib/rack/urlmap.rb | 17 +- .../gems/rack-1.1.3}/lib/rack/utils.rb | 300 ++- .../WEB-INF/gems/gems/rack-1.1.3/rack.gemspec | 42 + .../rack-1.1.3/test/spec_rack_auth_basic.rb | 73 + .../rack-1.1.3/test/spec_rack_auth_digest.rb | 232 ++ .../gems/rack-1.1.3/test/spec_rack_builder.rb | 84 + .../gems/rack-1.1.3/test/spec_rack_camping.rb | 55 + .../gems/rack-1.1.3/test/spec_rack_cascade.rb | 48 + .../gems/rack-1.1.3/test/spec_rack_cgi.rb | 89 + .../gems/rack-1.1.3/test/spec_rack_chunked.rb | 62 + .../rack-1.1.3/test/spec_rack_commonlogger.rb | 61 + .../test/spec_rack_conditionalget.rb | 41 + .../gems/rack-1.1.3/test/spec_rack_config.rb | 24 + .../test/spec_rack_content_length.rb | 43 + .../rack-1.1.3/test/spec_rack_content_type.rb | 30 + .../rack-1.1.3/test/spec_rack_deflater.rb | 127 + .../rack-1.1.3/test/spec_rack_directory.rb | 61 + .../gems/rack-1.1.3/test/spec_rack_etag.rb | 17 + .../gems/rack-1.1.3/test/spec_rack_fastcgi.rb | 89 + .../gems/rack-1.1.3/test/spec_rack_file.rb | 75 + .../gems/rack-1.1.3/test/spec_rack_handler.rb | 43 + .../gems/rack-1.1.3/test/spec_rack_head.rb | 30 + .../gems/rack-1.1.3/test/spec_rack_lint.rb | 528 ++++ .../gems/rack-1.1.3/test/spec_rack_lobster.rb | 45 + .../gems/rack-1.1.3/test/spec_rack_lock.rb | 38 + .../gems/rack-1.1.3/test/spec_rack_logger.rb | 21 + .../test/spec_rack_methodoverride.rb | 60 + .../gems/rack-1.1.3/test/spec_rack_mock.rb | 243 ++ .../gems/rack-1.1.3/test/spec_rack_mongrel.rb | 189 ++ .../rack-1.1.3/test/spec_rack_nulllogger.rb | 13 + .../rack-1.1.3/test/spec_rack_recursive.rb | 77 + .../gems/rack-1.1.3/test/spec_rack_request.rb | 594 +++++ .../rack-1.1.3/test/spec_rack_response.rb | 221 ++ .../test/spec_rack_rewindable_input.rb | 118 + .../gems/rack-1.1.3/test/spec_rack_runtime.rb | 35 + .../rack-1.1.3/test/spec_rack_sendfile.rb | 86 + .../test/spec_rack_session_cookie.rb | 73 + .../test/spec_rack_session_memcache.rb | 273 ++ .../rack-1.1.3/test/spec_rack_session_pool.rb | 172 ++ .../test/spec_rack_showexceptions.rb | 21 + .../rack-1.1.3/test/spec_rack_showstatus.rb | 72 + .../gems/rack-1.1.3/test/spec_rack_static.rb | 37 + .../gems/rack-1.1.3/test/spec_rack_thin.rb | 91 + .../gems/rack-1.1.3/test/spec_rack_urlmap.rb | 215 ++ .../gems/rack-1.1.3/test/spec_rack_utils.rb | 552 ++++ .../gems/rack-1.1.3/test/spec_rack_webrick.rb | 130 + .../gems/gems/rack-1.1.3/test/spec_rackup.rb | 164 ++ .../gems/rails-2.3.14}/CHANGELOG | 25 +- .../gems/rails-2.3.14}/MIT-LICENSE | 2 +- .../gems/rails-2.3.14}/README | 0 .../gems/rails-2.3.14}/Rakefile | 23 +- .../builtin/rails_info/rails/info.rb | 4 +- .../rails_info/rails/info_controller.rb | 0 .../builtin/rails_info/rails/info_helper.rb | 0 .../rails_info/rails_info_controller.rb | 0 .../configs/databases/frontbase.yml | 0 .../configs/databases/ibm_db.yml | 0 .../rails-2.3.14}/configs/databases/mysql.yml | 0 .../configs/databases/oracle.yml | 0 .../configs/databases/postgresql.yml | 0 .../configs/databases/sqlite2.yml | 0 .../configs/databases/sqlite3.yml | 0 .../gems/rails-2.3.14/configs/empty.log} | 0 .../initializers/backtrace_silencers.rb | 0 .../cookie_verification_secret.rb | 7 + .../configs/initializers/inflections.rb | 0 .../configs/initializers/mime_types.rb | 0 .../initializers/new_rails_defaults.rb | 0 .../configs/initializers/session_store.rb | 0 .../gems/rails-2.3.14}/configs/locales/en.yml | 0 .../gems/rails-2.3.14}/configs/routes.rb | 0 .../gems/rails-2.3.14}/configs/seeds.rb | 0 .../gems/rails-2.3.14}/dispatches/config.ru | 0 .../rails-2.3.14}/dispatches/dispatch.fcgi | 0 .../gems/rails-2.3.14}/dispatches/dispatch.rb | 0 .../gems/rails-2.3.14}/dispatches/gateway.cgi | 0 .../gems/rails-2.3.14}/environments/boot.rb | 8 +- .../rails-2.3.14}/environments/development.rb | 0 .../rails-2.3.14}/environments/environment.rb | 2 +- .../rails-2.3.14}/environments/production.rb | 0 .../gems/rails-2.3.14}/environments/test.rb | 0 .../gems/rails-2.3.14}/fresh_rakefile | 0 .../helpers/application_controller.rb | 0 .../helpers/application_helper.rb | 0 .../rails-2.3.14}/helpers/performance_test.rb | 0 .../gems/rails-2.3.14}/helpers/test_helper.rb | 0 .../gems/rails-2.3.14}/html/404.html | 0 .../gems/rails-2.3.14}/html/422.html | 0 .../gems/rails-2.3.14}/html/500.html | 0 .../gems/rails-2.3.14/html/favicon.ico} | 0 .../gems/rails-2.3.14/html/images/rails.png | Bin 0 -> 6646 bytes .../gems/rails-2.3.14}/html/index.html | 0 .../html/javascripts/application.js | 0 .../html/javascripts/controls.js | 0 .../html/javascripts/dragdrop.js | 0 .../rails-2.3.14}/html/javascripts/effects.js | 0 .../html/javascripts/prototype.js | 0 .../gems/rails-2.3.14}/html/robots.txt | 0 .../gems/rails-2.3.14}/lib/code_statistics.rb | 0 .../gems/rails-2.3.14}/lib/commands.rb | 0 .../gems/rails-2.3.14}/lib/commands/about.rb | 0 .../rails-2.3.14}/lib/commands/console.rb | 0 .../rails-2.3.14}/lib/commands/dbconsole.rb | 2 +- .../rails-2.3.14}/lib/commands/destroy.rb | 0 .../rails-2.3.14}/lib/commands/generate.rb | 0 .../rails-2.3.14}/lib/commands/ncgi/listener | 0 .../rails-2.3.14}/lib/commands/ncgi/tracker | 0 .../lib/commands/performance/benchmarker.rb | 0 .../lib/commands/performance/profiler.rb | 0 .../gems/rails-2.3.14}/lib/commands/plugin.rb | 0 .../gems/rails-2.3.14}/lib/commands/runner.rb | 2 +- .../gems/rails-2.3.14}/lib/commands/server.rb | 0 .../gems/rails-2.3.14}/lib/commands/update.rb | 0 .../gems/rails-2.3.14}/lib/console_app.rb | 0 .../gems/rails-2.3.14}/lib/console_sandbox.rb | 0 .../rails-2.3.14}/lib/console_with_helpers.rb | 0 .../gems/rails-2.3.14}/lib/dispatcher.rb | 2 +- .../gems/rails-2.3.14}/lib/fcgi_handler.rb | 0 .../gems/rails-2.3.14}/lib/initializer.rb | 64 +- .../lib/performance_test_help.rb | 0 .../lib/rails/backtrace_cleaner.rb | 0 .../rails-2.3.14}/lib/rails/gem_builder.rb | 0 .../rails-2.3.14}/lib/rails/gem_dependency.rb | 30 +- .../gems/rails-2.3.14}/lib/rails/plugin.rb | 2 +- .../rails-2.3.14}/lib/rails/plugin/loader.rb | 6 +- .../rails-2.3.14}/lib/rails/plugin/locator.rb | 0 .../gems/rails-2.3.14}/lib/rails/rack.rb | 0 .../rails-2.3.14}/lib/rails/rack/debugger.rb | 0 .../lib/rails/rack/log_tailer.rb | 0 .../rails-2.3.14}/lib/rails/rack/metal.rb | 0 .../rails-2.3.14}/lib/rails/rack/static.rb | 0 .../lib/rails/vendor_gem_source_index.rb | 8 +- .../gems/rails-2.3.14}/lib/rails/version.rb | 2 +- .../gems/rails-2.3.14}/lib/rails_generator.rb | 7 +- .../rails-2.3.14}/lib/rails_generator/base.rb | 0 .../lib/rails_generator/commands.rb | 0 .../rails_generator/generated_attribute.rb | 13 +- .../generators/applications/app/USAGE | 0 .../applications/app/app_generator.rb | 3 + .../generators/applications/app/scm/git.rb | 0 .../generators/applications/app/scm/scm.rb | 0 .../generators/applications/app/scm/svn.rb | 0 .../applications/app/template_runner.rb | 0 .../generators/components/controller/USAGE | 0 .../controller/controller_generator.rb | 0 .../controller/templates/controller.rb | 0 .../controller/templates/functional_test.rb | 0 .../components/controller/templates/helper.rb | 0 .../controller/templates/helper_test.rb | 0 .../controller/templates/view.html.erb | 0 .../generators/components/helper/USAGE | 0 .../components/helper/helper_generator.rb | 0 .../components/helper/templates/helper.rb | 0 .../helper/templates/helper_test.rb | 0 .../components/integration_test/USAGE | 0 .../integration_test_generator.rb | 0 .../templates/integration_test.rb | 0 .../generators/components/mailer/USAGE | 0 .../components/mailer/mailer_generator.rb | 0 .../components/mailer/templates/fixture.erb | 0 .../mailer/templates/fixture.rhtml} | 0 .../components/mailer/templates/mailer.rb | 0 .../components/mailer/templates/unit_test.rb | 0 .../components/mailer/templates/view.erb | 0 .../components/mailer/templates/view.rhtml | 0 .../generators/components/metal/USAGE | 0 .../components/metal/metal_generator.rb | 0 .../components/metal/templates/metal.rb | 0 .../generators/components/migration/USAGE | 0 .../migration/migration_generator.rb | 2 +- .../migration/templates/migration.rb | 0 .../generators/components/model/USAGE | 0 .../components/model/model_generator.rb | 0 .../components/model/templates/fixtures.yml | 14 +- .../components/model/templates/migration.rb | 0 .../components/model/templates/model.rb | 0 .../components/model/templates/unit_test.rb | 0 .../generators/components/observer/USAGE | 0 .../components/observer/observer_generator.rb | 0 .../components/observer/templates/observer.rb | 0 .../observer/templates/unit_test.rb | 0 .../components/performance_test/USAGE | 0 .../performance_test_generator.rb | 0 .../templates/performance_test.rb | 0 .../generators/components/plugin/USAGE | 0 .../components/plugin/plugin_generator.rb | 4 +- .../components/plugin/templates/MIT-LICENSE | 0 .../components/plugin/templates/README | 0 .../components/plugin/templates/Rakefile | 4 +- .../components/plugin/templates/USAGE | 0 .../components/plugin/templates/generator.rb | 0 .../components/plugin/templates/init.rb | 0 .../components/plugin/templates/install.rb | 0 .../components/plugin/templates/plugin.rb | 0 .../components/plugin/templates/tasks.rake | 0 .../plugin/templates/test_helper.rb | 4 + .../components/plugin/templates/uninstall.rb | 0 .../components/plugin/templates/unit_test.rb | 0 .../generators/components/resource/USAGE | 0 .../components/resource/resource_generator.rb | 0 .../resource/templates/controller.rb | 0 .../resource/templates/functional_test.rb | 0 .../components/resource/templates/helper.rb | 0 .../resource/templates/helper_test.rb | 0 .../generators/components/scaffold/USAGE | 0 .../components/scaffold/scaffold_generator.rb | 0 .../scaffold/templates/controller.rb | 6 +- .../scaffold/templates/functional_test.rb | 0 .../components/scaffold/templates/helper.rb | 0 .../scaffold/templates/helper_test.rb | 0 .../scaffold/templates/layout.html.erb | 2 +- .../components/scaffold/templates/style.css | 0 .../scaffold/templates/view_edit.html.erb | 0 .../scaffold/templates/view_index.html.erb | 0 .../scaffold/templates/view_new.html.erb | 0 .../scaffold/templates/view_show.html.erb | 0 .../components/session_migration/USAGE | 0 .../session_migration_generator.rb | 0 .../session_migration/templates/migration.rb | 0 .../lib/rails_generator/lookup.rb | 0 .../lib/rails_generator/manifest.rb | 0 .../lib/rails_generator/options.rb | 0 .../lib/rails_generator/scripts.rb | 0 .../lib/rails_generator/scripts/destroy.rb | 0 .../lib/rails_generator/scripts/generate.rb | 0 .../lib/rails_generator/scripts/update.rb | 0 .../rails_generator/secret_key_generator.rb | 0 .../lib/rails_generator/simple_logger.rb | 0 .../rails-2.3.14}/lib/rails_generator/spec.rb | 0 .../gems/rails-2.3.14}/lib/railties_path.rb | 0 .../rails-2.3.14}/lib/ruby_version_check.rb | 0 .../gems/rails-2.3.14}/lib/rubyprof_ext.rb | 0 .../lib/source_annotation_extractor.rb | 0 .../rails-2.3.14}/lib/tasks/annotations.rake | 0 .../rails-2.3.14}/lib/tasks/databases.rake | 44 +- .../lib/tasks/documentation.rake | 9 +- .../rails-2.3.14}/lib/tasks/framework.rake | 7 +- .../gems/rails-2.3.14}/lib/tasks/gems.rake | 0 .../gems/rails-2.3.14}/lib/tasks/log.rake | 0 .../rails-2.3.14}/lib/tasks/middleware.rake | 0 .../gems/rails-2.3.14}/lib/tasks/misc.rake | 0 .../gems/gems/rails-2.3.14/lib/tasks/rails.rb | 14 + .../gems/rails-2.3.14}/lib/tasks/routes.rake | 0 .../rails-2.3.14}/lib/tasks/statistics.rake | 0 .../gems/rails-2.3.14}/lib/tasks/testing.rake | 0 .../gems/rails-2.3.14}/lib/tasks/tmp.rake | 0 .../gems/rails-2.3.14}/lib/test_help.rb | 0 .../gems/rails-2.3.14}/lib/webrick_server.rb | 0 .../WEB-INF/gems/gems/rails-2.3.14/tags | 2260 +++++++++++++++++ .../WEB-INF/gems/gems/rake-0.9.2.2/CHANGES | 522 ++++ .../gems/rake-0.9.2.2}/MIT-LICENSE | 5 +- .../gems/gems/rake-0.9.2.2/README.rdoc | 197 ++ .../WEB-INF/gems/gems/rake-0.9.2.2/Rakefile | 369 +++ .../WEB-INF/gems/gems/rake-0.9.2.2/TODO | 20 + .../WEB-INF/gems/gems/rake-0.9.2.2/install.rb | 90 + .../gems/gems/rake-0.9.2.2/lib/rake.rb | 69 + .../gems/rake-0.9.2.2/lib/rake/alt_system.rb | 109 + .../gems/rake-0.9.2.2/lib/rake/application.rb | 595 +++++ .../lib/rake/classic_namespace.rb | 11 + .../gems/gems/rake-0.9.2.2/lib/rake/clean.rb | 32 + .../gems/rake-0.9.2.2/lib/rake/cloneable.rb | 25 + .../lib/rake/contrib/compositepublisher.rb | 21 + .../rake-0.9.2.2/lib/rake/contrib/ftptools.rb | 150 ++ .../lib/rake/contrib/publisher.rb | 73 + .../lib/rake/contrib/rubyforgepublisher.rb | 16 + .../lib/rake/contrib/sshpublisher.rb | 50 + .../gems/rake-0.9.2.2/lib/rake/contrib/sys.rb | 191 ++ .../rake-0.9.2.2/lib/rake/default_loader.rb | 10 + .../rake-0.9.2.2/lib/rake/dsl_definition.rb | 176 ++ .../gems/rake-0.9.2.2/lib/rake/early_time.rb | 18 + .../gems/rake-0.9.2.2/lib/rake/ext/core.rb | 27 + .../gems/rake-0.9.2.2/lib/rake/ext/module.rb | 39 + .../gems/rake-0.9.2.2/lib/rake/ext/string.rb | 167 ++ .../gems/rake-0.9.2.2/lib/rake/ext/time.rb | 14 + .../lib/rake/file_creation_task.rb | 24 + .../gems/rake-0.9.2.2/lib/rake/file_list.rb | 403 +++ .../gems/rake-0.9.2.2/lib/rake/file_task.rb | 47 + .../gems/rake-0.9.2.2/lib/rake/file_utils.rb | 114 + .../rake-0.9.2.2/lib/rake/file_utils_ext.rb | 145 ++ .../rake-0.9.2.2/lib/rake/gempackagetask.rb | 15 + .../rake-0.9.2.2/lib/rake/invocation_chain.rb | 51 + .../lib/rake/invocation_exception_mixin.rb | 16 + .../rake-0.9.2.2/lib/rake/loaders/makefile.rb | 40 + .../gems/rake-0.9.2.2/lib/rake/multi_task.rb | 16 + .../gems/rake-0.9.2.2/lib/rake/name_space.rb | 25 + .../gems/rake-0.9.2.2/lib/rake/packagetask.rb | 185 ++ .../gems/rake-0.9.2.2/lib/rake/pathmap.rb | 1 + .../rake-0.9.2.2/lib/rake/pseudo_status.rb | 24 + .../gems/rake-0.9.2.2/lib/rake/rake_module.rb | 29 + .../rake-0.9.2.2/lib/rake/rake_test_loader.rb | 22 + .../gems/rake-0.9.2.2/lib/rake/rdoctask.rb | 234 ++ .../lib/rake/ruby182_test_unit_fix.rb | 25 + .../lib/rake/rule_recursion_overflow_error.rb | 20 + .../gems/rake-0.9.2.2/lib/rake/runtest.rb | 21 + .../gems/gems/rake-0.9.2.2/lib/rake/task.rb | 327 +++ .../lib/rake/task_argument_error.rb | 7 + .../rake-0.9.2.2/lib/rake/task_arguments.rb | 78 + .../rake-0.9.2.2/lib/rake/task_manager.rb | 307 +++ .../gems/rake-0.9.2.2/lib/rake/tasklib.rb | 22 + .../gems/rake-0.9.2.2/lib/rake/testtask.rb | 191 ++ .../gems/rake-0.9.2.2/lib/rake/version.rb | 8 + .../gems/gems/rake-0.9.2.2/lib/rake/win32.rb | 55 + .../actionmailer-2.3.14.gemspec | 30 + .../specifications/actionpack-2.3.14.gemspec | 33 + .../activerecord-2.3.14.gemspec | 32 + .../activerecord-jdbc-adapter-1.1.3.gemspec | 35 + ...cord-oracle_enhanced-adapter-1.4.0.gemspec | 57 + .../activeresource-2.3.14.gemspec | 32 + .../activesupport-2.3.14.gemspec | 26 + .../specifications/color-tools-1.3.0.gemspec | 32 + .../specifications/fastercsv-1.4.0.gemspec | 29 + .../gems/specifications/i18n-0.4.2.gemspec | 26 + .../jruby-openssl-0.7.4.gemspec | 32 + ...son-jruby-1.2.3-universal-java-1.6.gemspec | 26 + .../gems/specifications/rack-1.1.3.gemspec | 50 + .../gems/specifications/rails-2.3.14.gemspec | 47 + .../gems/specifications/rake-0.9.2.2.gemspec | 34 + .../vendor/gems/rack-1.0.1/.specification | 301 --- .../WEB-INF/vendor/gems/rack-1.0.1/RDOX | 428 ---- .../WEB-INF/vendor/gems/rack-1.0.1/Rakefile | 164 -- .../WEB-INF/vendor/gems/rack-1.0.1/bin/rackup | 176 -- .../gems/rack-1.0.1/lib/rack/auth/openid.rb | 480 ---- .../gems/rack-1.0.1/lib/rack/commonlogger.rb | 61 - .../rack-1.0.1/lib/rack/session/memcache.rb | 109 - .../vendor/gems/rack-1.0.1/rack.gemspec | 54 - .../rails/actionpack/RUNNING_UNIT_TESTS | 24 - .../lib/action_controller/cookies.rb | 95 - .../session/abstract_store.rb | 181 -- .../templates/rescues/_trace.erb | 23 - .../templates/rescues/diagnostics.erb | 9 - .../templates/rescues/layout.erb | 24 - .../templates/rescues/routing_error.erb | 10 - .../templates/rescues/template_error.erb | 16 - .../actionpack/lib/action_view/safe_buffer.rb | 28 - .../belongs_to_polymorphic_association.rb | 53 - .../i18n_interpolation_deprecation.rb | 26 - .../lib/active_support/basic_object.rb | 24 - .../core_ext/array/random_access.rb | 12 - .../core_ext/class/attribute_accessors.rb | 54 - .../core_ext/module/attribute_accessors.rb | 60 - .../core_ext/object/metaclass.rb | 13 - .../core_ext/string/output_safety.rb | 48 - .../vendor/i18n-0.1.3/README.textile | 20 - .../active_support/vendor/i18n-0.1.3/Rakefile | 5 - .../vendor/i18n-0.1.3/i18n.gemspec | 27 - .../vendor/i18n-0.1.3/lib/i18n.rb | 199 -- .../i18n-0.1.3/lib/i18n/backend/simple.rb | 214 -- .../vendor/i18n-0.1.3/test/all.rb | 5 - .../i18n-0.1.3/test/i18n_exceptions_test.rb | 99 - .../vendor/i18n-0.1.3/test/i18n_test.rb | 124 - .../vendor/i18n-0.1.3/test/locale/en.rb | 1 - .../vendor/i18n-0.1.3/test/locale/en.yml | 3 - .../i18n-0.1.3/test/simple_backend_test.rb | 567 ----- .../lib/active_support/xml_mini/libxml.rb | 133 - .../lib/active_support/xml_mini/nokogiri.rb | 69 - .../WEB-INF/vendor/rails/railties/bin/about | 4 - .../WEB-INF/vendor/rails/railties/bin/console | 3 - .../vendor/rails/railties/bin/dbconsole | 3 - .../WEB-INF/vendor/rails/railties/bin/destroy | 3 - .../vendor/rails/railties/bin/generate | 3 - .../railties/bin/performance/benchmarker | 3 - .../rails/railties/bin/performance/profiler | 3 - .../WEB-INF/vendor/rails/railties/bin/plugin | 3 - .../WEB-INF/vendor/rails/railties/bin/rails | 20 - .../WEB-INF/vendor/rails/railties/bin/runner | 3 - .../WEB-INF/vendor/rails/railties/bin/server | 3 - .../vendor/rails/railties/doc/README_FOR_APP | 2 - .../rails/railties/html/images/rails.png | Bin 6410 -> 0 bytes .../plugin/templates/test_helper.rb | 3 - .../vendor/rails/railties/lib/tasks/rails.rb | 9 - sonar-server/src/main/webapp/WEB-INF/web.xml | 11 +- 1258 files changed, 21599 insertions(+), 5241 deletions(-) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/CHANGELOG (98%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/MIT-LICENSE (95%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/README (97%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/Rakefile (94%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/install.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller.rb (98%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/assertions/dom_assertions.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/assertions/model_assertions.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/assertions/response_assertions.rb (90%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/assertions/routing_assertions.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/assertions/selector_assertions.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/assertions/tag_assertions.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/base.rb (98%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/benchmarking.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/caching.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/caching/actions.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/caching/fragments.rb (94%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/caching/pages.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/caching/sweeper.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/caching/sweeping.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/cgi_ext.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/cgi_ext/cookie.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/cgi_ext/query_extension.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/cgi_ext/stdinput.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/cgi_process.rb (100%) create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/cookies.rb rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/dispatcher.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/failsafe.rb (97%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/filters.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/flash.rb (82%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/headers.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/helpers.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/http_authentication.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/integration.rb (96%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/layout.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/middleware_stack.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/middlewares.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/mime_responds.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/mime_type.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/mime_types.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/params_parser.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/performance_test.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/polymorphic_routes.rb (99%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/rack_lint_patch.rb (96%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/record_identifier.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/reloader.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/request.rb (98%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/request_forgery_protection.rb (93%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/rescue.rb (97%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/resources.rb (99%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/response.rb (95%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/routing.rb (99%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/routing/builder.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/routing/optimisations.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/routing/recognition_optimisation.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/routing/route.rb (98%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/routing/route_set.rb (99%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/routing/routing_ext.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/routing/segments.rb (100%) create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/session/abstract_store.rb rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/session/cookie_store.rb (75%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/session/mem_cache_store.rb (85%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/session_management.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/status_codes.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/streaming.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/string_coercion.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/templates/rescues/_request_and_response.erb (51%) create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/templates/rescues/_trace.erb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/templates/rescues/diagnostics.erb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/templates/rescues/layout.erb rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/templates/rescues/missing_template.erb (100%) create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/templates/rescues/routing_error.erb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_controller/templates/rescues/template_error.erb rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/templates/rescues/unknown_action.erb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/test_case.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/test_process.rb (99%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/translation.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/uploaded_file.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/url_rewriter.rb (93%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/vendor/html-scanner.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/vendor/html-scanner/html/document.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/vendor/html-scanner/html/node.rb (99%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/vendor/html-scanner/html/sanitizer.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/vendor/html-scanner/html/selector.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/vendor/html-scanner/html/tokenizer.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/vendor/html-scanner/html/version.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_controller/verification.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_pack.rb (95%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_pack/version.rb (90%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_view.rb (89%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_view/base.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_view/helpers.rb (96%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_view/helpers/active_record_helper.rb (95%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_view/helpers/asset_tag_helper.rb (99%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_view/helpers/atom_feed_helper.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_view/helpers/benchmark_helper.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_view/helpers/cache_helper.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_view/helpers/capture_helper.rb (98%) create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/actionpack-2.3.14/lib/action_view/helpers/csrf_helper.rb rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_view/helpers/date_helper.rb (99%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_view/helpers/debug_helper.rb (96%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_view/helpers/form_helper.rb (93%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_view/helpers/form_options_helper.rb (99%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_view/helpers/form_tag_helper.rb (97%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_view/helpers/javascript_helper.rb (99%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_view/helpers/number_helper.rb (99%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_view/helpers/prototype_helper.rb (99%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_view/helpers/raw_output_helper.rb (77%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_view/helpers/record_identification_helper.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_view/helpers/record_tag_helper.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_view/helpers/sanitize_helper.rb (96%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_view/helpers/scriptaculous_helper.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_view/helpers/tag_helper.rb (96%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_view/helpers/text_helper.rb (94%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_view/helpers/translation_helper.rb (52%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_view/helpers/url_helper.rb (97%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_view/inline_template.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_view/locale/en.yml (99%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_view/partials.rb (98%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_view/paths.rb (78%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_view/reloadable_template.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_view/renderable.rb (87%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_view/renderable_partial.rb (85%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_view/template.rb (99%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_view/template_error.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_view/template_handler.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_view/template_handlers.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_view/template_handlers/builder.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_view/template_handlers/erb.rb (53%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_view/template_handlers/rjs.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/action_view/test_case.rb (99%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack => gems/gems/actionpack-2.3.14}/lib/actionpack.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/CHANGELOG (99%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/README (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/Rakefile (97%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/install.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record.rb (97%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record/aggregations.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record/association_preload.rb (78%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record/associations.rb (97%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record/associations/association_collection.rb (84%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record/associations/association_proxy.rb (94%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record/associations/belongs_to_association.rb (85%) create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/associations/belongs_to_polymorphic_association.rb rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record/associations/has_and_belongs_to_many_association.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record/associations/has_many_association.rb (97%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record/associations/has_many_through_association.rb (98%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record/associations/has_one_association.rb (92%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record/associations/has_one_through_association.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record/attribute_methods.rb (99%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record/autosave_association.rb (78%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record/base.rb (96%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record/batches.rb (83%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record/calculations.rb (92%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record/callbacks.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record/connection_adapters/abstract/connection_pool.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record/connection_adapters/abstract/connection_specification.rb (96%) create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/database_limits.rb rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record/connection_adapters/abstract/database_statements.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record/connection_adapters/abstract/query_cache.rb (97%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record/connection_adapters/abstract/quoting.rb (86%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record/connection_adapters/abstract/schema_definitions.rb (99%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record/connection_adapters/abstract/schema_statements.rb (83%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record/connection_adapters/abstract_adapter.rb (93%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record/connection_adapters/mysql_adapter.rb (92%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record/connection_adapters/postgresql_adapter.rb (93%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record/connection_adapters/sqlite3_adapter.rb (91%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record/connection_adapters/sqlite_adapter.rb (96%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record/dirty.rb (97%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record/dynamic_finder_match.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record/dynamic_scope_match.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record/fixtures.rb (99%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record/locale/en.yml (72%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record/locking/optimistic.rb (82%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record/locking/pessimistic.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record/migration.rb (99%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record/named_scope.rb (93%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record/nested_attributes.rb (80%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record/observer.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record/query_cache.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record/reflection.rb (83%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record/schema.rb (91%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record/schema_dumper.rb (96%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record/serialization.rb (98%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record/serializers/json_serializer.rb (97%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record/serializers/xml_serializer.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record/session_store.rb (97%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record/test_case.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record/timestamp.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record/transactions.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record/validations.rb (97%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/active_record/version.rb (89%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activerecord => gems/gems/activerecord-2.3.14}/lib/activerecord.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/.gemtest (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/.specification (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/History.txt (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/LICENSE.txt (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/Manifest.txt (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/README.txt (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/Rakefile (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/derby_adapter.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/h2_adapter.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/hsqldb_adapter.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/informix_adapter.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/jdbc_adapter.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/jndi_adapter.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/mssql_adapter.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/mysql2_adapter.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/mysql_adapter.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/oracle_adapter.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/postgresql_adapter.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/sqlite3_adapter.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/activerecord-jdbc-adapter.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/engines/sql/compilers/db2_compiler.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/engines/sql/compilers/derby_compiler.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/engines/sql/compilers/h2_compiler.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/engines/sql/compilers/hsqldb_compiler.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/engines/sql/compilers/jdbc_compiler.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/engines/sql/compilers/mssql_compiler.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/visitors/compat.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/visitors/db2.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/visitors/derby.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/visitors/firebird.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/visitors/hsqldb.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/visitors/sql_server.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/db2.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/db2/adapter.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/derby.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/derby/adapter.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/derby/connection_methods.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/discover.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/firebird.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/firebird/adapter.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/h2.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/h2/adapter.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/h2/connection_methods.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/hsqldb.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/hsqldb/adapter.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/hsqldb/connection_methods.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/informix.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/informix/adapter.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/informix/connection_methods.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/adapter.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/adapter_java.jar (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/callbacks.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/column.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/compatibility.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/connection.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/connection_methods.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/core_ext.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/discover.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/driver.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/extension.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/java.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/jdbc.rake (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/missing_functionality_helper.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/quoted_primary_key.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/railtie.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/rake_tasks.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/require_driver.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/type_converter.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mimer.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mimer/adapter.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mssql.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mssql/adapter.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mssql/connection_methods.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mssql/limit_helpers.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mssql/tsql_helper.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mysql.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mysql/adapter.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mysql/connection_methods.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/oracle.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/oracle/adapter.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/oracle/connection_methods.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/postgresql.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/postgresql/adapter.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/postgresql/connection_methods.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/sqlite3.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/sqlite3/adapter.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/sqlite3/connection_methods.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/sybase.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/sybase/adapter.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/version.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/generators/jdbc/jdbc_generator.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/jdbc_adapter.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/jdbc_adapter/rake_tasks.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/jdbc_adapter/version.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-jdbc-adapter-1.1.3/lib/pg.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-oracle_enhanced-adapter-1.4.0/.rspec (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-oracle_enhanced-adapter-1.4.0/.specification (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-oracle_enhanced-adapter-1.4.0/Gemfile (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-oracle_enhanced-adapter-1.4.0/History.txt (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-oracle_enhanced-adapter-1.4.0/License.txt (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-oracle_enhanced-adapter-1.4.0/README.md (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-oracle_enhanced-adapter-1.4.0/RUNNING_TESTS.md (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-oracle_enhanced-adapter-1.4.0/Rakefile (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-oracle_enhanced-adapter-1.4.0/VERSION (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-oracle_enhanced-adapter-1.4.0/activerecord-oracle_enhanced-adapter.gemspec (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/emulation/oracle_adapter.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced.rake (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_activerecord_patches.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_adapter.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_base_ext.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_column.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_connection.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_context_index.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_core_ext.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_cpk.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_dirty.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_jdbc_connection.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_oci_connection.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_procedures.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_schema_definitions.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_schema_dumper.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_schema_statements.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_schema_statements_ext.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_structure_dump.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_tasks.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/active_record/connection_adapters/oracle_enhanced_version.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/activerecord-oracle_enhanced-adapter.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activeresource => gems/gems/activeresource-2.3.14}/CHANGELOG (98%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activeresource => gems/gems/activeresource-2.3.14}/README (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activeresource => gems/gems/activeresource-2.3.14}/Rakefile (94%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activeresource => gems/gems/activeresource-2.3.14}/lib/active_resource.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activeresource => gems/gems/activeresource-2.3.14}/lib/active_resource/base.rb (98%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activeresource => gems/gems/activeresource-2.3.14}/lib/active_resource/connection.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activeresource => gems/gems/activeresource-2.3.14}/lib/active_resource/custom_methods.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activeresource => gems/gems/activeresource-2.3.14}/lib/active_resource/exceptions.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activeresource => gems/gems/activeresource-2.3.14}/lib/active_resource/formats.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activeresource => gems/gems/activeresource-2.3.14}/lib/active_resource/formats/json_format.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activeresource => gems/gems/activeresource-2.3.14}/lib/active_resource/formats/xml_format.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activeresource => gems/gems/activeresource-2.3.14}/lib/active_resource/http_mock.rb (59%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activeresource => gems/gems/activeresource-2.3.14}/lib/active_resource/validations.rb (98%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activeresource => gems/gems/activeresource-2.3.14}/lib/active_resource/version.rb (89%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activeresource => gems/gems/activeresource-2.3.14}/lib/activeresource.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/CHANGELOG (97%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/README (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support.rb (97%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/all.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/backtrace_cleaner.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/base64.rb (100%) create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/basic_object.rb rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/buffered_logger.rb (98%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/cache.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/cache/compressed_mem_cache_store.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/cache/drb_store.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/cache/file_store.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/cache/mem_cache_store.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/cache/memory_store.rb (89%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/cache/strategy/local_cache.rb (97%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/cache/synchronized_memory_store.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/callbacks.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/array.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/array/access.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/array/conversions.rb (99%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/array/extract_options.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/array/grouping.rb (98%) create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/array/random_access.rb rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/array/wrapper.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/base64.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/base64/encoding.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/benchmark.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/bigdecimal.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/bigdecimal/conversions.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/blank.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/cgi.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/cgi/escape_skipping_slashes.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/class.rb (82%) create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/class/attribute.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/class/attribute_accessors.rb rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/class/delegating_attributes.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/class/inheritable_attributes.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/class/removal.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/date.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/date/behavior.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/date/calculations.rb (94%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/date/conversions.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/date_time.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/date_time/calculations.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/date_time/conversions.rb (92%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/duplicable.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/enumerable.rb (95%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/exception.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/file.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/file/atomic.rb (93%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/float.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/float/rounding.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/float/time.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/hash.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/hash/conversions.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/hash/deep_merge.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/hash/diff.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/hash/except.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/hash/indifferent_access.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/hash/keys.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/hash/reverse_merge.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/hash/slice.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/integer.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/integer/even_odd.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/integer/inflections.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/integer/time.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/kernel.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/kernel/agnostics.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/kernel/daemonizing.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/kernel/debugger.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/kernel/reporting.rb (94%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/kernel/requires.rb (100%) create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/kernel/singleton_class.rb rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/load_error.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/logger.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/module.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/module/aliasing.rb (97%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/module/attr_accessor_with_default.rb (95%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/module/attr_internal.rb (100%) create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/module/attribute_accessors.rb rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/module/delegation.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/module/inclusion.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/module/introspection.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/module/loading.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/module/model_naming.rb (100%) create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/module/remove_method.rb rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/module/synchronization.rb (97%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/name_error.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/numeric.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/numeric/bytes.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/numeric/conversions.rb (83%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/numeric/time.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/object.rb (84%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/object/blank.rb (53%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/object/conversions.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/object/extending.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/object/instance_variables.rb (100%) create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/object/metaclass.rb rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/object/misc.rb (95%) create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/core_ext/object/singleton_class.rb rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/pathname.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/pathname/clean_within.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/proc.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/process.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/process/daemon.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/range.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/range/blockless_step.rb (95%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/range/conversions.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/range/include_range.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/range/overlaps.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/rexml.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/string.rb (94%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/string/access.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/string/behavior.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/string/bytesize.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/string/conversions.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/string/filters.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/string/inflections.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/string/iterators.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/string/multibyte.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/actionpack/lib/action_view/erb/util.rb => gems/gems/activesupport-2.3.14/lib/active_support/core_ext/string/output_safety.rb} (62%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/string/starts_ends_with.rb (83%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/string/xchar.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/symbol.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/time.rb (85%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/time/behavior.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/time/calculations.rb (95%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/time/conversions.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/time/zones.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/try.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/core_ext/uri.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/dependencies.rb (92%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/deprecation.rb (95%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/duration.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/gzip.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/inflections.rb (98%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/inflector.rb (98%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/json.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/json/backends/jsongem.rb (100%) create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/json/backends/yajl.rb rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/json/backends/yaml.rb (82%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/json/decoding.rb (69%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/json/encoders/date.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/json/encoders/date_time.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/json/encoders/enumerable.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/json/encoders/false_class.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/json/encoders/hash.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/json/encoders/nil_class.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/json/encoders/numeric.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/json/encoders/object.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/json/encoders/regexp.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/json/encoders/string.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/json/encoders/symbol.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/json/encoders/time.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/json/encoders/true_class.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/json/encoding.rb (83%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/json/variable.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/locale/en.yml (95%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/memoizable.rb (94%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/message_encryptor.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/message_verifier.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/multibyte.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/multibyte/chars.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/multibyte/exceptions.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/multibyte/unicode_database.rb (97%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/multibyte/utils.rb (80%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/option_merger.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/ordered_hash.rb (70%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/ordered_options.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/rescuable.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/secure_random.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/string_inquirer.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/test_case.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/testing/assertions.rb (82%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/testing/declarative.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/testing/default.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/testing/deprecation.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/testing/performance.rb (99%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/testing/setup_and_teardown.rb (96%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/time_with_zone.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/values/time_zone.rb (79%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/values/unicode_tables.dat (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor.rb (65%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/builder-2.1.2/blankslate.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/builder-2.1.2/builder.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/builder-2.1.2/builder/blankslate.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/builder-2.1.2/builder/css.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/builder-2.1.2/builder/xchar.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/builder-2.1.2/builder/xmlbase.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/builder-2.1.2/builder/xmlevents.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/builder-2.1.2/builder/xmlmarkup.rb (100%) create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n.rb rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/i18n-0.4.2/lib => gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1}/i18n/backend.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/i18n-0.4.2/lib => gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1}/i18n/backend/active_record.rb (100%) mode change 100644 => 100755 create mode 100755 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 rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/i18n-0.4.2/lib => gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1}/i18n/backend/active_record/store_procs.rb (100%) mode change 100644 => 100755 create mode 100755 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 create mode 100755 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 create mode 100755 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 rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/i18n-0.4.2/lib => gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1}/i18n/backend/cascade.rb (100%) mode change 100644 => 100755 create mode 100755 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 rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/i18n-0.4.2/lib => gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1}/i18n/backend/cldr.rb (100%) mode change 100644 => 100755 create mode 100755 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 rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/i18n-0.4.2/lib => gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1}/i18n/backend/flatten.rb (100%) mode change 100644 => 100755 create mode 100755 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 rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/i18n-0.4.2/lib => gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1}/i18n/backend/interpolation_compiler.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/i18n-0.4.2/lib => gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1}/i18n/backend/key_value.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/i18n-0.4.2/lib => gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1}/i18n/backend/memoize.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/i18n-0.4.2/lib => gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1}/i18n/backend/metadata.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/i18n-0.4.2/lib => gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1}/i18n/backend/pluralization.rb (100%) mode change 100644 => 100755 create mode 100755 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 rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/i18n-0.4.2/lib => gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1}/i18n/backend/transliterator.rb (100%) mode change 100644 => 100755 create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/config.rb rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/i18n-0.4.2/lib => gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1}/i18n/core_ext/hash.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/i18n-0.4.2/lib => gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1}/i18n/core_ext/string/interpolate.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/lib => gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1}/i18n/exceptions.rb (70%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/i18n-0.4.2/lib => gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1}/i18n/gettext.rb (100%) mode change 100644 => 100755 create mode 100755 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 rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/i18n-0.4.2/lib => gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1}/i18n/gettext/po_parser.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/i18n-0.4.2/lib => gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1}/i18n/locale.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/i18n-0.4.2/lib => gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1}/i18n/locale/fallbacks.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/i18n-0.4.2/lib => gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1}/i18n/locale/tag.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/i18n-0.4.2/lib => gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1}/i18n/locale/tag/parents.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/i18n-0.4.2/lib => gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1}/i18n/locale/tag/rfc4646.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/i18n-0.4.2/lib => gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1}/i18n/locale/tag/simple.rb (100%) mode change 100644 => 100755 create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/vendor/i18n-0.4.1/i18n/version.rb rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/memcache-client-1.7.4/memcache.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/data_timezone.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/data_timezone_info.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Algiers.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Cairo.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Casablanca.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Harare.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Johannesburg.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Monrovia.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Nairobi.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Argentina/Buenos_Aires.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Argentina/San_Juan.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Bogota.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Caracas.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Chicago.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Chihuahua.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Denver.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Godthab.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Guatemala.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Halifax.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Indiana/Indianapolis.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Juneau.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/La_Paz.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Lima.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Los_Angeles.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Mazatlan.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Mexico_City.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Monterrey.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/New_York.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Phoenix.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Regina.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Santiago.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Sao_Paulo.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/St_Johns.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Tijuana.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Almaty.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Baghdad.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Baku.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Bangkok.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Chongqing.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Colombo.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Dhaka.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Hong_Kong.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Irkutsk.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Jakarta.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Jerusalem.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kabul.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kamchatka.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Karachi.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Katmandu.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kolkata.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Krasnoyarsk.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kuala_Lumpur.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kuwait.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Magadan.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Muscat.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Novosibirsk.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Rangoon.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Riyadh.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Seoul.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Shanghai.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Singapore.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Taipei.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Tashkent.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Tbilisi.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Tehran.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Tokyo.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Ulaanbaatar.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Urumqi.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Vladivostok.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Yakutsk.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Yekaterinburg.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Yerevan.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Atlantic/Azores.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Atlantic/Cape_Verde.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Atlantic/South_Georgia.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Adelaide.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Brisbane.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Darwin.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Hobart.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Melbourne.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Perth.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Sydney.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Etc/UTC.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Amsterdam.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Athens.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Belgrade.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Berlin.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Bratislava.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Brussels.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Bucharest.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Budapest.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Copenhagen.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Dublin.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Helsinki.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Istanbul.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Kiev.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Lisbon.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Ljubljana.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/London.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Madrid.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Minsk.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Moscow.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Paris.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Prague.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Riga.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Rome.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Sarajevo.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Skopje.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Sofia.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Stockholm.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Tallinn.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Vienna.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Vilnius.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Warsaw.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Zagreb.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Auckland.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Fiji.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Guam.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Honolulu.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Majuro.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Midway.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Noumea.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Pago_Pago.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Port_Moresby.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Tongatapu.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/info_timezone.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/linked_timezone.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/linked_timezone_info.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/offset_rationals.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/ruby_core_support.rb (99%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/time_or_datetime.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_definition.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_info.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_offset_info.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_period.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_transition_info.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/version.rb (89%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/whiny_nil.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/xml_mini.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/xml_mini/jdom.rb (100%) create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/xml_mini/libxml.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/xml_mini/libxmlsax.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/xml_mini/nokogiri.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/xml_mini/nokogirisax.rb rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/active_support/xml_mini/rexml.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport => gems/gems/activesupport-2.3.14}/lib/activesupport.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/color-tools-1.3.0/.specification (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/color-tools-1.3.0/Changelog (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/color-tools-1.3.0/Install (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/color-tools-1.3.0/README (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/color-tools-1.3.0/Rakefile (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/color-tools-1.3.0/lib/color.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/color-tools-1.3.0/lib/color/cmyk.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/color-tools-1.3.0/lib/color/css.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/color-tools-1.3.0/lib/color/grayscale.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/color-tools-1.3.0/lib/color/hsl.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/color-tools-1.3.0/lib/color/palette.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/color-tools-1.3.0/lib/color/palette/gimp.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/color-tools-1.3.0/lib/color/palette/monocontrast.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/color-tools-1.3.0/lib/color/rgb-colors.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/color-tools-1.3.0/lib/color/rgb.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/color-tools-1.3.0/lib/color/rgb/metallic.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/color-tools-1.3.0/lib/color/yiq.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/color-tools-1.3.0/metaconfig (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/color-tools-1.3.0/pre-setup.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/color-tools-1.3.0/setup.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/fastercsv-1.4.0/.specification (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/fastercsv-1.4.0/AUTHORS (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/fastercsv-1.4.0/CHANGELOG (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/fastercsv-1.4.0/COPYING (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/fastercsv-1.4.0/INSTALL (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/fastercsv-1.4.0/LICENSE (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/fastercsv-1.4.0/README (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/fastercsv-1.4.0/Rakefile (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/fastercsv-1.4.0/TODO (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/fastercsv-1.4.0/lib/faster_csv.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/fastercsv-1.4.0/lib/fastercsv.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/fastercsv-1.4.0/setup.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/i18n-0.4.2/.specification (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/i18n-0.4.2/CHANGELOG.textile (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/i18n-0.4.2/MIT-LICENSE (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/i18n-0.4.2/README.textile (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/i18n-0.4.2/lib/i18n.rb (100%) create mode 100644 sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend.rb create mode 100644 sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/active_record.rb rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/i18n-0.4.2/lib/i18n/backend/active_record/missing.rb (100%) create mode 100644 sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/active_record/store_procs.rb rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/i18n-0.4.2/lib/i18n/backend/active_record/translation.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/i18n-0.4.2/lib/i18n/backend/base.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/i18n-0.4.2/lib/i18n/backend/cache.rb (100%) create mode 100644 sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/cascade.rb rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/i18n-0.4.2/lib/i18n/backend/chain.rb (100%) create mode 100644 sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/cldr.rb rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/i18n-0.4.2/lib/i18n/backend/fallbacks.rb (100%) create mode 100644 sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/flatten.rb rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/i18n-0.4.2/lib/i18n/backend/gettext.rb (100%) create mode 100644 sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/interpolation_compiler.rb create mode 100644 sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/key_value.rb create mode 100644 sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/memoize.rb create mode 100644 sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/metadata.rb create mode 100644 sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/pluralization.rb rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/i18n-0.4.2/lib/i18n/backend/simple.rb (100%) create mode 100644 sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/backend/transliterator.rb rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/i18n-0.4.2/lib/i18n/config.rb (100%) create mode 100644 sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/core_ext/hash.rb create mode 100644 sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/core_ext/string/interpolate.rb rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/i18n-0.4.2/lib/i18n/exceptions.rb (100%) create mode 100644 sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/gettext.rb rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/i18n-0.4.2/lib/i18n/gettext/helpers.rb (100%) create mode 100644 sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/gettext/po_parser.rb create mode 100644 sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/locale.rb create mode 100644 sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/locale/fallbacks.rb create mode 100644 sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/locale/tag.rb create mode 100644 sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/locale/tag/parents.rb create mode 100644 sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/locale/tag/rfc4646.rb create mode 100644 sonar-server/src/main/webapp/WEB-INF/gems/gems/i18n-0.4.2/lib/i18n/locale/tag/simple.rb rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/i18n-0.4.2/lib/i18n/version.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/jruby-openssl-0.7.4/.specification (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/jruby-openssl-0.7.4/History.txt (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/jruby-openssl-0.7.4/License.txt (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/jruby-openssl-0.7.4/Manifest.txt (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/jruby-openssl-0.7.4/README.txt (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/jruby-openssl-0.7.4/Rakefile (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/jruby-openssl-0.7.4/lib/jopenssl.jar (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/jruby-openssl-0.7.4/lib/jopenssl/version.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/jruby-openssl-0.7.4/lib/openssl.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/jruby-openssl-0.7.4/lib/openssl/bn.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/jruby-openssl-0.7.4/lib/openssl/buffering.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/jruby-openssl-0.7.4/lib/openssl/cipher.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/jruby-openssl-0.7.4/lib/openssl/config.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/jruby-openssl-0.7.4/lib/openssl/digest.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/jruby-openssl-0.7.4/lib/openssl/dummy.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/jruby-openssl-0.7.4/lib/openssl/dummyssl.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/jruby-openssl-0.7.4/lib/openssl/pkcs7.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/jruby-openssl-0.7.4/lib/openssl/ssl.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/jruby-openssl-0.7.4/lib/openssl/x509.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/json-jruby-1.2.3-universal-java-1.6/.specification (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/json-jruby-1.2.3-universal-java-1.6/lib/json.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/add/core.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/add/rails.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/common.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/ext.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/ext/generator.jar (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/ext/parser.jar (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/pure.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/pure/generator.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/pure/generator.rb.orig (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/pure/parser.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/version.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor => gems}/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/version.rb.orig (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/rack-1.0.1 => gems/gems/rack-1.1.3}/COPYING (92%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/rack-1.0.1 => gems/gems/rack-1.1.3}/KNOWN-ISSUES (83%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties/configs/empty.log => gems/gems/rack-1.1.3/RDOX} (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/rack-1.0.1 => gems/gems/rack-1.1.3}/README (78%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/rack-1.0.1 => gems/gems/rack-1.1.3}/SPEC (95%) create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/bin/rackup create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/contrib/rack_logo.svg create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/example/lobster.ru create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/example/protectedlobster.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/example/protectedlobster.ru rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/rack-1.0.1 => gems/gems/rack-1.1.3}/lib/rack.rb (87%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/rack-1.0.1 => gems/gems/rack-1.1.3}/lib/rack/adapter/camping.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/rack-1.0.1 => gems/gems/rack-1.1.3}/lib/rack/auth/abstract/handler.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/rack-1.0.1 => gems/gems/rack-1.1.3}/lib/rack/auth/abstract/request.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/rack-1.0.1 => gems/gems/rack-1.1.3}/lib/rack/auth/basic.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/rack-1.0.1 => gems/gems/rack-1.1.3}/lib/rack/auth/digest/md5.rb (96%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/rack-1.0.1 => gems/gems/rack-1.1.3}/lib/rack/auth/digest/nonce.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/rack-1.0.1 => gems/gems/rack-1.1.3}/lib/rack/auth/digest/params.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/rack-1.0.1 => gems/gems/rack-1.1.3}/lib/rack/auth/digest/request.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/rack-1.0.1 => gems/gems/rack-1.1.3}/lib/rack/builder.rb (72%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/rack-1.0.1 => gems/gems/rack-1.1.3}/lib/rack/cascade.rb (50%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/rack-1.0.1 => gems/gems/rack-1.1.3}/lib/rack/chunked.rb (93%) create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/commonlogger.rb rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/rack-1.0.1 => gems/gems/rack-1.1.3}/lib/rack/conditionalget.rb (100%) create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/config.rb rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/rack-1.0.1 => gems/gems/rack-1.1.3}/lib/rack/content_length.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/rack-1.0.1 => gems/gems/rack-1.1.3}/lib/rack/content_type.rb (93%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/rack-1.0.1 => gems/gems/rack-1.1.3}/lib/rack/deflater.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/rack-1.0.1 => gems/gems/rack-1.1.3}/lib/rack/directory.rb (93%) create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/etag.rb rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/rack-1.0.1 => gems/gems/rack-1.1.3}/lib/rack/file.rb (91%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/rack-1.0.1 => gems/gems/rack-1.1.3}/lib/rack/handler.rb (83%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/rack-1.0.1 => gems/gems/rack-1.1.3}/lib/rack/handler/cgi.rb (97%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/rack-1.0.1 => gems/gems/rack-1.1.3}/lib/rack/handler/evented_mongrel.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/rack-1.0.1 => gems/gems/rack-1.1.3}/lib/rack/handler/fastcgi.rb (95%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/rack-1.0.1 => gems/gems/rack-1.1.3}/lib/rack/handler/lsws.rb (93%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/rack-1.0.1 => gems/gems/rack-1.1.3}/lib/rack/handler/mongrel.rb (88%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/rack-1.0.1 => gems/gems/rack-1.1.3}/lib/rack/handler/scgi.rb (96%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/rack-1.0.1 => gems/gems/rack-1.1.3}/lib/rack/handler/swiftiplied_mongrel.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/rack-1.0.1 => gems/gems/rack-1.1.3}/lib/rack/handler/thin.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/rack-1.0.1 => gems/gems/rack-1.1.3}/lib/rack/handler/webrick.rb (94%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/rack-1.0.1 => gems/gems/rack-1.1.3}/lib/rack/head.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/rack-1.0.1 => gems/gems/rack-1.1.3}/lib/rack/lint.rb (93%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/rack-1.0.1 => gems/gems/rack-1.1.3}/lib/rack/lobster.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/rack-1.0.1 => gems/gems/rack-1.1.3}/lib/rack/lock.rb (100%) create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/logger.rb rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/rack-1.0.1 => gems/gems/rack-1.1.3}/lib/rack/methodoverride.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/rack-1.0.1 => gems/gems/rack-1.1.3}/lib/rack/mime.rb (98%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/rack-1.0.1 => gems/gems/rack-1.1.3}/lib/rack/mock.rb (74%) create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/nulllogger.rb rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/rack-1.0.1 => gems/gems/rack-1.1.3}/lib/rack/recursive.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/rack-1.0.1 => gems/gems/rack-1.1.3}/lib/rack/reloader.rb (94%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/rack-1.0.1 => gems/gems/rack-1.1.3}/lib/rack/request.rb (83%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/rack-1.0.1 => gems/gems/rack-1.1.3}/lib/rack/response.rb (71%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/rack-1.0.1 => gems/gems/rack-1.1.3}/lib/rack/rewindable_input.rb (100%) create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/runtime.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/sendfile.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/server.rb rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/rack-1.0.1 => gems/gems/rack-1.1.3}/lib/rack/session/abstract/id.rb (95%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/rack-1.0.1 => gems/gems/rack-1.1.3}/lib/rack/session/cookie.rb (93%) create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/lib/rack/session/memcache.rb rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/rack-1.0.1 => gems/gems/rack-1.1.3}/lib/rack/session/pool.rb (99%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/rack-1.0.1 => gems/gems/rack-1.1.3}/lib/rack/showexceptions.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/rack-1.0.1 => gems/gems/rack-1.1.3}/lib/rack/showstatus.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/rack-1.0.1 => gems/gems/rack-1.1.3}/lib/rack/static.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/rack-1.0.1 => gems/gems/rack-1.1.3}/lib/rack/urlmap.rb (72%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/gems/rack-1.0.1 => gems/gems/rack-1.1.3}/lib/rack/utils.rb (56%) create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/rack.gemspec create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_auth_basic.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_auth_digest.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_builder.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_camping.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_cascade.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_cgi.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_chunked.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_commonlogger.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_conditionalget.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_config.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_content_length.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_content_type.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_deflater.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_directory.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_etag.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_fastcgi.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_file.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_handler.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_head.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_lint.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_lobster.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_lock.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_logger.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_methodoverride.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_mock.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_mongrel.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_nulllogger.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_recursive.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_request.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_response.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_rewindable_input.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_runtime.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_sendfile.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_session_cookie.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_session_memcache.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_session_pool.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_showexceptions.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_showstatus.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_static.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_thin.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_urlmap.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_utils.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rack_webrick.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rack-1.1.3/test/spec_rackup.rb rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/CHANGELOG (99%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/MIT-LICENSE (89%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/README (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/Rakefile (95%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/builtin/rails_info/rails/info.rb (96%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/builtin/rails_info/rails/info_controller.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/builtin/rails_info/rails/info_helper.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/builtin/rails_info/rails_info_controller.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/configs/databases/frontbase.yml (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/configs/databases/ibm_db.yml (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/configs/databases/mysql.yml (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/configs/databases/oracle.yml (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/configs/databases/postgresql.yml (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/configs/databases/sqlite2.yml (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/configs/databases/sqlite3.yml (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties/html/favicon.ico => gems/gems/rails-2.3.14/configs/empty.log} (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/configs/initializers/backtrace_silencers.rb (100%) mode change 100644 => 100755 create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/configs/initializers/cookie_verification_secret.rb rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/configs/initializers/inflections.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/configs/initializers/mime_types.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/configs/initializers/new_rails_defaults.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/configs/initializers/session_store.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/configs/locales/en.yml (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/configs/routes.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/configs/seeds.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/dispatches/config.ru (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/dispatches/dispatch.fcgi (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/dispatches/dispatch.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/dispatches/gateway.cgi (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/environments/boot.rb (86%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/environments/development.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/environments/environment.rb (97%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/environments/production.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/environments/test.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/fresh_rakefile (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/helpers/application_controller.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/helpers/application_helper.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/helpers/performance_test.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/helpers/test_helper.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/html/404.html (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/html/422.html (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/html/500.html (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/fixture.rhtml => gems/gems/rails-2.3.14/html/favicon.ico} (100%) mode change 100644 => 100755 create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/html/images/rails.png rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/html/index.html (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/html/javascripts/application.js (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/html/javascripts/controls.js (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/html/javascripts/dragdrop.js (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/html/javascripts/effects.js (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/html/javascripts/prototype.js (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/html/robots.txt (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/code_statistics.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/commands.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/commands/about.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/commands/console.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/commands/dbconsole.rb (99%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/commands/destroy.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/commands/generate.rb (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/commands/ncgi/listener (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/commands/ncgi/tracker (100%) rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/commands/performance/benchmarker.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/commands/performance/profiler.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/commands/plugin.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/commands/runner.rb (97%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/commands/server.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/commands/update.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/console_app.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/console_sandbox.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/console_with_helpers.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/dispatcher.rb (95%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/fcgi_handler.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/initializer.rb (94%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/performance_test_help.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails/backtrace_cleaner.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails/gem_builder.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails/gem_dependency.rb (91%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails/plugin.rb (99%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails/plugin/loader.rb (96%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails/plugin/locator.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails/rack.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails/rack/debugger.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails/rack/log_tailer.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails/rack/metal.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails/rack/static.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails/vendor_gem_source_index.rb (95%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails/version.rb (89%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator.rb (87%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/base.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/commands.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generated_attribute.rb (72%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/applications/app/USAGE (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/applications/app/app_generator.rb (97%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/applications/app/scm/git.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/applications/app/scm/scm.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/applications/app/scm/svn.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/applications/app/template_runner.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/controller/USAGE (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/controller/controller_generator.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/controller/templates/controller.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/controller/templates/functional_test.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/controller/templates/helper.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/controller/templates/helper_test.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/controller/templates/view.html.erb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/helper/USAGE (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/helper/helper_generator.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/helper/templates/helper.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/helper/templates/helper_test.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/integration_test/USAGE (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/integration_test/integration_test_generator.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/integration_test/templates/integration_test.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/mailer/USAGE (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/mailer/mailer_generator.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/mailer/templates/fixture.erb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/view.rhtml => gems/gems/rails-2.3.14/lib/rails_generator/generators/components/mailer/templates/fixture.rhtml} (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/mailer/templates/mailer.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/mailer/templates/unit_test.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/mailer/templates/view.erb (100%) mode change 100644 => 100755 create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/mailer/templates/view.rhtml rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/metal/USAGE (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/metal/metal_generator.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/metal/templates/metal.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/migration/USAGE (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/migration/migration_generator.rb (93%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/migration/templates/migration.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/model/USAGE (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/model/model_generator.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/model/templates/fixtures.yml (54%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/model/templates/migration.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/model/templates/model.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/model/templates/unit_test.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/observer/USAGE (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/observer/observer_generator.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/observer/templates/observer.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/observer/templates/unit_test.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/performance_test/USAGE (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/performance_test/performance_test_generator.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/performance_test/templates/performance_test.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/plugin/USAGE (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/plugin/plugin_generator.rb (92%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/plugin/templates/MIT-LICENSE (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/plugin/templates/README (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/plugin/templates/Rakefile (89%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/plugin/templates/USAGE (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/plugin/templates/generator.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/plugin/templates/init.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/plugin/templates/install.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/plugin/templates/plugin.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/plugin/templates/tasks.rake (100%) mode change 100644 => 100755 create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/plugin/templates/test_helper.rb rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/plugin/templates/uninstall.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/plugin/templates/unit_test.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/resource/USAGE (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/resource/resource_generator.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/resource/templates/controller.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/resource/templates/functional_test.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/resource/templates/helper.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/resource/templates/helper_test.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/scaffold/USAGE (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/scaffold/scaffold_generator.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/scaffold/templates/controller.rb (89%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/scaffold/templates/functional_test.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/scaffold/templates/helper.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/scaffold/templates/helper_test.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/scaffold/templates/layout.html.erb (89%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/scaffold/templates/style.css (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/scaffold/templates/view_edit.html.erb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/scaffold/templates/view_index.html.erb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/scaffold/templates/view_new.html.erb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/scaffold/templates/view_show.html.erb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/session_migration/USAGE (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/session_migration/session_migration_generator.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/generators/components/session_migration/templates/migration.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/lookup.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/manifest.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/options.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/scripts.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/scripts/destroy.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/scripts/generate.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/scripts/update.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/secret_key_generator.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/simple_logger.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rails_generator/spec.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/railties_path.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/ruby_version_check.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/rubyprof_ext.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/source_annotation_extractor.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/tasks/annotations.rake (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/tasks/databases.rake (95%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/tasks/documentation.rake (95%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/tasks/framework.rake (95%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/tasks/gems.rake (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/tasks/log.rake (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/tasks/middleware.rake (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/tasks/misc.rake (100%) mode change 100644 => 100755 create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/tasks/rails.rb rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/tasks/routes.rake (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/tasks/statistics.rake (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/tasks/testing.rake (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/tasks/tmp.rake (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/test_help.rb (100%) mode change 100644 => 100755 rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/railties => gems/gems/rails-2.3.14}/lib/webrick_server.rb (100%) mode change 100644 => 100755 create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/tags create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/CHANGES rename sonar-server/src/main/webapp/WEB-INF/{vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3 => gems/gems/rake-0.9.2.2}/MIT-LICENSE (90%) create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/README.rdoc create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/Rakefile create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/TODO create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/install.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/alt_system.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/application.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/classic_namespace.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/clean.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/cloneable.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/contrib/compositepublisher.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/contrib/ftptools.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/contrib/publisher.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/contrib/rubyforgepublisher.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/contrib/sshpublisher.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/contrib/sys.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/default_loader.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/dsl_definition.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/early_time.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/ext/core.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/ext/module.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/ext/string.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/ext/time.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/file_creation_task.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/file_list.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/file_task.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/file_utils.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/file_utils_ext.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/gempackagetask.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/invocation_chain.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/invocation_exception_mixin.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/loaders/makefile.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/multi_task.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/name_space.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/packagetask.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/pathmap.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/pseudo_status.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/rake_module.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/rake_test_loader.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/rdoctask.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/ruby182_test_unit_fix.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/rule_recursion_overflow_error.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/runtest.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/task.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/task_argument_error.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/task_arguments.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/task_manager.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/tasklib.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/testtask.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/version.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/gems/rake-0.9.2.2/lib/rake/win32.rb create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/specifications/actionmailer-2.3.14.gemspec create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/specifications/actionpack-2.3.14.gemspec create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/specifications/activerecord-2.3.14.gemspec create mode 100644 sonar-server/src/main/webapp/WEB-INF/gems/specifications/activerecord-jdbc-adapter-1.1.3.gemspec create mode 100644 sonar-server/src/main/webapp/WEB-INF/gems/specifications/activerecord-oracle_enhanced-adapter-1.4.0.gemspec create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/specifications/activeresource-2.3.14.gemspec create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/specifications/activesupport-2.3.14.gemspec create mode 100644 sonar-server/src/main/webapp/WEB-INF/gems/specifications/color-tools-1.3.0.gemspec create mode 100644 sonar-server/src/main/webapp/WEB-INF/gems/specifications/fastercsv-1.4.0.gemspec create mode 100644 sonar-server/src/main/webapp/WEB-INF/gems/specifications/i18n-0.4.2.gemspec create mode 100644 sonar-server/src/main/webapp/WEB-INF/gems/specifications/jruby-openssl-0.7.4.gemspec create mode 100644 sonar-server/src/main/webapp/WEB-INF/gems/specifications/json-jruby-1.2.3-universal-java-1.6.gemspec create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/specifications/rack-1.1.3.gemspec create mode 100644 sonar-server/src/main/webapp/WEB-INF/gems/specifications/rails-2.3.14.gemspec create mode 100755 sonar-server/src/main/webapp/WEB-INF/gems/specifications/rake-0.9.2.2.gemspec delete mode 100755 sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/.specification delete mode 100755 sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/RDOX delete mode 100755 sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/Rakefile delete mode 100755 sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/bin/rackup delete mode 100755 sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/auth/openid.rb delete mode 100755 sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/commonlogger.rb delete mode 100755 sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/session/memcache.rb delete mode 100755 sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/rack.gemspec delete mode 100755 sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/RUNNING_UNIT_TESTS delete mode 100755 sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/cookies.rb delete mode 100755 sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/session/abstract_store.rb delete mode 100755 sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/templates/rescues/_trace.erb delete mode 100755 sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/templates/rescues/diagnostics.erb delete mode 100755 sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/templates/rescues/layout.erb delete mode 100755 sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/templates/rescues/routing_error.erb delete mode 100755 sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/templates/rescues/template_error.erb delete mode 100755 sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/safe_buffer.rb delete mode 100755 sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/associations/belongs_to_polymorphic_association.rb delete mode 100755 sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/i18n_interpolation_deprecation.rb delete mode 100755 sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/basic_object.rb delete mode 100755 sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/array/random_access.rb delete mode 100755 sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/class/attribute_accessors.rb delete mode 100755 sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/module/attribute_accessors.rb delete mode 100755 sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/object/metaclass.rb delete mode 100755 sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/string/output_safety.rb delete mode 100755 sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/README.textile delete mode 100755 sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/Rakefile delete mode 100755 sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/i18n.gemspec delete mode 100755 sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/lib/i18n.rb delete mode 100755 sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/lib/i18n/backend/simple.rb delete mode 100755 sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/test/all.rb delete mode 100755 sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/test/i18n_exceptions_test.rb delete mode 100755 sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/test/i18n_test.rb delete mode 100755 sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/test/locale/en.rb delete mode 100755 sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/test/locale/en.yml delete mode 100755 sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/test/simple_backend_test.rb delete mode 100755 sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/xml_mini/libxml.rb delete mode 100755 sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/xml_mini/nokogiri.rb delete mode 100755 sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/about delete mode 100755 sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/console delete mode 100755 sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/dbconsole delete mode 100755 sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/destroy delete mode 100755 sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/generate delete mode 100755 sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/performance/benchmarker delete mode 100755 sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/performance/profiler delete mode 100755 sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/plugin delete mode 100755 sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/rails delete mode 100755 sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/runner delete mode 100755 sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/bin/server delete mode 100644 sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/doc/README_FOR_APP delete mode 100644 sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/html/images/rails.png delete mode 100644 sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/test_helper.rb delete mode 100644 sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/tasks/rails.rb diff --git a/pom.xml b/pom.xml index 7a456d5ccff..7bea5285873 100644 --- a/pom.xml +++ b/pom.xml @@ -782,18 +782,9 @@ ${h2.version} - org.jruby.rack jruby-rack - 1.0.0.1 + 1.1.10 mysql @@ -915,10 +906,9 @@ 1.2 - org.jruby jruby-complete - 1.6.1 + 1.6.7.2 geronimo-spec @@ -930,6 +920,11 @@ stax2-api 3.0.1 + + javax.servlet + servlet-api + 2.5 + org.mortbay.jetty jetty-plus 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 @@ javax.servlet servlet-api - 2.4 true 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 @@ sonar-batch-maven-compat ${project.version} - org.codehaus.sonar sonar-channel @@ -46,7 +45,6 @@ org.codehaus.sonar sonar-markdown - org.codehaus.sonar sonar-update-center-common @@ -105,7 +103,6 @@ javax.servlet servlet-api - 2.4 provided 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 similarity index 98% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/CHANGELOG rename to 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 similarity index 95% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/MIT-LICENSE rename to 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 similarity index 97% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/README rename to 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 similarity index 94% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/Rakefile rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/install.rb rename to 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 similarity index 98% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/assertions/dom_assertions.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/assertions/model_assertions.rb rename to 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 similarity index 90% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/assertions/response_assertions.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/assertions/routing_assertions.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/assertions/selector_assertions.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/assertions/tag_assertions.rb rename to 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 similarity index 98% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/base.rb rename to 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 - # :overwrite_params 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, url_for :action => 'print' - # 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 redirect_to :back, if there is no referrer, - # RedirectBackError will be raised. You may specify some fallback + # When using redirect_to :back, 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/benchmarking.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/caching.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/caching/actions.rb rename to 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 similarity index 94% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/caching/fragments.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/caching/pages.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/caching/sweeper.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/caching/sweeping.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/cgi_ext.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/cgi_ext/cookie.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/cgi_ext/query_extension.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/cgi_ext/stdinput.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/cgi_process.rb rename to 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: + # + # * :value - The cookie's value or list of values (as an array). + # * :path - The path for which this cookie applies. Defaults to the root + # of the application. + # * :domain - The domain for which this cookie applies. + # * :expires - The time at which this cookie expires, as a Time object. + # * :secure - Whether this cookie is a only transmitted to HTTPS servers. + # Default is +false+. + # * :httponly - 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 []=, you can pass in + # an options hash to delete cookies with extra data such as a :path. + 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/dispatcher.rb rename to 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 similarity index 97% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/failsafe.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/filters.rb rename to 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 similarity index 82% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/flash.rb rename to 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 flash["notice"] to # read a notice you put there or flash["notice"] = "hello" # 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/headers.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/helpers.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/http_authentication.rb rename to 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 similarity index 96% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/integration.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/layout.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/middleware_stack.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/middlewares.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/mime_responds.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/mime_type.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/mime_types.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/params_parser.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/performance_test.rb rename to 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 similarity index 99% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/polymorphic_routes.rb rename to 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 similarity index 96% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/rack_lint_patch.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/record_identifier.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/reloader.rb rename to 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 similarity index 98% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/request.rb rename to 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 similarity index 93% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/request_forgery_protection.rb rename to 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 similarity index 97% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/rescue.rb rename to 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 rescue_action_in_public # and rescue_action_locally 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 similarity index 99% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/resources.rb rename to 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 similarity index 95% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/response.rb rename to 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 similarity index 99% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/routing.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/routing/builder.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/routing/optimisations.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/routing/recognition_optimisation.rb rename to 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 similarity index 98% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/routing/route.rb rename to 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 similarity index 99% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/routing/route_set.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/routing/routing_ext.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/routing/segments.rb rename to 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 similarity index 75% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/session/cookie_store.rb rename to 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 similarity index 85% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/session/mem_cache_store.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/session_management.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/status_codes.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/streaming.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/string_coercion.rb rename to 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 similarity index 51% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/templates/rescues/_request_and_response.erb rename to 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) %> -Show blamed files -<% end %> -
><%=h @exception.describe_blame %>
+ <% if (hide = @exception.blamed_files.length > 8) %> + Show blamed files + <% end %> +
><%=h @exception.describe_blame %>
<% 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") %> +

Request

Parameters:

<%=h request_dump %>

+

Show session dump

+ +

Response

Headers:

<%=h response ? response.headers.inspect.gsub(',', ",\n") : 'None' %>

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} +%> + +

RAILS_ROOT: <%= defined?(RAILS_ROOT) ? RAILS_ROOT : "unset" %>

+ +
+ <% 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';"} + %> + <%= name %> <%= '|' unless names.last == name %> + <% end %> + + <% traces.each do |name, trace| %> +
;"> +
<%=h trace.join "\n" %>
+
+ <% end %> +
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 @@ +

+ <%=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 %> +

+
<%=h @exception.clean_message %>
+ +<%= 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 @@ + + + Action Controller: Exception caught + + + + +<%= @contents %> + + + \ 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/templates/rescues/missing_template.erb rename to 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 @@ +

Routing Error

+

<%=h @exception.message %>

+<% unless @exception.failures.empty? %>

+

Failure reasons:

+
    + <% @exception.failures.each do |route, reason| %> +
  1. <%=h route.inspect.gsub('\\', '') %> failed because <%=h reason.downcase %>
  2. + <% end %> +
+

<% 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 @@ +

+ <%=h @exception.original_exception.class.to_s %> in + <%=h request.parameters["controller"].capitalize if request.parameters["controller"]%>#<%=h request.parameters["action"] %> +

+ +

+ Showing <%=h @exception.file_name %> where line #<%=h @exception.line_number %> raised: +

<%=h @exception.message %>
+

+ +

Extracted source (around line #<%=h @exception.line_number %>): +

<%=h @exception.source_extract %>

+ +

<%=h @exception.sub_template_message %>

+ +<% @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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/templates/rescues/unknown_action.erb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/test_case.rb rename to 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 similarity index 99% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/test_process.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/translation.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/uploaded_file.rb rename to 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 similarity index 93% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/url_rewriter.rb rename to 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 routes.rb 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/document.rb rename to 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 similarity index 99% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/node.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/sanitizer.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/selector.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/tokenizer.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/version.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_controller/verification.rb rename to 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 similarity index 95% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_pack.rb rename to 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 similarity index 90% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_pack/version.rb rename to 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 similarity index 89% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/base.rb rename to 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 similarity index 96% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers.rb rename to 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 similarity index 95% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/active_record_helper.rb rename to 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| "
#{html_tag}
".html_safe! } + @@field_error_proc = Proc.new{ |html_tag, instance| "
#{html_tag}
".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 << '' + contents.safe_concat submit_tag(submit_value) + contents.safe_concat '' 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 similarity index 99% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/asset_tag_helper.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/atom_feed_helper.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/benchmark_helper.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/cache_helper.rb rename to 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 similarity index 98% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/capture_helper.rb rename to 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? + %(\n).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 similarity index 99% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/date_helper.rb rename to 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) # => "" 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 similarity index 96% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/debug_helper.rb rename to 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) - "
#{h(object.to_yaml).gsub("  ", "  ")}
" + "
#{h(object.to_yaml).gsub("  ", "  ")}
".html_safe rescue Exception => e # errors from Marshal or YAML # Object couldn't be dumped, perhaps because of singleton methods -- this is the fallback - "#{h(object.inspect)}" + "#{h(object.inspect)}".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 similarity index 93% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/form_helper.rb rename to 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(''.html_safe!) + concat(''.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 _delete parameter, + # Now, when you use a form element with the _destroy 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 _delete + # attributes hash by adding a form element for the _destroy # 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..) 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 :value 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) # # => # + # 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) + # # => + # + # 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(:post, :title, "A short title") # # => # @@ -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") - # # => - # # + # # => + # # # # # Let's say that @puppy.gooddog is "no": # check_box("puppy", "gooddog", {}, "yes", "no") - # # => - # # + # # => + # # # # check_box("eula", "accepted", { :class => 'eula_check' }, "yes", "no") - # # => - # # + # # => + # # # 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 similarity index 99% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/form_options_helper.rb rename to 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 << %() 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') - "\n" + option_tags - else - option_tags + option_tags = "\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 similarity index 97% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/form_tag_helper.rb rename to 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 # # 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("".html_safe!) + concat("".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("".html_safe!) + concat("".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 similarity index 99% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/javascript_helper.rb rename to 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 similarity index 99% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/number_helper.rb rename to 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 similarity index 99% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/helpers/prototype_helper.rb rename to 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(''.html_safe!) + concat(''.html_safe) end alias_method :form_remote_for, :remote_form_for @@ -653,7 +653,7 @@ module ActionView # " @@ -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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/inline_template.rb rename to 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 similarity index 99% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/locale/en.yml rename to 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 similarity index 98% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/partials.rb rename to 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 similarity index 78% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/paths.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/reloadable_template.rb rename to 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 similarity index 87% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/renderable.rb rename to 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 similarity index 85% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/renderable_partial.rb rename to 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 similarity index 99% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/template.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/template_error.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/template_handler.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/template_handlers.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/template_handlers/builder.rb rename to 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 similarity index 53% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/template_handlers/erb.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/template_handlers/rjs.rb rename to 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 similarity index 99% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/test_case.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/actionpack.rb rename to 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 similarity index 99% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/CHANGELOG rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/README rename to 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 similarity index 97% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/Rakefile rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/install.rb rename to 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 similarity index 97% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/aggregations.rb rename to 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 similarity index 78% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/association_preload.rb rename to 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 similarity index 97% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/associations.rb rename to 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 similarity index 84% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/associations/association_collection.rb rename to 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 similarity index 94% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/associations/association_proxy.rb rename to 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 similarity index 85% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/associations/belongs_to_association.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/associations/has_and_belongs_to_many_association.rb rename to 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 similarity index 97% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/associations/has_many_association.rb rename to 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 similarity index 98% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/associations/has_many_through_association.rb rename to 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 similarity index 92% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/associations/has_one_association.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/associations/has_one_through_association.rb rename to 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 similarity index 99% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/attribute_methods.rb rename to 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 similarity index 78% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/autosave_association.rb rename to 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 :validate or :autosave 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 similarity index 96% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/base.rb rename to 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 similarity index 83% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/batches.rb rename to 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 similarity index 92% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/calculations.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/callbacks.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb rename to 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 similarity index 96% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb rename to 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 similarity index 97% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb rename to 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 similarity index 86% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/quoting.rb rename to 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 similarity index 99% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb rename to 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 similarity index 83% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb rename to 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 CREATE TABLE 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 similarity index 93% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb rename to 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 similarity index 92% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb rename to 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 similarity index 93% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb rename to 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 similarity index 91% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb rename to 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 similarity index 96% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb rename to 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 similarity index 97% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/dirty.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/dynamic_finder_match.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/dynamic_scope_match.rb rename to 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 similarity index 99% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/fixtures.rb rename to 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 similarity index 72% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/locale/en.yml rename to 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 similarity index 82% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/locking/optimistic.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/locking/pessimistic.rb rename to 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 similarity index 99% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/migration.rb rename to 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 similarity index 93% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/named_scope.rb rename to 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 :conditions => {:color => :red}, :select => 'shirts.*', :include => :washing_instructions. # @@ -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 similarity index 80% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/nested_attributes.rb rename to 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 attr_protected or attr_accessible, 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 :id 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 :id + # 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 :id attribute _and_ a - # :_destroy key set to a truthy value, then the existing record - # will be marked for destruction. + # If the given attributes include a matching :id attribute, or + # update_only is true, and a :_destroy 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/observer.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/query_cache.rb rename to 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 similarity index 83% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/reflection.rb rename to 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 + # :validate => false, it will take place when: + # + # * you explicitely enable validation; :validate => true + # * you use autosave; :autosave => true + # * 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 similarity index 91% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/schema.rb rename to 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 similarity index 96% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/schema_dumper.rb rename to 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 similarity index 98% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/serialization.rb rename to 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 similarity index 97% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/serializers/json_serializer.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/serializers/xml_serializer.rb rename to 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 similarity index 97% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/session_store.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/test_case.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/timestamp.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/transactions.rb rename to 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 similarity index 97% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/validations.rb rename to 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 "{{attribute}} {{message}}". + # The default full_message format for any locale is "%{attribute} %{message}". # One can specify locale specific default full_message format by storing it as a # translation for the key :"activerecord.errors.full_messages.format". # @@ -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 # * :in - A synonym(or alias) for :within. # * :allow_nil - Attribute may be +nil+; skip validation. # * :allow_blank - Attribute may be blank; skip validation. - # * :too_long - The error message if the attribute goes over the maximum (default is: "is too long (maximum is {{count}} characters)"). - # * :too_short - The error message if the attribute goes under the minimum (default is: "is too short (min is {{count}} characters)"). - # * :wrong_length - The error message if using the :is method and the attribute is the wrong size (default is: "is the wrong length (should be {{count}} characters)"). + # * :too_long - The error message if the attribute goes over the maximum (default is: "is too long (maximum is %{count} characters)"). + # * :too_short - The error message if the attribute goes under the minimum (default is: "is too short (min is %{count} characters)"). + # * :wrong_length - The error message if using the :is method and the attribute is the wrong size (default is: "is the wrong length (should be %{count} characters)"). # * :message - The error message to use for a :minimum, :maximum, or :is violation. An alias of the appropriate too_long/too_short/wrong_length message. # * :on - Specifies when this validation is active (default is :save, other options :create, :update). # * :if - 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 similarity index 89% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/active_record/version.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activerecord/lib/activerecord.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/.gemtest rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/.specification rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/History.txt rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/LICENSE.txt rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/Manifest.txt rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/README.txt rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/Rakefile rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/derby_adapter.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/h2_adapter.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/hsqldb_adapter.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/informix_adapter.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/jdbc_adapter.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/jndi_adapter.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/mssql_adapter.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/mysql2_adapter.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/mysql_adapter.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/oracle_adapter.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/postgresql_adapter.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/active_record/connection_adapters/sqlite3_adapter.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/activerecord-jdbc-adapter.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/engines/sql/compilers/db2_compiler.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/engines/sql/compilers/derby_compiler.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/engines/sql/compilers/h2_compiler.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/engines/sql/compilers/hsqldb_compiler.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/engines/sql/compilers/jdbc_compiler.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/engines/sql/compilers/mssql_compiler.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/visitors/compat.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/visitors/db2.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/visitors/derby.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/visitors/firebird.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/visitors/hsqldb.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arel/visitors/sql_server.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/db2.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/db2/adapter.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/derby.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/derby/adapter.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/derby/connection_methods.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/discover.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/firebird.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/firebird/adapter.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/h2.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/h2/adapter.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/h2/connection_methods.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/hsqldb.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/hsqldb/adapter.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/hsqldb/connection_methods.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/informix.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/informix/adapter.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/informix/connection_methods.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/adapter.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/adapter_java.jar rename to sonar-server/src/main/webapp/WEB-INF/gems/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/adapter_java.jar 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/callbacks.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/column.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/compatibility.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/connection.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/connection_methods.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/core_ext.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/discover.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/driver.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/extension.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/java.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/jdbc.rake rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/missing_functionality_helper.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/quoted_primary_key.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/railtie.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/rake_tasks.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/require_driver.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/jdbc/type_converter.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mimer.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mimer/adapter.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mssql.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mssql/adapter.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mssql/connection_methods.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mssql/limit_helpers.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mssql/tsql_helper.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mysql.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mysql/adapter.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/mysql/connection_methods.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/oracle.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/oracle/adapter.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/oracle/connection_methods.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/postgresql.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/postgresql/adapter.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/postgresql/connection_methods.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/sqlite3.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/sqlite3/adapter.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/sqlite3/connection_methods.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/sybase.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/sybase/adapter.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/arjdbc/version.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/generators/jdbc/jdbc_generator.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/jdbc_adapter.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/jdbc_adapter/rake_tasks.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/jdbc_adapter/version.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-jdbc-adapter-1.1.3/lib/pg.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/.rspec rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/.specification rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/Gemfile rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/History.txt rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/License.txt rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/README.md rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/RUNNING_TESTS.md rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/Rakefile rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/VERSION rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/activerecord-oracle_enhanced-adapter.gemspec rename to 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 similarity index 100% rename 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 rename to 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 similarity index 100% rename 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 rename to 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 similarity index 100% rename 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 rename to 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 similarity index 100% rename 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 rename to 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 similarity index 100% rename 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 rename to 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 similarity index 100% rename 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 rename to 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 similarity index 100% rename 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 rename to 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 similarity index 100% rename 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 rename to 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 similarity index 100% rename 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 rename to 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 similarity index 100% rename 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 rename to 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 similarity index 100% rename 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 rename to 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 similarity index 100% rename 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 rename to 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 similarity index 100% rename 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 rename to 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 similarity index 100% rename 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 rename to 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 similarity index 100% rename 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 rename to 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 similarity index 100% rename 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 rename to 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 similarity index 100% rename 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 rename to 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 similarity index 100% rename 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 rename to 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 similarity index 100% rename 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 rename to 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 similarity index 100% rename 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 rename to 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 similarity index 100% rename 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 rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/activerecord-oracle_enhanced-adapter-1.4.0/lib/activerecord-oracle_enhanced-adapter.rb rename to 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 similarity index 98% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/CHANGELOG rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/README rename to 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 similarity index 94% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/Rakefile rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/lib/active_resource.rb rename to 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 similarity index 98% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/lib/active_resource/base.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/lib/active_resource/connection.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/lib/active_resource/custom_methods.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/lib/active_resource/exceptions.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/lib/active_resource/formats.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/lib/active_resource/formats/json_format.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/lib/active_resource/formats/xml_format.rb rename to 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 similarity index 59% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/lib/active_resource/http_mock.rb rename to 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 http_method, # +path+ and request_headers. 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 {Request => Response} 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 similarity index 98% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/lib/active_resource/validations.rb rename to 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 similarity index 89% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/lib/active_resource/version.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activeresource/lib/activeresource.rb rename to 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 similarity index 97% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/CHANGELOG rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/README rename to 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 similarity index 97% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/all.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/backtrace_cleaner.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/base64.rb rename to 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 similarity index 98% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/buffered_logger.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/cache.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/cache/compressed_mem_cache_store.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/cache/drb_store.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/cache/file_store.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/cache/mem_cache_store.rb rename to 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 similarity index 89% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/cache/memory_store.rb rename to 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 similarity index 97% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/cache/strategy/local_cache.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/cache/synchronized_memory_store.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/callbacks.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/array.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/array/access.rb rename to 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 similarity index 99% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/array/conversions.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/array/extract_options.rb rename to 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 similarity index 98% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/array/grouping.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/array/wrapper.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/base64.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/base64/encoding.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/benchmark.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/bigdecimal.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/bigdecimal/conversions.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/blank.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/cgi.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/cgi/escape_skipping_slashes.rb rename to 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 similarity index 82% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/class.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/class/delegating_attributes.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/class/inheritable_attributes.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/class/removal.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/date.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/date/behavior.rb rename to 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 similarity index 94% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/date/calculations.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/date/conversions.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/date_time.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/date_time/calculations.rb rename to 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 similarity index 92% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/date_time/conversions.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/duplicable.rb rename to 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 similarity index 95% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/enumerable.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/exception.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/file.rb rename to 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 similarity index 93% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/file/atomic.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/float.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/float/rounding.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/float/time.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/hash.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/hash/conversions.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/hash/deep_merge.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/hash/diff.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/hash/except.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/hash/indifferent_access.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/hash/keys.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/hash/reverse_merge.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/hash/slice.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/integer.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/integer/even_odd.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/integer/inflections.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/integer/time.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/kernel.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/kernel/agnostics.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/kernel/daemonizing.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/kernel/debugger.rb rename to 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 similarity index 94% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/kernel/reporting.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/kernel/requires.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/load_error.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/logger.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/module.rb rename to 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 similarity index 97% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/module/aliasing.rb rename to 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 similarity index 95% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/module/attr_accessor_with_default.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/module/attr_internal.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/module/delegation.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/module/inclusion.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/module/introspection.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/module/loading.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/module/model_naming.rb rename to 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 similarity index 97% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/module/synchronization.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/name_error.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/numeric.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/numeric/bytes.rb rename to 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 similarity index 83% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/numeric/conversions.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/numeric/time.rb rename to 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 similarity index 84% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/object.rb rename to 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 similarity index 53% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/object/blank.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/object/conversions.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/object/extending.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/object/instance_variables.rb rename to 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 similarity index 95% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/object/misc.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/pathname.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/pathname/clean_within.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/proc.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/process.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/process/daemon.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/range.rb rename to 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 similarity index 95% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/range/blockless_step.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/range/conversions.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/range/include_range.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/range/overlaps.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/rexml.rb rename to 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 similarity index 94% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/string.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/string/access.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/string/behavior.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/string/bytesize.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/string/conversions.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/string/filters.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/string/inflections.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/string/iterators.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/string/multibyte.rb rename to 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 similarity index 62% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/actionpack/lib/action_view/erb/util.rb rename to 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 > 0 & a < 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(/&/, "&").gsub(/\"/, """).gsub(/>/, ">").gsub(/ 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/time/conversions.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/time/zones.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/try.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/core_ext/uri.rb rename to 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 similarity index 92% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/dependencies.rb rename to 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 similarity index 95% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/deprecation.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/duration.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/gzip.rb rename to 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 similarity index 98% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/inflections.rb rename to 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 similarity index 98% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/inflector.rb rename to 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)) %> # # => Donald E. Knuth 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/backends/jsongem.rb rename to 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 similarity index 82% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/backends/yaml.rb rename to 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 similarity index 69% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/decoding.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoders/date.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoders/date_time.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoders/enumerable.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoders/false_class.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoders/hash.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoders/nil_class.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoders/numeric.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoders/object.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoders/regexp.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoders/string.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoders/symbol.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoders/time.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoders/true_class.rb rename to 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 similarity index 83% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/encoding.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/json/variable.rb rename to 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 similarity index 95% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/locale/en.yml rename to 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 similarity index 94% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/memoizable.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/message_encryptor.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/message_verifier.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/multibyte.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/multibyte/chars.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/multibyte/exceptions.rb rename to 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 similarity index 97% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/multibyte/unicode_database.rb rename to 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 similarity index 80% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/multibyte/utils.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/option_merger.rb rename to 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 similarity index 70% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/ordered_hash.rb rename to 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 "#" 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/ordered_options.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/rescuable.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/secure_random.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/string_inquirer.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/test_case.rb rename to 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 similarity index 82% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/testing/assertions.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/testing/declarative.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/testing/default.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/testing/deprecation.rb rename to 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 similarity index 99% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/testing/performance.rb rename to 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 similarity index 96% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/testing/setup_and_teardown.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/time_with_zone.rb rename to 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 similarity index 79% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/values/time_zone.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/values/unicode_tables.dat rename to sonar-server/src/main/webapp/WEB-INF/gems/gems/activesupport-2.3.14/lib/active_support/values/unicode_tables.dat 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 similarity index 65% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/blankslate.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/blankslate.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/css.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/xchar.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/xmlbase.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/xmlevents.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/xmlmarkup.rb rename to 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. E.g., ActionView ships with the translation: + # :date => {:formats => {:short => "%b %d"}}. + # + # Translations can be looked up at any level of this hash using the key argument + # and the scope option. E.g., in this example I18n.t :date + # returns the whole translations hash {:formats => {:short => "%b %d"}}. + # + # Key can be either a single key or a dot-separated key (both Strings and Symbols + # work). E.g., 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. + # + # E.g., with a translation :foo => "foo %{bar}" 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 ['Foo', 'Foos']. + # + # Note that I18n::Backend::Simple 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 :count option can be used both for pluralization and interpolation. + # E.g., with the translation + # :foo => ['%{count} foo', '%{count} foos'], count will + # be interpolated to the pluralized translation: + # I18n.t :foo, :count => 1 # => '1 foo' + # + # *DEFAULTS* + # + # This returns the translation for :foo or default if no translation was found: + # I18n.t :foo, :default => 'default' + # + # This returns the translation for :foo or the translation for :bar if no + # translation for :foo was found: + # I18n.t :foo, :default => :bar + # + # Returns the translation for :foo or the translation for :bar + # or default if no translations for :foo and :bar were found. + # I18n.t :foo, :default => [:bar, 'default'] + # + # *BULK LOOKUP* + # + # This returns an array with the translations for :foo and :bar. + # 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 :salutation resolves to: + # lambda { |key, options| options[:gender] == 'm' ? "Mr. %{options[:name]}" : "Mrs. %{options[:name]}" } + # + # Then 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 + # i18n.transliterate.rule. + # + # 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 .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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/active_record.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/active_record/store_procs.rb rename to 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 (e.g., :short in :'date.formats'). + 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 \\ when you want to escape + # the {{...}} 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/cascade.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/cldr.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/flatten.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/interpolation_compiler.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/key_value.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/memoize.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/metadata.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/pluralization.rb rename to 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. currency.format is regarded the same as + # %w(currency format). + 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/transliterator.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/core_ext/hash.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/core_ext/string/interpolate.rb rename to 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 similarity index 70% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/lib/i18n/exceptions.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/gettext.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/gettext/po_parser.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/locale.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/locale/fallbacks.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/locale/tag.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/locale/tag/parents.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/locale/tag/rfc4646.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/locale/tag/simple.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/memcache-client-1.7.4/memcache.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/data_timezone.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/data_timezone_info.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Algiers.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Cairo.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Casablanca.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Harare.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Johannesburg.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Monrovia.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Nairobi.rb rename to 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 similarity index 100% rename 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 rename to 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 similarity index 100% rename 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 rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Bogota.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Caracas.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Chicago.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Chihuahua.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Denver.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Godthab.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Guatemala.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Halifax.rb rename to 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 similarity index 100% rename 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 rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Juneau.rb rename to 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 similarity index 100% rename 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 rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Lima.rb rename to 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 similarity index 100% rename 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 rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Mazatlan.rb rename to 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 similarity index 100% rename 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 rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Monterrey.rb rename to 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 similarity index 100% rename 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 rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Phoenix.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Regina.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Santiago.rb rename to 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 similarity index 100% rename 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 rename to 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 similarity index 100% rename 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 rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Tijuana.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Almaty.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Baghdad.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Baku.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Bangkok.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Chongqing.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Colombo.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Dhaka.rb rename to 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 similarity index 100% rename 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 rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Irkutsk.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Jakarta.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Jerusalem.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kabul.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kamchatka.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Karachi.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Katmandu.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kolkata.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Krasnoyarsk.rb rename to 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 similarity index 100% rename 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 rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kuwait.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Magadan.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Muscat.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Novosibirsk.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Rangoon.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Riyadh.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Seoul.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Shanghai.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Singapore.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Taipei.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Tashkent.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Tbilisi.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Tehran.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Tokyo.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Ulaanbaatar.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Urumqi.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Vladivostok.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Yakutsk.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Yekaterinburg.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Yerevan.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Atlantic/Azores.rb rename to 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 similarity index 100% rename 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 rename to 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 similarity index 100% rename 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 rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Adelaide.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Brisbane.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Darwin.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Hobart.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Melbourne.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Perth.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Sydney.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Etc/UTC.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Amsterdam.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Athens.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Belgrade.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Berlin.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Bratislava.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Brussels.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Bucharest.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Budapest.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Copenhagen.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Dublin.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Helsinki.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Istanbul.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Kiev.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Lisbon.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Ljubljana.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/London.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Madrid.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Minsk.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Moscow.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Paris.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Prague.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Riga.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Rome.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Sarajevo.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Skopje.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Sofia.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Stockholm.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Tallinn.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Vienna.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Vilnius.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Warsaw.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Zagreb.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Auckland.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Fiji.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Guam.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Honolulu.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Majuro.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Midway.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Noumea.rb rename to 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 similarity index 100% rename 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 rename to 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 similarity index 100% rename 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 rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Tongatapu.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/info_timezone.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/linked_timezone.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/linked_timezone_info.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/offset_rationals.rb rename to 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 similarity index 99% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/ruby_core_support.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/time_or_datetime.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_definition.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_info.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_offset_info.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_period.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_transition_info.rb rename to 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 similarity index 89% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/version.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/whiny_nil.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/xml_mini.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/xml_mini/jdom.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/xml_mini/rexml.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/activesupport.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/.specification rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/Changelog rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/Install rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/README rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/Rakefile rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/lib/color.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/lib/color/cmyk.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/lib/color/css.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/lib/color/grayscale.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/lib/color/hsl.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/lib/color/palette.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/lib/color/palette/gimp.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/lib/color/palette/monocontrast.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/lib/color/rgb-colors.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/lib/color/rgb.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/lib/color/rgb/metallic.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/lib/color/yiq.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/metaconfig rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/pre-setup.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/color-tools-1.3.0/setup.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/fastercsv-1.4.0/.specification rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/fastercsv-1.4.0/AUTHORS rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/fastercsv-1.4.0/CHANGELOG rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/fastercsv-1.4.0/COPYING rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/fastercsv-1.4.0/INSTALL rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/fastercsv-1.4.0/LICENSE rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/fastercsv-1.4.0/README rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/fastercsv-1.4.0/Rakefile rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/fastercsv-1.4.0/TODO rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/fastercsv-1.4.0/lib/faster_csv.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/fastercsv-1.4.0/lib/fastercsv.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/fastercsv-1.4.0/setup.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/.specification rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/CHANGELOG.textile rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/MIT-LICENSE rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/README.textile rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/active_record/missing.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/active_record/translation.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/base.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/cache.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/chain.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/fallbacks.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/gettext.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/backend/simple.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/config.rb rename to 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 "%.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 %d + # it will interpret the hash values as named arguments and format the value + # according to the formatting instruction appended to the closing >. + # + # Example: + # + # "%d, %.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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/exceptions.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/gettext/helpers.rb rename to 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 + + 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: +# +#

+# I18n.fallbacks[:"es-MX"] # => [:"es-MX", :es, :en] 
+# +# 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/i18n-0.4.2/lib/i18n/version.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/.specification rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/History.txt rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/License.txt rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/Manifest.txt rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/README.txt rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/Rakefile rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/lib/jopenssl.jar rename to sonar-server/src/main/webapp/WEB-INF/gems/gems/jruby-openssl-0.7.4/lib/jopenssl.jar 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/lib/jopenssl/version.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/lib/openssl.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/lib/openssl/bn.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/lib/openssl/buffering.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/lib/openssl/cipher.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/lib/openssl/config.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/lib/openssl/digest.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/lib/openssl/dummy.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/lib/openssl/dummyssl.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/lib/openssl/pkcs7.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/lib/openssl/ssl.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/jruby-openssl-0.7.4/lib/openssl/x509.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/.specification rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/lib/json.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/add/core.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/add/rails.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/common.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/ext.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/ext/generator.jar rename to sonar-server/src/main/webapp/WEB-INF/gems/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/ext/generator.jar 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/ext/parser.jar rename to sonar-server/src/main/webapp/WEB-INF/gems/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/ext/parser.jar 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/pure.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/pure/generator.rb rename to 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 similarity index 100% rename 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 rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/pure/parser.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/version.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/json-jruby-1.2.3-universal-java-1.6/lib/json/version.rb.orig rename to 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 similarity index 92% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/COPYING rename to 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 +Copyright (c) 2007, 2008, 2009, 2010 Christian Neukirchen 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 similarity index 83% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/KNOWN-ISSUES rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/empty.log rename to 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 similarity index 78% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/README rename to 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 -. +Please post bugs, suggestions and patches to +the bug tracker at . Mailing list archives are available at . -There is a bug tracker at . - 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 +Copyright (C) 2007, 2008, 2009, 2010 Christian Neukirchen 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:: Rack's Rubyforge project:: Official Rack repositories:: +Rack Lighthouse Bug Tracking:: rack-devel mailing list:: Christian Neukirchen:: 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 similarity index 95% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/SPEC rename to 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: -rack.version:: The Array [1,0], representing this version of Rack. +rack.version:: The Array [1,1], representing this version of Rack. rack.url_scheme:: +http+ or +https+, depending on the request URL. rack.input:: See below, the input stream. rack.errors:: See below, the error stream. @@ -68,6 +68,13 @@ be implemented by the server. fetch(key, default = nil) (aliased as []); delete(key); clear; +rack.logger:: 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 rack. 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 @@ + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + 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 similarity index 87% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack.rb rename to 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 +# Copyright (C) 2007, 2008, 2009, 2010 Christian Neukirchen # # 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/adapter/camping.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/auth/abstract/handler.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/auth/abstract/request.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/auth/basic.rb rename to 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 similarity index 96% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/auth/digest/md5.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/auth/digest/nonce.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/auth/digest/params.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/auth/digest/request.rb rename to 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 similarity index 72% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/builder.rb rename to 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 similarity index 50% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/cascade.rb rename to 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 similarity index 93% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/chunked.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/conditionalget.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/content_length.rb rename to 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 similarity index 93% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/content_type.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/deflater.rb rename to 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 similarity index 93% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/directory.rb rename to 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 similarity index 91% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/file.rb rename to 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 similarity index 83% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/handler.rb rename to 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 similarity index 97% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/handler/cgi.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/handler/evented_mongrel.rb rename to 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 similarity index 95% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/handler/fastcgi.rb rename to 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 similarity index 93% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/handler/lsws.rb rename to 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 similarity index 88% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/handler/mongrel.rb rename to 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 similarity index 96% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/handler/scgi.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/handler/swiftiplied_mongrel.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/handler/thin.rb rename to 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 similarity index 94% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/handler/webrick.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/head.rb rename to 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 similarity index 93% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/lint.rb rename to 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: - ## rack.version:: The Array [1,0], representing this version of Rack. + ## rack.version:: The Array [1,1], representing this version of Rack. ## rack.url_scheme:: +http+ or +https+, depending on the request URL. ## rack.input:: See below, the input stream. ## rack.errors:: See below, the error stream. @@ -148,6 +148,35 @@ module Rack } end + ## rack.logger:: 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 rack. @@ -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 ## * rack.version 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 } ## * rack.url_scheme 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/lobster.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/lock.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/methodoverride.rb rename to 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 similarity index 98% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/mime.rb rename to 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 similarity index 74% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/mock.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/recursive.rb rename to 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 similarity index 94% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/reloader.rb rename to 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 similarity index 83% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/request.rb rename to 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 similarity index 71% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/response.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/rewindable_input.rb rename to 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 similarity index 95% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/session/abstract/id.rb rename to 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 similarity index 93% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/session/cookie.rb rename to 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 ; 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 similarity index 99% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/session/pool.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/showexceptions.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/showstatus.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/static.rb rename to 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 similarity index 72% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/urlmap.rb rename to 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 similarity index 56% rename from sonar-server/src/main/webapp/WEB-INF/vendor/gems/rack-1.0.1/lib/rack/utils.rb rename to 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("&", "&"). @@ -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< "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 =~ // + 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 =~ // + + 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 = < "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 = < "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 = < "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 = < "multipart/form-data, boundary=AaB03x", + "CONTENT_LENGTH" => input.size, + :input => input) + + lambda { req.POST }.should.raise(EOFError) + + input = < "multipart/form-data, boundary=AaB03x", + "CONTENT_LENGTH" => input.size, + :input => input) + + lambda { req.POST }.should.raise(EOFError) + + input = < "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 = < "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 = < "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 = < "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("fobar").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 "fobar" + 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 old mode 100644 new mode 100755 similarity index 99% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/CHANGELOG rename to sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/CHANGELOG index a94249b6991..2e29214239c --- 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 old mode 100644 new mode 100755 similarity index 89% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/MIT-LICENSE rename to sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/MIT-LICENSE index e6df48772fe..86bcb23b7cf --- 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/README rename to 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 old mode 100644 new mode 100755 similarity index 95% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/Rakefile rename to sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/Rakefile index bf88f338702..c3d8eeb7152 --- 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 old mode 100644 new mode 100755 similarity index 96% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/builtin/rails_info/rails/info.rb rename to sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/builtin/rails_info/rails/info.rb index 8c858d23fb3..b2799f0955f --- 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 = '' do + '
'.tap do |table| properties.each do |(name, value)| table << %() table << %() 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/builtin/rails_info/rails/info_controller.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/builtin/rails_info/rails/info_helper.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/builtin/rails_info/rails_info_controller.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/databases/frontbase.yml rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/databases/ibm_db.yml rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/databases/mysql.yml rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/databases/oracle.yml rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/databases/postgresql.yml rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/databases/sqlite2.yml rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/databases/sqlite3.yml rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/html/favicon.ico rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/initializers/backtrace_silencers.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/initializers/inflections.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/initializers/mime_types.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/initializers/new_rails_defaults.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/initializers/session_store.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/locales/en.yml rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/routes.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/configs/seeds.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/dispatches/config.ru rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/dispatches/dispatch.fcgi rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/dispatches/dispatch.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/dispatches/gateway.cgi rename to 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 old mode 100644 new mode 100755 similarity index 86% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/environments/boot.rb rename to sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/environments/boot.rb index dd5e3b69164..6686664cd94 --- 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/environments/development.rb rename to 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 old mode 100644 new mode 100755 similarity index 97% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/environments/environment.rb rename to sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/environments/environment.rb index 4a2df363073..250deaf481d --- 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/environments/production.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/environments/test.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/fresh_rakefile rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/helpers/application_controller.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/helpers/application_helper.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/helpers/performance_test.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/helpers/test_helper.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/html/404.html rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/html/422.html rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/html/500.html rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/fixture.rhtml rename to 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 0000000000000000000000000000000000000000..d5edc04e65f555e3ba4dcdaad39dc352e75b575e GIT binary patch literal 6646 zcmVpVcQya!6@Dsmj@#jv7C*qh zIhOJ6_K0n?*d`*T7TDuW-}m`9Kz3~>+7`DUkbAraU%yi+R{N~~XA2B%zt-4=tLimUer9!2M~N{G5bftFij_O&)a zsHnOppFIzebQ`RA0$!yUM-lg#*o@_O2wf422iLnM6cU(ktYU8#;*G!QGhIy9+ZfzKjLuZo%@a z-i@9A`X%J{^;2q&ZHY3C(B%gqCPW!8{9C0PMcNZccefK){s|V5-xxtHQc@uf>XqhD z7#N^siWqetgq29aX>G^olMf=bbRF6@Y(}zYxw6o!9WBdG1unP}<(V;zKlcR2p86fq zYjaqB^;Ycq>Wy@5T1xOzG3tucG3e%nPvajaN{CrFbnzv^9&K3$NrDm*eQe4`BGQ2bI;dFEwyt>hK%X!L6)82aOZp zsrGcJ#7PoX7)s|~t6is?FfX*7vWdREi58tiY4S)t6u*|kv?J)d_$r+CH#eZ?Ef+I_ z(eVlX8dh~4QP?o*E`_MgaNFIKj*rtN(0Raj3ECjSXcWfd#27NYs&~?t`QZFT}!Zaf=ldZIhi}LhQlqLo+o5(Pvui&{7PD__^53f9j>HW`Q z_V8X5j~$|GP9qXu0C#!@RX2}lXD35@3N5{BkUi%jtaPQ*H6OX2zIz4QPuqmTv3`vG{zc>l3t0B9E75h< z8&twGh%dp7WPNI+tRl%#gf2}Epg8st+~O4GjtwJsXfN;EjAmyr6z5dnaFU(;IV~QK zW62fogF~zA``(Q>_SmD!izc6Y4zq*97|NAPHp1j5X7Op2%;GLYm>^HEMyObo6s7l) zE3n|aOHi5~B84!}b^b*-aL2E)>OEJX_tJ~t<#VJ?bT?lDwyDB&5SZ$_1aUhmAY}#* zs@V1I+c5md9%R-o#_DUfqVtRk>59{+Opd5Yu%dAU#VQW}^m}x-30ftBx#527{^pI4 z6l2C6C7QBG$~NLYb3rVdLD#Z{+SleOp`(Lg5J}`kxdTHe(nV5BdpLrD=l|)e$gEqA zwI6vuX-PFCtcDIH>bGY2dwq&^tf+&R?)nY-@7_j%4CMRAF}C9w%p86W<2!aSY$p+k zrkFtG=cGo38RnrG28;?PNk%7a@faaXq&MS*&?1Z`7Ojw7(#>}ZG4nMAs3VXxfdW>i zY4VX02c5;f7jDPY_7@Oa)CHH}cH<3y#}_!nng^W+h1e-RL*YFYOteC@h?BtJZ+?sE zy)P5^8Mregx{nQaw1NY-|3>{Z)|0`?zc?G2-acYiSU`tj#sSGfm7k86ZQ0SQgPevcklHxM9<~4yW zR796sisf1|!#{Z=e^)0;_8iUhL8g(;j$l=02FTPZ(dZV@s#aQ`DHkLM6=YsbE4iQ!b#*374l0Jw5;jD%J;vQayq=nD8-kHI~f9Ux|32SJUM`> zGp2UGK*4t?cRKi!2he`zI#j0f${I#f-jeT?u_C7S4WsA0)ryi-1L0(@%pa^&g5x=e z=KW9+Nn(=)1T&S8g_ug%dgk*~l2O-$r9#zEGBdQsweO%t*6F4c8JC36JtTizCyy+E4h%G(+ z5>y$%0txMuQ$e~wjFgN(xrAndHQo`Za+K*?gUVDTBV&Ap^}|{w#CIq{DRe}+l@(Ec zCCV6f_?dY_{+f{}6XGn!pL_up?}@>KijT^$w#Lb6iHW&^8RP~g6y=vZBXx~B9nI^i zGexaPjcd(%)zGw!DG_dDwh-7x6+ST#R^${iz_M$uM!da8SxgB_;Z0G%Y*HpvLjKw; zX=ir7i1O$-T|*TBoH$dlW+TLf5j5sep^DlDtkox;Kg{Q%EXWedJq@J@%VAcK)j3y1 zShM!CS#qax;D@RND%2t3W6kv+#Ky0F9<3YKDbV^XJ=^$s(Vtza8V72YY)577nnldI zHMA0PUo!F3j(ubV*CM@PiK<^|RM2(DuCbG7`W}Rg(xdYC>C~ z;1KJGLN&$cRxSZunjXcntykmpFJ7;dk>shY(DdK&3K_JDJ6R%D`e~6Qv67@Rwu+q9 z*|NG{r}4F8f{Dfzt0+cZMd$fvlX3Q`dzM46@r?ISxr;9gBTG2rmfiGOD*#c*3f)cc zF+PFZobY$-^}J8 z%n=h4;x2}cP!@SiVd!v;^Wwo0(N??-ygDr7gG^NKxDjSo{5T{?$|Qo5;8V!~D6O;F*I zuY!gd@+2j_8Rn=UWDa#*4E2auWoGYDddMW7t0=yuC(xLWky?vLimM~!$3fgu!dR>p z?L?!8z>6v$|MsLb&dU?ob)Zd!B)!a*Z2eTE7 zKCzP&e}XO>CT%=o(v+WUY`Az*`9inbTG& z_9_*oQKw;sc8{ipoBC`S4Tb7a%tUE)1fE+~ib$;|(`|4QbXc2>VzFi%1nX%ti;^s3~NIL0R}!!a{0A zyCRp0F7Y&vcP&3`&Dzv5!&#h}F2R-h&QhIfq*ts&qO13{_CP}1*sLz!hI9VoTSzTu zok5pV0+~jrGymE~{TgbS#nN5+*rF7ij)cnSLQw0Ltc70zmk|O!O(kM<3zw-sUvkx~ z2`y+{xAwKSa-0}n7{$I@Zop7CWy%_xIeN1e-7&OjQ6vZZPbZ^3_ z(~=;ZSP98S2oB#35b1~_x`2gWiPdIVddEf`AD9<@c_s)TM;3J$T_l?pr{<7PTgdiy zBc5IGx)g~n=s+Z$RzYCmv8PlJu%gkh^;%mTGMc)UwRINVD~K;`Rl!5@hhGg;y>5qj zq|u-Yf0q_~Y+Mbivkkfa0nAOzB1acnytogsj_m7FB(-FjihMek#GAU4M!iXCgdK8a zjoKm?*|iz7;dHm4$^hh(`Ufl>yb>$hjIA-;>{>C}G0Di%bGvUsJkfLAV|xq32c>RqJqTBJ3Dx zYC;*Dt|S$b6)aCJFnK(Eey$M1DpVV~_MIhwK> zygo(jWC|_IRw|456`roEyXtkNLWNAt-4N1qyN$I@DvBzt;e|?g<*HK1%~cq|^u*}C zmMrwh>{QAq?Ar~4l^DqT%SQ)w)FA(#7#u+N;>E975rYML>)LgE`2<7nN=C1pC{IkV zVw}_&v6j&S?QVh*)wF3#XmE@0($^BVl1969csLKUBNer{suVd!a~B!0MxWY?=(GD6 zy$G&ERFR#i6G4=2F?R4}Mz3B?3tnpoX3)qFF2sh9-Jn*e%9F>i{WG7$_~XyOO2!+@ z6k+38KyD@-0=uee54D0!Z1@B^ilj~StchdOn(*qvg~s5QJpWGc!6U^Aj!xt-HZn_V zS%|fyQ5YS@EP2lBIodXCLjG_+a)%En+7jzngk@J>6D~^xbxKkvf-R0-c%mX+o{?&j zZZ%RxFeav8Y0gkwtdtrwUb-i0Egd2C=ADu%w5VV-hNJvl)GZ?M;y$!?b=S+wKRK7Q zcOjPT!p<*#8m;TsBih=@Xc&c)?Vy`Ys>IvK@|1%N+M6J-^RCRaZcPP2eQh9DEGZr+ z?8B~wF14mk4Xkuen{wY^CWwS1PI<8gikY*)3?RSo5l8es4*J z43k_BIwc}of=6Pfs%xIxlMDGOJN zvl!a>G)52XMqA%fbgkZi%)%bN*ZzZw2!rn4@+J)2eK#kWuEW{)W~-`y1vhA5-7p%R z&f5N!a9f8cK1Xa=O}=9{wg%}Ur^+8Y(!UCeqw>%wj@|bYHD-bZO~mk3L$9_^MmF3G zvCiK^e@q6G?tHkM8%GqsBMZaB20W$UEt_5r~jc#WlR>Bv{6W>A=!#InoY zLOd04@Rz?*7PpW8u|+}bt`?+Z(GsX{Br4A2$ZZ(26Degmr9`O=t2KgHTL*==R3xcP z&Y(J7hC@6_x8zVz!CX3l4Xtss6i7r#E6kXMNN1~>9KTRzewfp))ij%)SBBl0fZdYP zd!zzQD5u8yk-u|41|Rqz7_tCFUMThZJVj)yQf6^Cwtn|Ew6cm5J|u1Bq>MWX-AfB&NE;C z62@=-0le`E6-CurMKjoIy)BuUmhMGJb}pPx!@GLWMT+wH2R?wA=MEy)o57~feFp8P zY@YXAyt4<1FD<|iw{FGQu~GEI<4C64)V*QiVk+VzOV^9GWf4ir#oYgHJz!wq>iZV#_6@_{)&lum)4x z_Of*CLVQ7wdT#XT-(h0qH%mcIF7yzMIvvTN3bPceK>PpJi(=3Nny zbSn}p$dGKQUlX&-t~RR)#F7I<8NCD^yke(vdf#4^aAh}M-{tS9-&^tC4`KU_pToXy z+|K8sx}a)Kh{h{;*V1#hs1xB%(?j>)g~`Wv(9F)f=Qn)(daVB7hZtcp^#LrEr1T1J zZSJ*lVyVVjhy)mkex9Whn=EinKDHe@KlfQI-Fl7M?-c~HnW0;C;+MbUY8?FToy;A+ zs&Nc7VZ=Of+e!G6s#+S5WBU)kgQq_I1@!uH74GJ-+O|%0HXm9Mqlvp|j%0`T>fr9^ zK;qo>XdwZW<>%tTA+<(1^6(>=-2N;hRgBnjvEjN;VbKMbFg--WrGy|XESoH1p|M4` z86(gC^vB4qScASZ&cdpT{~QDN-jC|GJ(RYoW1VW4!SSn- zhQds9&RBKn6M&GVK_Aayt(Hekbnw=tr>f z^o@v9_*iQO1*zeOrts9Q-$pc@!StS&kz$cF`s@pM`rmJXTP&h5G)A74!0e%ZJbl}( zssI|_!%~_hZFypv*S^JE5N&Kvmx7KiG<|fGMO=WrH+@Yhuj+KwiS#l4>@%2nl zS)mDikfmokO4q2A)hRVZBq2-5q&XC>%HOLkOYxZ66(s86?=0s4z5xbiOV)}L-&6b)h6(~CIaR#JNw~46+WBiU7IhB zq!NuR4!TsYnyBg>@G=Ib*cMq^k<}AMpCeYEf&dzfiGI-wOQ7hb+nA zkN7_){y&c3xC0 AQ~&?~ literal 0 HcmV?d00001 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/html/index.html rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/html/javascripts/application.js rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/html/javascripts/controls.js rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/html/javascripts/dragdrop.js rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/html/javascripts/effects.js rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/html/javascripts/prototype.js rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/html/robots.txt rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/code_statistics.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands/about.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands/console.rb rename to 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 old mode 100644 new mode 100755 similarity index 99% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands/dbconsole.rb rename to sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/commands/dbconsole.rb index e6f11a45db6..b4160494825 --- 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands/destroy.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands/generate.rb rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands/ncgi/listener rename to 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 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands/ncgi/tracker rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands/performance/benchmarker.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands/performance/profiler.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands/plugin.rb rename to 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 old mode 100644 new mode 100755 similarity index 97% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands/runner.rb rename to sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/commands/runner.rb index 510128318a5..5a4f244cd1c --- 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands/server.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/commands/update.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/console_app.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/console_sandbox.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/console_with_helpers.rb rename to 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 old mode 100644 new mode 100755 similarity index 95% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/dispatcher.rb rename to sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/dispatcher.rb index 9f8b59aa3d2..1ca635f8f9a --- 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/fcgi_handler.rb rename to 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 old mode 100644 new mode 100755 similarity index 94% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/initializer.rb rename to sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/initializer.rb index 196bd93b0c7..fc68d005e61 --- 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 $LOAD_PATH 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 reload_plugins? is false, add this to your plugin's init.rb # to make it reloadable: # - # ActiveSupport::Dependencies.load_once_paths.delete lib_path + # ActiveSupport::Dependencies.autoload_once_paths.delete lib_path # # If reload_plugins? is true, add this to your plugin's init.rb # 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/performance_test_help.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails/backtrace_cleaner.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails/gem_builder.rb rename to 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 old mode 100644 new mode 100755 similarity index 91% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails/gem_dependency.rb rename to sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails/gem_dependency.rb index 06d830ba24a..1ff608a8c0c --- 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 old mode 100644 new mode 100755 similarity index 99% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails/plugin.rb rename to sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails/plugin.rb index 1dc4d142c5f..52912577220 --- 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 old mode 100644 new mode 100755 similarity index 96% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails/plugin/loader.rb rename to sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails/plugin/loader.rb index 49670b31e6b..a9754426c39 --- 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 lib 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails/plugin/locator.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails/rack.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails/rack/debugger.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails/rack/log_tailer.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails/rack/metal.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails/rack/static.rb rename to 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 old mode 100644 new mode 100755 similarity index 95% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails/vendor_gem_source_index.rb rename to sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails/vendor_gem_source_index.rb index 5b7721f303f..9324de98189 --- 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 old mode 100644 new mode 100755 similarity index 89% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails/version.rb rename to sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails/version.rb index 98e4e03a830..b89643ff5a4 --- 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 old mode 100644 new mode 100755 similarity index 87% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator.rb rename to sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator.rb index 9f0ffc1562c..264c6490620 --- 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/base.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/commands.rb rename to 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 old mode 100644 new mode 100755 similarity index 72% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generated_attribute.rb rename to sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generated_attribute.rb index a3d4a01142d..81c3bfd2ebe --- 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/applications/app/USAGE rename to 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 old mode 100644 new mode 100755 similarity index 97% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/applications/app/app_generator.rb rename to 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 --- 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/applications/app/scm/git.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/applications/app/scm/scm.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/applications/app/scm/svn.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/applications/app/template_runner.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/controller/USAGE rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/controller/controller_generator.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/controller/templates/controller.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/controller/templates/functional_test.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/controller/templates/helper.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/controller/templates/helper_test.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/controller/templates/view.html.erb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/helper/USAGE rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/helper/helper_generator.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/helper/templates/helper.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/helper/templates/helper_test.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/integration_test/USAGE rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/integration_test/integration_test_generator.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/integration_test/templates/integration_test.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/mailer/USAGE rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/mailer/mailer_generator.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/fixture.erb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/view.rhtml rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/mailer.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/unit_test.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/view.erb rename to 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 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/metal/USAGE rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/metal/metal_generator.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/metal/templates/metal.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/migration/USAGE rename to 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 old mode 100644 new mode 100755 similarity index 93% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/migration/migration_generator.rb rename to 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 --- 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/migration/templates/migration.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/model/USAGE rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/model/model_generator.rb rename to 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 old mode 100644 new mode 100755 similarity index 54% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/model/templates/fixtures.yml rename to 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 --- 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/model/templates/migration.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/model/templates/model.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/model/templates/unit_test.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/observer/USAGE rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/observer/observer_generator.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/observer/templates/observer.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/observer/templates/unit_test.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/performance_test/USAGE rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/performance_test/performance_test_generator.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/performance_test/templates/performance_test.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/USAGE rename to 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 old mode 100644 new mode 100755 similarity index 92% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/plugin_generator.rb rename to 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 --- 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/MIT-LICENSE rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/README rename to 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 old mode 100644 new mode 100755 similarity index 89% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/Rakefile rename to sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/rails_generator/generators/components/plugin/templates/Rakefile index 85e8ff18343..c56ce94730f --- 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/USAGE rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/generator.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/init.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/install.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/plugin.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/tasks.rake rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/uninstall.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/unit_test.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/resource/USAGE rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/resource/resource_generator.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/resource/templates/controller.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/resource/templates/functional_test.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/resource/templates/helper.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/resource/templates/helper_test.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/USAGE rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/scaffold_generator.rb rename to 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 old mode 100644 new mode 100755 similarity index 89% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/controller.rb rename to 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 --- 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/functional_test.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/helper.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/helper_test.rb rename to 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 old mode 100644 new mode 100755 similarity index 89% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/layout.html.erb rename to 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 --- 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 @@ -

<%%= flash[:notice] %>

+

<%%= notice %>

<%%= 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/style.css rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/view_edit.html.erb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/view_index.html.erb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/view_new.html.erb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/view_show.html.erb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/session_migration/USAGE rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/session_migration/session_migration_generator.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/generators/components/session_migration/templates/migration.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/lookup.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/manifest.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/options.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/scripts.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/scripts/destroy.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/scripts/generate.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/scripts/update.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/secret_key_generator.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/simple_logger.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rails_generator/spec.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/railties_path.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/ruby_version_check.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/rubyprof_ext.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/source_annotation_extractor.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/tasks/annotations.rake rename to 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 old mode 100644 new mode 100755 similarity index 95% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/tasks/databases.rake rename to sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/tasks/databases.rake index 8b608396417..1cf24343a67 --- 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 old mode 100644 new mode 100755 similarity index 95% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/tasks/documentation.rake rename to sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/tasks/documentation.rake index 8b41478a93d..b3111a5aeb3 --- 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 old mode 100644 new mode 100755 similarity index 95% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/tasks/framework.rake rename to sonar-server/src/main/webapp/WEB-INF/gems/gems/rails-2.3.14/lib/tasks/framework.rake index 191c9361ff2..76ee9affa12 --- 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/tasks/gems.rake rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/tasks/log.rake rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/tasks/middleware.rake rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/tasks/misc.rake rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/tasks/routes.rake rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/tasks/statistics.rake rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/tasks/testing.rake rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/tasks/tmp.rake rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/test_help.rb rename to 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 old mode 100644 new mode 100755 similarity index 100% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/railties/lib/webrick_server.rb rename to 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 similarity index 90% rename from sonar-server/src/main/webapp/WEB-INF/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/MIT-LICENSE rename to 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 + +[Ryan Dlugosz] For the initial conversation that sparked Rake. + +[nobu.nokada@softhome.net] For the initial patch for rule support. + +[Tilman Sauerbeck ] 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 +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: + + #################################################################### + # Note: Not released for general use. + 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 + "" + 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: + # + # * %p -- The complete path. + # * %f -- The base file name of the path, with its file extension, + # but without any directories. + # * %n -- The file name of the path without its file extension. + # * %d -- The directory list of the path. + # * %x -- The file extension of the path. An empty string if there + # is no extension. + # * %X -- Everything *but* the file extension. + # * %s -- The alternate file separator if defined, otherwise use + # the standard file separator. + # * %% -- 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 String#ext 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!' 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 verbose and nowrite + # 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: + # + # [:package] + # Create all the requested package files. + # + # [:clobber_package] + # Delete all the package files. This target is automatically + # added to the main clobber target. + # + # [:repackage] + # Rebuild the package files from scratch, even if they are not out + # of date. + # + # ["package_dir/name-version.tgz"] + # Create a gzipped tar package (if need_tar is true). + # + # ["package_dir/name-version.tar.gz"] + # Create a gzipped tar package (if need_tar_gz is true). + # + # ["package_dir/name-version.tar.bz2"] + # Create a bzip2'd tar package (if need_tar_bz2 is true). + # + # ["package_dir/name-version.zip"] + # Create a zip package archive (if need_zip 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: + # + # [rdoc] + # Main task for this RDOC task. + # + # [:clobber_rdoc] + # Delete all the rdoc files. This target is automatically + # added to the main clobber target. + # + # [:rerdoc] + # 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 :rdoc_dev, :clobber_rdoc_dev, and + # :rerdoc_dev. + # + # If you wish to have completely different task names, then pass a Hash as + # first argument. With the :rdoc, :clobber_rdoc and + # :rerdoc 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 :rdoc, :rdoc_clean and + # :rdoc:force. + # + 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, ["= 2.3.14"]) + else + s.add_dependency(%q, ["= 2.3.14"]) + end + else + s.add_dependency(%q, ["= 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, ["= 2.3.14"]) + s.add_runtime_dependency(%q, ["~> 1.1.0"]) + else + s.add_dependency(%q, ["= 2.3.14"]) + s.add_dependency(%q, ["~> 1.1.0"]) + end + else + s.add_dependency(%q, ["= 2.3.14"]) + s.add_dependency(%q, ["~> 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, ["= 2.3.14"]) + else + s.add_dependency(%q, ["= 2.3.14"]) + end + else + s.add_dependency(%q, ["= 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, [">= 2.0.4"]) + s.add_development_dependency(%q, [">= 2.9.4"]) + else + s.add_dependency(%q, [">= 2.0.4"]) + s.add_dependency(%q, [">= 2.9.4"]) + end + else + s.add_dependency(%q, [">= 2.0.4"]) + s.add_dependency(%q, [">= 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, ["~> 1.5.1"]) + s.add_development_dependency(%q, ["~> 2.4"]) + s.add_development_dependency(%q, [">= 0"]) + s.add_development_dependency(%q, [">= 0"]) + s.add_development_dependency(%q, [">= 0"]) + s.add_development_dependency(%q, [">= 0"]) + s.add_development_dependency(%q, [">= 0"]) + s.add_development_dependency(%q, [">= 0"]) + s.add_development_dependency(%q, [">= 0.4.4"]) + s.add_development_dependency(%q, ["~> 2.0.4"]) + else + s.add_dependency(%q, ["~> 1.5.1"]) + s.add_dependency(%q, ["~> 2.4"]) + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0.4.4"]) + s.add_dependency(%q, ["~> 2.0.4"]) + end + else + s.add_dependency(%q, ["~> 1.5.1"]) + s.add_dependency(%q, ["~> 2.4"]) + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0.4.4"]) + s.add_dependency(%q, ["~> 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, ["= 2.3.14"]) + else + s.add_dependency(%q, ["= 2.3.14"]) + end + else + s.add_dependency(%q, ["= 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, [">= 0"]) + else + s.add_dependency(%q, [">= 0"]) + end + else + s.add_dependency(%q, [">= 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, [">= 0"]) + s.add_development_dependency(%q, ["< 2"]) + s.add_development_dependency(%q, ["< 1.6"]) + s.add_development_dependency(%q, [">= 0"]) + s.add_development_dependency(%q, [">= 0"]) + s.add_development_dependency(%q, [">= 0"]) + s.add_development_dependency(%q, ["< 1.2"]) + else + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, ["< 2"]) + s.add_dependency(%q, ["< 1.6"]) + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, ["< 1.2"]) + end + else + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, ["< 2"]) + s.add_dependency(%q, ["< 1.6"]) + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, ["< 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, [">= 0.8.3"]) + s.add_runtime_dependency(%q, ["= 2.3.14"]) + s.add_runtime_dependency(%q, ["= 2.3.14"]) + s.add_runtime_dependency(%q, ["= 2.3.14"]) + s.add_runtime_dependency(%q, ["= 2.3.14"]) + s.add_runtime_dependency(%q, ["= 2.3.14"]) + else + s.add_dependency(%q, [">= 0.8.3"]) + s.add_dependency(%q, ["= 2.3.14"]) + s.add_dependency(%q, ["= 2.3.14"]) + s.add_dependency(%q, ["= 2.3.14"]) + s.add_dependency(%q, ["= 2.3.14"]) + s.add_dependency(%q, ["= 2.3.14"]) + end + else + s.add_dependency(%q, [">= 0.8.3"]) + s.add_dependency(%q, ["= 2.3.14"]) + s.add_dependency(%q, ["= 2.3.14"]) + s.add_dependency(%q, ["= 2.3.14"]) + s.add_dependency(%q, ["= 2.3.14"]) + s.add_dependency(%q, ["= 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, ["~> 2.1"]) + else + s.add_dependency(%q, ["~> 2.1"]) + end + else + s.add_dependency(%q, ["~> 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 ; 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 - # - # :return_to 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 :return_to is not - # provided, return_to will be the current url which allows flexibility - # with caveats. - # - # :session_key defines the key to the session hash in the env. - # It defaults to 'rack.session'. - # - # :openid_param 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'. - # - # :store defined what OpenID Store to use for persistant - # information. By default a Store::Memory will be used. - # - # :immediate as true will make initial requests to be of an - # immediate type. This is false by default. See OpenID specification - # documentation. - # - # :extensions 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 :openid 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 options[:openid_param] 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'] - # - # env['rack.auth.openid.request'] is the openid checkid request - # instance. - # - # session[:openid_param] is set to the openid identifier - # provided by the user. - # - # session[:return_to] 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'] - # - # env['rack.auth.openid.response'] 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 'Confirm...' - r.write oid.form_markup(realm, return_to, immediate) - r.write '' - 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 ; 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, [">= 0"]) - s.add_development_dependency(%q, [">= 0"]) - s.add_development_dependency(%q, [">= 0"]) - s.add_development_dependency(%q, [">= 0"]) - s.add_development_dependency(%q, [">= 0"]) - s.add_development_dependency(%q, ["~> 2.0.0"]) - s.add_development_dependency(%q, [">= 0"]) - else - s.add_dependency(%q, [">= 0"]) - s.add_dependency(%q, [">= 0"]) - s.add_dependency(%q, [">= 0"]) - s.add_dependency(%q, [">= 0"]) - s.add_dependency(%q, [">= 0"]) - s.add_dependency(%q, ["~> 2.0.0"]) - s.add_dependency(%q, [">= 0"]) - end - else - s.add_dependency(%q, [">= 0"]) - s.add_dependency(%q, [">= 0"]) - s.add_dependency(%q, [">= 0"]) - s.add_dependency(%q, [">= 0"]) - s.add_dependency(%q, [">= 0"]) - s.add_dependency(%q, ["~> 2.0.0"]) - s.add_dependency(%q, [">= 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: - # - # * :value - The cookie's value or list of values (as an array). - # * :path - The path for which this cookie applies. Defaults to the root - # of the application. - # * :domain - The domain for which this cookie applies. - # * :expires - The time at which this cookie expires, as a Time object. - # * :secure - Whether this cookie is a only transmitted to HTTPS servers. - # Default is +false+. - # * :httponly - 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 []=, you can pass in - # an options hash to delete cookies with extra data such as a :path. - 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} -%> -

RAILS_ROOT: <%= defined?(RAILS_ROOT) ? RAILS_ROOT : "unset" %>

-
-<% 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';"} -%> -<%= name %> <%= '|' unless names.last == name %> -<% end %> -<% traces.each do |name, trace| %> -
;"> -
<%= trace.join "\n" %>
-
-<% end %> -
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 @@ -

-<%=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 %> -

-
<%=h @exception.clean_message %>
-<%= 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 @@ - - -Action Controller: Exception caught - - - -<%= @contents %> - - 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 @@ -

Routing Error

-

<%=h @exception.message %>

-<% unless @exception.failures.empty? %>

-

Failure reasons:

-
    -<% @exception.failures.each do |route, reason| %> -
  1. <%=h route.inspect.gsub('\\', '') %> failed because <%=h reason.downcase %>
  2. -<% end %> -
-

<% 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 @@ -

-<%=h @exception.original_exception.class.to_s %> in -<%=h request.parameters["controller"].capitalize if request.parameters["controller"]%>#<%=h request.parameters["action"] %> -

-

-Showing <%=h @exception.file_name %> where line #<%=h @exception.line_number %> raised: -

<%=h @exception.message %>
-

-

Extracted source (around line #<%=h @exception.line_number %>): -

<%=h @exception.source_extract %>

-

<%=h @exception.sub_template_message %>

-<% @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. E.g., ActionView ships with the translation: - # :date => {:formats => {:short => "%b %d"}}. - # - # Translations can be looked up at any level of this hash using the key argument - # and the scope option. E.g., in this example I18n.t :date - # returns the whole translations hash {:formats => {:short => "%b %d"}}. - # - # Key can be either a single key or a dot-separated key (both Strings and Symbols - # work). E.g., 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. - # - # E.g., with a translation :foo => "foo {{bar}}" 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 ['Foo', 'Foos']. - # - # Note that I18n::Backend::Simple 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 :count option can be used both for pluralization and interpolation. - # E.g., with the translation - # :foo => ['{{count}} foo', '{{count}} foos'], count will - # be interpolated to the pluralized translation: - # I18n.t :foo, :count => 1 # => '1 foo' - # - # *DEFAULTS* - # - # This returns the translation for :foo or default if no translation was found: - # I18n.t :foo, :default => 'default' - # - # This returns the translation for :foo or the translation for :bar if no - # translation for :foo was found: - # I18n.t :foo, :default => :bar - # - # Returns the translation for :foo or the translation for :bar - # or default if no translations for :foo and :bar were found. - # I18n.t :foo, :default => [:bar, 'default'] - # - # BULK LOOKUP - # - # This returns an array with the translations for :foo and :bar. - # 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 (e.g., :short in :'date.formats'). - 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. currency.format is regarded the same as - # %w(currency format). - 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. - # - # I.e., default(locale, [:foo, 'default']) will return +default+ if - # translate(locale, :foo) 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 \\ when you want to escape - # the {{...}} 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 75a30e4e636a2539166446819e0ebcbd59cc9604..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6410 zcmV+l8TICgP)GJ%TO3dUtkDLe!~v%-s4b4FCJlVOCM?k^&Wiwo2t6@JpXU) zJpivzfcIW|_o=BvU6$XXv7mx_MF0s6wq6E=tdZcF8LpMUYKk^8NIeFn|flRh)V}U{NxZ@@So*(Lth4n_#d+P%DFgIz`pzH_-#6`F$%nU_c9? zsOHa|BdiZ%%N1O^O|meLI*&vFCbT)=%p;{37g@3(!CAqppqYTrFvUtK_(0)xk;q%O zm19aqNLBHwcm;>zyy8Q{(9|eu0{yr{x^S?v0j8p&TOPv1xSCMiFZ961WT#`YngIbGPL5<)8gN6bf0hb$E z0Hey=2cv+p%|WOtN)Ey+IPa;94^Xbx@XjLw7{PZOopURs^G!@pCaMn;RtE^mb%Iir zAdVT?e>GFDx{07##)JkNTWl%7mJC5PX8EyuXwRM@tPL=<|4O3a8iIpBkWjE?3t3jg zh6Ag`X9kSqG1Ltd5w5HUrm%t*i&j|0E2a`spB#NkK#IvPk}Wsz?GEwi2=UM;6!9~0 z{jW2+|5`*0L8;3055EB-XqMnzh6zK$TAfqh{X4`8S!;=~K7g22(&ZJr2TX>NKx!G< zcNq&09VA^{z(fXO1DRh31j5h=p4=K9a0Q?YWngNQxKhFu!PPZojzQ8(Qc*`#2Q??N#n!`;-MBZ>36Y}8d3icGk1QM+O|Cm?!BDq#14W|m0xu9?YI=K zel4A)^UU7&Q_kP@W9k>Lu;a#?c<5uFz;_Y|44Oy}NG}Fmp26|}w=gg@Mqn+@`CnWB z6cB?LAz4@;Ycx3dty>v+;niI5vKy#QY~$G+asMb2*S?kuUiNBE|KQu4x&6C%mleLW z7AGc8zuF6KkCJ&$d3=D{P`v>0GzF_jr5oStzV8uZ8GPP;hW72pXY;h@PxVsqvpGx< zGIjmydH%os029A@J!&%4YA;svI--h4dM-sAFf=v3t{guJi{^E}rx`{=Y#ip5*9huT zOu5G9SH6ns)=3tR+<|MYVuFyUzKO~O7f~7AjtR?8d&60$MeE#g(#8TtVqB6S7Q$LT zl}+0yjcnqw-~9;Hi7h;F^Z!5_DQFJ}I8mG`nR*5%$0=3IxXeB6kNHlA%G4BFUUw7I z|L`?dPdq_buhLm=;+ zpMV5RIYPP?sRdH@-ccGIU~KyZxvy;ik!J@HkF?vYJU&fp?gX`M6JUi0{`1Ee*t3I+ z-}QDh%?iRQc`6afts;UH4~)Ua5kLF#_c->IJ0KBOkIi!a!FyObejl?BK19@CC5&rm z24VuT#uCZO66zC-6$FbqA!%ovnr##o@g5rmjBXvrAb9mT1?WX!hNKzU;tK9uo2;?S z;fFuZ!u=0Z+B`MO~kaPcdA6oKU{;3a9nV2G5UdGrEF9vl6F%G;dm}>4? z62&YZKhF6(53=w5@8r~Xf5MS3d>=6p#u_49LV@NGP1R?T2(`SBM9P*mlEp%>3wK8b@a_QPAt7f*@e&&@7#o zJHnDBTUo@bM-51&g!LKX+SsyLt0P0TGSTTdviVi$IB>aD@@6M5_u>>p!Ge0hw-fqy zPq6FlZ$%^m=^#M>UJ!3kaXFacfjCTPSvdGGGe3Hebg9jeFMXS#7w#chT*X+E$5oLk zjWs0aTPz$t!^BH3!gmrfb*QF@2V1LP!iad)7eI`l^9^(;Fj0kEBV&TjW?j&1m5tPcD{MzlD{lUGsr37OQ zimnkM0po@F2TwEp;@y~18RHt5%;wAQfO3ecfNCDn4d-c#Vnp&)@9_>rQwOF9Dg#(> z?S!HI7qjJcZ@_0c9T6LX4G|k6CP0GXxeX8-V#1it;xe;$K8y`Qi~&tN$(h_5Pftq> z%@a$koR}l5)iFVU2~GZpa$c7$wQ?X`uC?s4!nA8kqTXZrB2+SbvqjO7BZ0F0O*c{= zngFNy&6)sX0>rEXQ-BZ~5R@w{9ej+=%q-#+K`>$vYw{kQd=0znD1b2rZD!0pa2&BQ zwp77{76}a|viKw;Yo=fX(>-n3IXdbKD2jT8(6jq}zsbIjeT4pfdq4!=>M*!(51aqR zD^Zu_s}w|-V9g??XN??$2_n2I3lAP<_q*OqeeYIWvt0mKTfX&xx&&MBWt1jIn0V!D+4AaN=Vf2`BA0&XeISmBUwai% zeFRm-*r<2YwzzRjfUzN_3oMLD7guR7&anNa8+pMWzK{Cet!SF%R#^A%$$-Qd()l*? z4<5sos+dw08wQ9f*>VRlW{t*okGU)*RgWmBW{g~Q1(i)x0NALEiOQ5GMwqz%RYhhg zR@?^bp639t0ocOb!kEtN94n8UWa-gI8N2*S#;&~_@6!#g^mN))E-V-p9ymtYNC_)- zOsR}(rTEMth5BaJpV0K4IhW;qy%lUZqA`8E%XvBV&D$7x$rV&KZ|hN)wK%XFTq*~Y z2fdAAR!{G-|mZOoH@zX8{ha;5z!dLgs5{E@>Hun ze~5TY6w^3y21H5DukzsUeF6zXY&p)!vCr#A7mUi9Z4}MvT1T0^<55OmcnPWju9;v$ zgA@x9tTjuDL0HaG7F@;!ePw)PNS9lj{ML8iYqwF~eIcWlzvLM;(L6p3I9JpVK}{}d zv`^3F!CMK@w#T4MK88eG02||I)RD5imtk_FyZP z+RhPE`igR~-pUS4q)OPGdU0QUG^sL`~-i;LmMDy3RU4!6-w3Qat z$iJ%_1v{@ zqa|7_toj0=fKQchI40iIhif~0C&Pr&iw`!WU!YQybj5jf zV;IQzxY-Qc9tatCxZ%0ZuWc zfM~prtexQ#k7gd%R)T>bkKy&MRT80E4jH@dWmI=xLT9y2mZhBd>X(t~5Vll%Za}u| z!p1SK(`J45B;9tZu!0nkn*$Rx^+XdjOgY52QoQr1Q+(=48-;syvz7pTSmL2N)rm>8 z*}{qv1cqdGp0=&$LGn8=t1R zs@?-t05UmuqoC)(V1%i~WUUlefN-4*-*KcX327@|m|WK~l1orYhsNQ9NT~v)DxK3O z^Q;jD%$+>J_?9it8i|)`819ax*=*-OL6|q~g~S5`oImmeqmz?4EqJym zc*_*4Cof>{?|cANPiOut_kZyH%>LvaY_+^LrYMAGQwlKE2-nW=nad~0smHe!S{{?Y z+}XvP@aByRB&w_`%%z@Ft%TEaE1W;Kj5C%}U!BIx8J1_xJty}X+`FIEQ9gKTXSh|5n|HW#8G1g0Wk;u(&`R2CG~S5hvvdmTEzky< z9+J4k=?vnuMdh)>^pB1A+RIJKY}gAM5DuW=H`*WuB-Bb z+7LJA@T(~#g*2tz?#ZyyYU8sE5h;LB%+yt|8@5X*wo<}Z>#VBq=p&Diojc9=C6_Y1 zZ6|T{mru##S6$2f?|(0g_dk>i9BQzAWo#+T>xuLDR+hU@I|D6->0P%gn63AYX1hgb zayRT%c1vy*yP<1VY+totm_lF;D`!u#boMlrp%I3*?_&JIJ=8`?uV(nBLt8EYtsP__*}zU?R3aoN+1UCYX#9rJ_OagDy>g9 zm^cO%Y$>K1)o=<~YnkZ-cQf<&K?bL`F?P{j1}>Pu+TiB`sfmqAPXLtWfv8_YB(oEWgASxTVmT2DOWU53WIc+hP&h!jtzwsqhp^|n8 z#p8>?scOFAW;#uH#D-KyM;YEWMYUGK21V=Y^H#Teb7C#cQ`2OtiaX!TSKn*io2*+y zQH4xFJUHJ2Vh|GVX}22rUX&ory=6UVG~~0yp2B1d$@CnvC%%st=rfj*1UV3TqAH5u zy=UG#j(JZQ2ULb*ssj;m9AFf(%#$@8=|Y0GB^UI%`$*Q!Vm8P@-HCFs6Ulcvj9zm! zeOK;h_}CF7%Xsv*@1UzoJjD;ZLMKgoI&rr#5@QI%h)9BbR966T&fzkL!D5Yt(4a4Io?u>B#W!C}-`ymut?OJs{3qEd{u zJx4X6S+B6Szf51FO}3I?N|tb>A29~s=-}p?xofRkP3JlUBNc+aTE0h0b3(ar{uryb zKFY~&|8FEs@XZ#++KoWGa|~=5=cdoyLjR`C_%uZkj5VA;dW45={tTV(--9&~S(Y$* z)ulY|z3-v_qCLGhSbY3Z4t(-c%-w!~qb6nGs%v=9%{QZIn}dJ!N1VLnEA+ke60Z2{ z&6I}6ICAS3c=$hklBiN_>rlm;jLDl`&5qxA2h~lRQI|V%P^oawCqK&Ur~d{wJ4av* zh}{_M`8D#O>l@!pb>xDLG<y@X72tm zi;q6S(DU{&vhNB?ni&fwA+tg?@oSo+76@a6+ z{vCI`?YBApKfh9(Z-~SYiove?iAW4y;FO`)7Ch}%ox)wjSZZ6hGVr{Msqem!)icw~ z-F*;iOfGxL+DIaJ+KUxd+4d{f^O`@77~Q?6_?9DGT)>Fguqz_0_fwgeglb>!Ju5;W zf?XHH1|bqtjKK97=)Pg`@FB9+GC{e{)T`gn`)uc1-^u--_%Mh6F;hfsBtM#l-Ob#}brMvi>$R&>=PVhd%MHPZN` zZ70Q#WSD|--2bjmgcyNSxaHA%i1Ce#yE$2u<@mVjphli%`(5mM!9L1iK&gL# zMi?+Ry}(^J|0QvKfW=3ipw>Ua%)JkD_n&`;wAG?9eV#b3uzd6wci(a|KFgSWejJHBW<;K%I-WXl;SeOjTF1Qf+ycZy0)z&#zqk$ z5E@}R$vCvq0(gA@P&Ni9x&Dg?Qmw5cj7n54=N1cM5@T4!5m+ItRn~e*uY^HF7)HGv z6q0$Y35crowIPQCj3um8d)udapONdpivt0J))FTU%f>;ekvvaLcT#@V>;U|=z&8TG zxOJN=*YE3Hp8ztH8JAJP79jOWY0j^Eo^QBWi~4mpD}LScHKC#Rnp{Pli7b7o!>$W# zhtkMA=aY>2)G6rS2>ebrYb_jWB$nP*;AcKgkvwxX{{MU^Ph0uLD;enBB65qsH@jc` YzrF#Oob8KEs{jB107*qoM6N<$f|w{g0ssI2 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 @@ public.root / - rails.env production - jruby.min.runtimes 1 - jruby.max.runtimes 1 + + jruby.compat.version + 1.8 + + + jruby.rack.logging + slf4j + ServletFilters -- 2.39.5
#{CGI.escapeHTML(name.to_s)}#{CGI.escapeHTML(value.to_s)}