Das folgende habe ich gerade im Ruby Trunk entdeckt:
A lib/rubygems
A lib/rubygems/digest
A lib/rubygems/digest/sha2.rb
A lib/rubygems/digest/digest_adapter.rb
A lib/rubygems/digest/md5.rb
A lib/rubygems/digest/sha1.rb
A lib/rubygems/user_interaction.rb
A lib/rubygems/command.rb
A lib/rubygems/dependency.rb
A lib/rubygems/source_info_cache_entry.rb
A lib/rubygems/local_remote_options.rb
A lib/rubygems/timer.rb
A lib/rubygems/install_update_options.rb
A lib/rubygems/validator.rb
A lib/rubygems/old_format.rb
A lib/rubygems/builder.rb
A lib/rubygems/format.rb
A lib/rubygems/dependency_installer.rb
A lib/rubygems/indexer.rb
A lib/rubygems/ext
A lib/rubygems/ext/builder.rb
A lib/rubygems/ext/configure_builder.rb
A lib/rubygems/ext/rake_builder.rb
A lib/rubygems/ext/ext_conf_builder.rb
A lib/rubygems/doc_manager.rb
A lib/rubygems/gem_runner.rb
A lib/rubygems/config_file.rb
A lib/rubygems/custom_require.rb
A lib/rubygems/version_option.rb
A lib/rubygems/specification.rb
A lib/rubygems/require_paths_builder.rb
A lib/rubygems/exceptions.rb
A lib/rubygems/platform.rb
A lib/rubygems/version.rb
A lib/rubygems/source_index.rb
A lib/rubygems/remote_fetcher.rb
A lib/rubygems/package.rb
A lib/rubygems/indexer
A lib/rubygems/indexer/abstract_index_builder.rb
A lib/rubygems/indexer/marshal_index_builder.rb
A lib/rubygems/indexer/master_index_builder.rb
A lib/rubygems/indexer/quick_index_builder.rb
A lib/rubygems/installer.rb
A lib/rubygems/open-uri.rb
A lib/rubygems/source_info_cache.rb
A lib/rubygems/commands
A lib/rubygems/commands/specification_command.rb
A lib/rubygems/commands/generate_index_command.rb
A lib/rubygems/commands/unpack_command.rb
A lib/rubygems/commands/update_command.rb
A lib/rubygems/commands/sources_command.rb
A lib/rubygems/commands/cleanup_command.rb
A lib/rubygems/commands/rdoc_command.rb
A lib/rubygems/commands/lock_command.rb
A lib/rubygems/commands/help_command.rb
A lib/rubygems/commands/fetch_command.rb
A lib/rubygems/commands/pristine_command.rb
A lib/rubygems/commands/contents_command.rb
A lib/rubygems/commands/cert_command.rb
A lib/rubygems/commands/build_command.rb
A lib/rubygems/commands/which_command.rb
A lib/rubygems/commands/environment_command.rb
A lib/rubygems/commands/query_command.rb
A lib/rubygems/commands/search_command.rb
A lib/rubygems/commands/install_command.rb
A lib/rubygems/commands/server_command.rb
A lib/rubygems/commands/outdated_command.rb
A lib/rubygems/commands/uninstall_command.rb
A lib/rubygems/commands/mirror_command.rb
A lib/rubygems/commands/list_command.rb
A lib/rubygems/commands/check_command.rb
A lib/rubygems/commands/dependency_command.rb
A lib/rubygems/requirement.rb
A lib/rubygems/gem_path_searcher.rb
A lib/rubygems/ext.rb
A lib/rubygems/uninstaller.rb
A lib/rubygems/rubygems_version.rb
A lib/rubygems/server.rb
A lib/rubygems/security.rb
A lib/rubygems/remote_installer.rb
A lib/rubygems/command_manager.rb
A lib/rubygems/gem_open_uri.rb
A lib/rubygems/dependency_list.rb
A lib/rubygems/gem_openssl.rb
A lib/rubygems.rb
Rubygems ist nun integraler Bestandteil von Ruby. Großartig!!
Kommentar schreiben
Kommentare
In Ruby 1.9 - oder habe ich die Diskussionen jetzt missverstanden?
"require 'rubygems' == useless" - bist Du Dir da sicher? - Wenn es zur Standard-Library gehört, dann muss man es zwar nicht mehr extra installieren, wohl aber noch ein require benutzen - oder?
Ja es geht um 1.9. Und du hast natürlich recht. require ist noch nicht überflüssig aber ich hoffe das ist der nächste Schritt. Im Moment steht da zumindest nichts mehr im Wege.
Da gab es aber wegen diverser Sachen schon Diskussionen. Wenn etwas nicht merh per "require" angefordert werden muss, ist es immer geladen. Einige Leute von Firmen, die Ruby für embedded(!) Applications einsetzen beschwerten sich darüber, dass Ruby 1.9 eh schon deutlich grösser als 1.8 sei.
Sehe ich definitiv anders. Rubygems sollte Rubyseitig absolut transparent sein. Es ist mir persönlich vollkommen egal ob ich eine Standardbibliothek, eine Bibliothek (per setup.rb) oder eine Bibliothek (per gems) nutze. Es sollte sich immer gleich anfühlen. Und der Overhead ein neues Verzeichnis zu druchsuchen und ein paar zusätzliche Methoden einzubinden ist meiner Meinung nach kein Problem. Nicht mal für embedded Systeme.