From 9e909d5be302957720a3f3e37385d9892a5d2f2b Mon Sep 17 00:00:00 2001 From: Jacques Distler Date: Wed, 15 Jun 2011 00:43:38 -0500 Subject: [PATCH] Update Rails, rails_xss and Bundler Update Bundler to 1.0.15. Update Rails to 2.3.12. Update rails_xss plugin. The latter two were the source of a considerable amount of grief, as rails_xss is now MUCH stricter about what string methods can be used. Also made it possible to use rake 0.9.x with Instiki. But you probably REALLY want to use ruby bundle exec rake ... instead of just saying rake .... --- CHANGELOG | 2 +- Gemfile | 4 +- UPGRADING | 2 +- lib/chunks/chunk.rb | 11 +- lib/chunks/engines.rb | 5 +- lib/chunks/literal.rb | 6 +- lib/chunks/wiki.rb | 4 +- lib/rdocsupport.rb | 2 +- lib/tasks/upgrade_instiki.rake | 2 +- lib/wiki_content.rb | 5 +- rakefile.rb | 13 +- test/functional/wiki_controller_test.rb | 2 +- test/unit/page_renderer_test.rb | 2 +- vendor/plugins/bundler/bin/bundle | 4 +- .../plugins/bundler/cache/bundler-1.0.15.gem | Bin 0 -> 164864 bytes .../plugins/bundler/cache/bundler-1.0.7.gem | Bin 158208 -> 0 bytes .../rdoc/Bundler.html | 447 ++--- .../rdoc/Bundler/BundlerError.html | 32 +- .../rdoc/Bundler/CLI.html | 771 ++++---- .../rdoc/Bundler/Definition.html | 367 ++-- .../rdoc/Bundler/DepProxy.html | 72 +- .../rdoc/Bundler/Dependency.html | 263 +-- .../rdoc/Bundler/Deployment.html | 30 +- .../rdoc/Bundler/DeprecatedError.html | 24 +- .../rdoc/Bundler/Dsl.html | 389 ++-- .../rdoc/Bundler/DslError.html | 24 +- .../rdoc/Bundler/Environment.html | 24 +- .../rdoc/Bundler/GemHelper.html | 310 ++-- .../rdoc/Bundler/GemHelpers.html | 46 +- .../rdoc/Bundler/GemNotFound.html | 24 +- .../rdoc/Bundler/GemfileError.html | 24 +- .../rdoc/Bundler/GemfileNotFound.html | 24 +- .../rdoc/Bundler/GemspecError.html | 24 +- .../rdoc/Bundler/GitError.html | 24 +- .../rdoc/Bundler/Graph.html | 26 +- .../rdoc/Bundler/GraphNode.html | 24 +- .../rdoc/Bundler/Index.html | 49 +- .../rdoc/Bundler/Installer.html | 153 +- .../rdoc/Bundler/InvalidOption.html | 24 +- .../rdoc/Bundler/InvalidSpecSet.html | 24 +- .../rdoc/Bundler/LazySpecification.html | 26 +- .../rdoc/Bundler/LockfileParser.html | 24 +- .../rdoc/Bundler/MatchPlatform.html | 36 +- .../rdoc/Bundler/PathError.html | 24 +- .../rdoc/Bundler/ProductionError.html | 24 +- .../rdoc/Bundler/RemoteSpecification.html | 24 +- .../rdoc/Bundler/Resolver.html | 28 +- .../rdoc/Bundler/Resolver/SpecGroup.html | 24 +- .../rdoc/Bundler/RubygemsIntegration.html | 1619 +++++++++++++++++ .../RubygemsIntegration/AlmostModern.html | 388 ++++ .../RubygemsIntegration/Deprecate.html | 377 ++++ .../Bundler/RubygemsIntegration}/Gem.html | 32 +- .../RubygemsIntegration}/Gem/SourceIndex.html | 32 +- .../Bundler/RubygemsIntegration/Legacy.html | 454 +++++ .../Bundler/RubygemsIntegration/Modern.html | 460 +++++ .../RubygemsIntegration/Transitional.html | 382 ++++ .../rdoc/Bundler/Runtime.html | 252 +-- .../rdoc/Bundler/Settings.html | 30 +- .../rdoc/Bundler/SharedHelpers.html | 572 ++++++ .../rdoc/Bundler/Source.html | 24 +- .../rdoc/Bundler/Source/Git.html | 473 ++--- .../rdoc/Bundler/Source/Path.html | 321 ++-- .../rdoc/Bundler/Source/Path/Installer.html | 72 +- .../rdoc/Bundler/Source/Rubygems.html | 525 +++--- .../rdoc/Bundler/SpecSet.html | 24 +- .../rdoc/Bundler/UI.html | 54 +- .../rdoc/Bundler/UI/RGProxy.html | 51 +- .../rdoc/Bundler/UI/Shell.html | 92 +- .../rdoc/Bundler/VersionConflict.html | 34 +- .../rdoc/File.html | 24 +- .../rdoc/Gem.html | 24 +- .../rdoc/Gem/Dependency.html | 115 +- .../rdoc/Gem/Platform.html | 32 +- .../rdoc/Gem/Requirement.html | 36 +- .../rdoc/Gem/Specification.html | 172 +- .../rdoc/Thor.html | 24 +- .../rdoc/Thor/Actions.html | 24 +- .../rdoc/Thor/Actions/ClassMethods.html | 24 +- .../rdoc/Thor/Actions/CreateFile.html | 24 +- .../rdoc/Thor/Actions/Directory.html | 24 +- .../rdoc/Thor/Actions/EmptyDirectory.html | 24 +- .../rdoc/Thor/Actions/InjectIntoFile.html | 24 +- .../rdoc/Thor/Argument.html | 24 +- .../rdoc/Thor/Arguments.html | 24 +- .../rdoc/Thor/Base.html | 24 +- .../rdoc/Thor/Base/ClassMethods.html | 24 +- .../rdoc/Thor/CoreExt.html | 24 +- .../CoreExt/HashWithIndifferentAccess.html | 24 +- .../rdoc/Thor/CoreExt/OrderedHash.html | 24 +- .../rdoc/Thor/DynamicTask.html | 24 +- .../rdoc/Thor/Error.html | 24 +- .../rdoc/Thor/HiddenTask.html | 24 +- .../rdoc/Thor/Invocation.html | 24 +- .../rdoc/Thor/Invocation/ClassMethods.html | 24 +- .../rdoc/Thor/InvocationError.html | 24 +- .../rdoc/Thor/MalformattedArgumentError.html | 24 +- .../rdoc/Thor/Option.html | 24 +- .../rdoc/Thor/Options.html | 24 +- .../Thor/RequiredArgumentMissingError.html | 24 +- .../rdoc/Thor/Sandbox.html | 24 +- .../rdoc/Thor/Shell.html | 24 +- .../rdoc/Thor/Shell/Basic.html | 24 +- .../rdoc/Thor/Shell/Color.html | 24 +- .../rdoc/Thor/Shell/HTML.html | 24 +- .../rdoc/Thor/Task.html | 24 +- .../rdoc/Thor/UndefinedTaskError.html | 24 +- .../rdoc/Thor/UnknownArgumentError.html | 24 +- .../rdoc/Thor/Util.html | 24 +- .../doc/bundler-1.0.15/rdoc/created.rid | 71 + .../rdoc/images/brick.png | Bin .../rdoc/images/brick_link.png | Bin .../rdoc/images/bug.png | Bin .../rdoc/images/bullet_black.png | Bin .../rdoc/images/bullet_toggle_minus.png | Bin .../rdoc/images/bullet_toggle_plus.png | Bin .../rdoc/images/date.png | Bin .../rdoc/images/find.png | Bin .../rdoc/images/loadingAnimation.gif | Bin .../rdoc/images/macFFBgHack.png | Bin .../rdoc/images/package.png | Bin .../rdoc/images/page_green.png | Bin .../rdoc/images/page_white_text.png | Bin .../rdoc/images/page_white_width.png | Bin .../rdoc/images/plugin.png | Bin .../rdoc/images/ruby.png | Bin .../rdoc/images/tag_green.png | Bin .../rdoc/images/wrench.png | Bin .../rdoc/images/wrench_orange.png | Bin .../rdoc/images/zoom.png | Bin .../rdoc/index.html | 302 ++- .../rdoc/js/darkfish.js | 0 .../rdoc/js/jquery.js | 0 .../rdoc/js/quicksearch.js | 0 .../rdoc/js/thickbox-compressed.js | 0 .../rdoc/lib/bundler/capistrano_rb.html | 4 +- .../rdoc/lib/bundler/cli_rb.html | 8 +- .../rdoc/lib/bundler/definition_rb.html | 4 +- .../rdoc/lib/bundler/dependency_rb.html | 4 +- .../rdoc/lib/bundler/deployment_rb.html | 4 +- .../rdoc/lib/bundler/dsl_rb.html | 4 +- .../rdoc/lib/bundler/environment_rb.html | 4 +- .../rdoc/lib/bundler/gem_helper_rb.html | 4 +- .../rdoc/lib/bundler/gem_tasks_rb.html | 54 + .../rdoc/lib/bundler/graph_rb.html | 4 +- .../rdoc/lib/bundler/index_rb.html | 4 +- .../rdoc/lib/bundler/installer_rb.html | 4 +- .../lib/bundler/lazy_specification_rb.html | 4 +- .../rdoc/lib/bundler/lockfile_parser_rb.html | 4 +- .../lib/bundler/man/bundle-benchmark.html | 286 +++ .../lib/bundler/man/bundle-benchmark_txt.html | 307 ++++ .../rdoc/lib/bundler/man/bundle-config.html | 26 +- .../lib/bundler/man/bundle-config_txt.html | 26 +- .../rdoc/lib/bundler/man/bundle-exec.html | 28 +- .../rdoc/lib/bundler/man/bundle-exec_txt.html | 28 +- .../rdoc/lib/bundler/man/bundle-install.html | 158 +- .../lib/bundler/man/bundle-install_txt.html | 95 +- .../rdoc/lib/bundler/man/bundle-package.html | 26 +- .../lib/bundler/man/bundle-package_txt.html | 26 +- .../rdoc/lib/bundler/man/bundle-update.html | 26 +- .../lib/bundler/man/bundle-update_txt.html | 26 +- .../rdoc/lib/bundler/man/bundle.html | 28 +- .../rdoc/lib/bundler/man/bundle_txt.html | 28 +- .../rdoc/lib/bundler/man/gemfile_5_txt.html | 38 +- .../lib/bundler/remote_specification_rb.html | 4 +- .../rdoc/lib/bundler/resolver_rb.html | 4 +- .../rdoc/lib/bundler/rubygems_ext_rb.html | 4 +- .../lib/bundler/rubygems_integration_rb.html | 52 + .../rdoc/lib/bundler/runtime_rb.html | 4 +- .../rdoc/lib/bundler/settings_rb.html | 4 +- .../rdoc/lib/bundler/setup_rb.html | 4 +- .../rdoc/lib/bundler/shared_helpers_rb.html | 6 +- .../rdoc/lib/bundler/source_rb.html | 6 +- .../rdoc/lib/bundler/spec_set_rb.html | 4 +- .../rdoc/lib/bundler/templates/Gemfile.html | 26 +- .../rdoc/lib/bundler/ui_rb.html | 6 +- .../vendor/thor/actions/create_file_rb.html | 4 +- .../vendor/thor/actions/directory_rb.html | 4 +- .../thor/actions/empty_directory_rb.html | 4 +- .../thor/actions/file_manipulation_rb.html | 4 +- .../thor/actions/inject_into_file_rb.html | 4 +- .../lib/bundler/vendor/thor/actions_rb.html | 4 +- .../rdoc/lib/bundler/vendor/thor/base_rb.html | 4 +- .../thor/core_ext/file_binary_read_rb.html | 4 +- .../hash_with_indifferent_access_rb.html | 4 +- .../vendor/thor/core_ext/ordered_hash_rb.html | 4 +- .../lib/bundler/vendor/thor/error_rb.html | 4 +- .../bundler/vendor/thor/invocation_rb.html | 4 +- .../vendor/thor/parser/argument_rb.html | 4 +- .../vendor/thor/parser/arguments_rb.html | 4 +- .../bundler/vendor/thor/parser/option_rb.html | 4 +- .../vendor/thor/parser/options_rb.html | 4 +- .../lib/bundler/vendor/thor/parser_rb.html | 4 +- .../bundler/vendor/thor/shell/basic_rb.html | 4 +- .../bundler/vendor/thor/shell/color_rb.html | 4 +- .../bundler/vendor/thor/shell/html_rb.html | 4 +- .../lib/bundler/vendor/thor/shell_rb.html | 4 +- .../rdoc/lib/bundler/vendor/thor/task_rb.html | 4 +- .../rdoc/lib/bundler/vendor/thor/util_rb.html | 4 +- .../lib/bundler/vendor/thor/version_rb.html | 4 +- .../rdoc/lib/bundler/vendor/thor_rb.html | 4 +- .../rdoc/lib/bundler/version_rb.html | 4 +- .../rdoc/lib/bundler/vlad_rb.html | 4 +- .../rdoc/lib/bundler_rb.html | 8 +- .../rdoc/rdoc.css | 0 .../BundlerError/cdesc-BundlerError.ri | Bin .../ri/Bundler/BundlerError/status_code-c.ri | Bin .../ri/Bundler/CLI/cache-i.ri | Bin .../ri/Bundler/CLI/cdesc-CLI.ri | Bin .../ri/Bundler/CLI/check-i.ri | Bin .../ri/Bundler/CLI/config-i.ri | Bin .../ri/Bundler/CLI/console-i.ri | Bin .../ri/Bundler/CLI/exec-i.ri | Bin .../ri/Bundler/CLI/gem-i.ri | Bin .../ri/Bundler/CLI/have_groff%3f-i.ri | Bin .../ri/Bundler/CLI/help-i.ri | Bin .../ri/Bundler/CLI/init-i.ri | Bin .../ri/Bundler/CLI/install-i.ri | Bin .../ri/Bundler/CLI/locate_gem-i.ri | Bin .../ri/Bundler/CLI/lock-i.ri | Bin .../ri/Bundler/CLI/new-c.ri | Bin .../ri/Bundler/CLI/open-i.ri | Bin .../ri/Bundler/CLI/package-i.ri | Bin .../ri/Bundler/CLI/show-i.ri | Bin .../ri/Bundler/CLI/source_root-c.ri | Bin .../ri/Bundler/CLI/unlock-i.ri | Bin .../ri/Bundler/CLI/update-i.ri | Bin .../ri/Bundler/CLI/version-i.ri | Bin .../ri/Bundler/CLI/viz-i.ri | Bin .../ri/Bundler/Definition/build-c.ri | Bin .../ri/Bundler/Definition/cdesc-Definition.ri | Bin .../Definition/converge_dependencies-i.ri | Bin .../Definition/converge_locked_specs-i.ri | Bin .../Bundler/Definition/converge_sources-i.ri | Bin .../Definition/current_dependencies-i.ri | Bin .../ri/Bundler/Definition/dependencies-i.ri | Bin ...nsure_equivalent_gemfile_and_lockfile-i.ri | Bin 177 -> 198 bytes .../Definition/expand_dependencies-i.ri | Bin .../Definition/expanded_dependencies-i.ri | Bin .../ri/Bundler/Definition/groups-i.ri | Bin .../Bundler/Definition/in_locked_deps%3f-i.ri | Bin .../ri/Bundler/Definition/index-i.ri | Bin .../ri/Bundler/Definition/lock-i.ri | Bin .../ri/Bundler/Definition/missing_specs-i.ri | Bin .../ri/Bundler/Definition/new-c.ri | Bin .../Bundler/Definition/new_platform%3f-i.ri | Bin .../ri/Bundler/Definition/new_specs-i.ri | Bin .../ri/Bundler/Definition/no_sources%3f-i.ri | Bin .../ri/Bundler/Definition/platforms-i.ri | Bin .../ri/Bundler/Definition/pretty_dep-i.ri | Bin .../ri/Bundler/Definition/removed_specs-i.ri | Bin .../Definition/requested_dependencies-i.ri | Bin .../Bundler/Definition/requested_specs-i.ri | Bin .../ri/Bundler/Definition/resolve-i.ri | Bin .../Definition/resolve_remotely%21-i.ri | Bin .../Definition/resolve_with_cache%21-i.ri | Bin .../ri/Bundler/Definition/rubygems_index-i.ri | Bin .../Definition/satisfies_locked_spec%3f-i.ri | Bin .../ri/Bundler/Definition/sorted_sources-i.ri | Bin .../ri/Bundler/Definition/sources-i.ri | Bin .../ri/Bundler/Definition/specs-i.ri | Bin .../ri/Bundler/Definition/specs_for-i.ri | Bin .../ri/Bundler/Definition/to_lock-i.ri | Bin .../ri/Bundler/DepProxy/%3d%3d-i.ri | Bin .../ri/Bundler/DepProxy/__platform-i.ri | Bin .../ri/Bundler/DepProxy/cdesc-DepProxy.ri | Bin .../ri/Bundler/DepProxy/dep-i.ri | Bin .../ri/Bundler/DepProxy/eql%3f-i.ri | Bin .../ri/Bundler/DepProxy/hash-i.ri | Bin .../ri/Bundler/DepProxy/method_missing-i.ri | Bin .../ri/Bundler/DepProxy/new-c.ri | Bin .../ri/Bundler/DepProxy/required_by-i.ri | Bin .../ri/Bundler/DepProxy/to_s-i.ri | Bin .../ri/Bundler/DepProxy/type-i.ri | Bin .../ri/Bundler/Dependency/autorequire-i.ri | Bin .../ri/Bundler/Dependency/cdesc-Dependency.ri | Bin 450 -> 456 bytes .../ri/Bundler/Dependency/current_env%3f-i.ri | Bin .../Dependency/current_platform%3f-i.ri | Bin .../ri/Bundler/Dependency/gem_platforms-i.ri | Bin .../ri/Bundler/Dependency/groups-i.ri | Bin .../ri/Bundler/Dependency/jruby%3f-i.ri | Bin .../ri/Bundler/Dependency/mingw%3f-i.ri | Bin .../ri/Bundler/Dependency/mingw_18%3f-i.ri | Bin .../ri/Bundler/Dependency/mingw_19%3f-i.ri | Bin .../ri/Bundler/Dependency/mri%3f-i.ri | Bin .../ri/Bundler/Dependency/mri_18%3f-i.ri | Bin .../ri/Bundler/Dependency/mri_19%3f-i.ri | Bin .../ri/Bundler/Dependency/mswin%3f-i.ri | Bin .../ri/Bundler/Dependency/new-c.ri | Bin .../ri/Bundler/Dependency/platforms-i.ri | Bin .../ri/Bundler/Dependency/rbx%3f-i.ri | Bin 0 -> 110 bytes .../ri/Bundler/Dependency/ruby%3f-i.ri | Bin .../ri/Bundler/Dependency/ruby_18%3f-i.ri | Bin .../ri/Bundler/Dependency/ruby_19%3f-i.ri | Bin .../Bundler/Dependency/should_include%3f-i.ri | Bin .../ri/Bundler/Dependency/to_lock-i.ri | Bin .../ri/Bundler/Deployment/cdesc-Deployment.ri | Bin .../ri/Bundler/Deployment/define_task-c.ri | Bin .../DeprecatedError/cdesc-DeprecatedError.ri | Bin .../ri/Bundler/Dsl/_deprecated_options-i.ri | Bin .../ri/Bundler/Dsl/_normalize_hash-i.ri | Bin .../ri/Bundler/Dsl/_normalize_options-i.ri | Bin .../ri/Bundler/Dsl/cdesc-Dsl.ri | Bin .../ri/Bundler/Dsl/deprecate-c.ri | Bin .../ri/Bundler/Dsl/env-i.ri | Bin .../ri/Bundler/Dsl/evaluate-c.ri | Bin .../ri/Bundler/Dsl/gem-i.ri | Bin .../ri/Bundler/Dsl/gemspec-i.ri | Bin .../ri/Bundler/Dsl/git-i.ri | Bin .../ri/Bundler/Dsl/group-i.ri | Bin .../ri/Bundler/Dsl/new-c.ri | Bin .../ri/Bundler/Dsl/path-i.ri | Bin .../ri/Bundler/Dsl/platform-i.ri | Bin .../ri/Bundler/Dsl/platforms-i.ri | Bin .../ri/Bundler/Dsl/rubygems_source-i.ri | Bin .../ri/Bundler/Dsl/source-i.ri | Bin .../ri/Bundler/Dsl/to_definition-i.ri | Bin .../ri/Bundler/DslError/cdesc-DslError.ri | Bin .../Bundler/Environment/cdesc-Environment.ri | Bin .../Environment/current_dependencies-i.ri | Bin .../ri/Bundler/Environment/dependencies-i.ri | Bin .../ri/Bundler/Environment/index-i.ri | Bin .../ri/Bundler/Environment/inspect-i.ri | Bin .../ri/Bundler/Environment/lock-i.ri | Bin .../ri/Bundler/Environment/new-c.ri | Bin .../Bundler/Environment/requested_specs-i.ri | Bin .../ri/Bundler/Environment/root-i.ri | Bin .../ri/Bundler/Environment/specs-i.ri | Bin .../ri/Bundler/Environment/update-i.ri | Bin .../ri/Bundler/GemHelper/base-i.ri | Bin .../ri/Bundler/GemHelper/build_gem-i.ri | Bin .../ri/Bundler/GemHelper/built_gem_path-i.ri | Bin .../ri/Bundler/GemHelper/cdesc-GemHelper.ri | Bin 457 -> 478 bytes .../ri/Bundler/GemHelper/clean%3f-i.ri | Bin .../ri/Bundler/GemHelper/gemspec-i.ri | Bin .../ri/Bundler/GemHelper/git_push-i.ri | Bin .../GemHelper/guard_already_tagged-i.ri | Bin .../ri/Bundler/GemHelper/guard_clean-i.ri | Bin .../ri/Bundler/GemHelper/install-i.ri | Bin .../ri/Bundler/GemHelper/install_gem-i.ri | Bin .../ri/Bundler/GemHelper/install_tasks-c.ri | Bin 0 -> 136 bytes .../ri/Bundler/GemHelper/name-i.ri | Bin .../ri/Bundler/GemHelper/new-c.ri | Bin .../Bundler/GemHelper/perform_git_push-i.ri | Bin .../ri/Bundler/GemHelper/release_gem-i.ri | Bin .../ri/Bundler/GemHelper/rubygem_push-i.ri | Bin .../ri/Bundler/GemHelper/sh-i.ri | Bin .../ri/Bundler/GemHelper/sh_with_code-i.ri | Bin .../ri/Bundler/GemHelper/spec_path-i.ri | Bin .../ri/Bundler/GemHelper/tag_version-i.ri | Bin .../ri/Bundler/GemHelper/version-i.ri | Bin .../ri/Bundler/GemHelper/version_tag-i.ri | Bin .../ri/Bundler/GemHelpers/cdesc-GemHelpers.ri | Bin .../ri/Bundler/GemHelpers/generic-i.ri | Bin .../Bundler/GemNotFound/cdesc-GemNotFound.ri | Bin .../GemfileError/cdesc-GemfileError.ri | Bin .../GemfileNotFound/cdesc-GemfileNotFound.ri | Bin .../GemspecError/cdesc-GemspecError.ri | Bin .../ri/Bundler/GitError/cdesc-GitError.ri | Bin .../ri/Bundler/Graph/cdesc-Graph.ri | Bin .../ri/Bundler/Graph/groups-i.ri | Bin .../ri/Bundler/Graph/new-c.ri | Bin .../ri/Bundler/Graph/nodes-i.ri | Bin .../ri/Bundler/Graph/populate-i.ri | Bin .../ri/Bundler/Graph/viz-i.ri | Bin .../ri/Bundler/GraphNode/cdesc-GraphNode.ri | Bin .../ri/Bundler/GraphNode/dependencies-i.ri | Bin .../ri/Bundler/GraphNode/is_user-i.ri | Bin .../ri/Bundler/GraphNode/name-i.ri | Bin .../ri/Bundler/GraphNode/new-c.ri | Bin .../ri/Bundler/GraphNode/version-i.ri | Bin .../ri/Bundler/Index/%3c%3c-i.ri | Bin .../ri/Bundler/Index/%3d%3d-i.ri | Bin .../ri/Bundler/Index/%5b%5d-i.ri | Bin .../ri/Bundler/Index/build-c.ri | Bin .../ri/Bundler/Index/cdesc-Index.ri | Bin .../ri/Bundler/Index/each-i.ri | Bin .../ri/Bundler/Index/empty%3f-i.ri | Bin .../ri/Bundler/Index/initialize_copy-i.ri | Bin .../ri/Bundler/Index/new-c.ri | Bin .../ri/Bundler/Index/same_version%3f-i.ri | Bin .../ri/Bundler/Index/search-i.ri | Bin .../Bundler/Index/search_by_dependency-i.ri | Bin .../ri/Bundler/Index/search_by_spec-i.ri | Bin .../Index/search_for_all_platforms-i.ri | Bin .../ri/Bundler/Index/sources-i.ri | Bin .../Index/spec_satisfies_dependency%3f-i.ri | Bin .../ri/Bundler/Index/specs-i.ri | Bin .../ri/Bundler/Index/use-i.ri | Bin .../ri/Bundler/Installer/cdesc-Installer.ri | Bin .../generate_bundler_executable_stubs-i.ri | Bin .../ri/Bundler/Installer/install-c.ri | Bin .../ri/Bundler/Installer/run-i.ri | Bin .../InvalidOption/cdesc-InvalidOption.ri | Bin .../InvalidSpecSet/cdesc-InvalidSpecSet.ri | Bin .../LazySpecification/__materialize__-i.ri | Bin .../cdesc-LazySpecification.ri | Bin .../LazySpecification/dependencies-i.ri | Bin .../Bundler/LazySpecification/full_name-i.ri | Bin .../LazySpecification/method_missing-i.ri | Bin .../ri/Bundler/LazySpecification/name-i.ri | Bin .../ri/Bundler/LazySpecification/new-c.ri | Bin .../Bundler/LazySpecification/platform-i.ri | Bin .../LazySpecification/respond_to%3f-i.ri | Bin .../LazySpecification/satisfies%3f-i.ri | Bin .../ri/Bundler/LazySpecification/source-i.ri | Bin .../ri/Bundler/LazySpecification/to_lock-i.ri | Bin .../ri/Bundler/LazySpecification/to_s-i.ri | Bin .../ri/Bundler/LazySpecification/version-i.ri | Bin .../LockfileParser/cdesc-LockfileParser.ri | Bin .../Bundler/LockfileParser/dependencies-i.ri | Bin .../ri/Bundler/LockfileParser/new-c.ri | Bin .../LockfileParser/parse_dependency-i.ri | Bin .../LockfileParser/parse_platform-i.ri | Bin .../Bundler/LockfileParser/parse_source-i.ri | Bin .../ri/Bundler/LockfileParser/parse_spec-i.ri | Bin .../ri/Bundler/LockfileParser/platforms-i.ri | Bin .../ri/Bundler/LockfileParser/sources-i.ri | Bin .../ri/Bundler/LockfileParser/specs-i.ri | Bin .../MatchPlatform/cdesc-MatchPlatform.ri | Bin .../Bundler/MatchPlatform/match_platform-i.ri | Bin .../ri/Bundler/PathError/cdesc-PathError.ri | Bin .../ProductionError/cdesc-ProductionError.ri | Bin .../Bundler/RemoteSpecification/__swap__-i.ri | Bin .../_remote_specification-i.ri | Bin .../cdesc-RemoteSpecification.ri | Bin .../RemoteSpecification/fetch_platform-i.ri | Bin .../RemoteSpecification/full_name-i.ri | Bin .../RemoteSpecification/method_missing-i.ri | Bin .../ri/Bundler/RemoteSpecification/name-i.ri | Bin .../ri/Bundler/RemoteSpecification/new-c.ri | Bin .../Bundler/RemoteSpecification/platform-i.ri | Bin .../Bundler/RemoteSpecification/source-i.ri | Bin .../Bundler/RemoteSpecification/version-i.ri | Bin .../Resolver/SpecGroup/__dependencies-i.ri | Bin .../Resolver/SpecGroup/activate_platform-i.ri | Bin .../Bundler/Resolver/SpecGroup/activated-i.ri | Bin .../Resolver/SpecGroup/cdesc-SpecGroup.ri | Bin .../ri/Bundler/Resolver/SpecGroup/for%3f-i.ri | Bin .../Resolver/SpecGroup/initialize_copy-i.ri | Bin .../ri/Bundler/Resolver/SpecGroup/name-i.ri | Bin .../ri/Bundler/Resolver/SpecGroup/new-c.ri | Bin .../Resolver/SpecGroup/required_by-i.ri | Bin .../ri/Bundler/Resolver/SpecGroup/source-i.ri | Bin .../ri/Bundler/Resolver/SpecGroup/to_s-i.ri | Bin .../Bundler/Resolver/SpecGroup/to_specs-i.ri | Bin .../Bundler/Resolver/SpecGroup/version-i.ri | Bin .../ri/Bundler/Resolver/cdesc-Resolver.ri | Bin .../ri/Bundler/Resolver/clean_req-i.ri | Bin .../ri/Bundler/Resolver/debug-i.ri | Bin .../ri/Bundler/Resolver/error_message-i.ri | Bin .../ri/Bundler/Resolver/errors-i.ri | Bin .../ri/Bundler/Resolver/gem_message-i.ri | Bin .../ri/Bundler/Resolver/gems_size-i.ri | Bin .../ri/Bundler/Resolver/new-c.ri | Bin .../ri/Bundler/Resolver/resolve-c.ri | Bin .../ri/Bundler/Resolver/resolve-i.ri | Bin .../Bundler/Resolver/resolve_requirement-i.ri | Bin .../ri/Bundler/Resolver/search-i.ri | Bin .../ri/Bundler/Resolver/start-i.ri | Bin .../ri/Bundler/Resolver/successify-i.ri | Bin .../ri/Bundler/Resolver/version_conflict-i.ri | Bin .../AlmostModern/cdesc-AlmostModern.ri | Bin 0 -> 291 bytes .../AlmostModern/preserve_paths-i.ri | Bin 0 -> 367 bytes .../Deprecate/cdesc-Deprecate.ri | Bin 0 -> 226 bytes .../Deprecate/skip_during-i.ri | Bin 0 -> 144 bytes .../Gem/SourceIndex/cdesc-SourceIndex.ri | Bin 0 -> 221 bytes .../RubygemsIntegration/Gem/cdesc-Gem.ri | Bin 0 -> 195 bytes .../RubygemsIntegration/Legacy/all_specs-i.ri | Bin 0 -> 136 bytes .../Legacy/cdesc-Legacy.ri | Bin 0 -> 327 bytes .../RubygemsIntegration/Legacy/find_name-i.ri | Bin 0 -> 140 bytes .../Legacy/stub_rubygems-i.ri | Bin 0 -> 149 bytes .../RubygemsIntegration/Modern/all_specs-i.ri | Bin 0 -> 136 bytes .../Modern/cdesc-Modern.ri | Bin 0 -> 304 bytes .../RubygemsIntegration/Modern/find_name-i.ri | Bin 0 -> 140 bytes .../Modern/stub_rubygems-i.ri | Bin 0 -> 149 bytes .../Transitional/cdesc-Transitional.ri | Bin 0 -> 279 bytes .../Transitional/stub_rubygems-i.ri | Bin 0 -> 155 bytes .../Bundler/RubygemsIntegration/bin_path-i.ri | Bin 0 -> 139 bytes .../cdesc-RubygemsIntegration.ri | Bin 0 -> 679 bytes .../RubygemsIntegration/clear_paths-i.ri | Bin 0 -> 132 bytes .../RubygemsIntegration/configuration-i.ri | Bin 0 -> 136 bytes .../RubygemsIntegration/download_gem-i.ri | Bin 0 -> 149 bytes .../RubygemsIntegration/fetch_specs-i.ri | Bin 0 -> 146 bytes .../RubygemsIntegration/gem_bindir-i.ri | Bin 0 -> 130 bytes .../Bundler/RubygemsIntegration/gem_dir-i.ri | Bin 0 -> 124 bytes .../Bundler/RubygemsIntegration/gem_path-i.ri | Bin 0 -> 126 bytes .../Bundler/RubygemsIntegration/inflate-i.ri | Bin 0 -> 127 bytes .../RubygemsIntegration/loaded_specs-i.ri | Bin 0 -> 138 bytes .../RubygemsIntegration/mark_loaded-i.ri | Bin 0 -> 136 bytes .../RubygemsIntegration/marshal_spec_dir-i.ri | Bin 0 -> 142 bytes .../ri/Bundler/RubygemsIntegration/new-c.ri | Bin 0 -> 117 bytes .../ri/Bundler/RubygemsIntegration/path-i.ri | Bin 0 -> 121 bytes .../RubygemsIntegration/platforms-i.ri | Bin 0 -> 128 bytes .../RubygemsIntegration/preserve_paths-i.ri | Bin 0 -> 139 bytes .../RubygemsIntegration/read_binary-i.ri | Bin 0 -> 136 bytes .../RubygemsIntegration/replace_bin_path-i.ri | Bin 0 -> 308 bytes .../replace_entrypoints-i.ri | Bin 0 -> 260 bytes .../RubygemsIntegration/replace_gem-i.ri | Bin 0 -> 137 bytes .../RubygemsIntegration/replace_refresh-i.ri | Bin 0 -> 271 bytes .../reverse_rubygems_kernel_mixin-i.ri | Bin 0 -> 168 bytes .../RubygemsIntegration/ruby_engine-i.ri | Bin 0 -> 132 bytes .../RubygemsIntegration/sources%3d-i.ri | Bin 0 -> 129 bytes .../Bundler/RubygemsIntegration/sources-i.ri | Bin 0 -> 124 bytes .../RubygemsIntegration/spec_from_gem-i.ri | Bin 0 -> 140 bytes .../stub_source_index137-i.ri | Bin 0 -> 155 bytes .../stub_source_index170-i.ri | Bin 0 -> 155 bytes .../ri/Bundler/RubygemsIntegration/ui%3d-i.ri | Bin 0 -> 119 bytes .../RubygemsIntegration/user_home-i.ri | Bin 0 -> 128 bytes .../RubygemsIntegration/with_build_args-i.ri | Bin 0 -> 145 bytes .../ri/Bundler/Runtime/cache-i.ri | Bin .../ri/Bundler/Runtime/cache_path-i.ri | Bin .../ri/Bundler/Runtime/cdesc-Runtime.ri | Bin .../ri/Bundler/Runtime/dependencies_for-i.ri | Bin .../ri/Bundler/Runtime/prune_cache-i.ri | Bin .../ri/Bundler/Runtime/require-i.ri | Bin .../ri/Bundler/Runtime/setup-i.ri | Bin .../ri/Bundler/Runtime/setup_environment-i.ri | Bin .../ri/Bundler/Settings/%5b%5d%3d-i.ri | Bin .../ri/Bundler/Settings/%5b%5d-i.ri | Bin .../ri/Bundler/Settings/all-i.ri | Bin .../ri/Bundler/Settings/allow_sudo%3f-i.ri | Bin .../ri/Bundler/Settings/cdesc-Settings.ri | Bin .../ri/Bundler/Settings/delete-i.ri | Bin .../Bundler/Settings/global_config_file-i.ri | Bin .../ri/Bundler/Settings/key_for-i.ri | Bin .../Bundler/Settings/local_config_file-i.ri | Bin .../ri/Bundler/Settings/locations-i.ri | Bin .../ri/Bundler/Settings/new-c.ri | Bin .../ri/Bundler/Settings/path-i.ri | Bin .../Bundler/Settings/pretty_values_for-i.ri | Bin .../ri/Bundler/Settings/set_global-i.ri | Bin .../ri/Bundler/Settings/set_key-i.ri | Bin .../ri/Bundler/Settings/without%3d-i.ri | Bin .../ri/Bundler/Settings/without-i.ri | Bin .../SharedHelpers/cdesc-SharedHelpers.ri | Bin 339 -> 290 bytes .../SharedHelpers/clean_load_path-i.ri | Bin .../SharedHelpers/default_gemfile-i.ri | Bin .../SharedHelpers/default_lockfile-i.ri | Bin .../Bundler/SharedHelpers/find_gemfile-i.ri | Bin .../ri/Bundler/SharedHelpers/gem_loaded-i.ri | Bin .../Bundler/SharedHelpers/in_bundle%3f-i.ri | Bin .../ri/Bundler/Source/Git/%3d%3d-i.ri | Bin .../Bundler/Source/Git/allow_git_ops%3f-i.ri | Bin .../ri/Bundler/Source/Git/base_name-i.ri | Bin .../ri/Bundler/Source/Git/cache-i.ri | Bin .../ri/Bundler/Source/Git/cache_path-i.ri | Bin .../ri/Bundler/Source/Git/cached%3f-i.ri | Bin .../ri/Bundler/Source/Git/cdesc-Git.ri | Bin 492 -> 505 bytes .../ri/Bundler/Source/Git/checkout-i.ri | Bin .../ri/Bundler/Source/Git/eql%3f-i.ri | Bin .../ri/Bundler/Source/Git/from_lock-c.ri | Bin .../ri/Bundler/Source/Git/git-i.ri | Bin .../Source/Git/has_revision_cached%3f-i.ri | Bin .../ri/Bundler/Source/Git/in_cache-i.ri | Bin .../ri/Bundler/Source/Git/install-i.ri | Bin .../Bundler/Source/Git/load_spec_files-i.ri | Bin .../ri/Bundler/Source/Git/name-i.ri | Bin .../ri/Bundler/Source/Git/new-c.ri | Bin .../ri/Bundler/Source/Git/options-i.ri | Bin .../ri/Bundler/Source/Git/path-i.ri | Bin .../ri/Bundler/Source/Git/ref-i.ri | Bin .../ri/Bundler/Source/Git/revision-i.ri | Bin .../Source/Git/shortref_for_display-i.ri | Bin .../Bundler/Source/Git/shortref_for_path-i.ri | Bin .../ri/Bundler/Source/Git/specs-i.ri | Bin .../ri/Bundler/Source/Git/submodules-i.ri | Bin .../ri/Bundler/Source/Git/to_lock-i.ri | Bin .../ri/Bundler/Source/Git/to_s-i.ri | Bin .../ri/Bundler/Source/Git/unlock%21-i.ri | Bin .../ri/Bundler/Source/Git/uri-i.ri | Bin .../ri/Bundler/Source/Git/uri_escaped-i.ri | Bin 0 -> 189 bytes .../ri/Bundler/Source/Git/uri_hash-i.ri | Bin .../ri/Bundler/Source/Path/%3d%3d-i.ri | Bin .../Source/Path/Installer/cdesc-Installer.ri | Bin .../Source/Path/Installer/generate_bin-i.ri | Bin .../ri/Bundler/Source/Path/Installer/new-c.ri | Bin .../ri/Bundler/Source/Path/cache-i.ri | Bin .../ri/Bundler/Source/Path/cached%21-i.ri | Bin .../ri/Bundler/Source/Path/cdesc-Path.ri | Bin .../ri/Bundler/Source/Path/eql%3f-i.ri | Bin .../ri/Bundler/Source/Path/from_lock-c.ri | Bin .../ri/Bundler/Source/Path/generate_bin-i.ri | Bin .../ri/Bundler/Source/Path/hash-i.ri | Bin .../ri/Bundler/Source/Path/install-i.ri | Bin .../Bundler/Source/Path/load_spec_files-i.ri | Bin .../ri/Bundler/Source/Path/local_specs-i.ri | Bin .../ri/Bundler/Source/Path/name-i.ri | Bin .../ri/Bundler/Source/Path/new-c.ri | Bin .../ri/Bundler/Source/Path/options-i.ri | Bin .../ri/Bundler/Source/Path/path-i.ri | Bin .../ri/Bundler/Source/Path/relative_path-i.ri | Bin .../ri/Bundler/Source/Path/remote%21-i.ri | Bin .../ri/Bundler/Source/Path/specs-i.ri | Bin .../ri/Bundler/Source/Path/to_lock-i.ri | Bin .../ri/Bundler/Source/Path/to_s-i.ri | Bin .../ri/Bundler/Source/Path/version-i.ri | Bin .../ri/Bundler/Source/Rubygems/%3d%3d-i.ri | Bin .../Bundler/Source/Rubygems/add_remote-i.ri | Bin .../ri/Bundler/Source/Rubygems/cache-i.ri | Bin .../ri/Bundler/Source/Rubygems/cached%21-i.ri | Bin .../Bundler/Source/Rubygems/cached_gem-i.ri | Bin .../Bundler/Source/Rubygems/cached_specs-i.ri | Bin .../Bundler/Source/Rubygems/cdesc-Rubygems.ri | Bin .../Rubygems/download_gem_from_uri-i.ri | Bin .../ri/Bundler/Source/Rubygems/eql%3f-i.ri | Bin .../ri/Bundler/Source/Rubygems/fetch-i.ri | Bin .../Rubygems/fetch_all_remote_specs-i.ri | Bin .../Bundler/Source/Rubygems/fetch_specs-i.ri | Bin .../ri/Bundler/Source/Rubygems/from_lock-c.ri | Bin .../ri/Bundler/Source/Rubygems/hash-i.ri | Bin .../ri/Bundler/Source/Rubygems/install-i.ri | Bin .../Source/Rubygems/installed_specs-i.ri | Bin .../Source/Rubygems/merge_remotes-i.ri | Bin .../ri/Bundler/Source/Rubygems/name-i.ri | Bin .../ri/Bundler/Source/Rubygems/new-c.ri | Bin .../Source/Rubygems/normalize_uri-i.ri | Bin .../ri/Bundler/Source/Rubygems/options-i.ri | Bin .../ri/Bundler/Source/Rubygems/remote%21-i.ri | Bin .../Bundler/Source/Rubygems/remote_specs-i.ri | Bin .../ri/Bundler/Source/Rubygems/remotes-i.ri | Bin .../ri/Bundler/Source/Rubygems/specs-i.ri | Bin .../ri/Bundler/Source/Rubygems/sudo-i.ri | Bin .../ri/Bundler/Source/Rubygems/to_lock-i.ri | Bin .../ri/Bundler/Source/Rubygems/to_s-i.ri | Bin .../ri/Bundler/Source/cdesc-Source.ri | Bin .../ri/Bundler/SpecSet/%5b%5d%3d-i.ri | Bin .../ri/Bundler/SpecSet/%5b%5d-i.ri | Bin .../ri/Bundler/SpecSet/cdesc-SpecSet.ri | Bin .../ri/Bundler/SpecSet/each-i.ri | Bin .../ri/Bundler/SpecSet/for-i.ri | Bin .../ri/Bundler/SpecSet/length-i.ri | Bin .../ri/Bundler/SpecSet/lookup-i.ri | Bin .../ri/Bundler/SpecSet/materialize-i.ri | Bin .../ri/Bundler/SpecSet/merge-i.ri | Bin .../ri/Bundler/SpecSet/new-c.ri | Bin .../ri/Bundler/SpecSet/sorted-i.ri | Bin .../ri/Bundler/SpecSet/to_a-i.ri | Bin .../ri/Bundler/SpecSet/to_hash-i.ri | Bin .../ri/Bundler/SpecSet/tsort_each_child-i.ri | Bin .../ri/Bundler/SpecSet/tsort_each_node-i.ri | Bin .../ri/Bundler/SpecSet/valid_for%3f-i.ri | Bin .../ri/Bundler/UI/RGProxy/cdesc-RGProxy.ri | Bin 0 -> 211 bytes .../ri/Bundler/UI/RGProxy/new-c.ri | Bin .../ri/Bundler/UI/RGProxy/say-i.ri | Bin .../ri/Bundler/UI/Shell/be_quiet%21-i.ri | Bin .../ri/Bundler/UI/Shell/cdesc-Shell.ri | Bin .../ri/Bundler/UI/Shell/confirm-i.ri | Bin .../ri/Bundler/UI/Shell/debug%21-i.ri | Bin .../ri/Bundler/UI/Shell/debug-i.ri | Bin .../ri/Bundler/UI/Shell/error-i.ri | Bin .../ri/Bundler/UI/Shell/info-i.ri | Bin .../ri/Bundler/UI/Shell/new-c.ri | Bin .../ri/Bundler/UI/Shell/shell-i.ri | Bin .../ri/Bundler/UI/Shell/warn-i.ri | Bin .../ri/Bundler/UI/cdesc-UI.ri | Bin .../ri/Bundler/UI/confirm-i.ri | Bin .../ri/Bundler/UI/debug-i.ri | Bin .../ri/Bundler/UI/error-i.ri | Bin .../ri/Bundler/UI/info-i.ri | Bin .../ri/Bundler/UI/warn-i.ri | Bin .../VersionConflict/cdesc-VersionConflict.ri | Bin .../ri/Bundler/VersionConflict/conflicts-i.ri | Bin .../ri/Bundler/VersionConflict/new-c.ri | Bin .../ri/Bundler/app_cache-c.ri | Bin .../ri/Bundler/app_config_path-c.ri | Bin .../ri/Bundler/bin_path-c.ri | Bin .../ri/Bundler/bundle_path-c.ri | Bin .../ri/Bundler/bundle_path-i.ri | Bin .../ri/Bundler/cache-c.ri | Bin .../ri/Bundler/cdesc-Bundler.ri | Bin 812 -> 827 bytes .../ri/Bundler/configure-c.ri | Bin .../Bundler/configure_gem_home_and_path-c.ri | Bin .../ri/Bundler/default_gemfile-c.ri | Bin .../ri/Bundler/default_lockfile-c.ri | Bin .../ri/Bundler/definition-c.ri | Bin .../ri/Bundler/environment-c.ri | Bin .../ri/Bundler/home-c.ri | Bin .../ri/Bundler/install_path-c.ri | Bin .../ri/Bundler/load-c.ri | Bin .../ri/Bundler/load_gemspec-c.ri | Bin .../ri/Bundler/mkdir_p-c.ri | Bin .../ri/Bundler/read_file-c.ri | Bin .../ri/Bundler/require-c.ri | Bin .../ri/Bundler/requires_sudo%3f-c.ri | Bin .../ri/Bundler/root-c.ri | Bin .../ri/Bundler/ruby_scope-c.ri | Bin .../bundler-1.0.15/ri/Bundler/rubygems-i.ri | Bin 0 -> 94 bytes .../ri/Bundler/settings-c.ri | Bin .../ri/Bundler/setup-c.ri | Bin .../ri/Bundler/specs_path-c.ri | Bin .../ri/Bundler/sudo-c.ri | Bin .../ri/Bundler/tmp-c.ri | Bin .../ri/Bundler/ui-c.ri | Bin .../ri/Bundler/ui-i.ri | Bin .../ri/Bundler/upgrade_lockfile-c.ri | Bin .../ri/Bundler/user_bundle_path-c.ri | Bin .../ri/Bundler/with_clean_env-c.ri | Bin .../ri/File/cdesc-File.ri | Bin .../ri/Gem/Dependency/cdesc-Dependency.ri | Bin 286 -> 299 bytes .../ri/Gem/Dependency/encode_with-i.ri | Bin 0 -> 124 bytes .../ri/Gem/Dependency/groups-i.ri | Bin .../ri/Gem/Dependency/matches_spec%3f-i.ri | Bin 0 -> 217 bytes .../ri/Gem/Dependency/required_by-i.ri | Bin .../ri/Gem/Dependency/requirement-i.ri | Bin .../ri/Gem/Dependency/source-i.ri | Bin .../ri/Gem/Dependency/to_lock-i.ri | Bin .../ri/Gem/Dependency/to_yaml_properties-i.ri | Bin .../ri/Gem/Platform/cdesc-Platform.ri | Bin .../ri/Gem/Platform/hash-i.ri | Bin .../ri/Gem/Requirement/cdesc-Requirement.ri | Bin .../ri/Gem/Requirement/none%3f-i.ri | Bin 0 -> 198 bytes .../add_bundler_dependencies-i.ri | Bin .../Gem/Specification/cdesc-Specification.ri | Bin 484 -> 493 bytes .../dependencies_to_gemfile-i.ri | Bin .../ri/Gem/Specification/full_gem_path-i.ri | Bin .../ri/Gem/Specification/gem_dir-i.ri | Bin 0 -> 171 bytes .../ri/Gem/Specification/git_version-i.ri | Bin .../ri/Gem/Specification/groups-i.ri | Bin .../ri/Gem/Specification/load_paths-i.ri | Bin .../ri/Gem/Specification/loaded_from-i.ri | Bin .../ri/Gem/Specification/location-i.ri | Bin .../nondevelopment_dependencies-i.ri | Bin .../Specification/relative_loaded_from-i.ri | Bin .../ri/Gem/Specification/required_by-i.ri | Bin .../Gem/Specification/rg_full_gem_path-i.ri | Bin .../ri/Gem/Specification/rg_loaded_from-i.ri | Bin .../ri/Gem/Specification/source-i.ri | Bin .../ri/Gem/Specification/to_gemfile-i.ri | Bin .../ri/Gem/cdesc-Gem.ri | Bin .../ClassMethods/add_runtime_options%21-i.ri | Bin .../ClassMethods/cdesc-ClassMethods.ri | Bin .../Actions/ClassMethods/source_paths-i.ri | Bin .../ClassMethods/source_paths_for_search-i.ri | Bin .../Actions/ClassMethods/source_root-i.ri | Bin .../Actions/CreateFile/cdesc-CreateFile.ri | Bin .../Thor/Actions/Directory/cdesc-Directory.ri | Bin .../EmptyDirectory/cdesc-EmptyDirectory.ri | Bin .../InjectIntoFile/cdesc-InjectIntoFile.ri | Bin .../ri/Thor/Actions/add_file-i.ri | Bin .../ri/Thor/Actions/append_file-i.ri | Bin .../ri/Thor/Actions/apply-i.ri | Bin .../ri/Thor/Actions/behavior-i.ri | Bin .../ri/Thor/Actions/cdesc-Actions.ri | Bin .../ri/Thor/Actions/chmod-i.ri | Bin .../ri/Thor/Actions/copy_file-i.ri | Bin .../ri/Thor/Actions/create_file-i.ri | Bin .../ri/Thor/Actions/destination_root%3d-i.ri | Bin .../ri/Thor/Actions/destination_root-i.ri | Bin .../ri/Thor/Actions/directory-i.ri | Bin .../ri/Thor/Actions/empty_directory-i.ri | Bin .../ri/Thor/Actions/find_in_source_paths-i.ri | Bin .../ri/Thor/Actions/get-i.ri | Bin .../ri/Thor/Actions/gsub_file-i.ri | Bin .../ri/Thor/Actions/in_root-i.ri | Bin .../ri/Thor/Actions/inject_into_class-i.ri | Bin .../ri/Thor/Actions/inject_into_file-i.ri | Bin .../ri/Thor/Actions/inside-i.ri | Bin .../ri/Thor/Actions/new-c.ri | Bin .../ri/Thor/Actions/prepend_file-i.ri | Bin ...relative_to_original_destination_root-i.ri | Bin .../ri/Thor/Actions/remove_dir-i.ri | Bin .../ri/Thor/Actions/remove_file-i.ri | Bin .../ri/Thor/Actions/run-i.ri | Bin .../ri/Thor/Actions/run_ruby_script-i.ri | Bin .../ri/Thor/Actions/source_paths-i.ri | Bin .../ri/Thor/Actions/template-i.ri | Bin .../ri/Thor/Actions/thor-i.ri | Bin .../ri/Thor/Argument/cdesc-Argument.ri | Bin .../ri/Thor/Arguments/cdesc-Arguments.ri | Bin .../ri/Thor/Base/ClassMethods/all_tasks-i.ri | Bin .../ri/Thor/Base/ClassMethods/argument-i.ri | Bin .../ri/Thor/Base/ClassMethods/arguments-i.ri | Bin .../Base/ClassMethods/cdesc-ClassMethods.ri | Bin .../check_unknown_options%21-i.ri | Bin .../Thor/Base/ClassMethods/class_option-i.ri | Bin .../Thor/Base/ClassMethods/class_options-i.ri | Bin .../ri/Thor/Base/ClassMethods/debugging-i.ri | Bin .../Base/ClassMethods/exit_on_failure%3f-i.ri | Bin .../Base/ClassMethods/from_superclass-i.ri | Bin .../ri/Thor/Base/ClassMethods/group-i.ri | Bin .../ri/Thor/Base/ClassMethods/inherited-i.ri | Bin .../Thor/Base/ClassMethods/method_added-i.ri | Bin .../ri/Thor/Base/ClassMethods/namespace-i.ri | Bin .../ri/Thor/Base/ClassMethods/no_tasks-i.ri | Bin .../Thor/Base/ClassMethods/print_options-i.ri | Bin .../Base/ClassMethods/remove_argument-i.ri | Bin .../ClassMethods/remove_class_option-i.ri | Bin .../Thor/Base/ClassMethods/remove_task-i.ri | Bin .../ri/Thor/Base/ClassMethods/start-i.ri | Bin .../ri/Thor/Base/ClassMethods/tasks-i.ri | Bin .../ri/Thor/Base/cdesc-Base.ri | Bin .../ri/Thor/Base/new-c.ri | Bin .../ri/Thor/Base/options-i.ri | Bin .../ri/Thor/Base/shell%3d-c.ri | Bin .../ri/Thor/Base/shell-c.ri | Bin .../ri/Thor/Base/subclass_files-c.ri | Bin .../ri/Thor/Base/subclasses-c.ri | Bin .../cdesc-HashWithIndifferentAccess.ri | Bin .../CoreExt/OrderedHash/cdesc-OrderedHash.ri | Bin .../ri/Thor/CoreExt/cdesc-CoreExt.ri | Bin .../ri/Thor/DynamicTask/cdesc-DynamicTask.ri | Bin .../ri/Thor/DynamicTask/new-c.ri | Bin .../ri/Thor/DynamicTask/run-i.ri | Bin .../ri/Thor/Error/cdesc-Error.ri | Bin .../ri/Thor/HiddenTask/cdesc-HiddenTask.ri | Bin .../ri/Thor/HiddenTask/hidden%3f-i.ri | Bin .../ClassMethods/cdesc-ClassMethods.ri | Bin .../ri/Thor/Invocation/cdesc-Invocation.ri | Bin .../ri/Thor/Invocation/invoke-i.ri | Bin .../Thor/Invocation/invoke_with_padding-i.ri | Bin .../InvocationError/cdesc-InvocationError.ri | Bin .../cdesc-MalformattedArgumentError.ri | Bin .../ri/Thor/Option/cdesc-Option.ri | Bin .../ri/Thor/Options/cdesc-Options.ri | Bin .../cdesc-RequiredArgumentMissingError.ri | Bin .../ri/Thor/Sandbox/cdesc-Sandbox.ri | Bin .../ri/Thor/Shell/Basic/ask-i.ri | Bin .../ri/Thor/Shell/Basic/base-i.ri | Bin .../ri/Thor/Shell/Basic/cdesc-Basic.ri | Bin .../ri/Thor/Shell/Basic/dynamic_width-i.ri | Bin .../Thor/Shell/Basic/dynamic_width_stty-i.ri | Bin .../Thor/Shell/Basic/dynamic_width_tput-i.ri | Bin .../ri/Thor/Shell/Basic/error-i.ri | Bin .../ri/Thor/Shell/Basic/file_collision-i.ri | Bin .../ri/Thor/Shell/Basic/no%3f-i.ri | Bin .../ri/Thor/Shell/Basic/padding%3d-i.ri | Bin .../ri/Thor/Shell/Basic/padding-i.ri | Bin .../ri/Thor/Shell/Basic/print_table-i.ri | Bin .../ri/Thor/Shell/Basic/print_wrapped-i.ri | Bin .../ri/Thor/Shell/Basic/say-i.ri | Bin .../ri/Thor/Shell/Basic/say_status-i.ri | Bin .../ri/Thor/Shell/Basic/terminal_width-i.ri | Bin .../ri/Thor/Shell/Basic/truncate-i.ri | Bin .../ri/Thor/Shell/Basic/unix%3f-i.ri | Bin .../ri/Thor/Shell/Basic/yes%3f-i.ri | Bin .../ri/Thor/Shell/Color/cdesc-Color.ri | Bin .../ri/Thor/Shell/Color/set_color-i.ri | Bin .../ri/Thor/Shell/HTML/ask-i.ri | Bin .../ri/Thor/Shell/HTML/cdesc-HTML.ri | Bin .../ri/Thor/Shell/HTML/set_color-i.ri | Bin .../ri/Thor/Shell/cdesc-Shell.ri | Bin .../ri/Thor/Shell/new-c.ri | Bin .../ri/Thor/Shell/shell%3d-i.ri | Bin .../ri/Thor/Shell/shell-i.ri | Bin .../ri/Thor/Shell/with_padding-i.ri | Bin .../ri/Thor/Task/cdesc-Task.ri | Bin .../ri/Thor/Task/formatted_usage-i.ri | Bin .../Thor/Task/handle_argument_error%3f-i.ri | Bin .../Thor/Task/handle_no_method_error%3f-i.ri | Bin .../ri/Thor/Task/hidden%3f-i.ri | Bin .../ri/Thor/Task/new-c.ri | Bin .../ri/Thor/Task/not_debugging%3f-i.ri | Bin .../ri/Thor/Task/required_options-i.ri | Bin .../ri/Thor/Task/run-i.ri | Bin .../cdesc-UndefinedTaskError.ri | Bin .../cdesc-UnknownArgumentError.ri | Bin .../ri/Thor/Util/camel_case-c.ri | Bin .../ri/Thor/Util/cdesc-Util.ri | Bin .../ri/Thor/Util/find_by_namespace-c.ri | Bin .../find_class_and_task_by_namespace-c.ri | Bin .../ri/Thor/Util/globs_for-c.ri | Bin .../ri/Thor/Util/load_thorfile-c.ri | Bin .../Thor/Util/namespace_from_thor_class-c.ri | Bin .../ri/Thor/Util/namespaces_in_content-c.ri | Bin .../ri/Thor/Util/ruby_command-c.ri | Bin .../ri/Thor/Util/snake_case-c.ri | Bin .../ri/Thor/Util/thor_classes_in-c.ri | Bin .../ri/Thor/Util/thor_root-c.ri | Bin .../ri/Thor/Util/thor_root_glob-c.ri | Bin .../ri/Thor/Util/user_home-c.ri | Bin .../ri/Thor/banner-c.ri | Bin .../ri/Thor/cdesc-Thor.ri | Bin .../ri/Thor/check_unknown_options%21-c.ri | Bin .../ri/Thor/default_task-c.ri | Bin .../ri/Thor/desc-c.ri | Bin .../ri/Thor/help-c.ri | Bin .../ri/Thor/help-i.ri | Bin .../ri/Thor/long_desc-c.ri | Bin .../ri/Thor/map-c.ri | Bin .../ri/Thor/method_option-c.ri | Bin .../ri/Thor/method_options-c.ri | Bin .../ri/Thor/printable_tasks-c.ri | Bin .../ri/Thor/subcommand-c.ri | Bin .../ri/Thor/subcommand_help-c.ri | Bin .../ri/Thor/subcommands-c.ri | Bin .../ri/Thor/task_help-c.ri | Bin .../bundler/doc/bundler-1.0.15/ri/cache.ri | 49 + .../bundler/doc/bundler-1.0.15/ri/created.rid | 71 + .../rdoc/Bundler/SharedHelpers.html | 718 -------- .../doc/bundler-1.0.7/rdoc/created.rid | 67 - .../ri/Bundler/GemHelper/install_tasks-c.ri | Bin 137 -> 0 bytes .../Gem/SourceIndex/cdesc-SourceIndex.ri | Bin 215 -> 0 bytes .../ri/Bundler/SharedHelpers/Gem/cdesc-Gem.ri | Bin 189 -> 0 bytes .../SharedHelpers/cripple_rubygems-i.ri | Bin 142 -> 0 bytes .../reverse_rubygems_kernel_mixin-i.ri | Bin 163 -> 0 bytes .../ri/Bundler/UI/RGProxy/cdesc-RGProxy.ri | Bin 209 -> 0 bytes .../ri/Gem/Dependency/matches_spec%3f-i.ri | Bin 127 -> 0 bytes .../ri/Gem/Requirement/none%3f-i.ri | Bin 108 -> 0 bytes .../bundler/doc/bundler-1.0.7/ri/cache.ri | 52 - .../bundler/doc/bundler-1.0.7/ri/created.rid | 67 - .../.gitignore | 0 .../CHANGELOG.md | 116 +- .../bundler/gems/bundler-1.0.15/ISSUES.md | 61 + .../{bundler-1.0.7 => bundler-1.0.15}/LICENSE | 2 + .../README.md | 0 .../Rakefile | 172 +- .../UPGRADING.md | 0 .../bin/bundle | 0 .../bundler.gemspec | 5 +- .../lib/bundler.rb | 40 +- .../lib/bundler/capistrano.rb | 1 + .../lib/bundler/cli.rb | 50 +- .../lib/bundler/definition.rb | 21 +- .../lib/bundler/dependency.rb | 8 +- .../lib/bundler/deployment.rb | 6 +- .../lib/bundler/dsl.rb | 5 +- .../lib/bundler/environment.rb | 0 .../lib/bundler/gem_helper.rb | 17 +- .../lib/bundler/gem_tasks.rb} | 2 +- .../lib/bundler/graph.rb | 2 +- .../lib/bundler/index.rb | 5 +- .../lib/bundler/installer.rb | 19 +- .../lib/bundler/lazy_specification.rb | 2 +- .../lib/bundler/lockfile_parser.rb | 0 .../lib/bundler/man/bundle | 2 +- .../lib/bundler/man/bundle-benchmark | 19 + .../lib/bundler/man/bundle-benchmark.txt | 27 + .../lib/bundler/man/bundle-config | 0 .../lib/bundler/man/bundle-config.txt | 0 .../lib/bundler/man/bundle-exec | 2 +- .../lib/bundler/man/bundle-exec.txt | 2 +- .../lib/bundler/man/bundle-install | 19 +- .../lib/bundler/man/bundle-install.txt | 69 +- .../lib/bundler/man/bundle-package | 0 .../lib/bundler/man/bundle-package.txt | 0 .../lib/bundler/man/bundle-update | 0 .../lib/bundler/man/bundle-update.txt | 0 .../lib/bundler/man/bundle.txt | 2 +- .../lib/bundler/man/gemfile.5 | 18 +- .../lib/bundler/man/gemfile.5.txt | 12 +- .../lib/bundler/remote_specification.rb | 0 .../lib/bundler/resolver.rb | 4 +- .../lib/bundler/rubygems_ext.rb | 18 +- .../lib/bundler/rubygems_integration.rb | 323 ++++ .../lib/bundler/runtime.rb | 20 +- .../lib/bundler/settings.rb | 6 +- .../gems/bundler-1.0.15/lib/bundler/setup.rb | 23 + .../lib/bundler/shared_helpers.rb | 71 + .../lib/bundler/source.rb | 111 +- .../lib/bundler/spec_set.rb | 0 .../lib/bundler/templates/Executable | 0 .../lib/bundler/templates/Gemfile | 0 .../lib/bundler/templates/newgem/Gemfile.tt | 0 .../lib/bundler/templates/newgem/Rakefile.tt | 1 + .../bundler/templates/newgem/bin/newgem.tt | 0 .../lib/bundler/templates/newgem/gitignore.tt | 3 +- .../bundler/templates/newgem/lib/newgem.rb.tt | 2 + .../templates/newgem/lib/newgem/version.rb.tt | 0 .../templates/newgem/newgem.gemspec.tt | 5 +- .../lib/bundler/ui.rb | 5 +- .../lib/bundler/vendor/thor.rb | 0 .../lib/bundler/vendor/thor/actions.rb | 0 .../vendor/thor/actions/create_file.rb | 0 .../bundler/vendor/thor/actions/directory.rb | 0 .../vendor/thor/actions/empty_directory.rb | 0 .../vendor/thor/actions/file_manipulation.rb | 0 .../vendor/thor/actions/inject_into_file.rb | 0 .../lib/bundler/vendor/thor/base.rb | 0 .../vendor/thor/core_ext/file_binary_read.rb | 0 .../core_ext/hash_with_indifferent_access.rb | 0 .../vendor/thor/core_ext/ordered_hash.rb | 0 .../lib/bundler/vendor/thor/error.rb | 0 .../lib/bundler/vendor/thor/invocation.rb | 0 .../lib/bundler/vendor/thor/parser.rb | 0 .../bundler/vendor/thor/parser/argument.rb | 0 .../bundler/vendor/thor/parser/arguments.rb | 0 .../lib/bundler/vendor/thor/parser/option.rb | 0 .../lib/bundler/vendor/thor/parser/options.rb | 0 .../lib/bundler/vendor/thor/shell.rb | 0 .../lib/bundler/vendor/thor/shell/basic.rb | 0 .../lib/bundler/vendor/thor/shell/color.rb | 0 .../lib/bundler/vendor/thor/shell/html.rb | 0 .../lib/bundler/vendor/thor/task.rb | 0 .../lib/bundler/vendor/thor/util.rb | 0 .../lib/bundler/vendor/thor/version.rb | 0 .../lib/bundler/version.rb | 2 +- .../lib/bundler/vlad.rb | 0 .../man/bundle-config.ronn | 0 .../man/bundle-exec.ronn | 0 .../man/bundle-install.ronn | 10 +- .../man/bundle-package.ronn | 0 .../man/bundle-update.ronn | 0 .../man/bundle.ronn | 0 .../man/gemfile.5.ronn | 2 + .../man/index.txt | 0 .../spec/cache/gems_spec.rb | 11 + .../spec/cache/git_spec.rb | 0 .../spec/cache/path_spec.rb | 0 .../spec/cache/platform_spec.rb | 0 .../spec/install/deploy_spec.rb | 16 +- .../spec/install/deprecated_spec.rb | 6 - .../spec/install/gems/c_ext_spec.rb | 0 .../spec/install/gems/env_spec.rb | 0 .../spec/install/gems/flex_spec.rb | 4 +- .../spec/install/gems/groups_spec.rb | 21 +- .../spec/install/gems/packed_spec.rb | 12 + .../spec/install/gems/platform_spec.rb | 2 +- .../spec/install/gems/resolving_spec.rb | 0 .../spec/install/gems/simple_case_spec.rb | 9 + .../spec/install/gems/sudo_spec.rb | 5 +- .../spec/install/gems/win32_spec.rb | 0 .../spec/install/gemspec_spec.rb | 12 + .../spec/install/git_spec.rb | 5 +- .../spec/install/invalid_spec.rb | 18 + .../spec/install/path_spec.rb | 54 +- .../spec/install/upgrade_spec.rb | 0 .../spec/lock/git_spec.rb | 2 +- .../spec/lock/lockfile_spec.rb | 25 +- .../spec/other/check_spec.rb | 12 +- .../spec/other/config_spec.rb | 0 .../spec/other/console_spec.rb | 0 .../spec/other/exec_spec.rb | 11 +- .../bundler-1.0.15/spec/other/ext_spec.rb | 37 + .../spec/other/gem_helper_spec.rb | 0 .../spec/other/help_spec.rb | 4 +- .../spec/other/init_spec.rb | 6 +- .../spec/other/newgem_spec.rb | 6 +- .../spec/other/open_spec.rb | 0 .../spec/other/show_spec.rb | 0 .../spec/pack/gems_spec.rb | 0 .../spec/quality_spec.rb | 2 +- .../spec/resolver/basic_spec.rb | 0 .../spec/resolver/platform_spec.rb | 0 .../spec/runtime/executable_spec.rb | 0 .../spec/runtime/load_spec.rb | 0 .../spec/runtime/platform_spec.rb | 0 .../spec/runtime/require_spec.rb | 20 +- .../spec/runtime/setup_spec.rb | 143 +- .../spec/runtime/with_clean_env_spec.rb | 0 .../spec/spec_helper.rb | 14 +- .../spec/support/builders.rb | 22 +- .../spec/support/helpers.rb | 2 +- .../spec/support/indexes.rb | 0 .../spec/support/matchers.rb | 20 +- .../spec/support/path.rb | 0 .../spec/support/platforms.rb | 0 .../spec/support/ruby_ext.rb | 0 .../spec/support/rubygems_ext.rb | 6 +- .../spec/support/rubygems_hax/platform.rb} | 2 + .../spec/support/sudo.rb | 0 .../spec/update/gems_spec.rb | 9 + .../spec/update/git_spec.rb | 4 +- .../spec/update/source_spec.rb | 0 .../bundler/gems/bundler-1.0.7/ISSUES.md | 47 - .../gems/bundler-1.0.7/lib/bundler/setup.rb | 16 - .../lib/bundler/shared_helpers.rb | 158 -- .../gems/bundler-1.0.7/spec/other/ext_spec.rb | 16 - .../specifications/bundler-1.0.15.gemspec | 37 + .../specifications/bundler-1.0.7.gemspec | 37 - vendor/plugins/rails_xss/init.rb | 4 +- .../rails_xss/lib/rails_xss/action_view.rb | 78 +- .../plugins/rails_xss/lib/rails_xss/erubis.rb | 4 +- .../rails_xss/lib/rails_xss/string_ext.rb | 13 + .../test/active_record_helper_test.rb | 74 + .../rails_xss/test/asset_tag_helper_test.rb | 49 + vendor/plugins/rails_xss/test/caching_test.rb | 54 + .../rails_xss/test/content_for_test.rb | 39 + .../rails_xss/test/date_helper_test.rb | 29 + .../test/deprecated_output_safety_test.rb | 112 ++ .../plugins/rails_xss/test/erb_util_test.rb | 36 + .../rails_xss/test/form_helper_test.rb | 1447 +++++++++++++++ .../rails_xss/test/form_tag_helper_test.rb | 354 ++++ .../rails_xss/test/output_escaping_test.rb | 19 + .../rails_xss/test/output_safety_test.rb | 115 ++ .../plugins/rails_xss/test/rails_xss_test.rb | 111 -- .../rails_xss/test/raw_output_helper_test.rb | 18 + .../rails_xss/test/safe_buffer_test.rb | 51 + .../plugins/rails_xss/test/tag_helper_test.rb | 21 + vendor/plugins/rails_xss/test/test_helper.rb | 1 + .../rails_xss/test/text_helper_test.rb | 30 + vendor/plugins/rails_xss/test/url_for_test.rb | 39 + vendor/rails/actionmailer/Rakefile | 12 +- .../actionmailer/lib/action_mailer/version.rb | 2 +- vendor/rails/actionpack/Rakefile | 12 +- .../lib/action_controller/request.rb | 4 +- .../session/abstract_store.rb | 1 + .../actionpack/lib/action_pack/version.rb | 2 +- .../lib/action_view/template_handlers/erb.rb | 1 + .../controller/session/abstract_store_test.rb | 64 + .../controller/session/cookie_store_test.rb | 44 + vendor/rails/activemodel/Rakefile | 4 +- vendor/rails/activerecord/Rakefile | 12 +- .../associations/association_collection.rb | 2 +- .../activerecord/lib/active_record/base.rb | 2 +- .../activerecord/lib/active_record/version.rb | 2 +- .../has_many_associations_test.rb | 9 + vendor/rails/activesupport/Rakefile | 9 +- .../lib/active_support/version.rb | 2 +- vendor/rails/railties/Rakefile | 20 +- .../railties/lib/rails/gem_dependency.rb | 29 +- .../lib/rails/vendor_gem_source_index.rb | 2 +- vendor/rails/railties/lib/rails/version.rb | 2 +- .../components/plugin/templates/Rakefile | 4 +- .../railties/lib/tasks/documentation.rake | 4 +- .../rails/railties/lib/tasks/framework.rake | 2 +- 1105 files changed, 14278 insertions(+), 4667 deletions(-) create mode 100644 vendor/plugins/bundler/cache/bundler-1.0.15.gem delete mode 100644 vendor/plugins/bundler/cache/bundler-1.0.7.gem rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Bundler.html (80%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Bundler/BundlerError.html (89%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Bundler/CLI.html (72%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Bundler/Definition.html (87%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Bundler/DepProxy.html (89%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Bundler/Dependency.html (78%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Bundler/Deployment.html (91%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Bundler/DeprecatedError.html (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Bundler/Dsl.html (78%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Bundler/DslError.html (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Bundler/Environment.html (94%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Bundler/GemHelper.html (77%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Bundler/GemHelpers.html (88%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Bundler/GemNotFound.html (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Bundler/GemfileError.html (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Bundler/GemfileNotFound.html (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Bundler/GemspecError.html (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Bundler/GitError.html (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Bundler/Graph.html (95%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Bundler/GraphNode.html (92%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Bundler/Index.html (94%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Bundler/Installer.html (77%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Bundler/InvalidOption.html (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Bundler/InvalidSpecSet.html (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Bundler/LazySpecification.html (95%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Bundler/LockfileParser.html (96%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Bundler/MatchPlatform.html (89%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Bundler/PathError.html (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Bundler/ProductionError.html (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Bundler/RemoteSpecification.html (94%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Bundler/Resolver.html (97%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Bundler/Resolver/SpecGroup.html (95%) create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/RubygemsIntegration.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/RubygemsIntegration/AlmostModern.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/RubygemsIntegration/Deprecate.html rename vendor/plugins/bundler/doc/{bundler-1.0.7/rdoc/Bundler/SharedHelpers => bundler-1.0.15/rdoc/Bundler/RubygemsIntegration}/Gem.html (87%) rename vendor/plugins/bundler/doc/{bundler-1.0.7/rdoc/Bundler/SharedHelpers => bundler-1.0.15/rdoc/Bundler/RubygemsIntegration}/Gem/SourceIndex.html (86%) create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/RubygemsIntegration/Legacy.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/RubygemsIntegration/Modern.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/RubygemsIntegration/Transitional.html rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Bundler/Runtime.html (74%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Bundler/Settings.html (95%) create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/SharedHelpers.html rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Bundler/Source.html (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Bundler/Source/Git.html (71%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Bundler/Source/Path.html (78%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Bundler/Source/Path/Installer.html (83%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Bundler/Source/Rubygems.html (69%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Bundler/SpecSet.html (97%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Bundler/UI.html (88%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Bundler/UI/RGProxy.html (86%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Bundler/UI/Shell.html (86%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Bundler/VersionConflict.html (89%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/File.html (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Gem.html (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Gem/Dependency.html (79%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Gem/Platform.html (89%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Gem/Requirement.html (88%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Gem/Specification.html (79%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Thor.html (97%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Thor/Actions.html (98%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Thor/Actions/ClassMethods.html (94%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Thor/Actions/CreateFile.html (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Thor/Actions/Directory.html (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Thor/Actions/EmptyDirectory.html (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Thor/Actions/InjectIntoFile.html (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Thor/Argument.html (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Thor/Arguments.html (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Thor/Base.html (95%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Thor/Base/ClassMethods.html (97%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Thor/CoreExt.html (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Thor/CoreExt/HashWithIndifferentAccess.html (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Thor/CoreExt/OrderedHash.html (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Thor/DynamicTask.html (92%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Thor/Error.html (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Thor/HiddenTask.html (91%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Thor/Invocation.html (94%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Thor/Invocation/ClassMethods.html (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Thor/InvocationError.html (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Thor/MalformattedArgumentError.html (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Thor/Option.html (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Thor/Options.html (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Thor/RequiredArgumentMissingError.html (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Thor/Sandbox.html (89%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Thor/Shell.html (93%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Thor/Shell/Basic.html (97%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Thor/Shell/Color.html (93%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Thor/Shell/HTML.html (93%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Thor/Task.html (96%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Thor/UndefinedTaskError.html (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Thor/UnknownArgumentError.html (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/Thor/Util.html (97%) create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/created.rid rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/images/brick.png (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/images/brick_link.png (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/images/bug.png (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/images/bullet_black.png (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/images/bullet_toggle_minus.png (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/images/bullet_toggle_plus.png (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/images/date.png (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/images/find.png (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/images/loadingAnimation.gif (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/images/macFFBgHack.png (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/images/package.png (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/images/page_green.png (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/images/page_white_text.png (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/images/page_white_width.png (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/images/plugin.png (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/images/ruby.png (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/images/tag_green.png (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/images/wrench.png (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/images/wrench_orange.png (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/images/zoom.png (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/index.html (89%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/js/darkfish.js (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/js/jquery.js (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/js/quicksearch.js (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/js/thickbox-compressed.js (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/capistrano_rb.html (91%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/cli_rb.html (88%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/definition_rb.html (89%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/dependency_rb.html (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/deployment_rb.html (89%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/dsl_rb.html (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/environment_rb.html (89%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/gem_helper_rb.html (89%) create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/gem_tasks_rb.html rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/graph_rb.html (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/index_rb.html (89%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/installer_rb.html (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/lazy_specification_rb.html (89%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/lockfile_parser_rb.html (89%) create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/man/bundle-benchmark.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/man/bundle-benchmark_txt.html rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/man/bundle-config.html (91%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/man/bundle-config_txt.html (91%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/man/bundle-exec.html (91%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/man/bundle-exec_txt.html (91%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/man/bundle-install.html (76%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/man/bundle-install_txt.html (84%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/man/bundle-package.html (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/man/bundle-package_txt.html (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/man/bundle-update.html (93%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/man/bundle-update_txt.html (93%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/man/bundle.html (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/man/bundle_txt.html (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/man/gemfile_5_txt.html (93%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/remote_specification_rb.html (89%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/resolver_rb.html (89%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/rubygems_ext_rb.html (90%) create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/rubygems_integration_rb.html rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/runtime_rb.html (89%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/settings_rb.html (89%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/setup_rb.html (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/shared_helpers_rb.html (86%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/source_rb.html (88%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/spec_set_rb.html (89%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/templates/Gemfile.html (88%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/ui_rb.html (86%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/vendor/thor/actions/create_file_rb.html (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/vendor/thor/actions/directory_rb.html (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/vendor/thor/actions/empty_directory_rb.html (89%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/vendor/thor/actions/file_manipulation_rb.html (89%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/vendor/thor/actions/inject_into_file_rb.html (89%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/vendor/thor/actions_rb.html (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/vendor/thor/base_rb.html (91%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/vendor/thor/core_ext/file_binary_read_rb.html (89%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/vendor/thor/core_ext/hash_with_indifferent_access_rb.html (88%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/vendor/thor/core_ext/ordered_hash_rb.html (89%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/vendor/thor/error_rb.html (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/vendor/thor/invocation_rb.html (89%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/vendor/thor/parser/argument_rb.html (89%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/vendor/thor/parser/arguments_rb.html (89%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/vendor/thor/parser/option_rb.html (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/vendor/thor/parser/options_rb.html (89%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/vendor/thor/parser_rb.html (91%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/vendor/thor/shell/basic_rb.html (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/vendor/thor/shell/color_rb.html (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/vendor/thor/shell/html_rb.html (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/vendor/thor/shell_rb.html (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/vendor/thor/task_rb.html (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/vendor/thor/util_rb.html (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/vendor/thor/version_rb.html (89%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/vendor/thor_rb.html (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/version_rb.html (89%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler/vlad_rb.html (91%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/lib/bundler_rb.html (86%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/rdoc/rdoc.css (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/BundlerError/cdesc-BundlerError.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/BundlerError/status_code-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/CLI/cache-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/CLI/cdesc-CLI.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/CLI/check-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/CLI/config-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/CLI/console-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/CLI/exec-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/CLI/gem-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/CLI/have_groff%3f-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/CLI/help-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/CLI/init-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/CLI/install-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/CLI/locate_gem-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/CLI/lock-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/CLI/new-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/CLI/open-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/CLI/package-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/CLI/show-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/CLI/source_root-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/CLI/unlock-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/CLI/update-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/CLI/version-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/CLI/viz-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Definition/build-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Definition/cdesc-Definition.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Definition/converge_dependencies-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Definition/converge_locked_specs-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Definition/converge_sources-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Definition/current_dependencies-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Definition/dependencies-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Definition/ensure_equivalent_gemfile_and_lockfile-i.ri (64%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Definition/expand_dependencies-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Definition/expanded_dependencies-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Definition/groups-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Definition/in_locked_deps%3f-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Definition/index-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Definition/lock-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Definition/missing_specs-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Definition/new-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Definition/new_platform%3f-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Definition/new_specs-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Definition/no_sources%3f-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Definition/platforms-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Definition/pretty_dep-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Definition/removed_specs-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Definition/requested_dependencies-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Definition/requested_specs-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Definition/resolve-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Definition/resolve_remotely%21-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Definition/resolve_with_cache%21-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Definition/rubygems_index-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Definition/satisfies_locked_spec%3f-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Definition/sorted_sources-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Definition/sources-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Definition/specs-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Definition/specs_for-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Definition/to_lock-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/DepProxy/%3d%3d-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/DepProxy/__platform-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/DepProxy/cdesc-DepProxy.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/DepProxy/dep-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/DepProxy/eql%3f-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/DepProxy/hash-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/DepProxy/method_missing-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/DepProxy/new-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/DepProxy/required_by-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/DepProxy/to_s-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/DepProxy/type-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Dependency/autorequire-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Dependency/cdesc-Dependency.ri (76%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Dependency/current_env%3f-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Dependency/current_platform%3f-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Dependency/gem_platforms-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Dependency/groups-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Dependency/jruby%3f-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Dependency/mingw%3f-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Dependency/mingw_18%3f-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Dependency/mingw_19%3f-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Dependency/mri%3f-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Dependency/mri_18%3f-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Dependency/mri_19%3f-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Dependency/mswin%3f-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Dependency/new-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Dependency/platforms-i.ri (100%) create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Dependency/rbx%3f-i.ri rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Dependency/ruby%3f-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Dependency/ruby_18%3f-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Dependency/ruby_19%3f-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Dependency/should_include%3f-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Dependency/to_lock-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Deployment/cdesc-Deployment.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Deployment/define_task-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/DeprecatedError/cdesc-DeprecatedError.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Dsl/_deprecated_options-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Dsl/_normalize_hash-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Dsl/_normalize_options-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Dsl/cdesc-Dsl.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Dsl/deprecate-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Dsl/env-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Dsl/evaluate-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Dsl/gem-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Dsl/gemspec-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Dsl/git-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Dsl/group-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Dsl/new-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Dsl/path-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Dsl/platform-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Dsl/platforms-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Dsl/rubygems_source-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Dsl/source-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Dsl/to_definition-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/DslError/cdesc-DslError.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Environment/cdesc-Environment.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Environment/current_dependencies-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Environment/dependencies-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Environment/index-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Environment/inspect-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Environment/lock-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Environment/new-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Environment/requested_specs-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Environment/root-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Environment/specs-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Environment/update-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/GemHelper/base-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/GemHelper/build_gem-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/GemHelper/built_gem_path-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/GemHelper/cdesc-GemHelper.ri (90%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/GemHelper/clean%3f-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/GemHelper/gemspec-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/GemHelper/git_push-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/GemHelper/guard_already_tagged-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/GemHelper/guard_clean-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/GemHelper/install-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/GemHelper/install_gem-i.ri (100%) create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GemHelper/install_tasks-c.ri rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/GemHelper/name-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/GemHelper/new-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/GemHelper/perform_git_push-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/GemHelper/release_gem-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/GemHelper/rubygem_push-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/GemHelper/sh-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/GemHelper/sh_with_code-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/GemHelper/spec_path-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/GemHelper/tag_version-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/GemHelper/version-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/GemHelper/version_tag-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/GemHelpers/cdesc-GemHelpers.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/GemHelpers/generic-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/GemNotFound/cdesc-GemNotFound.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/GemfileError/cdesc-GemfileError.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/GemfileNotFound/cdesc-GemfileNotFound.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/GemspecError/cdesc-GemspecError.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/GitError/cdesc-GitError.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Graph/cdesc-Graph.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Graph/groups-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Graph/new-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Graph/nodes-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Graph/populate-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Graph/viz-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/GraphNode/cdesc-GraphNode.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/GraphNode/dependencies-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/GraphNode/is_user-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/GraphNode/name-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/GraphNode/new-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/GraphNode/version-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Index/%3c%3c-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Index/%3d%3d-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Index/%5b%5d-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Index/build-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Index/cdesc-Index.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Index/each-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Index/empty%3f-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Index/initialize_copy-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Index/new-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Index/same_version%3f-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Index/search-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Index/search_by_dependency-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Index/search_by_spec-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Index/search_for_all_platforms-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Index/sources-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Index/spec_satisfies_dependency%3f-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Index/specs-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Index/use-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Installer/cdesc-Installer.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Installer/generate_bundler_executable_stubs-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Installer/install-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Installer/run-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/InvalidOption/cdesc-InvalidOption.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/InvalidSpecSet/cdesc-InvalidSpecSet.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/LazySpecification/__materialize__-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/LazySpecification/cdesc-LazySpecification.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/LazySpecification/dependencies-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/LazySpecification/full_name-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/LazySpecification/method_missing-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/LazySpecification/name-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/LazySpecification/new-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/LazySpecification/platform-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/LazySpecification/respond_to%3f-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/LazySpecification/satisfies%3f-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/LazySpecification/source-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/LazySpecification/to_lock-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/LazySpecification/to_s-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/LazySpecification/version-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/LockfileParser/cdesc-LockfileParser.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/LockfileParser/dependencies-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/LockfileParser/new-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/LockfileParser/parse_dependency-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/LockfileParser/parse_platform-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/LockfileParser/parse_source-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/LockfileParser/parse_spec-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/LockfileParser/platforms-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/LockfileParser/sources-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/LockfileParser/specs-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/MatchPlatform/cdesc-MatchPlatform.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/MatchPlatform/match_platform-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/PathError/cdesc-PathError.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/ProductionError/cdesc-ProductionError.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/RemoteSpecification/__swap__-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/RemoteSpecification/_remote_specification-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/RemoteSpecification/cdesc-RemoteSpecification.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/RemoteSpecification/fetch_platform-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/RemoteSpecification/full_name-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/RemoteSpecification/method_missing-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/RemoteSpecification/name-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/RemoteSpecification/new-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/RemoteSpecification/platform-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/RemoteSpecification/source-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/RemoteSpecification/version-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Resolver/SpecGroup/__dependencies-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Resolver/SpecGroup/activate_platform-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Resolver/SpecGroup/activated-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Resolver/SpecGroup/cdesc-SpecGroup.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Resolver/SpecGroup/for%3f-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Resolver/SpecGroup/initialize_copy-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Resolver/SpecGroup/name-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Resolver/SpecGroup/new-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Resolver/SpecGroup/required_by-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Resolver/SpecGroup/source-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Resolver/SpecGroup/to_s-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Resolver/SpecGroup/to_specs-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Resolver/SpecGroup/version-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Resolver/cdesc-Resolver.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Resolver/clean_req-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Resolver/debug-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Resolver/error_message-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Resolver/errors-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Resolver/gem_message-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Resolver/gems_size-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Resolver/new-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Resolver/resolve-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Resolver/resolve-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Resolver/resolve_requirement-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Resolver/search-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Resolver/start-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Resolver/successify-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Resolver/version_conflict-i.ri (100%) create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/AlmostModern/cdesc-AlmostModern.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/AlmostModern/preserve_paths-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/Deprecate/cdesc-Deprecate.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/Deprecate/skip_during-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/Gem/SourceIndex/cdesc-SourceIndex.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/Gem/cdesc-Gem.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/Legacy/all_specs-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/Legacy/cdesc-Legacy.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/Legacy/find_name-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/Legacy/stub_rubygems-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/Modern/all_specs-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/Modern/cdesc-Modern.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/Modern/find_name-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/Modern/stub_rubygems-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/Transitional/cdesc-Transitional.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/Transitional/stub_rubygems-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/bin_path-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/cdesc-RubygemsIntegration.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/clear_paths-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/configuration-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/download_gem-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/fetch_specs-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/gem_bindir-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/gem_dir-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/gem_path-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/inflate-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/loaded_specs-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/mark_loaded-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/marshal_spec_dir-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/new-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/path-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/platforms-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/preserve_paths-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/read_binary-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/replace_bin_path-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/replace_entrypoints-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/replace_gem-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/replace_refresh-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/reverse_rubygems_kernel_mixin-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/ruby_engine-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/sources%3d-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/sources-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/spec_from_gem-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/stub_source_index137-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/stub_source_index170-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/ui%3d-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/user_home-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/with_build_args-i.ri rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Runtime/cache-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Runtime/cache_path-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Runtime/cdesc-Runtime.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Runtime/dependencies_for-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Runtime/prune_cache-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Runtime/require-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Runtime/setup-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Runtime/setup_environment-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Settings/%5b%5d%3d-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Settings/%5b%5d-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Settings/all-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Settings/allow_sudo%3f-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Settings/cdesc-Settings.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Settings/delete-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Settings/global_config_file-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Settings/key_for-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Settings/local_config_file-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Settings/locations-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Settings/new-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Settings/path-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Settings/pretty_values_for-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Settings/set_global-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Settings/set_key-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Settings/without%3d-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Settings/without-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/SharedHelpers/cdesc-SharedHelpers.ri (75%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/SharedHelpers/clean_load_path-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/SharedHelpers/default_gemfile-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/SharedHelpers/default_lockfile-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/SharedHelpers/find_gemfile-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/SharedHelpers/gem_loaded-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/SharedHelpers/in_bundle%3f-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Git/%3d%3d-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Git/allow_git_ops%3f-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Git/base_name-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Git/cache-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Git/cache_path-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Git/cached%3f-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Git/cdesc-Git.ri (77%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Git/checkout-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Git/eql%3f-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Git/from_lock-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Git/git-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Git/has_revision_cached%3f-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Git/in_cache-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Git/install-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Git/load_spec_files-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Git/name-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Git/new-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Git/options-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Git/path-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Git/ref-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Git/revision-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Git/shortref_for_display-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Git/shortref_for_path-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Git/specs-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Git/submodules-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Git/to_lock-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Git/to_s-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Git/unlock%21-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Git/uri-i.ri (100%) create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Source/Git/uri_escaped-i.ri rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Git/uri_hash-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Path/%3d%3d-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Path/Installer/cdesc-Installer.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Path/Installer/generate_bin-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Path/Installer/new-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Path/cache-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Path/cached%21-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Path/cdesc-Path.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Path/eql%3f-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Path/from_lock-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Path/generate_bin-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Path/hash-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Path/install-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Path/load_spec_files-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Path/local_specs-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Path/name-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Path/new-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Path/options-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Path/path-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Path/relative_path-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Path/remote%21-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Path/specs-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Path/to_lock-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Path/to_s-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Path/version-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Rubygems/%3d%3d-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Rubygems/add_remote-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Rubygems/cache-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Rubygems/cached%21-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Rubygems/cached_gem-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Rubygems/cached_specs-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Rubygems/cdesc-Rubygems.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Rubygems/download_gem_from_uri-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Rubygems/eql%3f-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Rubygems/fetch-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Rubygems/fetch_all_remote_specs-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Rubygems/fetch_specs-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Rubygems/from_lock-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Rubygems/hash-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Rubygems/install-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Rubygems/installed_specs-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Rubygems/merge_remotes-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Rubygems/name-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Rubygems/new-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Rubygems/normalize_uri-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Rubygems/options-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Rubygems/remote%21-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Rubygems/remote_specs-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Rubygems/remotes-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Rubygems/specs-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Rubygems/sudo-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Rubygems/to_lock-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/Rubygems/to_s-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/Source/cdesc-Source.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/SpecSet/%5b%5d%3d-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/SpecSet/%5b%5d-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/SpecSet/cdesc-SpecSet.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/SpecSet/each-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/SpecSet/for-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/SpecSet/length-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/SpecSet/lookup-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/SpecSet/materialize-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/SpecSet/merge-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/SpecSet/new-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/SpecSet/sorted-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/SpecSet/to_a-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/SpecSet/to_hash-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/SpecSet/tsort_each_child-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/SpecSet/tsort_each_node-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/SpecSet/valid_for%3f-i.ri (100%) create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/UI/RGProxy/cdesc-RGProxy.ri rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/UI/RGProxy/new-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/UI/RGProxy/say-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/UI/Shell/be_quiet%21-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/UI/Shell/cdesc-Shell.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/UI/Shell/confirm-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/UI/Shell/debug%21-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/UI/Shell/debug-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/UI/Shell/error-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/UI/Shell/info-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/UI/Shell/new-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/UI/Shell/shell-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/UI/Shell/warn-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/UI/cdesc-UI.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/UI/confirm-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/UI/debug-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/UI/error-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/UI/info-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/UI/warn-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/VersionConflict/cdesc-VersionConflict.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/VersionConflict/conflicts-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/VersionConflict/new-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/app_cache-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/app_config_path-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/bin_path-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/bundle_path-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/bundle_path-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/cache-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/cdesc-Bundler.ri (92%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/configure-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/configure_gem_home_and_path-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/default_gemfile-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/default_lockfile-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/definition-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/environment-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/home-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/install_path-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/load-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/load_gemspec-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/mkdir_p-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/read_file-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/require-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/requires_sudo%3f-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/root-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/ruby_scope-c.ri (100%) create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/rubygems-i.ri rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/settings-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/setup-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/specs_path-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/sudo-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/tmp-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/ui-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/ui-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/upgrade_lockfile-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/user_bundle_path-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Bundler/with_clean_env-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/File/cdesc-File.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Gem/Dependency/cdesc-Dependency.ri (67%) create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Gem/Dependency/encode_with-i.ri rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Gem/Dependency/groups-i.ri (100%) create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Gem/Dependency/matches_spec%3f-i.ri rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Gem/Dependency/required_by-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Gem/Dependency/requirement-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Gem/Dependency/source-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Gem/Dependency/to_lock-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Gem/Dependency/to_yaml_properties-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Gem/Platform/cdesc-Platform.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Gem/Platform/hash-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Gem/Requirement/cdesc-Requirement.ri (100%) create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Gem/Requirement/none%3f-i.ri rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Gem/Specification/add_bundler_dependencies-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Gem/Specification/cdesc-Specification.ri (54%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Gem/Specification/dependencies_to_gemfile-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Gem/Specification/full_gem_path-i.ri (100%) create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/Gem/Specification/gem_dir-i.ri rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Gem/Specification/git_version-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Gem/Specification/groups-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Gem/Specification/load_paths-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Gem/Specification/loaded_from-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Gem/Specification/location-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Gem/Specification/nondevelopment_dependencies-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Gem/Specification/relative_loaded_from-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Gem/Specification/required_by-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Gem/Specification/rg_full_gem_path-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Gem/Specification/rg_loaded_from-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Gem/Specification/source-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Gem/Specification/to_gemfile-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Gem/cdesc-Gem.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Actions/ClassMethods/add_runtime_options%21-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Actions/ClassMethods/cdesc-ClassMethods.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Actions/ClassMethods/source_paths-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Actions/ClassMethods/source_paths_for_search-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Actions/ClassMethods/source_root-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Actions/CreateFile/cdesc-CreateFile.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Actions/Directory/cdesc-Directory.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Actions/EmptyDirectory/cdesc-EmptyDirectory.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Actions/InjectIntoFile/cdesc-InjectIntoFile.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Actions/add_file-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Actions/append_file-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Actions/apply-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Actions/behavior-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Actions/cdesc-Actions.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Actions/chmod-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Actions/copy_file-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Actions/create_file-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Actions/destination_root%3d-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Actions/destination_root-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Actions/directory-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Actions/empty_directory-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Actions/find_in_source_paths-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Actions/get-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Actions/gsub_file-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Actions/in_root-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Actions/inject_into_class-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Actions/inject_into_file-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Actions/inside-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Actions/new-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Actions/prepend_file-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Actions/relative_to_original_destination_root-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Actions/remove_dir-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Actions/remove_file-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Actions/run-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Actions/run_ruby_script-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Actions/source_paths-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Actions/template-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Actions/thor-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Argument/cdesc-Argument.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Arguments/cdesc-Arguments.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Base/ClassMethods/all_tasks-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Base/ClassMethods/argument-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Base/ClassMethods/arguments-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Base/ClassMethods/cdesc-ClassMethods.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Base/ClassMethods/check_unknown_options%21-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Base/ClassMethods/class_option-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Base/ClassMethods/class_options-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Base/ClassMethods/debugging-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Base/ClassMethods/exit_on_failure%3f-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Base/ClassMethods/from_superclass-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Base/ClassMethods/group-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Base/ClassMethods/inherited-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Base/ClassMethods/method_added-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Base/ClassMethods/namespace-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Base/ClassMethods/no_tasks-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Base/ClassMethods/print_options-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Base/ClassMethods/remove_argument-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Base/ClassMethods/remove_class_option-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Base/ClassMethods/remove_task-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Base/ClassMethods/start-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Base/ClassMethods/tasks-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Base/cdesc-Base.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Base/new-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Base/options-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Base/shell%3d-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Base/shell-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Base/subclass_files-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Base/subclasses-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/CoreExt/HashWithIndifferentAccess/cdesc-HashWithIndifferentAccess.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/CoreExt/OrderedHash/cdesc-OrderedHash.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/CoreExt/cdesc-CoreExt.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/DynamicTask/cdesc-DynamicTask.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/DynamicTask/new-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/DynamicTask/run-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Error/cdesc-Error.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/HiddenTask/cdesc-HiddenTask.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/HiddenTask/hidden%3f-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Invocation/ClassMethods/cdesc-ClassMethods.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Invocation/cdesc-Invocation.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Invocation/invoke-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Invocation/invoke_with_padding-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/InvocationError/cdesc-InvocationError.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/MalformattedArgumentError/cdesc-MalformattedArgumentError.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Option/cdesc-Option.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Options/cdesc-Options.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/RequiredArgumentMissingError/cdesc-RequiredArgumentMissingError.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Sandbox/cdesc-Sandbox.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Shell/Basic/ask-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Shell/Basic/base-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Shell/Basic/cdesc-Basic.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Shell/Basic/dynamic_width-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Shell/Basic/dynamic_width_stty-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Shell/Basic/dynamic_width_tput-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Shell/Basic/error-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Shell/Basic/file_collision-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Shell/Basic/no%3f-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Shell/Basic/padding%3d-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Shell/Basic/padding-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Shell/Basic/print_table-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Shell/Basic/print_wrapped-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Shell/Basic/say-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Shell/Basic/say_status-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Shell/Basic/terminal_width-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Shell/Basic/truncate-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Shell/Basic/unix%3f-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Shell/Basic/yes%3f-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Shell/Color/cdesc-Color.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Shell/Color/set_color-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Shell/HTML/ask-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Shell/HTML/cdesc-HTML.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Shell/HTML/set_color-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Shell/cdesc-Shell.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Shell/new-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Shell/shell%3d-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Shell/shell-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Shell/with_padding-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Task/cdesc-Task.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Task/formatted_usage-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Task/handle_argument_error%3f-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Task/handle_no_method_error%3f-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Task/hidden%3f-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Task/new-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Task/not_debugging%3f-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Task/required_options-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Task/run-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/UndefinedTaskError/cdesc-UndefinedTaskError.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/UnknownArgumentError/cdesc-UnknownArgumentError.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Util/camel_case-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Util/cdesc-Util.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Util/find_by_namespace-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Util/find_class_and_task_by_namespace-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Util/globs_for-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Util/load_thorfile-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Util/namespace_from_thor_class-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Util/namespaces_in_content-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Util/ruby_command-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Util/snake_case-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Util/thor_classes_in-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Util/thor_root-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Util/thor_root_glob-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/Util/user_home-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/banner-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/cdesc-Thor.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/check_unknown_options%21-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/default_task-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/desc-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/help-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/help-i.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/long_desc-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/map-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/method_option-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/method_options-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/printable_tasks-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/subcommand-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/subcommand_help-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/subcommands-c.ri (100%) rename vendor/plugins/bundler/doc/{bundler-1.0.7 => bundler-1.0.15}/ri/Thor/task_help-c.ri (100%) create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/cache.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.15/ri/created.rid delete mode 100644 vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/SharedHelpers.html delete mode 100644 vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/created.rid delete mode 100644 vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GemHelper/install_tasks-c.ri delete mode 100644 vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/SharedHelpers/Gem/SourceIndex/cdesc-SourceIndex.ri delete mode 100644 vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/SharedHelpers/Gem/cdesc-Gem.ri delete mode 100644 vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/SharedHelpers/cripple_rubygems-i.ri delete mode 100644 vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/SharedHelpers/reverse_rubygems_kernel_mixin-i.ri delete mode 100644 vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/UI/RGProxy/cdesc-RGProxy.ri delete mode 100644 vendor/plugins/bundler/doc/bundler-1.0.7/ri/Gem/Dependency/matches_spec%3f-i.ri delete mode 100644 vendor/plugins/bundler/doc/bundler-1.0.7/ri/Gem/Requirement/none%3f-i.ri delete mode 100644 vendor/plugins/bundler/doc/bundler-1.0.7/ri/cache.ri delete mode 100644 vendor/plugins/bundler/doc/bundler-1.0.7/ri/created.rid rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/.gitignore (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/CHANGELOG.md (85%) create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.15/ISSUES.md rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/LICENSE (93%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/README.md (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/Rakefile (53%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/UPGRADING.md (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/bin/bundle (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/bundler.gemspec (87%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler.rb (86%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/capistrano.rb (84%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/cli.rb (93%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/definition.rb (94%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/dependency.rb (92%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/deployment.rb (90%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/dsl.rb (97%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/environment.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/gem_helper.rb (90%) rename vendor/plugins/bundler/gems/{bundler-1.0.7/lib/bundler/templates/newgem/Rakefile.tt => bundler-1.0.15/lib/bundler/gem_tasks.rb} (53%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/graph.rb (98%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/index.rb (98%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/installer.rb (81%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/lazy_specification.rb (96%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/lockfile_parser.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/man/bundle (98%) create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/man/bundle-benchmark create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/man/bundle-benchmark.txt rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/man/bundle-config (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/man/bundle-config.txt (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/man/bundle-exec (99%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/man/bundle-exec.txt (99%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/man/bundle-install (94%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/man/bundle-install.txt (82%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/man/bundle-package (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/man/bundle-package.txt (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/man/bundle-update (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/man/bundle-update.txt (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/man/bundle.txt (98%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/man/gemfile.5 (97%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/man/gemfile.5.txt (97%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/remote_specification.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/resolver.rb (99%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/rubygems_ext.rb (90%) create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/rubygems_integration.rb rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/runtime.rb (84%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/settings.rb (94%) create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/setup.rb create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/shared_helpers.rb rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/source.rb (82%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/spec_set.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/templates/Executable (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/templates/Gemfile (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/templates/newgem/Gemfile.tt (100%) create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/templates/newgem/Rakefile.tt rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/templates/newgem/bin/newgem.tt (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/templates/newgem/gitignore.tt (60%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/templates/newgem/lib/newgem.rb.tt (86%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/templates/newgem/lib/newgem/version.rb.tt (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/templates/newgem/newgem.gemspec.tt (82%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/ui.rb (92%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/vendor/thor.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/vendor/thor/actions.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/vendor/thor/actions/create_file.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/vendor/thor/actions/directory.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/vendor/thor/actions/empty_directory.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/vendor/thor/actions/file_manipulation.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/vendor/thor/actions/inject_into_file.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/vendor/thor/base.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/vendor/thor/core_ext/file_binary_read.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/vendor/thor/core_ext/hash_with_indifferent_access.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/vendor/thor/core_ext/ordered_hash.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/vendor/thor/error.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/vendor/thor/invocation.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/vendor/thor/parser.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/vendor/thor/parser/argument.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/vendor/thor/parser/arguments.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/vendor/thor/parser/option.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/vendor/thor/parser/options.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/vendor/thor/shell.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/vendor/thor/shell/basic.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/vendor/thor/shell/color.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/vendor/thor/shell/html.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/vendor/thor/task.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/vendor/thor/util.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/vendor/thor/version.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/version.rb (74%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/lib/bundler/vlad.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/man/bundle-config.ronn (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/man/bundle-exec.ronn (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/man/bundle-install.ronn (96%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/man/bundle-package.ronn (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/man/bundle-update.ronn (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/man/bundle.ronn (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/man/gemfile.5.ronn (99%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/man/index.txt (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/cache/gems_spec.rb (95%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/cache/git_spec.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/cache/path_spec.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/cache/platform_spec.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/install/deploy_spec.rb (92%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/install/deprecated_spec.rb (82%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/install/gems/c_ext_spec.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/install/gems/env_spec.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/install/gems/flex_spec.rb (98%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/install/gems/groups_spec.rb (92%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/install/gems/packed_spec.rb (82%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/install/gems/platform_spec.rb (99%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/install/gems/resolving_spec.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/install/gems/simple_case_spec.rb (98%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/install/gems/sudo_spec.rb (92%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/install/gems/win32_spec.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/install/gemspec_spec.rb (88%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/install/git_spec.rb (98%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/install/invalid_spec.rb (50%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/install/path_spec.rb (85%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/install/upgrade_spec.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/lock/git_spec.rb (90%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/lock/lockfile_spec.rb (96%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/other/check_spec.rb (95%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/other/config_spec.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/other/console_spec.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/other/exec_spec.rb (96%) create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.15/spec/other/ext_spec.rb rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/other/gem_helper_spec.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/other/help_spec.rb (79%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/other/init_spec.rb (80%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/other/newgem_spec.rb (85%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/other/open_spec.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/other/show_spec.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/pack/gems_spec.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/quality_spec.rb (98%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/resolver/basic_spec.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/resolver/platform_spec.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/runtime/executable_spec.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/runtime/load_spec.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/runtime/platform_spec.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/runtime/require_spec.rb (93%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/runtime/setup_spec.rb (80%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/runtime/with_clean_env_spec.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/spec_helper.rb (87%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/support/builders.rb (95%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/support/helpers.rb (98%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/support/indexes.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/support/matchers.rb (82%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/support/path.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/support/platforms.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/support/ruby_ext.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/support/rubygems_ext.rb (84%) rename vendor/plugins/bundler/gems/{bundler-1.0.7/spec/support/rubygems_hax/rubygems_plugin.rb => bundler-1.0.15/spec/support/rubygems_hax/platform.rb} (89%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/support/sudo.rb (100%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/update/gems_spec.rb (92%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/update/git_spec.rb (98%) rename vendor/plugins/bundler/gems/{bundler-1.0.7 => bundler-1.0.15}/spec/update/source_spec.rb (100%) delete mode 100644 vendor/plugins/bundler/gems/bundler-1.0.7/ISSUES.md delete mode 100644 vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/setup.rb delete mode 100644 vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/shared_helpers.rb delete mode 100644 vendor/plugins/bundler/gems/bundler-1.0.7/spec/other/ext_spec.rb create mode 100644 vendor/plugins/bundler/specifications/bundler-1.0.15.gemspec delete mode 100644 vendor/plugins/bundler/specifications/bundler-1.0.7.gemspec create mode 100644 vendor/plugins/rails_xss/test/active_record_helper_test.rb create mode 100644 vendor/plugins/rails_xss/test/asset_tag_helper_test.rb create mode 100644 vendor/plugins/rails_xss/test/caching_test.rb create mode 100644 vendor/plugins/rails_xss/test/content_for_test.rb create mode 100644 vendor/plugins/rails_xss/test/date_helper_test.rb create mode 100644 vendor/plugins/rails_xss/test/deprecated_output_safety_test.rb create mode 100644 vendor/plugins/rails_xss/test/erb_util_test.rb create mode 100644 vendor/plugins/rails_xss/test/form_helper_test.rb create mode 100644 vendor/plugins/rails_xss/test/form_tag_helper_test.rb create mode 100644 vendor/plugins/rails_xss/test/output_escaping_test.rb create mode 100644 vendor/plugins/rails_xss/test/output_safety_test.rb create mode 100644 vendor/plugins/rails_xss/test/raw_output_helper_test.rb create mode 100644 vendor/plugins/rails_xss/test/safe_buffer_test.rb create mode 100644 vendor/plugins/rails_xss/test/tag_helper_test.rb create mode 100644 vendor/plugins/rails_xss/test/text_helper_test.rb create mode 100644 vendor/plugins/rails_xss/test/url_for_test.rb create mode 100644 vendor/rails/actionpack/test/controller/session/abstract_store_test.rb diff --git a/CHANGELOG b/CHANGELOG index a2557917..09248c18 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,7 +1,7 @@ N.B.: You *must* run ruby bundle - rake upgrade_instiki + ruby bundle exec rake upgrade_instiki after installing the new software, to enjoy the benefits of this new version. diff --git a/Gemfile b/Gemfile index 79b9a314..fb74bead 100644 --- a/Gemfile +++ b/Gemfile @@ -7,5 +7,7 @@ gem "rubyzip" gem "RedCloth", ">=4.0.0" gem "erubis" gem "nokogiri" -gem "rake", "~>0.8.7" +gem "rake" +gem "rdoc" gem "json" +#gem "themes_for_rails" diff --git a/UPGRADING b/UPGRADING index b232de78..6eabda39 100644 --- a/UPGRADING +++ b/UPGRADING @@ -11,7 +11,7 @@ At a minimum, you need to backup your database. After installing the new software and restoring your database, you need to run ruby bundle - rake upgrade_instiki + ruby bundle exec rake upgrade_instiki from the commandline, to complete the upgrade. Doing a diff --git a/lib/chunks/chunk.rb b/lib/chunks/chunk.rb index c1a8e2ac..0a4b96db 100644 --- a/lib/chunks/chunk.rb +++ b/lib/chunks/chunk.rb @@ -48,11 +48,14 @@ module Chunk # chunk for it, and replace the occurance of the chunk # in this content with its mask. def self.apply_to(content) - content.gsub!( self.pattern ) do |match| + text = content.to_str + text.gsub!( self.pattern ) do |match| +# content.replace text new_chunk = self.new($~, content) content.add_chunk(new_chunk) new_chunk.mask - end + end + content.replace text end # should contain only [a-z0-9] @@ -61,7 +64,7 @@ module Chunk end def unmask - @content.sub!(mask){|s| s.replace @unmask_text} + @content.replace @content.sub(mask){|s| s.replace @unmask_text} end def rendered? @@ -73,7 +76,7 @@ module Chunk end def revert - @content.sub!(mask){|s| s.replace @text} + @content.replace @content.sub(mask){|s| s.replace @text} # unregister @content.delete_chunk(self) end diff --git a/lib/chunks/engines.rb b/lib/chunks/engines.rb index 9c7d07d0..1c72b266 100644 --- a/lib/chunks/engines.rb +++ b/lib/chunks/engines.rb @@ -114,7 +114,7 @@ module Engines class Mixed < AbstractEngine def mask @content.as_utf8 - redcloth = OldRedCloth.new(@content, @content.options[:engine_opts]) + redcloth = OldRedCloth.new(@content.to_str, @content.options[:engine_opts]) redcloth.filter_html = false redcloth.no_span_caps = false html = redcloth.to_html @@ -123,8 +123,7 @@ module Engines class RDoc < AbstractEngine def mask - @content.as_utf8 - html = RDocSupport::RDocFormatter.new(@content).to_html + html = RDocSupport::RDocFormatter.new(@content.as_utf8.to_str).to_html end end diff --git a/lib/chunks/literal.rb b/lib/chunks/literal.rb index 35adabcd..da17c9b9 100644 --- a/lib/chunks/literal.rb +++ b/lib/chunks/literal.rb @@ -30,9 +30,9 @@ module Literal # A literal chunk that protects equations from wiki rendering. class Math < AbstractLiteral - MATH_START = '(\${1,2}|' + Regexp.escape('\[') + '|\\begin\{equation\})' - MATH_END = '(\${1,2}|' + Regexp.escape('\]') + '|\\end\{equation\})' - MATH_PATTERN = Regexp.new(MATH_START + '([^$]|\\\$)+?' + MATH_END, Regexp::MULTILINE) + MATH_START = "(?:\\\\\\[|\\${1,2}|\\\\begin\\{equation\\})" + MATH_END = "(?:\\\\\\]|\\${1,2}|\\\\end\\{equation\\})" + MATH_PATTERN = Regexp.new( '(' + MATH_START + "(?:\\\\\\$|(?!\\$|\\\\\\]|\\\\end\\{equation\\}).)+?" + MATH_END + ')', Regexp::MULTILINE) def self.pattern() MATH_PATTERN end end diff --git a/lib/chunks/wiki.rb b/lib/chunks/wiki.rb index 193183b8..1f76b8a6 100644 --- a/lib/chunks/wiki.rb +++ b/lib/chunks/wiki.rb @@ -34,7 +34,8 @@ module WikiChunk end def self.apply_to(content) - content.as_utf8.gsub!( self.pattern ) do |matched_text| + text = content.as_utf8.to_str + text.gsub!( self.pattern ) do |matched_text| chunk = self.new($~, content) if chunk.textile_url? # do not substitute @@ -44,6 +45,7 @@ module WikiChunk chunk.mask end end + content.replace text end def textile_url? diff --git a/lib/rdocsupport.rb b/lib/rdocsupport.rb index b518a651..5f53c2bf 100644 --- a/lib/rdocsupport.rb +++ b/lib/rdocsupport.rb @@ -39,7 +39,7 @@ class RDocMarkup < SM::SimpleMarkup end def convert(text, handler) - super.sub(/^

\n/, '').sub(/<\/p>$/, '') + super.sub(/^\n{0,1}

\n{0,1}/, '').sub(/\n{0,1}<\/p>\n{0,1}$/, '') end end diff --git a/lib/tasks/upgrade_instiki.rake b/lib/tasks/upgrade_instiki.rake index 35b66954..c77add8f 100644 --- a/lib/tasks/upgrade_instiki.rake +++ b/lib/tasks/upgrade_instiki.rake @@ -31,4 +31,4 @@ class InstikiUpgrade end end -end \ No newline at end of file +end diff --git a/lib/wiki_content.rb b/lib/wiki_content.rb index 2f538443..a757501a 100644 --- a/lib/wiki_content.rb +++ b/lib/wiki_content.rb @@ -208,7 +208,8 @@ class WikiContent < ActiveSupport::SafeBuffer @options[:engine].apply_to(self) as_utf8 # unmask in one go. $~[1] is the chunk id - gsub!(MASK_RE[ACTIVE_CHUNKS]) do + text = self.to_str + text.gsub!(MASK_RE[ACTIVE_CHUNKS]) do chunk = @chunks_by_id[$~[1].to_i] if chunk.nil? # if we match a chunkmask that existed in the original content string @@ -218,7 +219,7 @@ class WikiContent < ActiveSupport::SafeBuffer chunk.unmask_text end end - self.replace xhtml_sanitize(self) + self.replace xhtml_sanitize(text) self.html_safe end diff --git a/rakefile.rb b/rakefile.rb index cffd19f0..b0fe9317 100755 --- a/rakefile.rb +++ b/rakefile.rb @@ -1,10 +1,17 @@ # Add your own tasks in files placed in lib/tasks ending in .rake, # for example lib/tasks/switchtower.rake, and they will automatically be available to Rake. -require(File.join(File.dirname(__FILE__), 'config', 'boot')) +require File.join(File.dirname(__FILE__), 'config', 'boot') require 'rake' +class Rails::Application + include Rake::DSL if defined?(Rake::DSL) +end require 'rake/testtask' -require 'rake/rdoctask' +begin + require 'rdoc/task' +rescue LoadError + require 'rake/rdoctask' +end -require 'tasks/rails' \ No newline at end of file +require 'tasks/rails' diff --git a/test/functional/wiki_controller_test.rb b/test/functional/wiki_controller_test.rb index e1c5a050..3c8ab806 100644 --- a/test/functional/wiki_controller_test.rb +++ b/test/functional/wiki_controller_test.rb @@ -123,7 +123,7 @@ class WikiControllerTest < ActionController::TestCase r = process 'edit', 'web' => 'wiki1', 'id' => 'With : Special /> symbols' assert_response(:success) - xml = REXML::Document.new(r.body) + xml = REXML::Document.new(r.body.to_str) form = REXML::XPath.first(xml, '//form') assert_equal '/wiki1/save/With+%3A+Special+%2F%3E+symbols', form.attributes['action'] end diff --git a/test/unit/page_renderer_test.rb b/test/unit/page_renderer_test.rb index 60a48848..c17fd4cb 100644 --- a/test/unit/page_renderer_test.rb +++ b/test/unit/page_renderer_test.rb @@ -414,7 +414,7 @@ END_THM :author => Author.new('DavidHeinemeierHansson')) assert_equal "hello that Smart Engine GUI" + - "?\n\n", + "?", x_test_renderer(@revision).display_content end diff --git a/vendor/plugins/bundler/bin/bundle b/vendor/plugins/bundler/bin/bundle index d6bad547..3d7e4838 100755 --- a/vendor/plugins/bundler/bin/bundle +++ b/vendor/plugins/bundler/bin/bundle @@ -1,4 +1,4 @@ -#!/usr/bin/env ruby +#!/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby # # This file was generated by RubyGems. # @@ -7,8 +7,6 @@ # require 'rubygems' -Gem.use_paths File.join(File.dirname(File.dirname(__FILE__))), Gem.path -Gem.refresh version = ">= 0" diff --git a/vendor/plugins/bundler/cache/bundler-1.0.15.gem b/vendor/plugins/bundler/cache/bundler-1.0.15.gem new file mode 100644 index 0000000000000000000000000000000000000000..f64a9b2f68db8ce580ea49ddacc71a1ee62d7f09 GIT binary patch literal 164864 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%0A?0R(eaOL+hR* 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 ZAXpLQ=|Iq{>jQ{cw$i>b6{|ujHwW;b%&$|uo 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

u3c(erLiPu5 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 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler.html similarity index 80% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler.html index 29e77abd..1a14b739 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler.html @@ -83,6 +83,9 @@

  • lib/bundler/rubygems_ext.rb
  • +
  • lib/bundler/rubygems_integration.rb
  • +
  • lib/bundler/runtime.rb
  • @@ -189,6 +192,8 @@
  • CLASS Bundler::Resolver
  • +
  • CLASS Bundler::RubygemsIntegration
  • +
  • CLASS Bundler::Runtime
  • CLASS Bundler::Settings
  • @@ -286,6 +291,10 @@
  • bundle
  • +
  • bundle-benchmark
  • + +
  • bundle-benchmark.txt
  • +
  • bundle-config
  • bundle-config.txt
  • @@ -395,16 +404,28 @@
  • Bundler::Resolver::SpecGroup
  • +
  • Bundler::RubygemsIntegration
  • + +
  • Bundler::RubygemsIntegration::AlmostModern
  • + +
  • Bundler::RubygemsIntegration::Deprecate
  • + +
  • Bundler::RubygemsIntegration::Gem
  • + +
  • Bundler::RubygemsIntegration::Gem::SourceIndex
  • + +
  • Bundler::RubygemsIntegration::Legacy
  • + +
  • Bundler::RubygemsIntegration::Modern
  • + +
  • Bundler::RubygemsIntegration::Transitional
  • +
  • Bundler::Runtime
  • Bundler::Settings
  • Bundler::SharedHelpers
  • -
  • Bundler::SharedHelpers::Gem
  • - -
  • Bundler::SharedHelpers::Gem::SourceIndex
  • -
  • Bundler::Source
  • Bundler::Source::Git
  • @@ -536,6 +557,21 @@ versions of bundler and we are unsure how to handle this better.

    Attributes

    +
    + + +
    + rubygems[R] +
    + +
    + + + +
    +
    +
    @@ -599,10 +635,10 @@ versions of bundler and we are unsure how to handle this better.
    -     # File lib/bundler.rb, line 166
    -166:     def app_cache
    -167:       root.join("vendor/cache")
    -168:     end
    + # File lib/bundler.rb, line 174 +174: def app_cache +175: root.join("vendor/cache") +176: end
    @@ -633,12 +669,12 @@ versions of bundler and we are unsure how to handle this better.
    -     # File lib/bundler.rb, line 160
    -160:     def app_config_path
    -161:       ENV['BUNDLE_APP_CONFIG'] ?
    -162:         Pathname.new(ENV['BUNDLE_APP_CONFIG']).expand_path(root) :
    -163:         root.join('.bundle')
    -164:     end
    + # File lib/bundler.rb, line 168 +168: def app_config_path +169: ENV['BUNDLE_APP_CONFIG'] ? +170: Pathname.new(ENV['BUNDLE_APP_CONFIG']).expand_path(root) : +171: root.join('.bundle') +172: end
    @@ -669,15 +705,15 @@ versions of bundler and we are unsure how to handle this better.
    -    # File lib/bundler.rb, line 86
    -86:     def bin_path
    -87:       @bin_path ||= begin
    -88:         path = settings[:bin] || "bin"
    -89:         path = Pathname.new(path).expand_path(root)
    -90:         FileUtils.mkdir_p(path)
    -91:         Pathname.new(path).expand_path
    -92:       end
    -93:     end
    + # File lib/bundler.rb, line 92 +92: def bin_path +93: @bin_path ||= begin +94: path = settings[:bin] || "bin" +95: path = Pathname.new(path).expand_path(root) +96: FileUtils.mkdir_p(path) +97: Pathname.new(path).expand_path +98: end +99: end
    @@ -708,11 +744,10 @@ versions of bundler and we are unsure how to handle this better.
    -    # File lib/bundler.rb, line 81
    -81:     def bundle_path
    -82:       # STDERR.puts settings.path
    -83:       @bundle_path ||= Pathname.new(settings.path).expand_path(root)
    -84:     end
    + # File lib/bundler.rb, line 88 +88: def bundle_path +89: @bundle_path ||= Pathname.new(settings.path).expand_path(root) +90: end
    @@ -743,10 +778,10 @@ versions of bundler and we are unsure how to handle this better.
    -     # File lib/bundler.rb, line 152
    -152:     def cache
    -153:       bundle_path.join("cache/bundler")
    -154:     end
    + # File lib/bundler.rb, line 160 +160: def cache +161: bundle_path.join("cache/bundler") +162: end
    @@ -777,13 +812,13 @@ versions of bundler and we are unsure how to handle this better.
    -    # File lib/bundler.rb, line 70
    -70:     def configure
    -71:       @configured ||= begin
    -72:         configure_gem_home_and_path
    -73:         true
    -74:       end
    -75:     end
    + # File lib/bundler.rb, line 77 +77: def configure +78: @configured ||= begin +79: configure_gem_home_and_path +80: true +81: end +82: end
    @@ -814,10 +849,10 @@ versions of bundler and we are unsure how to handle this better.
    -     # File lib/bundler.rb, line 186
    -186:     def default_gemfile
    -187:       SharedHelpers.default_gemfile
    -188:     end
    + # File lib/bundler.rb, line 194 +194: def default_gemfile +195: SharedHelpers.default_gemfile +196: end
    @@ -848,10 +883,10 @@ versions of bundler and we are unsure how to handle this better.
    -     # File lib/bundler.rb, line 190
    -190:     def default_lockfile
    -191:       SharedHelpers.default_lockfile
    -192:     end
    + # File lib/bundler.rb, line 198 +198: def default_lockfile +199: SharedHelpers.default_lockfile +200: end
    @@ -882,15 +917,15 @@ versions of bundler and we are unsure how to handle this better.
    -     # File lib/bundler.rb, line 123
    -123:     def definition(unlock = nil)
    -124:       @definition = nil if unlock
    -125:       @definition ||= begin
    -126:         configure
    -127:         upgrade_lockfile
    -128:         Definition.build(default_gemfile, default_lockfile, unlock)
    -129:       end
    -130:     end
    + # File lib/bundler.rb, line 131 +131: def definition(unlock = nil) +132: @definition = nil if unlock +133: @definition ||= begin +134: configure +135: upgrade_lockfile +136: Definition.build(default_gemfile, default_lockfile, unlock) +137: end +138: end
    @@ -921,10 +956,10 @@ versions of bundler and we are unsure how to handle this better.
    -     # File lib/bundler.rb, line 119
    -119:     def environment
    -120:       Bundler::Environment.new(root, definition)
    -121:     end
    + # File lib/bundler.rb, line 127 +127: def environment +128: Bundler::Environment.new(root, definition) +129: end
    @@ -955,10 +990,10 @@ versions of bundler and we are unsure how to handle this better.
    -     # File lib/bundler.rb, line 140
    -140:     def home
    -141:       bundle_path.join("bundler")
    -142:     end
    + # File lib/bundler.rb, line 148 +148: def home +149: bundle_path.join("bundler") +150: end
    @@ -989,10 +1024,10 @@ versions of bundler and we are unsure how to handle this better.
    -     # File lib/bundler.rb, line 144
    -144:     def install_path
    -145:       home.join("gems")
    -146:     end
    + # File lib/bundler.rb, line 152 +152: def install_path +153: home.join("gems") +154: end
    @@ -1023,10 +1058,10 @@ versions of bundler and we are unsure how to handle this better.
    -     # File lib/bundler.rb, line 115
    -115:     def load
    -116:       @load ||= Runtime.new(root, definition)
    -117:     end
    + # File lib/bundler.rb, line 123 +123: def load +124: @load ||= Runtime.new(root, definition) +125: end
    @@ -1057,32 +1092,33 @@ versions of bundler and we are unsure how to handle this better.
    -     # File lib/bundler.rb, line 221
    -221:     def load_gemspec(file)
    -222:       path = Pathname.new(file)
    -223:       # Eval the gemspec from its parent directory
    -224:       Dir.chdir(path.dirname) do
    -225:         begin
    -226:           Gem::Specification.from_yaml(path.basename)
    -227:           # Raises ArgumentError if the file is not valid YAML
    -228:         rescue ArgumentError, SyntaxError, Gem::EndOfYAMLException, Gem::Exception
    -229:           begin
    -230:             eval(File.read(path.basename), TOPLEVEL_BINDING, path.expand_path.to_s)
    -231:           rescue LoadError => e
    -232:             original_line = e.backtrace.find { |line| line.include?(path.to_s) }
    -233:             msg  = "There was a LoadError while evaluating #{path.basename}:\n  #{e.message}"
    -234:             msg << " from\n  #{original_line}" if original_line
    -235:             msg << "\n"
    -236: 
    -237:             if RUBY_VERSION >= "1.9.0"
    -238:               msg << "\nDoes it try to require a relative path? That doesn't work in Ruby 1.9."
    -239:             end
    -240: 
    -241:             raise GemspecError, msg
    -242:           end
    -243:         end
    -244:       end
    -245:     end
    + # File lib/bundler.rb, line 229 +229: def load_gemspec(file) +230: path = Pathname.new(file) +231: # Eval the gemspec from its parent directory +232: Dir.chdir(path.dirname.to_s) do +233: contents = File.read(path.basename.to_s) +234: begin +235: Gem::Specification.from_yaml(contents) +236: # Raises ArgumentError if the file is not valid YAML +237: rescue ArgumentError, SyntaxError, Gem::EndOfYAMLException, Gem::Exception +238: begin +239: eval(contents, TOPLEVEL_BINDING, path.expand_path.to_s) +240: rescue LoadError => e +241: original_line = e.backtrace.find { |line| line.include?(path.to_s) } +242: msg = "There was a LoadError while evaluating #{path.basename}:\n #{e.message}" +243: msg << " from\n #{original_line}" if original_line +244: msg << "\n" +245: +246: if RUBY_VERSION >= "1.9.0" +247: msg << "\nDoes it try to require a relative path? That doesn't work in Ruby 1.9." +248: end +249: +250: raise GemspecError, msg +251: end +252: end +253: end +254: end
    @@ -1113,14 +1149,14 @@ versions of bundler and we are unsure how to handle this better.
    -     # File lib/bundler.rb, line 205
    -205:     def mkdir_p(path)
    -206:       if requires_sudo?
    -207:         sudo "mkdir -p '#{path}'" unless File.exist?(path)
    -208:       else
    -209:         FileUtils.mkdir_p(path)
    -210:       end
    -211:     end
    + # File lib/bundler.rb, line 213 +213: def mkdir_p(path) +214: if requires_sudo? +215: sudo "mkdir -p '#{path}'" unless File.exist?(path) +216: else +217: FileUtils.mkdir_p(path) +218: end +219: end
    @@ -1151,10 +1187,10 @@ versions of bundler and we are unsure how to handle this better.
    -     # File lib/bundler.rb, line 217
    -217:     def read_file(file)
    -218:       File.open(file, "rb") { |f| f.read }
    -219:     end
    + # File lib/bundler.rb, line 225 +225: def read_file(file) +226: File.open(file, "rb") { |f| f.read } +227: end
    @@ -1185,10 +1221,10 @@ versions of bundler and we are unsure how to handle this better.
    -     # File lib/bundler.rb, line 111
    -111:     def require(*groups)
    -112:       setup(*groups).require(*groups)
    -113:     end
    + # File lib/bundler.rb, line 119 +119: def require(*groups) +120: setup(*groups).require(*groups) +121: end
    @@ -1219,17 +1255,17 @@ versions of bundler and we are unsure how to handle this better.
    -     # File lib/bundler.rb, line 194
    -194:     def requires_sudo?
    -195:       return @requires_sudo if @checked_for_sudo
    -196: 
    -197:       path = bundle_path
    -198:       path = path.parent until path.exist?
    -199:       sudo_present = !(`which sudo` rescue '').empty?
    -200: 
    -201:       @checked_for_sudo = true
    -202:       @requires_sudo = settings.allow_sudo? && !File.writable?(path) && sudo_present
    -203:     end
    + # File lib/bundler.rb, line 202 +202: def requires_sudo? +203: return @requires_sudo if defined?(@checked_for_sudo) && @checked_for_sudo +204: +205: path = bundle_path +206: path = path.parent until path.exist? +207: sudo_present = !(`which sudo` rescue '').empty? +208: +209: @checked_for_sudo = true +210: @requires_sudo = settings.allow_sudo? && !File.writable?(path) && sudo_present +211: end
    @@ -1260,10 +1296,10 @@ versions of bundler and we are unsure how to handle this better.
    -     # File lib/bundler.rb, line 156
    -156:     def root
    -157:       default_gemfile.dirname.expand_path
    -158:     end
    + # File lib/bundler.rb, line 164 +164: def root +165: default_gemfile.dirname.expand_path +166: end
    @@ -1294,10 +1330,10 @@ versions of bundler and we are unsure how to handle this better.
    -     # File lib/bundler.rb, line 132
    -132:     def ruby_scope
    -133:       "#{Gem.ruby_engine}/#{Gem::ConfigMap[:ruby_version]}"
    -134:     end
    + # File lib/bundler.rb, line 140 +140: def ruby_scope +141: "#{Bundler.rubygems.ruby_engine}/#{Gem::ConfigMap[:ruby_version]}" +142: end
    @@ -1328,10 +1364,10 @@ versions of bundler and we are unsure how to handle this better.
    -     # File lib/bundler.rb, line 174
    -174:     def settings
    -175:       @settings ||= Settings.new(app_config_path)
    -176:     end
    + # File lib/bundler.rb, line 182 +182: def settings +183: @settings ||= Settings.new(app_config_path) +184: end
    @@ -1362,22 +1398,24 @@ versions of bundler and we are unsure how to handle this better.
    -     # File lib/bundler.rb, line 95
    - 95:     def setup(*groups)
    - 96:       return @setup if defined?(@setup) && @setup
    - 97: 
    - 98:       if groups.empty?
    - 99:         # Load all groups, but only once
    -100:         @setup = load.setup
    -101:       else
    -102:         # Figure out which groups haven't been loaded yet
    -103:         unloaded = groups - (@completed_groups || [])
    -104:         # Record groups that are now loaded
    -105:         @completed_groups = groups | (@completed_groups || [])
    -106:         # Load any groups that are not yet loaded
    -107:         unloaded.any? ? load.setup(*unloaded) : load
    -108:       end
    -109:     end
    + # File lib/bundler.rb, line 101 +101: def setup(*groups) +102: # Just return if all groups are already loaded +103: return @setup if defined?(@setup) +104: +105: if groups.empty? +106: # Load all groups, but only once +107: @setup = load.setup +108: else +109: @completed_groups ||= [] +110: # Figure out which groups haven't been loaded yet +111: unloaded = groups - @completed_groups +112: # Record groups that are now loaded +113: @completed_groups = groups +114: # Load any groups that are not yet loaded +115: unloaded.any? ? load.setup(*unloaded) : load +116: end +117: end
    @@ -1408,10 +1446,10 @@ versions of bundler and we are unsure how to handle this better.
    -     # File lib/bundler.rb, line 148
    -148:     def specs_path
    -149:       bundle_path.join("specifications")
    -150:     end
    + # File lib/bundler.rb, line 156 +156: def specs_path +157: bundle_path.join("specifications") +158: end
    @@ -1442,10 +1480,10 @@ versions of bundler and we are unsure how to handle this better.
    -     # File lib/bundler.rb, line 213
    -213:     def sudo(str)
    -214:       `sudo -p 'Enter your password to install the bundled RubyGems to your system: ' #{str}`
    -215:     end
    + # File lib/bundler.rb, line 221 +221: def sudo(str) +222: `sudo -p 'Enter your password to install the bundled RubyGems to your system: ' #{str}` +223: end
    @@ -1476,10 +1514,10 @@ versions of bundler and we are unsure how to handle this better.
    -     # File lib/bundler.rb, line 170
    -170:     def tmp
    -171:       user_bundle_path.join("tmp", Process.pid.to_s)
    -172:     end
    + # File lib/bundler.rb, line 178 +178: def tmp +179: user_bundle_path.join("tmp", Process.pid.to_s) +180: end
    @@ -1510,10 +1548,10 @@ versions of bundler and we are unsure how to handle this better.
    -    # File lib/bundler.rb, line 77
    -77:     def ui
    -78:       @ui ||= UI.new
    -79:     end
    + # File lib/bundler.rb, line 84 +84: def ui +85: @ui ||= UI.new +86: end
    @@ -1544,10 +1582,10 @@ versions of bundler and we are unsure how to handle this better.
    -     # File lib/bundler.rb, line 136
    -136:     def user_bundle_path
    -137:       Pathname.new(Gem.user_home).join(".bundler")
    -138:     end
    + # File lib/bundler.rb, line 144 +144: def user_bundle_path +145: Pathname.new(Bundler.rubygems.user_home).join(".bundler") +146: end
    @@ -1578,14 +1616,14 @@ versions of bundler and we are unsure how to handle this better.
    -     # File lib/bundler.rb, line 178
    -178:     def with_clean_env
    -179:       bundled_env = ENV.to_hash
    -180:       ENV.replace(ORIGINAL_ENV)
    -181:       yield
    -182:     ensure
    -183:       ENV.replace(bundled_env.to_hash)
    -184:     end
    + # File lib/bundler.rb, line 186 +186: def with_clean_env +187: bundled_env = ENV.to_hash +188: ENV.replace(ORIGINAL_ENV) +189: yield +190: ensure +191: ENV.replace(bundled_env.to_hash) +192: end
    @@ -1622,20 +1660,23 @@ versions of bundler and we are unsure how to handle this better.
    -     # File lib/bundler.rb, line 249
    -249:     def configure_gem_home_and_path
    -250:       if settings[:disable_shared_gems]
    -251:         ENV['GEM_PATH'] = ''
    -252:         ENV['GEM_HOME'] = File.expand_path(bundle_path, root)
    -253:       elsif Gem.dir != bundle_path.to_s
    -254:         paths = [Gem.dir, Gem.path].flatten.compact.uniq.reject{|p| p.empty? }
    -255:         ENV["GEM_PATH"] = paths.join(File::PATH_SEPARATOR)
    -256:         ENV["GEM_HOME"] = bundle_path.to_s
    -257:       end
    -258: 
    -259:       FileUtils.mkdir_p bundle_path.to_s
    -260:       Gem.clear_paths
    -261:     end
    + # File lib/bundler.rb, line 258 +258: def configure_gem_home_and_path +259: if settings[:disable_shared_gems] +260: ENV['GEM_PATH'] = '' +261: ENV['GEM_HOME'] = File.expand_path(bundle_path, root) +262: elsif Bundler.rubygems.gem_dir != bundle_path.to_s +263: possibles = [Bundler.rubygems.gem_dir, Bundler.rubygems.gem_path] +264: paths = possibles.flatten.compact.uniq.reject { |p| p.empty? } +265: ENV["GEM_PATH"] = paths.join(File::PATH_SEPARATOR) +266: ENV["GEM_HOME"] = bundle_path.to_s +267: end +268: +269: # TODO: This mkdir_p is only needed for JRuby <= 1.5 and should go away (GH #602) +270: FileUtils.mkdir_p bundle_path.to_s rescue nil +271: +272: Bundler.rubygems.clear_paths +273: end
    @@ -1666,14 +1707,14 @@ versions of bundler and we are unsure how to handle this better.
    -     # File lib/bundler.rb, line 263
    -263:     def upgrade_lockfile
    -264:       lockfile = default_lockfile
    -265:       if lockfile.exist? && lockfile.read(3) == "---"
    -266:         Bundler.ui.warn "Detected Gemfile.lock generated by 0.9, deleting..."
    -267:         lockfile.rmtree
    -268:       end
    -269:     end
    + # File lib/bundler.rb, line 275 +275: def upgrade_lockfile +276: lockfile = default_lockfile +277: if lockfile.exist? && lockfile.read(3) == "---" +278: Bundler.ui.warn "Detected Gemfile.lock generated by 0.9, deleting..." +279: lockfile.rmtree +280: end +281: end
    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/BundlerError.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/BundlerError.html similarity index 89% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/BundlerError.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/BundlerError.html index 048980e0..e0d72d02 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/BundlerError.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/BundlerError.html @@ -88,6 +88,10 @@
  • bundle
  • +
  • bundle-benchmark
  • + +
  • bundle-benchmark.txt
  • +
  • bundle-config
  • bundle-config.txt
  • @@ -197,16 +201,28 @@
  • Bundler::Resolver::SpecGroup
  • +
  • Bundler::RubygemsIntegration
  • + +
  • Bundler::RubygemsIntegration::AlmostModern
  • + +
  • Bundler::RubygemsIntegration::Deprecate
  • + +
  • Bundler::RubygemsIntegration::Gem
  • + +
  • Bundler::RubygemsIntegration::Gem::SourceIndex
  • + +
  • Bundler::RubygemsIntegration::Legacy
  • + +
  • Bundler::RubygemsIntegration::Modern
  • + +
  • Bundler::RubygemsIntegration::Transitional
  • +
  • Bundler::Runtime
  • Bundler::Settings
  • Bundler::SharedHelpers
  • -
  • Bundler::SharedHelpers::Gem
  • - -
  • Bundler::SharedHelpers::Gem::SourceIndex
  • -
  • Bundler::Source
  • Bundler::Source::Git
  • @@ -326,10 +342,10 @@
    -    # File lib/bundler.rb, line 32
    -32:     def self.status_code(code = nil)
    -33:       define_method(:status_code) { code }
    -34:     end
    + # File lib/bundler.rb, line 39 +39: def self.status_code(code = nil) +40: define_method(:status_code) { code } +41: end
    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/CLI.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/CLI.html similarity index 72% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/CLI.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/CLI.html index 464ea28c..13acf6bd 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/CLI.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/CLI.html @@ -139,6 +139,10 @@
  • bundle
  • +
  • bundle-benchmark
  • + +
  • bundle-benchmark.txt
  • +
  • bundle-config
  • bundle-config.txt
  • @@ -248,16 +252,28 @@
  • Bundler::Resolver::SpecGroup
  • +
  • Bundler::RubygemsIntegration
  • + +
  • Bundler::RubygemsIntegration::AlmostModern
  • + +
  • Bundler::RubygemsIntegration::Deprecate
  • + +
  • Bundler::RubygemsIntegration::Gem
  • + +
  • Bundler::RubygemsIntegration::Gem::SourceIndex
  • + +
  • Bundler::RubygemsIntegration::Legacy
  • + +
  • Bundler::RubygemsIntegration::Modern
  • + +
  • Bundler::RubygemsIntegration::Transitional
  • +
  • Bundler::Runtime
  • Bundler::Settings
  • Bundler::SharedHelpers
  • -
  • Bundler::SharedHelpers::Gem
  • - -
  • Bundler::SharedHelpers::Gem::SourceIndex
  • -
  • Bundler::Source
  • Bundler::Source::Git
  • @@ -377,14 +393,14 @@
    -    # File lib/bundler/cli.rb, line 13
    -13:     def initialize(*)
    -14:       super
    -15:       the_shell = (options["no-color"] ? Thor::Shell::Basic.new : shell)
    -16:       Bundler.ui = UI::Shell.new(the_shell)
    -17:       Bundler.ui.debug! if options["verbose"]
    -18:       Gem::DefaultUserInteraction.ui = UI::RGProxy.new(Bundler.ui)
    -19:     end
    + # File lib/bundler/cli.rb, line 11 +11: def initialize(*) +12: super +13: the_shell = (options["no-color"] ? Thor::Shell::Basic.new : shell) +14: Bundler.ui = UI::Shell.new(the_shell) +15: Bundler.ui.debug! if options["verbose"] +16: Bundler.rubygems.ui = UI::RGProxy.new(Bundler.ui) +17: end
    @@ -415,10 +431,10 @@
    -     # File lib/bundler/cli.rb, line 499
    -499:     def self.source_root
    -500:       File.expand_path(File.join(File.dirname(__FILE__), 'templates'))
    -501:     end
    + # File lib/bundler/cli.rb, line 501 +501: def self.source_root +502: File.expand_path(File.join(File.dirname(__FILE__), 'templates')) +503: end
    @@ -455,17 +471,17 @@
    -     # File lib/bundler/cli.rb, line 308
    -308:     def cache
    -309:       Bundler.definition.resolve_with_cache!
    -310:       Bundler.load.cache
    -311:       Bundler.settings[:no_prune] = true if options[:no_prune]
    -312:       Bundler.load.lock
    -313:     rescue GemNotFound => e
    -314:       Bundler.ui.error(e.message)
    -315:       Bundler.ui.warn "Run `bundle install` to install missing gems."
    -316:       exit 128
    -317:     end
    + # File lib/bundler/cli.rb, line 307 +307: def cache +308: Bundler.definition.resolve_with_cache! +309: Bundler.load.cache +310: Bundler.settings[:no_prune] = true if options["no-prune"] +311: Bundler.load.lock +312: rescue GemNotFound => e +313: Bundler.ui.error(e.message) +314: Bundler.ui.warn "Run `bundle install` to install missing gems." +315: exit 128 +316: end
    @@ -496,27 +512,27 @@
    -     # File lib/bundler/cli.rb, line 99
    - 99:     def check
    -100:       ENV['BUNDLE_GEMFILE'] = File.expand_path(options[:gemfile]) if options[:gemfile]
    -101:       begin
    -102:         not_installed = Bundler.definition.missing_specs
    -103:       rescue GemNotFound, VersionConflict
    -104:         Bundler.ui.error "Your Gemfile's dependencies could not be satisfied"
    -105:         Bundler.ui.warn  "Install missing gems with `bundle install`"
    -106:         exit 1
    -107:       end
    -108: 
    -109:       if not_installed.any?
    -110:         Bundler.ui.error "The following gems are missing"
    -111:         not_installed.each { |s| Bundler.ui.error " * #{s.name} (#{s.version})" }
    -112:         Bundler.ui.warn "Install missing gems with `bundle install`"
    -113:         exit 1
    -114:       else
    -115:         Bundler.load.lock
    -116:         Bundler.ui.info "The Gemfile's dependencies are satisfied"
    -117:       end
    -118:     end
    + # File lib/bundler/cli.rb, line 97 + 97: def check + 98: ENV['BUNDLE_GEMFILE'] = File.expand_path(options[:gemfile]) if options[:gemfile] + 99: begin +100: not_installed = Bundler.definition.missing_specs +101: rescue GemNotFound, VersionConflict +102: Bundler.ui.error "Your Gemfile's dependencies could not be satisfied" +103: Bundler.ui.warn "Install missing gems with `bundle install`" +104: exit 1 +105: end +106: +107: if not_installed.any? +108: Bundler.ui.error "The following gems are missing" +109: not_installed.each { |s| Bundler.ui.error " * #{s.name} (#{s.version})" } +110: Bundler.ui.warn "Install missing gems with `bundle install`" +111: exit 1 +112: else +113: Bundler.load.lock +114: Bundler.ui.info "The Gemfile's dependencies are satisfied" +115: end +116: end
    @@ -547,50 +563,50 @@
    -     # File lib/bundler/cli.rb, line 370
    -370:     def config(name = nil, *args)
    -371:       values = ARGV.dup
    -372:       values.shift # remove config
    -373:       values.shift # remove the name
    -374: 
    -375:       unless name
    -376:         Bundler.ui.confirm "Settings are listed in order of priority. The top value will be used.\n"
    -377: 
    -378:         Bundler.settings.all.each do |setting|
    -379:           Bundler.ui.confirm "#{setting}"
    -380:           with_padding do
    -381:             Bundler.settings.pretty_values_for(setting).each do |line|
    -382:               Bundler.ui.info line
    -383:             end
    -384:           end
    -385:           Bundler.ui.confirm ""
    -386:         end
    -387:         return
    -388:       end
    -389: 
    -390:       if values.empty?
    -391:         Bundler.ui.confirm "Settings for `#{name}` in order of priority. The top value will be used"
    -392:         with_padding do
    -393:           Bundler.settings.pretty_values_for(name).each { |line| Bundler.ui.info line }
    -394:         end
    -395:       else
    -396:         locations = Bundler.settings.locations(name)
    -397: 
    -398:         if local = locations[:local]
    -399:           Bundler.ui.info "Your application has set #{name} to #{local.inspect}. This will override the "              "system value you are currently setting"
    -400:         end
    -401: 
    -402:         if global = locations[:global]
    -403:           Bundler.ui.info "You are replacing the current system value of #{name}, which is currently #{global}"
    -404:         end
    -405: 
    -406:         if env = locations[:env]
    -407:           Bundler.ui.info "You have set a bundler environment variable for #{env}. This will take precedence "              "over the system value you are setting"
    -408:         end
    -409: 
    -410:         Bundler.settings.set_global(name, values.join(" "))
    -411:       end
    -412:     end
    + # File lib/bundler/cli.rb, line 369 +369: def config(name = nil, *args) +370: values = ARGV.dup +371: values.shift # remove config +372: values.shift # remove the name +373: +374: unless name +375: Bundler.ui.confirm "Settings are listed in order of priority. The top value will be used.\n" +376: +377: Bundler.settings.all.each do |setting| +378: Bundler.ui.confirm "#{setting}" +379: with_padding do +380: Bundler.settings.pretty_values_for(setting).each do |line| +381: Bundler.ui.info line +382: end +383: end +384: Bundler.ui.confirm "" +385: end +386: return +387: end +388: +389: if values.empty? +390: Bundler.ui.confirm "Settings for `#{name}` in order of priority. The top value will be used" +391: with_padding do +392: Bundler.settings.pretty_values_for(name).each { |line| Bundler.ui.info line } +393: end +394: else +395: locations = Bundler.settings.locations(name) +396: +397: if local = locations[:local] +398: Bundler.ui.info "Your application has set #{name} to #{local.inspect}. This will override the " "system value you are currently setting" +399: end +400: +401: if global = locations[:global] +402: Bundler.ui.info "You are replacing the current system value of #{name}, which is currently #{global}" +403: end +404: +405: if env = locations[:env] +406: Bundler.ui.info "You have set a bundler environment variable for #{env}. This will take precedence " "over the system value you are setting" +407: end +408: +409: Bundler.settings.set_global(name, values.join(" ")) +410: end +411: end
    @@ -621,15 +637,14 @@
    -     # File lib/bundler/cli.rb, line 432
    -432:     def console(group = nil)
    -433:       require 'bundler/setup'
    -434:       group ? Bundler.require(:default, group) : Bundler.require
    -435:       ARGV.clear
    -436: 
    -437:       require 'irb'
    -438:       IRB.start
    -439:     end
    + # File lib/bundler/cli.rb, line 431 +431: def console(group = nil) +432: group ? Bundler.require(:default, *(group.split.map! {|g| g.to_sym })) : Bundler.require +433: ARGV.clear +434: +435: require 'irb' +436: IRB.start +437: end
    @@ -660,24 +675,24 @@
    -     # File lib/bundler/cli.rb, line 340
    -340:     def exec(*)
    -341:       ARGV.delete("exec")
    -342: 
    -343:       Bundler.setup
    -344: 
    -345:       begin
    -346:         # Run
    -347:         Kernel.exec(*ARGV)
    -348:       rescue Errno::EACCES
    -349:         Bundler.ui.error "bundler: not executable: #{ARGV.first}"
    -350:         exit 126
    -351:       rescue Errno::ENOENT
    -352:         Bundler.ui.error "bundler: command not found: #{ARGV.first}"
    -353:         Bundler.ui.warn  "Install missing gem binaries with `bundle install`"
    -354:         exit 127
    -355:       end
    -356:     end
    + # File lib/bundler/cli.rb, line 339 +339: def exec(*) +340: ARGV.delete("exec") +341: +342: Bundler.setup +343: +344: begin +345: # Run +346: Kernel.exec(*ARGV) +347: rescue Errno::EACCES +348: Bundler.ui.error "bundler: not executable: #{ARGV.first}" +349: exit 126 +350: rescue Errno::ENOENT +351: Bundler.ui.error "bundler: command not found: #{ARGV.first}" +352: Bundler.ui.warn "Install missing gem binaries with `bundle install`" +353: exit 127 +354: end +355: end
    @@ -708,26 +723,30 @@
    -     # File lib/bundler/cli.rb, line 479
    -479:     def gem(name)
    -480:       target = File.join(Dir.pwd, name)
    -481:       constant_name = name.split('_').map{|p| p.capitalize}.join
    -482:       constant_name = constant_name.split('-').map{|q| q.capitalize}.join('::') if constant_name =~ /-/
    -483:       constant_array = constant_name.split('::')
    -484:       FileUtils.mkdir_p(File.join(target, 'lib', name))
    -485:       opts = {:name => name, :constant_name => constant_name, :constant_array => constant_array}
    -486:       template(File.join("newgem/Gemfile.tt"),               File.join(target, "Gemfile"),                opts)
    -487:       template(File.join("newgem/Rakefile.tt"),              File.join(target, "Rakefile"),               opts)
    -488:       template(File.join("newgem/gitignore.tt"),             File.join(target, ".gitignore"),             opts)
    -489:       template(File.join("newgem/newgem.gemspec.tt"),        File.join(target, "#{name}.gemspec"),        opts)
    -490:       template(File.join("newgem/lib/newgem.rb.tt"),         File.join(target, "lib/#{name}.rb"),         opts)
    -491:       template(File.join("newgem/lib/newgem/version.rb.tt"), File.join(target, "lib/#{name}/version.rb"), opts)
    -492:       if options[:bin]
    -493:         template(File.join("newgem/bin/newgem.tt"),          File.join(target, 'bin', name),              opts)
    -494:       end
    -495:       Bundler.ui.info "Initializating git repo in #{target}"
    -496:       Dir.chdir(target) { `git init`; `git add .` }
    -497:     end
    + # File lib/bundler/cli.rb, line 477 +477: def gem(name) +478: target = File.join(Dir.pwd, name) +479: constant_name = name.split('_').map{|p| p.capitalize}.join +480: constant_name = constant_name.split('-').map{|q| q.capitalize}.join('::') if constant_name =~ /-/ +481: constant_array = constant_name.split('::') +482: git_author_name = `git config user.name`.chomp +483: git_author_email = `git config user.email`.chomp +484: author_name = git_author_name.empty? ? "TODO: Write your name" : git_author_name +485: author_email = git_author_email.empty? ? "TODO: Write your email address" : git_author_email +486: FileUtils.mkdir_p(File.join(target, 'lib', name)) +487: opts = {:name => name, :constant_name => constant_name, :constant_array => constant_array, :author_name => author_name, :author_email => author_email} +488: template(File.join("newgem/Gemfile.tt"), File.join(target, "Gemfile"), opts) +489: template(File.join("newgem/Rakefile.tt"), File.join(target, "Rakefile"), opts) +490: template(File.join("newgem/gitignore.tt"), File.join(target, ".gitignore"), opts) +491: template(File.join("newgem/newgem.gemspec.tt"), File.join(target, "#{name}.gemspec"), opts) +492: template(File.join("newgem/lib/newgem.rb.tt"), File.join(target, "lib/#{name}.rb"), opts) +493: template(File.join("newgem/lib/newgem/version.rb.tt"), File.join(target, "lib/#{name}/version.rb"), opts) +494: if options[:bin] +495: template(File.join("newgem/bin/newgem.tt"), File.join(target, 'bin', name), opts) +496: end +497: Bundler.ui.info "Initializating git repo in #{target}" +498: Dir.chdir(target) { `git init`; `git add .` } +499: end
    @@ -758,38 +777,38 @@
    -    # File lib/bundler/cli.rb, line 27
    -27:     def help(cli = nil)
    -28:       case cli
    -29:       when "gemfile" then command = "gemfile.5"
    -30:       when nil       then command = "bundle"
    -31:       else command = "bundle-#{cli}"
    -32:       end
    -33: 
    -34:       manpages = %(
    -35:           bundle
    -36:           bundle-config
    -37:           bundle-exec
    -38:           bundle-install
    -39:           bundle-package
    -40:           bundle-update
    -41:           gemfile.5)
    -42: 
    -43:       if manpages.include?(command)
    -44:         root = File.expand_path("../man", __FILE__)
    -45: 
    -46:         if have_groff? && root !~ %{^file:/.+!/META-INF/jruby.home/.+}
    -47:           groff   = "groff -Wall -mtty-char -mandoc -Tascii"
    -48:           pager   = ENV['MANPAGER'] || ENV['PAGER'] || 'more'
    -49: 
    -50:           Kernel.exec "#{groff} #{root}/#{command} | #{pager}"
    -51:         else
    -52:           puts File.read("#{root}/#{command}.txt")
    -53:         end
    -54:       else
    -55:         super
    -56:       end
    -57:     end
    + # File lib/bundler/cli.rb, line 25 +25: def help(cli = nil) +26: case cli +27: when "gemfile" then command = "gemfile.5" +28: when nil then command = "bundle" +29: else command = "bundle-#{cli}" +30: end +31: +32: manpages = %( +33: bundle +34: bundle-config +35: bundle-exec +36: bundle-install +37: bundle-package +38: bundle-update +39: gemfile.5) +40: +41: if manpages.include?(command) +42: root = File.expand_path("../man", __FILE__) +43: +44: if have_groff? && root !~ %{^file:/.+!/META-INF/jruby.home/.+} +45: groff = "groff -Wall -mtty-char -mandoc -Tascii" +46: pager = ENV['MANPAGER'] || ENV['PAGER'] || 'less -R' +47: +48: Kernel.exec "#{groff} #{root}/#{command} | #{pager}" +49: else +50: puts File.read("#{root}/#{command}.txt") +51: end +52: else +53: super +54: end +55: end
    @@ -820,31 +839,31 @@
    -    # File lib/bundler/cli.rb, line 66
    -66:     def init
    -67:       opts = options.dup
    -68:       if File.exist?("Gemfile")
    -69:         Bundler.ui.error "Gemfile already exists at #{Dir.pwd}/Gemfile"
    -70:         exit 1
    -71:       end
    -72: 
    -73:       if opts[:gemspec]
    -74:         gemspec = File.expand_path(opts[:gemspec])
    -75:         unless File.exist?(gemspec)
    -76:           Bundler.ui.error "Gem specification #{gemspec} doesn't exist"
    -77:           exit 1
    -78:         end
    -79:         spec = Gem::Specification.load(gemspec)
    -80:         puts "Writing new Gemfile to #{Dir.pwd}/Gemfile"
    -81:         File.open('Gemfile', 'wb') do |file|
    -82:           file << "# Generated from #{gemspec}\n"
    -83:           file << spec.to_gemfile
    -84:         end
    -85:       else
    -86:         puts "Writing new Gemfile to #{Dir.pwd}/Gemfile"
    -87:         FileUtils.cp(File.expand_path('../templates/Gemfile', __FILE__), 'Gemfile')
    -88:       end
    -89:     end
    + # File lib/bundler/cli.rb, line 64 +64: def init +65: opts = options.dup +66: if File.exist?("Gemfile") +67: Bundler.ui.error "Gemfile already exists at #{Dir.pwd}/Gemfile" +68: exit 1 +69: end +70: +71: if opts[:gemspec] +72: gemspec = File.expand_path(opts[:gemspec]) +73: unless File.exist?(gemspec) +74: Bundler.ui.error "Gem specification #{gemspec} doesn't exist" +75: exit 1 +76: end +77: spec = Gem::Specification.load(gemspec) +78: puts "Writing new Gemfile to #{Dir.pwd}/Gemfile" +79: File.open('Gemfile', 'wb') do |file| +80: file << "# Generated from #{gemspec}\n" +81: file << spec.to_gemfile +82: end +83: else +84: puts "Writing new Gemfile to #{Dir.pwd}/Gemfile" +85: FileUtils.cp(File.expand_path('../templates/Gemfile', __FILE__), 'Gemfile') +86: end +87: end
    @@ -875,93 +894,94 @@
    -     # File lib/bundler/cli.rb, line 157
    -157:     def install(path = nil)
    -158:       opts = options.dup
    -159:       opts[:without] ||= []
    -160:       if opts[:without].size == 1
    -161:         opts[:without].map!{|g| g.split(" ") }
    -162:         opts[:without].flatten!
    -163:       end
    -164:       opts[:without].map!{|g| g.to_sym }
    +     # File lib/bundler/cli.rb, line 153
    +153:     def install(path = nil)
    +154:       opts = options.dup
    +155:       opts[:without] ||= []
    +156:       if opts[:without].size == 1
    +157:         opts[:without].map!{|g| g.split(" ") }
    +158:         opts[:without].flatten!
    +159:       end
    +160:       opts[:without].map!{|g| g.to_sym }
    +161: 
    +162:       # Can't use Bundler.settings for this because settings needs gemfile.dirname
    +163:       ENV['BUNDLE_GEMFILE'] = File.expand_path(opts[:gemfile]) if opts[:gemfile]
    +164:       ENV['RB_USER_INSTALL'] = '1' if Bundler::FREEBSD
     165: 
    -166:       ENV['BUNDLE_GEMFILE'] = File.expand_path(opts[:gemfile]) if opts[:gemfile]
    -167:       ENV['RB_USER_INSTALL'] = '1' if Bundler::FREEBSD
    +166:       # Just disable color in deployment mode
    +167:       Bundler.ui.shell = Thor::Shell::Basic.new if opts[:deployment]
     168: 
    -169:       # Just disable color in deployment mode
    -170:       Bundler.ui.shell = Thor::Shell::Basic.new if opts[:deployment]
    -171: 
    -172:       if opts[:production]
    -173:         opts[:deployment] = true
    -174:         Bundler.ui.warn "The --production option is deprecated, and will be removed in "                          "the final release of Bundler 1.0. Please use --deployment instead."
    -175:       end
    -176: 
    -177:       if (path || opts[:path] || opts[:deployment]) && opts[:system]
    -178:         Bundler.ui.error "You have specified both a path to install your gems to, \n"                           "as well as --system. Please choose."
    -179:         exit 1
    -180:       end
    -181: 
    -182:       if path && opts[:path]
    -183:         Bundler.ui.error "You have specified a path via `bundle install #{path}` as well as\n"                           "by `bundle install --path #{options[:path]}`. These options are\n"                           "equivalent, so please use one or the other."
    -184:         exit 1
    -185:       end
    -186: 
    -187:       if opts["disable-shared-gems"]
    -188:         Bundler.ui.error "The disable-shared-gem option is no longer available.\n\n"                           "Instead, use `bundle install` to install to your system,\n"                           "or `bundle install --path path/to/gems` to install to an isolated\n"                           "location. Bundler will resolve relative paths relative to\n"                           "your `Gemfile`."
    -189:         exit 1
    -190:       end
    -191: 
    -192:       if opts[:deployment] || opts[:frozen]
    -193:         unless Bundler.default_lockfile.exist?
    -194:           flag = opts[:deployment] ? '--deployment' : '--frozen'
    -195:           raise ProductionError, "The #{flag} flag requires a Gemfile.lock. Please make "                                   "sure you have checked your Gemfile.lock into version control "                                   "before deploying."
    -196:         end
    -197: 
    -198:         if Bundler.root.join("vendor/cache").exist?
    -199:           opts[:local] = true
    -200:         end
    -201: 
    -202:         Bundler.settings[:frozen] = '1'
    -203:       end
    -204: 
    -205:       # Can't use Bundler.settings for this because settings needs gemfile.dirname
    -206:       Bundler.settings[:path] = nil if opts[:system]
    -207:       Bundler.settings[:path] = "vendor/bundle" if opts[:deployment]
    -208:       Bundler.settings[:path] = path if path
    -209:       Bundler.settings[:path] = opts[:path] if opts[:path]
    -210:       Bundler.settings[:bin] = opts["binstubs"] if opts[:binstubs]
    -211:       Bundler.settings[:disable_shared_gems] = '1' if Bundler.settings[:path]
    -212:       Bundler.settings.without = opts[:without] unless opts[:without].empty?
    -213:       Bundler.ui.be_quiet! if opts[:quiet]
    -214: 
    -215:       Installer.install(Bundler.root, Bundler.definition, opts)
    -216:       Bundler.load.cache if Bundler.root.join("vendor/cache").exist?
    -217: 
    -218:       if Bundler.settings[:path]
    -219:         relative_path = Bundler.settings[:path]
    -220:         relative_path = "./" + relative_path unless relative_path[0] == //
    +169:       if (path || opts[:path] || opts[:deployment]) && opts[:system]
    +170:         Bundler.ui.error "You have specified both a path to install your gems to, \n"                           "as well as --system. Please choose."
    +171:         exit 1
    +172:       end
    +173: 
    +174:       if path && opts[:path]
    +175:         Bundler.ui.error "You have specified a path via `bundle install #{path}` as well as\n"                           "by `bundle install --path #{options[:path]}`. These options are\n"                           "equivalent, so please use one or the other."
    +176:         exit 1
    +177:       end
    +178: 
    +179:       if opts["disable-shared-gems"]
    +180:         Bundler.ui.error "The disable-shared-gem option is no longer available.\n\n"                           "Instead, use `bundle install` to install to your system,\n"                           "or `bundle install --path path/to/gems` to install to an isolated\n"                           "location. Bundler will resolve relative paths relative to\n"                           "your `Gemfile`."
    +181:         exit 1
    +182:       end
    +183: 
    +184:       if opts[:deployment] || opts[:frozen]
    +185:         unless Bundler.default_lockfile.exist?
    +186:           flag = opts[:deployment] ? '--deployment' : '--frozen'
    +187:           raise ProductionError, "The #{flag} flag requires a Gemfile.lock. Please make "                                   "sure you have checked your Gemfile.lock into version control "                                   "before deploying."
    +188:         end
    +189: 
    +190:         if Bundler.root.join("vendor/cache").exist?
    +191:           opts[:local] = true
    +192:         end
    +193: 
    +194:         Bundler.settings[:frozen] = '1'
    +195:       end
    +196: 
    +197:       # When install is called with --no-deployment, disable deployment mode
    +198:       if opts[:deployment] == false
    +199:         Bundler.settings.delete(:frozen)
    +200:         opts[:system] = true
    +201:       end
    +202: 
    +203:       Bundler.settings[:path] = nil if opts[:system]
    +204:       Bundler.settings[:path] = "vendor/bundle" if opts[:deployment]
    +205:       Bundler.settings[:path] = path if path
    +206:       Bundler.settings[:path] = opts[:path] if opts[:path]
    +207:       Bundler.settings[:bin] = opts["binstubs"] if opts[:binstubs]
    +208:       Bundler.settings[:no_prune] = true if opts["no-prune"]
    +209:       Bundler.settings[:disable_shared_gems] = Bundler.settings[:path] ? '1' : nil
    +210:       Bundler.settings.without = opts[:without] unless opts[:without].empty?
    +211:       Bundler.ui.be_quiet! if opts[:quiet]
    +212: 
    +213:       Installer.install(Bundler.root, Bundler.definition, opts)
    +214:       Bundler.load.cache if Bundler.root.join("vendor/cache").exist? && !options["no-cache"]
    +215: 
    +216:       if Bundler.settings[:path]
    +217:         relative_path = File.expand_path(Bundler.settings[:path]).sub(/^#{File.expand_path('.')}/, '.')
    +218:         Bundler.ui.confirm "Your bundle is complete! " +
    +219:           "It was installed into #{relative_path}"
    +220:       else
     221:         Bundler.ui.confirm "Your bundle is complete! " +
    -222:           "It was installed into #{relative_path}"
    -223:       else
    -224:         Bundler.ui.confirm "Your bundle is complete! " +
    -225:           "Use `bundle show [gemname]` to see where a bundled gem is installed."
    -226:       end
    -227: 
    -228:       if path
    -229:         Bundler.ui.warn "The path argument to `bundle install` is deprecated. " +
    -230:           "It will be removed in version 1.1. " +
    -231:           "Please use `bundle install --path #{path}` instead."
    -232:       end
    -233:     rescue GemNotFound => e
    -234:       if opts[:local]
    -235:         Bundler.ui.warn "Some gems seem to be missing from your vendor/cache directory."
    -236:       end
    -237: 
    -238:       if Bundler.definition.no_sources?
    -239:         Bundler.ui.warn "Your Gemfile doesn't have any sources. You can add one with a line like 'source :rubygems'"
    -240:       end
    -241:       raise e
    -242:     end
    +222: "Use `bundle show [gemname]` to see where a bundled gem is installed." +223: end +224: +225: if path +226: Bundler.ui.warn "The path argument to `bundle install` is deprecated. " + +227: "It will be removed in version 1.1. " + +228: "Please use `bundle install --path #{path}` instead." +229: end +230: rescue GemNotFound => e +231: if opts[:local] && Bundler.app_cache.exist? +232: Bundler.ui.warn "Some gems seem to be missing from your vendor/cache directory." +233: end +234: +235: if Bundler.definition.no_sources? +236: Bundler.ui.warn "Your Gemfile doesn't have any sources. You can add one with a line like 'source :rubygems'" +237: end +238: raise e +239: end
    @@ -992,10 +1012,10 @@
    -     # File lib/bundler/cli.rb, line 278
    -278:     def lock
    -279:       Bundler.ui.warn "Lock is deprecated. Your bundle is now locked whenever you run `bundle install`."
    -280:     end
    + # File lib/bundler/cli.rb, line 277 +277: def lock +278: Bundler.ui.warn "Lock is deprecated. Your bundle is now locked whenever you run `bundle install`." +279: end
    @@ -1026,20 +1046,20 @@
    -     # File lib/bundler/cli.rb, line 417
    -417:     def open(name)
    -418:       editor = [ENV['BUNDLER_EDITOR'], ENV['VISUAL'], ENV['EDITOR']].find{|e| !e.nil? && !e.empty? }
    -419:       if editor
    -420:         gem_path = locate_gem(name)
    -421:         Dir.chdir(gem_path) do
    -422:           command = "#{editor} #{gem_path}"
    -423:           success = system(command)
    -424:           Bundler.ui.info "Could not run '#{command}'" unless success
    -425:         end
    -426:       else
    -427:         Bundler.ui.info("To open a bundled gem, set $EDITOR or $BUNDLER_EDITOR")
    -428:       end
    -429:     end
    + # File lib/bundler/cli.rb, line 416 +416: def open(name) +417: editor = [ENV['BUNDLER_EDITOR'], ENV['VISUAL'], ENV['EDITOR']].find{|e| !e.nil? && !e.empty? } +418: if editor +419: gem_path = locate_gem(name) +420: Dir.chdir(gem_path) do +421: command = "#{editor} #{gem_path}" +422: success = system(command) +423: Bundler.ui.info "Could not run '#{command}'" unless success +424: end +425: else +426: Bundler.ui.info("To open a bundled gem, set $EDITOR or $BUNDLER_EDITOR") +427: end +428: end
    @@ -1070,12 +1090,12 @@
    -     # File lib/bundler/cli.rb, line 327
    -327:     def package
    -328:       install
    -329:       # TODO: move cache contents here now that all bundles are locked
    -330:       Bundler.load.cache
    -331:     end
    + # File lib/bundler/cli.rb, line 326 +326: def package +327: install +328: # TODO: move cache contents here now that all bundles are locked +329: Bundler.load.cache +330: end
    @@ -1106,19 +1126,19 @@
    -     # File lib/bundler/cli.rb, line 292
    -292:     def show(gem_name = nil)
    -293:       Bundler.load.lock
    -294: 
    -295:       if gem_name
    -296:         Bundler.ui.info locate_gem(gem_name)
    -297:       else
    -298:         Bundler.ui.info "Gems included by the bundle:"
    -299:         Bundler.load.specs.sort_by { |s| s.name }.each do |s|
    -300:           Bundler.ui.info "  * #{s.name} (#{s.version}#{s.git_version})"
    -301:         end
    -302:       end
    -303:     end
    + # File lib/bundler/cli.rb, line 291 +291: def show(gem_name = nil) +292: Bundler.load.lock +293: +294: if gem_name +295: Bundler.ui.info locate_gem(gem_name) +296: else +297: Bundler.ui.info "Gems included by the bundle:" +298: Bundler.load.specs.sort_by { |s| s.name }.each do |s| +299: Bundler.ui.info " * #{s.name} (#{s.version}#{s.git_version})" +300: end +301: end +302: end
    @@ -1149,10 +1169,10 @@
    -     # File lib/bundler/cli.rb, line 283
    -283:     def unlock
    -284:       Bundler.ui.warn "Unlock is deprecated. To update to newer gem versions, use `bundle update`."
    -285:     end
    + # File lib/bundler/cli.rb, line 282 +282: def unlock +283: Bundler.ui.warn "Unlock is deprecated. To update to newer gem versions, use `bundle update`." +284: end
    @@ -1183,22 +1203,23 @@
    -     # File lib/bundler/cli.rb, line 261
    -261:     def update(*gems)
    -262:       sources = Array(options[:source])
    -263: 
    -264:       if gems.empty? && sources.empty?
    -265:         # We're doing a full update
    -266:         Bundler.definition(true)
    -267:       else
    -268:         Bundler.definition(:gems => gems, :sources => sources)
    -269:       end
    -270: 
    -271:       Installer.install Bundler.root, Bundler.definition, "update" => true
    -272:       Bundler.load.cache if Bundler.root.join("vendor/cache").exist?
    -273:       Bundler.ui.confirm "Your bundle is updated! " +
    -274:         "Use `bundle show [gemname]` to see where a bundled gem is installed."
    -275:     end
    + # File lib/bundler/cli.rb, line 259 +259: def update(*gems) +260: sources = Array(options[:source]) +261: +262: if gems.empty? && sources.empty? +263: # We're doing a full update +264: Bundler.definition(true) +265: else +266: Bundler.definition(:gems => gems, :sources => sources) +267: end +268: +269: opts = {"update" => true, "local" => options[:local]} +270: Installer.install Bundler.root, Bundler.definition, opts +271: Bundler.load.cache if Bundler.root.join("vendor/cache").exist? +272: Bundler.ui.confirm "Your bundle is updated! " + +273: "Use `bundle show [gemname]` to see where a bundled gem is installed." +274: end
    @@ -1229,10 +1250,10 @@
    -     # File lib/bundler/cli.rb, line 442
    -442:     def version
    -443:       Bundler.ui.info "Bundler version #{Bundler::VERSION}"
    -444:     end
    + # File lib/bundler/cli.rb, line 440 +440: def version +441: Bundler.ui.info "Bundler version #{Bundler::VERSION}" +442: end
    @@ -1263,27 +1284,27 @@
    -     # File lib/bundler/cli.rb, line 456
    -456:     def viz
    -457:       output_file = File.expand_path(options[:file])
    -458:       graph = Graph.new( Bundler.load )
    -459: 
    -460:       begin
    -461:         graph.viz(output_file, options[:version], options[:requirements])
    -462:         Bundler.ui.info output_file
    -463:       rescue LoadError => e
    -464:         Bundler.ui.error e.inspect
    -465:         Bundler.ui.warn "Make sure you have the graphviz ruby gem. You can install it with:"
    -466:         Bundler.ui.warn "`gem install ruby-graphviz`"
    -467:       rescue StandardError => e
    -468:         if e.message =~ /GraphViz not installed or dot not in PATH/
    -469:           Bundler.ui.error e.message
    -470:           Bundler.ui.warn "The ruby graphviz gem requires GraphViz to be installed"
    -471:         else
    -472:           raise
    -473:         end
    -474:       end
    -475:     end
    + # File lib/bundler/cli.rb, line 454 +454: def viz +455: output_file = File.expand_path(options[:file]) +456: graph = Graph.new( Bundler.load ) +457: +458: begin +459: graph.viz(output_file, options[:version], options[:requirements]) +460: Bundler.ui.info output_file +461: rescue LoadError => e +462: Bundler.ui.error e.inspect +463: Bundler.ui.warn "Make sure you have the graphviz ruby gem. You can install it with:" +464: Bundler.ui.warn "`gem install ruby-graphviz`" +465: rescue StandardError => e +466: if e.message =~ /GraphViz not installed or dot not in PATH/ +467: Bundler.ui.error e.message +468: Bundler.ui.warn "The ruby graphviz gem requires GraphViz to be installed" +469: else +470: raise +471: end +472: end +473: end
    @@ -1320,10 +1341,10 @@
    -     # File lib/bundler/cli.rb, line 505
    -505:     def have_groff?
    -506:       !(`which groff` rescue '').empty?
    -507:     end
    + # File lib/bundler/cli.rb, line 507 +507: def have_groff? +508: !(`which groff` rescue '').empty? +509: end
    @@ -1354,15 +1375,15 @@
    -     # File lib/bundler/cli.rb, line 509
    -509:     def locate_gem(name)
    -510:       spec = Bundler.load.specs.find{|s| s.name == name }
    -511:       raise GemNotFound, "Could not find gem '#{name}' in the current bundle." unless spec
    -512:       if spec.name == 'bundler'
    -513:         return File.expand_path('../../../', __FILE__)
    -514:       end
    -515:       spec.full_gem_path
    -516:     end
    + # File lib/bundler/cli.rb, line 511 +511: def locate_gem(name) +512: spec = Bundler.load.specs.find{|s| s.name == name } +513: raise GemNotFound, "Could not find gem '#{name}' in the current bundle." unless spec +514: if spec.name == 'bundler' +515: return File.expand_path('../../../', __FILE__) +516: end +517: spec.full_gem_path +518: end
    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/Definition.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/Definition.html similarity index 87% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/Definition.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/Definition.html index 3ba98e5b..36de290c 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/Definition.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/Definition.html @@ -157,6 +157,10 @@
  • bundle
  • +
  • bundle-benchmark
  • + +
  • bundle-benchmark.txt
  • +
  • bundle-config
  • bundle-config.txt
  • @@ -266,16 +270,28 @@
  • Bundler::Resolver::SpecGroup
  • +
  • Bundler::RubygemsIntegration
  • + +
  • Bundler::RubygemsIntegration::AlmostModern
  • + +
  • Bundler::RubygemsIntegration::Deprecate
  • + +
  • Bundler::RubygemsIntegration::Gem
  • + +
  • Bundler::RubygemsIntegration::Gem::SourceIndex
  • + +
  • Bundler::RubygemsIntegration::Legacy
  • + +
  • Bundler::RubygemsIntegration::Modern
  • + +
  • Bundler::RubygemsIntegration::Transitional
  • +
  • Bundler::Runtime
  • Bundler::Settings
  • Bundler::SharedHelpers
  • -
  • Bundler::SharedHelpers::Gem
  • - -
  • Bundler::SharedHelpers::Gem::SourceIndex
  • -
  • Bundler::Source
  • Bundler::Source::Git
  • @@ -520,7 +536,7 @@ 61: @unlock[:gems] ||= [] 62: @unlock[:sources] ||= [] 63: -64: current_platform = Gem.platforms.map { |p| generic(p) }.compact.last +64: current_platform = Bundler.rubygems.platforms.map { |p| generic(p) }.compact.last 65: @new_platform = !@platforms.include?(current_platform) 66: @platforms |= [current_platform] 67: @@ -586,7 +602,7 @@
    ensure_equivalent_gemfile_and_lockfile() + class="method-args">(explicit_flag = false) click to toggle source
    @@ -601,60 +617,65 @@ id="ensure-equivalent-gemfile-and-lockfile-source">
          # File lib/bundler/definition.rb, line 238
    -238:     def ensure_equivalent_gemfile_and_lockfile
    +238:     def ensure_equivalent_gemfile_and_lockfile(explicit_flag = false)
     239:       changes = false
     240: 
    -241:       msg = "You have modified your Gemfile in development but did not check\n"              "the resulting snapshot (Gemfile.lock) into version control"
    +241:       msg = "You are trying to install in deployment mode after changing\n"              "your Gemfile. Run `bundle install` elsewhere and add the\n"              "updated Gemfile.lock to version control."
     242: 
    -243:       added =   []
    -244:       deleted = []
    -245:       changed = []
    +243:       unless explicit_flag
    +244:         msg += "\n\nIf this is a development machine, remove the Gemfile "                 "freeze \nby running `bundle install --no-deployment`."
    +245:       end
     246: 
    -247:       if @locked_sources != @sources
    -248:         new_sources = @sources - @locked_sources
    -249:         deleted_sources = @locked_sources - @sources
    +247:       added =   []
    +248:       deleted = []
    +249:       changed = []
     250: 
    -251:         if new_sources.any?
    -252:           added.concat new_sources.map { |source| "* source: #{source}" }
    -253:         end
    +251:       if @locked_sources != @sources
    +252:         new_sources = @sources - @locked_sources
    +253:         deleted_sources = @locked_sources - @sources
     254: 
    -255:         if deleted_sources.any?
    -256:           deleted.concat deleted_sources.map { |source| "* source: #{source}" }
    +255:         if new_sources.any?
    +256:           added.concat new_sources.map { |source| "* source: #{source}" }
     257:         end
     258: 
    -259:         changes = true
    -260:       end
    -261: 
    -262:       both_sources = Hash.new { |h,k| h[k] = ["no specified source", "no specified source"] }
    -263:       @dependencies.each { |d| both_sources[d.name][0] = d.source if d.source }
    -264:       @locked_deps.each  { |d| both_sources[d.name][1] = d.source if d.source }
    -265:       both_sources.delete_if { |k,v| v[0] == v[1] }
    -266: 
    -267:       if @dependencies != @locked_deps
    -268:         new_deps = @dependencies - @locked_deps
    -269:         deleted_deps = @locked_deps - @dependencies
    +259:         if deleted_sources.any?
    +260:           deleted.concat deleted_sources.map { |source| "* source: #{source}" }
    +261:         end
    +262: 
    +263:         changes = true
    +264:       end
    +265: 
    +266:       both_sources = Hash.new { |h,k| h[k] = ["no specified source", "no specified source"] }
    +267:       @dependencies.each { |d| both_sources[d.name][0] = d.source if d.source }
    +268:       @locked_deps.each  { |d| both_sources[d.name][1] = d.source if d.source }
    +269:       both_sources.delete_if { |k,v| v[0] == v[1] }
     270: 
    -271:         if new_deps.any?
    -272:           added.concat new_deps.map { |d| "* #{pretty_dep(d)}" }
    -273:         end
    +271:       if @dependencies != @locked_deps
    +272:         new_deps = @dependencies - @locked_deps
    +273:         deleted_deps = @locked_deps - @dependencies
     274: 
    -275:         if deleted_deps.any?
    -276:           deleted.concat deleted_deps.map { |d| "* #{pretty_dep(d)}" }
    +275:         if new_deps.any?
    +276:           added.concat new_deps.map { |d| "* #{pretty_dep(d)}" }
     277:         end
     278: 
    -279:         both_sources.each do |name, sources|
    -280:           changed << "* #{name} from `#{sources[0]}` to `#{sources[1]}`"
    +279:         if deleted_deps.any?
    +280:           deleted.concat deleted_deps.map { |d| "* #{pretty_dep(d)}" }
     281:         end
     282: 
    -283:         changes = true
    -284:       end
    -285: 
    -286:       msg << "\n\nYou have added to the Gemfile:\n"     << added.join("\n") if added.any?
    -287:       msg << "\n\nYou have deleted from the Gemfile:\n" << deleted.join("\n") if deleted.any?
    -288:       msg << "\n\nYou have changed in the Gemfile:\n"   << changed.join("\n") if changed.any?
    +283:         both_sources.each do |name, sources|
    +284:           changed << "* #{name} from `#{sources[0]}` to `#{sources[1]}`"
    +285:         end
    +286: 
    +287:         changes = true
    +288:       end
     289: 
    -290:       raise ProductionError, msg if added.any? || deleted.any? || changed.any?
    -291:     end
    +290: msg << "\n\nYou have added to the Gemfile:\n" << added.join("\n") if added.any? +291: msg << "\n\nYou have deleted from the Gemfile:\n" << deleted.join("\n") if deleted.any? +292: msg << "\n\nYou have changed in the Gemfile:\n" << changed.join("\n") if changed.any? +293: msg << "\n" +294: +295: raise ProductionError, msg if added.any? || deleted.any? || changed.any? +296: end @@ -1285,7 +1306,7 @@ 225: 226: handled = [] 227: dependencies. -228: sort_by { |d| d.name }. +228: sort_by { |d| d.to_s }. 229: each do |dep| 230: next if handled.include?(dep.name) 231: out << dep.to_lock @@ -1330,14 +1351,14 @@
    -     # File lib/bundler/definition.rb, line 320
    -320:     def converge_dependencies
    -321:       (@dependencies + @locked_deps).each do |dep|
    -322:         if dep.source
    -323:           dep.source = @sources.find { |s| dep.source == s }
    -324:         end
    -325:       end
    -326:     end
    + # File lib/bundler/definition.rb, line 327 +327: def converge_dependencies +328: (@dependencies + @locked_deps).each do |dep| +329: if dep.source +330: dep.source = @sources.find { |s| dep.source == s } +331: end +332: end +333: end
    @@ -1372,68 +1393,70 @@ generated
    -     # File lib/bundler/definition.rb, line 331
    -331:     def converge_locked_specs
    -332:       deps = []
    -333: 
    -334:       # Build a list of dependencies that are the same in the Gemfile
    -335:       # and Gemfile.lock. If the Gemfile modified a dependency, but
    -336:       # the gem in the Gemfile.lock still satisfies it, this is fine
    -337:       # too.
    -338:       @dependencies.each do |dep|
    -339:         locked_dep = @locked_deps.find { |d| dep == d }
    +     # File lib/bundler/definition.rb, line 338
    +338:     def converge_locked_specs
    +339:       deps = []
     340: 
    -341:         if in_locked_deps?(dep, locked_dep) || satisfies_locked_spec?(dep)
    -342:           deps << dep
    -343:         elsif dep.source.is_a?(Source::Path) && dep.current_platform? && (!locked_dep || dep.source != locked_dep.source)
    -344:           @locked_specs.each do |s|
    -345:             @unlock[:gems] << s.name if s.source == dep.source
    -346:           end
    +341:       # Build a list of dependencies that are the same in the Gemfile
    +342:       # and Gemfile.lock. If the Gemfile modified a dependency, but
    +343:       # the gem in the Gemfile.lock still satisfies it, this is fine
    +344:       # too.
    +345:       @dependencies.each do |dep|
    +346:         locked_dep = @locked_deps.find { |d| dep == d }
     347: 
    -348:           dep.source.unlock! if dep.source.respond_to?(:unlock!)
    -349:           dep.source.specs.each { |s| @unlock[:gems] << s.name }
    -350:         end
    -351:       end
    -352: 
    -353:       converged = []
    -354:       @locked_specs.each do |s|
    -355:         s.source = @sources.find { |src| s.source == src }
    -356: 
    -357:         # Don't add a spec to the list if its source is expired. For example,
    -358:         # if you change a Git gem to Rubygems.
    -359:         next if s.source.nil? || @unlock[:sources].include?(s.name)
    -360:         # If the spec is from a path source and it doesn't exist anymore
    -361:         # then we just unlock it.
    -362: 
    -363:         # Path sources have special logic
    -364:         if s.source.instance_of?(Source::Path)
    -365:           other = s.source.specs[s].first
    -366: 
    -367:           # If the spec is no longer in the path source, unlock it. This
    -368:           # commonly happens if the version changed in the gemspec
    -369:           next unless other
    -370:           # If the dependencies of the path source have changed, unlock it
    -371:           next unless s.dependencies.sort == other.dependencies.sort
    -372:         end
    +348:         if in_locked_deps?(dep, locked_dep) || satisfies_locked_spec?(dep)
    +349:           deps << dep
    +350:         elsif dep.source.is_a?(Source::Path) && dep.current_platform? && (!locked_dep || dep.source != locked_dep.source)
    +351:           @locked_specs.each do |s|
    +352:             @unlock[:gems] << s.name if s.source == dep.source
    +353:           end
    +354: 
    +355:           dep.source.unlock! if dep.source.respond_to?(:unlock!)
    +356:           dep.source.specs.each { |s| @unlock[:gems] << s.name }
    +357:         end
    +358:       end
    +359: 
    +360:       converged = []
    +361:       @locked_specs.each do |s|
    +362:         s.source = @sources.find { |src| s.source == src }
    +363: 
    +364:         # Don't add a spec to the list if its source is expired. For example,
    +365:         # if you change a Git gem to Rubygems.
    +366:         next if s.source.nil? || @unlock[:sources].include?(s.name)
    +367:         # If the spec is from a path source and it doesn't exist anymore
    +368:         # then we just unlock it.
    +369: 
    +370:         # Path sources have special logic
    +371:         if s.source.instance_of?(Source::Path)
    +372:           other = s.source.specs[s].first
     373: 
    -374:         converged << s
    -375:       end
    -376: 
    -377:       resolve = SpecSet.new(converged)
    -378:       resolve = resolve.for(expand_dependencies(deps, true), @unlock[:gems])
    -379:       diff    = @locked_specs.to_a - resolve.to_a
    -380: 
    -381:       # Now, we unlock any sources that do not have anymore gems pinned to it
    -382:       @sources.each do |source|
    -383:         next unless source.respond_to?(:unlock!)
    -384: 
    -385:         unless resolve.any? { |s| s.source == source }
    -386:           source.unlock! if !diff.empty? && diff.any? { |s| s.source == source }
    -387:         end
    -388:       end
    +374:           # If the spec is no longer in the path source, unlock it. This
    +375:           # commonly happens if the version changed in the gemspec
    +376:           next unless other
    +377: 
    +378:           deps2 = other.dependencies.select { |d| d.type != :development }
    +379:           # If the dependencies of the path source have changed, unlock it
    +380:           next unless s.dependencies.sort == deps2.sort
    +381:         end
    +382: 
    +383:         converged << s
    +384:       end
    +385: 
    +386:       resolve = SpecSet.new(converged)
    +387:       resolve = resolve.for(expand_dependencies(deps, true), @unlock[:gems])
    +388:       diff    = @locked_specs.to_a - resolve.to_a
     389: 
    -390:       resolve
    -391:     end
    +390: # Now, we unlock any sources that do not have anymore gems pinned to it +391: @sources.each do |source| +392: next unless source.respond_to?(:unlock!) +393: +394: unless resolve.any? { |s| s.source == source } +395: source.unlock! if !diff.empty? && diff.any? { |s| s.source == source } +396: end +397: end +398: +399: resolve +400: end
    @@ -1464,23 +1487,23 @@ generated
    -     # File lib/bundler/definition.rb, line 303
    -303:     def converge_sources
    -304:       locked_gem = @locked_sources.find { |s| Source::Rubygems === s }
    -305:       actual_gem = @sources.find { |s| Source::Rubygems === s }
    -306: 
    -307:       if locked_gem && actual_gem
    -308:         locked_gem.merge_remotes actual_gem
    -309:       end
    -310: 
    -311:       @sources.map! do |source|
    -312:         @locked_sources.find { |s| s == source } || source
    -313:       end
    -314: 
    -315:       @sources.each do |source|
    -316:         source.unlock! if source.respond_to?(:unlock!) && @unlock[:sources].include?(source.name)
    -317:       end
    -318:     end
    + # File lib/bundler/definition.rb, line 310 +310: def converge_sources +311: locked_gem = @locked_sources.find { |s| Source::Rubygems === s } +312: actual_gem = @sources.find { |s| Source::Rubygems === s } +313: +314: if locked_gem && actual_gem +315: locked_gem.merge_remotes actual_gem +316: end +317: +318: @sources.map! do |source| +319: @locked_sources.find { |s| s == source } || source +320: end +321: +322: @sources.each do |source| +323: source.unlock! if source.respond_to?(:unlock!) && @unlock[:sources].include?(source.name) +324: end +325: end
    @@ -1511,17 +1534,17 @@ generated
    -     # File lib/bundler/definition.rb, line 405
    -405:     def expand_dependencies(dependencies, remote = false)
    -406:       deps = []
    -407:       dependencies.each do |dep|
    -408:         dep = Dependency.new(dep, ">= 0") unless dep.respond_to?(:name)
    -409:         dep.gem_platforms(@platforms).each do |p|
    -410:           deps << DepProxy.new(dep, p) if remote || p == generic(Gem::Platform.local)
    -411:         end
    -412:       end
    -413:       deps
    -414:     end
    + # File lib/bundler/definition.rb, line 414 +414: def expand_dependencies(dependencies, remote = false) +415: deps = [] +416: dependencies.each do |dep| +417: dep = Dependency.new(dep, ">= 0") unless dep.respond_to?(:name) +418: dep.gem_platforms(@platforms).each do |p| +419: deps << DepProxy.new(dep, p) if remote || p == generic(Gem::Platform.local) +420: end +421: end +422: deps +423: end
    @@ -1552,10 +1575,10 @@ generated
    -     # File lib/bundler/definition.rb, line 401
    -401:     def expanded_dependencies
    -402:       @expanded_dependencies ||= expand_dependencies(dependencies, @remote)
    -403:     end
    + # File lib/bundler/definition.rb, line 410 +410: def expanded_dependencies +411: @expanded_dependencies ||= expand_dependencies(dependencies, @remote) +412: end
    @@ -1586,10 +1609,10 @@ generated
    -     # File lib/bundler/definition.rb, line 393
    -393:     def in_locked_deps?(dep, d)
    -394:       d && dep.source == d.source
    -395:     end
    + # File lib/bundler/definition.rb, line 402 +402: def in_locked_deps?(dep, d) +403: d && dep.source == d.source +404: end
    @@ -1620,13 +1643,13 @@ generated
    -     # File lib/bundler/definition.rb, line 296
    -296:     def pretty_dep(dep, source = false)
    -297:       msg  = "#{dep.name}"
    -298:       msg << " (#{dep.requirement})" unless dep.requirement == Gem::Requirement.default
    -299:       msg << " from the `#{dep.source}` source" if source && dep.source
    -300:       msg
    -301:     end
    + # File lib/bundler/definition.rb, line 303 +303: def pretty_dep(dep, source = false) +304: msg = "#{dep.name}" +305: msg << " (#{dep.requirement})" unless dep.requirement == Gem::Requirement.default +306: msg << " from the `#{dep.source}` source" if source && dep.source +307: msg +308: end
    @@ -1657,12 +1680,12 @@ generated
    -     # File lib/bundler/definition.rb, line 423
    -423:     def requested_dependencies
    -424:       groups = self.groups - Bundler.settings.without
    -425:       groups.map! { |g| g.to_sym }
    -426:       dependencies.reject { |d| !d.should_include? || (d.groups & groups).empty? }
    -427:     end
    + # File lib/bundler/definition.rb, line 432 +432: def requested_dependencies +433: groups = self.groups - Bundler.settings.without +434: groups.map! { |g| g.to_sym } +435: dependencies.reject { |d| !d.should_include? || (d.groups & groups).empty? } +436: end
    @@ -1693,10 +1716,10 @@ generated
    -     # File lib/bundler/definition.rb, line 397
    -397:     def satisfies_locked_spec?(dep)
    -398:       @locked_specs.any? { |s| s.satisfies?(dep) && (!dep.source || s.source == dep.source) }
    -399:     end
    + # File lib/bundler/definition.rb, line 406 +406: def satisfies_locked_spec?(dep) +407: @locked_specs.any? { |s| s.satisfies?(dep) && (!dep.source || s.source == dep.source) } +408: end
    @@ -1727,13 +1750,13 @@ generated
    -     # File lib/bundler/definition.rb, line 416
    -416:     def sorted_sources
    -417:       @sources.sort_by do |s|
    -418:         # Place GEM at the top
    -419:         [ s.is_a?(Source::Rubygems) ? 1 : 0, s.to_s ]
    -420:       end
    -421:     end
    + # File lib/bundler/definition.rb, line 425 +425: def sorted_sources +426: @sources.sort_by do |s| +427: # Place GEM at the top +428: [ s.is_a?(Source::Rubygems) ? 1 : 0, s.to_s ] +429: end +430: end
    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/DepProxy.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/DepProxy.html similarity index 89% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/DepProxy.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/DepProxy.html index e12de967..22b3adee 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/DepProxy.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/DepProxy.html @@ -100,6 +100,10 @@
  • bundle
  • +
  • bundle-benchmark
  • + +
  • bundle-benchmark.txt
  • +
  • bundle-config
  • bundle-config.txt
  • @@ -209,16 +213,28 @@
  • Bundler::Resolver::SpecGroup
  • +
  • Bundler::RubygemsIntegration
  • + +
  • Bundler::RubygemsIntegration::AlmostModern
  • + +
  • Bundler::RubygemsIntegration::Deprecate
  • + +
  • Bundler::RubygemsIntegration::Gem
  • + +
  • Bundler::RubygemsIntegration::Gem::SourceIndex
  • + +
  • Bundler::RubygemsIntegration::Legacy
  • + +
  • Bundler::RubygemsIntegration::Modern
  • + +
  • Bundler::RubygemsIntegration::Transitional
  • +
  • Bundler::Runtime
  • Bundler::Settings
  • Bundler::SharedHelpers
  • -
  • Bundler::SharedHelpers::Gem
  • - -
  • Bundler::SharedHelpers::Gem::SourceIndex
  • -
  • Bundler::Source
  • Bundler::Source::Git
  • @@ -389,10 +405,10 @@
    -     # File lib/bundler/rubygems_ext.rb, line 153
    -153:     def initialize(dep, platform)
    -154:       @dep, @__platform, @required_by = dep, platform, []
    -155:     end
    + # File lib/bundler/rubygems_ext.rb, line 167 +167: def initialize(dep, platform) +168: @dep, @__platform, @required_by = dep, platform, [] +169: end
    @@ -429,10 +445,10 @@
    -     # File lib/bundler/rubygems_ext.rb, line 161
    -161:     def ==(o)
    -162:       dep == o.dep && __platform == o.__platform
    -163:     end
    + # File lib/bundler/rubygems_ext.rb, line 175 +175: def ==(o) +176: dep == o.dep && __platform == o.__platform +177: end
    @@ -496,10 +512,10 @@
    -     # File lib/bundler/rubygems_ext.rb, line 157
    -157:     def hash
    -158:       @hash ||= dep.hash
    -159:     end
    + # File lib/bundler/rubygems_ext.rb, line 171 +171: def hash +172: @hash ||= dep.hash +173: end
    @@ -530,10 +546,10 @@
    -     # File lib/bundler/rubygems_ext.rb, line 171
    -171:     def to_s
    -172:       @dep.to_s
    -173:     end
    + # File lib/bundler/rubygems_ext.rb, line 185 +185: def to_s +186: @dep.to_s +187: end
    @@ -564,10 +580,10 @@
    -     # File lib/bundler/rubygems_ext.rb, line 167
    -167:     def type
    -168:       @dep.type
    -169:     end
    + # File lib/bundler/rubygems_ext.rb, line 181 +181: def type +182: @dep.type +183: end
    @@ -604,10 +620,10 @@
    -     # File lib/bundler/rubygems_ext.rb, line 177
    -177:     def method_missing(*args)
    -178:       @dep.send(*args)
    -179:     end
    + # File lib/bundler/rubygems_ext.rb, line 191 +191: def method_missing(*args) +192: @dep.send(*args) +193: end
    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/Dependency.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/Dependency.html similarity index 78% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/Dependency.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/Dependency.html index 6fd7be9d..f88a9e96 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/Dependency.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/Dependency.html @@ -93,6 +93,8 @@
  • #mswin?
  • +
  • #rbx?
  • +
  • #ruby?
  • #ruby_18?
  • @@ -120,6 +122,10 @@
  • bundle
  • +
  • bundle-benchmark
  • + +
  • bundle-benchmark.txt
  • +
  • bundle-config
  • bundle-config.txt
  • @@ -229,16 +235,28 @@
  • Bundler::Resolver::SpecGroup
  • +
  • Bundler::RubygemsIntegration
  • + +
  • Bundler::RubygemsIntegration::AlmostModern
  • + +
  • Bundler::RubygemsIntegration::Deprecate
  • + +
  • Bundler::RubygemsIntegration::Gem
  • + +
  • Bundler::RubygemsIntegration::Gem::SourceIndex
  • + +
  • Bundler::RubygemsIntegration::Legacy
  • + +
  • Bundler::RubygemsIntegration::Modern
  • + +
  • Bundler::RubygemsIntegration::Transitional
  • +
  • Bundler::Runtime
  • Bundler::Settings
  • Bundler::SharedHelpers
  • -
  • Bundler::SharedHelpers::Gem
  • - -
  • Bundler::SharedHelpers::Gem::SourceIndex
  • -
  • Bundler::Source
  • Bundler::Source::Git
  • @@ -421,20 +439,20 @@
    -    # File lib/bundler/dependency.rb, line 25
    -25:     def initialize(name, version, options = {}, &blk)
    -26:       super(name, version)
    -27: 
    -28:       @autorequire = nil
    -29:       @groups      = Array(options["group"] || :default).map { |g| g.to_sym }
    -30:       @source      = options["source"]
    -31:       @platforms   = Array(options["platforms"])
    -32:       @env         = options["env"]
    -33: 
    -34:       if options.key?('require')
    -35:         @autorequire = Array(options['require'] || [])
    -36:       end
    -37:     end
    + # File lib/bundler/dependency.rb, line 26 +26: def initialize(name, version, options = {}, &blk) +27: super(name, version) +28: +29: @autorequire = nil +30: @groups = Array(options["group"] || :default).map { |g| g.to_sym } +31: @source = options["source"] +32: @platforms = Array(options["platforms"]) +33: @env = options["env"] +34: +35: if options.key?('require') +36: @autorequire = Array(options['require'] || []) +37: end +38: end
    @@ -471,17 +489,17 @@
    -    # File lib/bundler/dependency.rb, line 55
    -55:     def current_env?
    -56:       return true unless @env
    -57:       if Hash === @env
    -58:         @env.all? do |key, val|
    -59:           ENV[key.to_s] && (String === val ? ENV[key.to_s] == val : ENV[key.to_s] =~ val)
    -60:         end
    -61:       else
    -62:         ENV[@env.to_s]
    -63:       end
    -64:     end
    + # File lib/bundler/dependency.rb, line 56 +56: def current_env? +57: return true unless @env +58: if Hash === @env +59: @env.all? do |key, val| +60: ENV[key.to_s] && (String === val ? ENV[key.to_s] == val : ENV[key.to_s] =~ val) +61: end +62: else +63: ENV[@env.to_s] +64: end +65: end
    @@ -512,11 +530,11 @@
    -    # File lib/bundler/dependency.rb, line 66
    -66:     def current_platform?
    -67:       return true if @platforms.empty?
    -68:       @platforms.any? { |p| send("#{p}?") }
    -69:     end
    + # File lib/bundler/dependency.rb, line 67 +67: def current_platform? +68: return true if @platforms.empty? +69: @platforms.any? { |p| send("#{p}?") } +70: end
    @@ -547,18 +565,18 @@
    -    # File lib/bundler/dependency.rb, line 39
    -39:     def gem_platforms(valid_platforms)
    -40:       return valid_platforms if @platforms.empty?
    -41: 
    -42:       platforms = []
    -43:       @platforms.each do |p|
    -44:         platform = PLATFORM_MAP[p]
    -45:         next unless valid_platforms.include?(platform)
    -46:         platforms |= [platform]
    -47:       end
    -48:       platforms
    -49:     end
    + # File lib/bundler/dependency.rb, line 40 +40: def gem_platforms(valid_platforms) +41: return valid_platforms if @platforms.empty? +42: +43: platforms = [] +44: @platforms.each do |p| +45: platform = PLATFORM_MAP[p] +46: next unless valid_platforms.include?(platform) +47: platforms |= [platform] +48: end +49: platforms +50: end
    @@ -589,10 +607,10 @@
    -    # File lib/bundler/dependency.rb, line 51
    -51:     def should_include?
    -52:       current_env? && current_platform?
    -53:     end
    + # File lib/bundler/dependency.rb, line 52 +52: def should_include? +53: current_env? && current_platform? +54: end
    @@ -623,18 +641,19 @@
    -    # File lib/bundler/dependency.rb, line 71
    -71:     def to_lock
    -72:       out = "  #{name}"
    -73: 
    -74:       unless requirement == Gem::Requirement.default
    -75:         out << " (#{requirement.to_s})"
    -76:       end
    -77: 
    -78:       out << '!' if source
    +    # File lib/bundler/dependency.rb, line 72
    +72:     def to_lock
    +73:       out = "  #{name}"
    +74: 
    +75:       unless requirement == Gem::Requirement.default
    +76:         reqs = requirement.requirements.map{|o,v| "#{o} #{v}" }
    +77:         out << " (#{reqs.join(', ')})"
    +78:       end
     79: 
    -80:       out << "\n"
    -81:     end
    +80: out << '!' if source +81: +82: out << "\n" +83: end
    @@ -671,10 +690,10 @@
    -     # File lib/bundler/dependency.rb, line 109
    -109:     def jruby?
    -110:       defined?(RUBY_ENGINE) && RUBY_ENGINE == "jruby"
    -111:     end
    + # File lib/bundler/dependency.rb, line 115 +115: def jruby? +116: defined?(RUBY_ENGINE) && RUBY_ENGINE == "jruby" +117: end
    @@ -705,10 +724,10 @@
    -     # File lib/bundler/dependency.rb, line 117
    -117:     def mingw?
    -118:       Bundler::WINDOWS && Gem::Platform.local.os == "mingw32"
    -119:     end
    + # File lib/bundler/dependency.rb, line 123 +123: def mingw? +124: Bundler::WINDOWS && Gem::Platform.local.os == "mingw32" +125: end
    @@ -739,10 +758,10 @@
    -     # File lib/bundler/dependency.rb, line 121
    -121:     def mingw_18?
    -122:       mingw? && RUBY_VERSION < "1.9"
    -123:     end
    + # File lib/bundler/dependency.rb, line 127 +127: def mingw_18? +128: mingw? && RUBY_VERSION < "1.9" +129: end
    @@ -773,10 +792,10 @@
    -     # File lib/bundler/dependency.rb, line 125
    -125:     def mingw_19?
    -126:       mingw? && RUBY_VERSION >= "1.9"
    -127:     end
    + # File lib/bundler/dependency.rb, line 131 +131: def mingw_19? +132: mingw? && RUBY_VERSION >= "1.9" +133: end
    @@ -807,10 +826,10 @@
    -    # File lib/bundler/dependency.rb, line 97
    -97:     def mri?
    -98:       !mswin? && (!defined?(RUBY_ENGINE) || RUBY_ENGINE == "ruby")
    -99:     end
    + # File lib/bundler/dependency.rb, line 99 + 99: def mri? +100: !mswin? && (!defined?(RUBY_ENGINE) || RUBY_ENGINE == "ruby") +101: end
    @@ -841,10 +860,10 @@
    -     # File lib/bundler/dependency.rb, line 101
    -101:     def mri_18?
    -102:       mri? && RUBY_VERSION < "1.9"
    -103:     end
    + # File lib/bundler/dependency.rb, line 103 +103: def mri_18? +104: mri? && RUBY_VERSION < "1.9" +105: end
    @@ -875,10 +894,10 @@
    -     # File lib/bundler/dependency.rb, line 105
    -105:     def mri_19?
    -106:       mri? && RUBY_VERSION >= "1.9"
    -107:     end
    + # File lib/bundler/dependency.rb, line 107 +107: def mri_19? +108: mri? && RUBY_VERSION >= "1.9" +109: end
    @@ -909,10 +928,44 @@
    -     # File lib/bundler/dependency.rb, line 113
    -113:     def mswin?
    -114:       Bundler::WINDOWS
    -115:     end
    + # File lib/bundler/dependency.rb, line 119 +119: def mswin? +120: Bundler::WINDOWS +121: end +
    + + + + + + + + + +
    + + +
    + + rbx?() + click to toggle source + +
    + +
    + + + + + +
    +
    +     # File lib/bundler/dependency.rb, line 111
    +111:     def rbx?
    +112:       ruby? && defined?(RUBY_ENGINE) && RUBY_ENGINE == "rbx"
    +113:     end
    @@ -943,10 +996,10 @@
    -    # File lib/bundler/dependency.rb, line 85
    -85:     def ruby?
    -86:       !mswin? && (!defined?(RUBY_ENGINE) || RUBY_ENGINE == "ruby" || RUBY_ENGINE == "rbx")
    -87:     end
    + # File lib/bundler/dependency.rb, line 87 +87: def ruby? +88: !mswin? && (!defined?(RUBY_ENGINE) || RUBY_ENGINE == "ruby" || RUBY_ENGINE == "rbx") +89: end
    @@ -977,10 +1030,10 @@
    -    # File lib/bundler/dependency.rb, line 89
    -89:     def ruby_18?
    -90:       ruby? && RUBY_VERSION < "1.9"
    -91:     end
    + # File lib/bundler/dependency.rb, line 91 +91: def ruby_18? +92: ruby? && RUBY_VERSION < "1.9" +93: end
    @@ -1011,10 +1064,10 @@
    -    # File lib/bundler/dependency.rb, line 93
    -93:     def ruby_19?
    -94:       ruby? && RUBY_VERSION >= "1.9"
    -95:     end
    + # File lib/bundler/dependency.rb, line 95 +95: def ruby_19? +96: ruby? && RUBY_VERSION >= "1.9" +97: end
    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/Deployment.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/Deployment.html similarity index 91% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/Deployment.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/Deployment.html index 8d091501..4bb94137 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/Deployment.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/Deployment.html @@ -88,6 +88,10 @@
  • bundle
  • +
  • bundle-benchmark
  • + +
  • bundle-benchmark.txt
  • +
  • bundle-config
  • bundle-config.txt
  • @@ -197,16 +201,28 @@
  • Bundler::Resolver::SpecGroup
  • +
  • Bundler::RubygemsIntegration
  • + +
  • Bundler::RubygemsIntegration::AlmostModern
  • + +
  • Bundler::RubygemsIntegration::Deprecate
  • + +
  • Bundler::RubygemsIntegration::Gem
  • + +
  • Bundler::RubygemsIntegration::Gem::SourceIndex
  • + +
  • Bundler::RubygemsIntegration::Legacy
  • + +
  • Bundler::RubygemsIntegration::Modern
  • + +
  • Bundler::RubygemsIntegration::Transitional
  • +
  • Bundler::Runtime
  • Bundler::Settings
  • Bundler::SharedHelpers
  • -
  • Bundler::SharedHelpers::Gem
  • - -
  • Bundler::SharedHelpers::Gem::SourceIndex
  • -
  • Bundler::Source
  • Bundler::Source::Git
  • @@ -328,7 +344,7 @@
         # File lib/bundler/deployment.rb, line 3
      3:     def self.define_task(context, task_method = :task, opts = {})
    - 4:       if context.is_a?(Capistrano::Configuration)
    + 4:       if defined?(Capistrano) && context.is_a?(Capistrano::Configuration)
      5:         context_name = "capistrano"
      6:         role_default = "{:except => {:no_release => true}}"
      7:       else
    @@ -336,7 +352,7 @@
      9:         role_default = "[:app]"
     10:       end
     11: 
    -12:       roles = context.fetch(:bundle_roles, nil)
    +12:       roles = context.fetch(:bundle_roles, false)
     13:       opts[:roles] = roles if roles
     14: 
     15:       context.send :namespace, :bundle do
    @@ -353,7 +369,7 @@
     26:           args << bundle_flags.to_s
     27:           args << "--without #{bundle_without.join(" ")}" unless bundle_without.empty?
     28: 
    -29:           run "#{bundle_cmd} install #{args.join(' ')}"
    +29:           run "cd #{context.fetch(:current_release)} && #{bundle_cmd} install #{args.join(' ')}"
     30:         end
     31:       end
     32:     end
    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/DeprecatedError.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/DeprecatedError.html similarity index 90% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/DeprecatedError.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/DeprecatedError.html index 24575ae5..516a0087 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/DeprecatedError.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/DeprecatedError.html @@ -79,6 +79,10 @@
  • bundle
  • +
  • bundle-benchmark
  • + +
  • bundle-benchmark.txt
  • +
  • bundle-config
  • bundle-config.txt
  • @@ -188,16 +192,28 @@
  • Bundler::Resolver::SpecGroup
  • +
  • Bundler::RubygemsIntegration
  • + +
  • Bundler::RubygemsIntegration::AlmostModern
  • + +
  • Bundler::RubygemsIntegration::Deprecate
  • + +
  • Bundler::RubygemsIntegration::Gem
  • + +
  • Bundler::RubygemsIntegration::Gem::SourceIndex
  • + +
  • Bundler::RubygemsIntegration::Legacy
  • + +
  • Bundler::RubygemsIntegration::Modern
  • + +
  • Bundler::RubygemsIntegration::Transitional
  • +
  • Bundler::Runtime
  • Bundler::Settings
  • Bundler::SharedHelpers
  • -
  • Bundler::SharedHelpers::Gem
  • - -
  • Bundler::SharedHelpers::Gem::SourceIndex
  • -
  • Bundler::Source
  • Bundler::Source::Git
  • diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/Dsl.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/Dsl.html similarity index 78% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/Dsl.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/Dsl.html index a91eef53..01923d49 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/Dsl.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/Dsl.html @@ -120,6 +120,10 @@
  • bundle
  • +
  • bundle-benchmark
  • + +
  • bundle-benchmark.txt
  • +
  • bundle-config
  • bundle-config.txt
  • @@ -229,16 +233,28 @@
  • Bundler::Resolver::SpecGroup
  • +
  • Bundler::RubygemsIntegration
  • + +
  • Bundler::RubygemsIntegration::AlmostModern
  • + +
  • Bundler::RubygemsIntegration::Deprecate
  • + +
  • Bundler::RubygemsIntegration::Gem
  • + +
  • Bundler::RubygemsIntegration::Gem::SourceIndex
  • + +
  • Bundler::RubygemsIntegration::Legacy
  • + +
  • Bundler::RubygemsIntegration::Modern
  • + +
  • Bundler::RubygemsIntegration::Transitional
  • +
  • Bundler::Runtime
  • Bundler::Settings
  • Bundler::SharedHelpers
  • -
  • Bundler::SharedHelpers::Gem
  • - -
  • Bundler::SharedHelpers::Gem::SourceIndex
  • -
  • Bundler::Source
  • Bundler::Source::Git
  • @@ -372,19 +388,19 @@ Deprecated methods
    -     # File lib/bundler/dsl.rb, line 147
    -147:     def self.deprecate(name, replacement = nil)
    -148:       define_method(name) do |*|
    -149:         message = "'#{name}' has been removed from the Gemfile DSL, "
    -150:         if replacement
    -151:           message << "and has been replaced with '#{replacement}'."
    -152:         else
    -153:           message << "and is no longer supported."
    -154:         end
    -155:         message << "\nSee the README for more information on upgrading from Bundler 0.8."
    -156:         raise DeprecatedError, message
    -157:       end
    -158:     end
    + # File lib/bundler/dsl.rb, line 144 +144: def self.deprecate(name, replacement = nil) +145: define_method(name) do |*| +146: message = "'#{name}' has been removed from the Gemfile DSL, " +147: if replacement +148: message << "and has been replaced with '#{replacement}'." +149: else +150: message << "and is no longer supported." +151: end +152: message << "\nSee the README for more information on upgrading from Bundler 0.8." +153: raise DeprecatedError, message +154: end +155: end
    @@ -497,13 +513,13 @@ Deprecated methods
    -     # File lib/bundler/dsl.rb, line 138
    -138:     def env(name)
    -139:       @env, old = name, @env
    -140:       yield
    -141:     ensure
    -142:       @env = old
    -143:     end
    + # File lib/bundler/dsl.rb, line 135 +135: def env(name) +136: @env, old = name, @env +137: yield +138: ensure +139: @env = old +140: end
    @@ -534,31 +550,31 @@ Deprecated methods
    -    # File lib/bundler/dsl.rb, line 50
    -50:     def gem(name, *args)
    -51:       if name.is_a?(Symbol)
    -52:         raise GemfileError, %{You need to specify gem names as Strings. Use 'gem "#{name.to_s}"' instead.}
    -53:       end
    +    # File lib/bundler/dsl.rb, line 47
    +47:     def gem(name, *args)
    +48:       if name.is_a?(Symbol)
    +49:         raise GemfileError, %{You need to specify gem names as Strings. Use 'gem "#{name.to_s}"' instead.}
    +50:       end
    +51: 
    +52:       options = Hash === args.last ? args.pop : {}
    +53:       version = args || [">= 0"]
     54: 
    -55:       options = Hash === args.last ? args.pop : {}
    -56:       version = args || [">= 0"]
    +55:       _deprecated_options(options)
    +56:       _normalize_options(name, version, options)
     57: 
    -58:       _deprecated_options(options)
    -59:       _normalize_options(name, version, options)
    -60: 
    -61:       dep = Dependency.new(name, version, options)
    -62: 
    -63:       if current = @dependencies.find { |d| d.name == dep.name }
    -64:         if current.requirement != dep.requirement
    -65:           raise DslError, "You cannot specify the same gem twice with different version requirements. "                            "You specified: #{current.name} (#{current.requirement}) and "                            "#{dep.name} (#{dep.requirement})"
    -66:         end
    -67: 
    -68:         if current.source != dep.source
    -69:           raise DslError, "You cannot specify the same gem twice coming from different sources. You "                            "specified that #{dep.name} (#{dep.requirement}) should come from "                            "#{current.source || 'an unspecfied source'} and #{dep.source}"
    -70:         end
    -71:       end
    -72:       @dependencies << Dependency.new(name, version, options)
    -73:     end
    +58: dep = Dependency.new(name, version, options) +59: +60: if current = @dependencies.find { |d| d.name == dep.name } +61: if current.requirement != dep.requirement +62: raise DslError, "You cannot specify the same gem twice with different version requirements. " "You specified: #{current.name} (#{current.requirement}) and " "#{dep.name} (#{dep.requirement})" +63: end +64: +65: if current.source != dep.source +66: raise DslError, "You cannot specify the same gem twice coming from different sources. You " "specified that #{dep.name} (#{dep.requirement}) should come from " "#{current.source || 'an unspecfied source'} and #{dep.source}" +67: end +68: end +69: @dependencies << Dependency.new(name, version, options) +70: end
    @@ -599,23 +615,20 @@ Deprecated methods 29: 30: case gemspecs.size 31: when 1 -32: spec = Gem::Specification.load(gemspecs.first) +32: spec = Bundler.load_gemspec(gemspecs.first) 33: raise InvalidOption, "There was an error loading the gemspec at #{gemspecs.first}." unless spec 34: gem spec.name, :path => path -35: spec.runtime_dependencies.each do |dep| -36: gem dep.name, *dep.requirement.as_list -37: end -38: group(development_group) do -39: spec.development_dependencies.each do |dep| -40: gem dep.name, *dep.requirement.as_list -41: end -42: end -43: when 0 -44: raise InvalidOption, "There are no gemspecs at #{path}." -45: else -46: raise InvalidOption, "There are multiple gemspecs at #{path}. Please use the :name option to specify which one." -47: end -48: end +35: group(development_group) do +36: spec.development_dependencies.each do |dep| +37: gem dep.name, *dep.requirement.as_list +38: end +39: end +40: when 0 +41: raise InvalidOption, "There are no gemspecs at #{path}." +42: else +43: raise InvalidOption, "There are multiple gemspecs at #{path}. Please use the :name option to specify which one." +44: end +45: end @@ -646,15 +659,15 @@ Deprecated methods
    -     # File lib/bundler/dsl.rb, line 102
    -102:     def git(uri, options = {}, source_options = {}, &blk)
    -103:       unless block_given?
    -104:         msg = "You can no longer specify a git source by itself. Instead, \n"                "either use the :git option on a gem, or specify the gems that \n"                "bundler should find in the git source by passing a block to \n"                "the git method, like: \n\n"                "  git 'git://github.com/rails/rails.git' do\n"                "    gem 'rails'\n"                "  end"
    -105:         raise DeprecatedError, msg
    -106:       end
    -107: 
    -108:       source Source::Git.new(_normalize_hash(options).merge("uri" => uri)), source_options, &blk
    -109:     end
    + # File lib/bundler/dsl.rb, line 99 + 99: def git(uri, options = {}, source_options = {}, &blk) +100: unless block_given? +101: msg = "You can no longer specify a git source by itself. Instead, \n" "either use the :git option on a gem, or specify the gems that \n" "bundler should find in the git source by passing a block to \n" "the git method, like: \n\n" " git 'git://github.com/rails/rails.git' do\n" " gem 'rails'\n" " end" +102: raise DeprecatedError, msg +103: end +104: +105: source Source::Git.new(_normalize_hash(options).merge("uri" => uri)), source_options, &blk +106: end
    @@ -685,13 +698,13 @@ Deprecated methods
    -     # File lib/bundler/dsl.rb, line 123
    -123:     def group(*args, &blk)
    -124:       @groups.concat args
    -125:       yield
    -126:     ensure
    -127:       args.each { @groups.pop }
    -128:     end
    + # File lib/bundler/dsl.rb, line 120 +120: def group(*args, &blk) +121: @groups.concat args +122: yield +123: ensure +124: args.each { @groups.pop } +125: end
    @@ -722,10 +735,10 @@ Deprecated methods
    -     # File lib/bundler/dsl.rb, line 98
    - 98:     def path(path, options = {}, source_options = {}, &blk)
    - 99:       source Source::Path.new(_normalize_hash(options).merge("path" => Pathname.new(path))), source_options, &blk
    -100:     end
    + # File lib/bundler/dsl.rb, line 95 +95: def path(path, options = {}, source_options = {}, &blk) +96: source Source::Path.new(_normalize_hash(options).merge("path" => Pathname.new(path))), source_options, &blk +97: end
    @@ -785,13 +798,13 @@ Deprecated methods
    -     # File lib/bundler/dsl.rb, line 130
    -130:     def platforms(*platforms)
    -131:       @platforms.concat platforms
    -132:       yield
    -133:     ensure
    -134:       platforms.each { @platforms.pop }
    -135:     end
    + # File lib/bundler/dsl.rb, line 127 +127: def platforms(*platforms) +128: @platforms.concat platforms +129: yield +130: ensure +131: platforms.each { @platforms.pop } +132: end
    @@ -826,25 +839,25 @@ Deprecated methods
    -    # File lib/bundler/dsl.rb, line 79
    -79:     def source(source, options = {})
    -80:       case source
    -81:       when :gemcutter, :rubygems, :rubyforge then
    -82:         rubygems_source "http://rubygems.org"
    +    # File lib/bundler/dsl.rb, line 76
    +76:     def source(source, options = {})
    +77:       case source
    +78:       when :gemcutter, :rubygems, :rubyforge then
    +79:         rubygems_source "http://rubygems.org"
    +80:         return
    +81:       when String
    +82:         rubygems_source source
     83:         return
    -84:       when String
    -85:         rubygems_source source
    -86:         return
    -87:       end
    +84:       end
    +85: 
    +86:       @source = source
    +87:       options[:prepend] ? @sources.unshift(@source) : @sources << @source
     88: 
    -89:       @source = source
    -90:       options[:prepend] ? @sources.unshift(@source) : @sources << @source
    -91: 
    -92:       yield if block_given?
    -93:       @source
    -94:     ensure
    -95:       @source = nil
    -96:     end
    +89: yield if block_given? +90: @source +91: ensure +92: @source = nil +93: end
    @@ -875,12 +888,12 @@ Deprecated methods
    -     # File lib/bundler/dsl.rb, line 117
    -117:     def to_definition(lockfile, unlock)
    -118:       @sources << @rubygems_source
    -119:       @sources.uniq!
    -120:       Definition.new(lockfile, @dependencies, @sources, unlock)
    -121:     end
    + # File lib/bundler/dsl.rb, line 114 +114: def to_definition(lockfile, unlock) +115: @sources << @rubygems_source +116: @sources.uniq! +117: Definition.new(lockfile, @dependencies, @sources, unlock) +118: end
    @@ -917,18 +930,18 @@ Deprecated methods
    -     # File lib/bundler/dsl.rb, line 234
    -234:     def _deprecated_options(options)
    -235:       if options.include?(:require_as)
    -236:         raise DeprecatedError, "Please replace :require_as with :require"
    -237:       elsif options.include?(:vendored_at)
    -238:         raise DeprecatedError, "Please replace :vendored_at with :path"
    -239:       elsif options.include?(:only)
    -240:         raise DeprecatedError, "Please replace :only with :group"
    -241:       elsif options.include?(:except)
    -242:         raise DeprecatedError, "The :except option is no longer supported"
    -243:       end
    -244:     end
    + # File lib/bundler/dsl.rb, line 231 +231: def _deprecated_options(options) +232: if options.include?(:require_as) +233: raise DeprecatedError, "Please replace :require_as with :require" +234: elsif options.include?(:vendored_at) +235: raise DeprecatedError, "Please replace :vendored_at with :path" +236: elsif options.include?(:only) +237: raise DeprecatedError, "Please replace :only with :group" +238: elsif options.include?(:except) +239: raise DeprecatedError, "The :except option is no longer supported" +240: end +241: end
    @@ -959,17 +972,17 @@ Deprecated methods
    -     # File lib/bundler/dsl.rb, line 175
    -175:     def _normalize_hash(opts)
    -176:       # Cannot modify a hash during an iteration in 1.9
    -177:       opts.keys.each do |k|
    -178:         next if String === k
    -179:         v = opts[k]
    -180:         opts.delete(k)
    -181:         opts[k.to_s] = v
    -182:       end
    -183:       opts
    -184:     end
    + # File lib/bundler/dsl.rb, line 172 +172: def _normalize_hash(opts) +173: # Cannot modify a hash during an iteration in 1.9 +174: opts.keys.each do |k| +175: next if String === k +176: v = opts[k] +177: opts.delete(k) +178: opts[k.to_s] = v +179: end +180: opts +181: end
    @@ -1000,54 +1013,54 @@ Deprecated methods
    -     # File lib/bundler/dsl.rb, line 186
    -186:     def _normalize_options(name, version, opts)
    -187:       _normalize_hash(opts)
    -188: 
    -189:       invalid_keys = opts.keys - %(group groups git path name branch ref tag require submodules platform platforms)
    -190:       if invalid_keys.any?
    -191:         plural = invalid_keys.size > 1
    -192:         message = "You passed #{invalid_keys.map{|k| ':'+k }.join(", ")} "
    -193:         if plural
    -194:           message << "as options for gem '#{name}', but they are invalid."
    -195:         else
    -196:           message << "as an option for gem '#{name}', but it is invalid."
    -197:         end
    -198:         raise InvalidOption, message
    -199:       end
    -200: 
    -201:       groups = @groups.dup
    -202:       opts["group"] = opts.delete("groups") || opts["group"]
    -203:       groups.concat Array(opts.delete("group"))
    -204:       groups = [:default] if groups.empty?
    -205: 
    -206:       platforms = @platforms.dup
    -207:       opts["platforms"] = opts["platform"] || opts["platforms"]
    -208:       platforms.concat Array(opts.delete("platforms"))
    -209:       platforms.map! { |p| p.to_sym }
    -210:       platforms.each do |p|
    -211:         next if VALID_PLATFORMS.include?(p)
    -212:         raise DslError, "`#{p}` is not a valid platform. The available options are: #{VALID_PLATFORMS.inspect}"
    -213:       end
    -214: 
    -215:       # Normalize git and path options
    -216:       ["git", "path"].each do |type|
    -217:         if param = opts[type]
    -218:           if version.first && version.first =~ /^\s*=?\s*(\d[^\s]*)\s*$/
    -219:             options = opts.merge("name" => name, "version" => $1)
    -220:           else
    -221:             options = opts.dup
    -222:           end
    -223:           source = send(type, param, options, :prepend => true) {}
    -224:           opts["source"] = source
    -225:         end
    -226:       end
    -227: 
    -228:       opts["source"]  ||= @source
    -229:       opts["env"]     ||= @env
    -230:       opts["platforms"] = platforms.dup
    -231:       opts["group"]     = groups
    -232:     end
    + # File lib/bundler/dsl.rb, line 183 +183: def _normalize_options(name, version, opts) +184: _normalize_hash(opts) +185: +186: invalid_keys = opts.keys - %(group groups git path name branch ref tag require submodules platform platforms) +187: if invalid_keys.any? +188: plural = invalid_keys.size > 1 +189: message = "You passed #{invalid_keys.map{|k| ':'+k }.join(", ")} " +190: if plural +191: message << "as options for gem '#{name}', but they are invalid." +192: else +193: message << "as an option for gem '#{name}', but it is invalid." +194: end +195: raise InvalidOption, message +196: end +197: +198: groups = @groups.dup +199: opts["group"] = opts.delete("groups") || opts["group"] +200: groups.concat Array(opts.delete("group")) +201: groups = [:default] if groups.empty? +202: +203: platforms = @platforms.dup +204: opts["platforms"] = opts["platform"] || opts["platforms"] +205: platforms.concat Array(opts.delete("platforms")) +206: platforms.map! { |p| p.to_sym } +207: platforms.each do |p| +208: next if VALID_PLATFORMS.include?(p) +209: raise DslError, "`#{p}` is not a valid platform. The available options are: #{VALID_PLATFORMS.inspect}" +210: end +211: +212: # Normalize git and path options +213: ["git", "path"].each do |type| +214: if param = opts[type] +215: if version.first && version.first =~ /^\s*=?\s*(\d[^\s]*)\s*$/ +216: options = opts.merge("name" => name, "version" => $1) +217: else +218: options = opts.dup +219: end +220: source = send(type, param, options, :prepend => true) {} +221: opts["source"] = source +222: end +223: end +224: +225: opts["source"] ||= @source +226: opts["env"] ||= @env +227: opts["platforms"] = platforms.dup +228: opts["group"] = groups +229: end
    @@ -1078,11 +1091,11 @@ Deprecated methods
    -     # File lib/bundler/dsl.rb, line 170
    -170:     def rubygems_source(source)
    -171:       @rubygems_source.add_remote source
    -172:       @sources << @rubygems_source
    -173:     end
    + # File lib/bundler/dsl.rb, line 167 +167: def rubygems_source(source) +168: @rubygems_source.add_remote source +169: @sources << @rubygems_source +170: end
    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/DslError.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/DslError.html similarity index 90% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/DslError.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/DslError.html index 05fe1e35..e5c96788 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/DslError.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/DslError.html @@ -79,6 +79,10 @@
  • bundle
  • +
  • bundle-benchmark
  • + +
  • bundle-benchmark.txt
  • +
  • bundle-config
  • bundle-config.txt
  • @@ -188,16 +192,28 @@
  • Bundler::Resolver::SpecGroup
  • +
  • Bundler::RubygemsIntegration
  • + +
  • Bundler::RubygemsIntegration::AlmostModern
  • + +
  • Bundler::RubygemsIntegration::Deprecate
  • + +
  • Bundler::RubygemsIntegration::Gem
  • + +
  • Bundler::RubygemsIntegration::Gem::SourceIndex
  • + +
  • Bundler::RubygemsIntegration::Legacy
  • + +
  • Bundler::RubygemsIntegration::Modern
  • + +
  • Bundler::RubygemsIntegration::Transitional
  • +
  • Bundler::Runtime
  • Bundler::Settings
  • Bundler::SharedHelpers
  • -
  • Bundler::SharedHelpers::Gem
  • - -
  • Bundler::SharedHelpers::Gem::SourceIndex
  • -
  • Bundler::Source
  • Bundler::Source::Git
  • diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/Environment.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/Environment.html similarity index 94% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/Environment.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/Environment.html index a38eac98..c33e7d58 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/Environment.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/Environment.html @@ -104,6 +104,10 @@
  • bundle
  • +
  • bundle-benchmark
  • + +
  • bundle-benchmark.txt
  • +
  • bundle-config
  • bundle-config.txt
  • @@ -213,16 +217,28 @@
  • Bundler::Resolver::SpecGroup
  • +
  • Bundler::RubygemsIntegration
  • + +
  • Bundler::RubygemsIntegration::AlmostModern
  • + +
  • Bundler::RubygemsIntegration::Deprecate
  • + +
  • Bundler::RubygemsIntegration::Gem
  • + +
  • Bundler::RubygemsIntegration::Gem::SourceIndex
  • + +
  • Bundler::RubygemsIntegration::Legacy
  • + +
  • Bundler::RubygemsIntegration::Modern
  • + +
  • Bundler::RubygemsIntegration::Transitional
  • +
  • Bundler::Runtime
  • Bundler::Settings
  • Bundler::SharedHelpers
  • -
  • Bundler::SharedHelpers::Gem
  • - -
  • Bundler::SharedHelpers::Gem::SourceIndex
  • -
  • Bundler::Source
  • Bundler::Source::Git
  • diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/GemHelper.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/GemHelper.html similarity index 77% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/GemHelper.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/GemHelper.html index 821e8f4d..7e2c8b9d 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/GemHelper.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/GemHelper.html @@ -113,6 +113,17 @@ +
    +

    Included Modules

    + +
    +
    @@ -124,6 +135,10 @@
  • bundle
  • +
  • bundle-benchmark
  • + +
  • bundle-benchmark.txt
  • +
  • bundle-config
  • bundle-config.txt
  • @@ -233,16 +248,28 @@
  • Bundler::Resolver::SpecGroup
  • +
  • Bundler::RubygemsIntegration
  • + +
  • Bundler::RubygemsIntegration::AlmostModern
  • + +
  • Bundler::RubygemsIntegration::Deprecate
  • + +
  • Bundler::RubygemsIntegration::Gem
  • + +
  • Bundler::RubygemsIntegration::Gem::SourceIndex
  • + +
  • Bundler::RubygemsIntegration::Legacy
  • + +
  • Bundler::RubygemsIntegration::Modern
  • + +
  • Bundler::RubygemsIntegration::Transitional
  • +
  • Bundler::Runtime
  • Bundler::Settings
  • Bundler::SharedHelpers
  • -
  • Bundler::SharedHelpers::Gem
  • - -
  • Bundler::SharedHelpers::Gem::SourceIndex
  • -
  • Bundler::Source
  • Bundler::Source::Git
  • @@ -399,7 +426,7 @@
    install_tasks(opts = nil) + class="method-args">(opts = {}) click to toggle source
    @@ -413,11 +440,11 @@
    -    # File lib/bundler/gem_helper.rb, line 7
    - 7:     def self.install_tasks(opts = nil)
    - 8:       dir = File.dirname(Rake.application.rakefile_location)
    - 9:       self.new(dir, opts && opts[:name]).install
    -10:     end
    + # File lib/bundler/gem_helper.rb, line 9 + 9: def self.install_tasks(opts = {}) +10: dir = opts[:dir] || Dir.pwd +11: self.new(dir, opts[:name]).install +12: end
    @@ -448,15 +475,15 @@
    -    # File lib/bundler/gem_helper.rb, line 14
    -14:     def initialize(base, name = nil)
    -15:       Bundler.ui = UI::Shell.new(Thor::Base.shell.new)
    -16:       @base = base
    -17:       gemspecs = name ? [File.join(base, "#{name}.gemspec")] : Dir[File.join(base, "*.gemspec")]
    -18:       raise "Unable to determine name from existing gemspec. Use :name => 'gemname' in #install_tasks to manually set it." unless gemspecs.size == 1
    -19:       @spec_path = gemspecs.first
    -20:       @gemspec = Bundler.load_gemspec(@spec_path)
    -21:     end
    + # File lib/bundler/gem_helper.rb, line 16 +16: def initialize(base, name = nil) +17: Bundler.ui = UI::Shell.new(Thor::Base.shell.new) +18: @base = base +19: gemspecs = name ? [File.join(base, "#{name}.gemspec")] : Dir[File.join(base, "*.gemspec")] +20: raise "Unable to determine name from existing gemspec. Use :name => 'gemname' in #install_tasks to manually set it." unless gemspecs.size == 1 +21: @spec_path = gemspecs.first +22: @gemspec = Bundler.load_gemspec(@spec_path) +23: end
    @@ -493,18 +520,18 @@
    -    # File lib/bundler/gem_helper.rb, line 40
    -40:     def build_gem
    -41:       file_name = nil
    -42:       sh("gem build #{spec_path}") { |out, code|
    -43:         raise out unless out[/Successfully/]
    -44:         file_name = File.basename(built_gem_path)
    -45:         FileUtils.mkdir_p(File.join(base, 'pkg'))
    -46:         FileUtils.mv(built_gem_path, 'pkg')
    -47:         Bundler.ui.confirm "#{name} #{version} built to pkg/#{file_name}"
    -48:       }
    -49:       File.join(base, 'pkg', file_name)
    -50:     end
    + # File lib/bundler/gem_helper.rb, line 42 +42: def build_gem +43: file_name = nil +44: sh("gem build '#{spec_path}'") { |out, code| +45: raise out unless out[/Successfully/] +46: file_name = File.basename(built_gem_path) +47: FileUtils.mkdir_p(File.join(base, 'pkg')) +48: FileUtils.mv(built_gem_path, 'pkg') +49: Bundler.ui.confirm "#{name} #{version} built to pkg/#{file_name}" +50: } +51: File.join(base, 'pkg', file_name) +52: end
    @@ -535,23 +562,23 @@
    -    # File lib/bundler/gem_helper.rb, line 23
    -23:     def install
    -24:       desc "Build #{name}-#{version}.gem into the pkg directory"
    -25:       task 'build' do
    -26:         build_gem
    -27:       end
    -28: 
    -29:       desc "Build and install #{name}-#{version}.gem into system gems"
    -30:       task 'install' do
    -31:         install_gem
    -32:       end
    -33: 
    -34:       desc "Create tag #{version_tag} and build and push #{name}-#{version}.gem to Rubygems"
    -35:       task 'release' do
    -36:         release_gem
    -37:       end
    -38:     end
    + # File lib/bundler/gem_helper.rb, line 25 +25: def install +26: desc "Build #{name}-#{version}.gem into the pkg directory" +27: task 'build' do +28: build_gem +29: end +30: +31: desc "Build and install #{name}-#{version}.gem into system gems" +32: task 'install' do +33: install_gem +34: end +35: +36: desc "Create tag #{version_tag} and build and push #{name}-#{version}.gem to Rubygems" +37: task 'release' do +38: release_gem +39: end +40: end
    @@ -582,13 +609,13 @@
    -    # File lib/bundler/gem_helper.rb, line 52
    -52:     def install_gem
    -53:       built_gem_path = build_gem
    -54:       out, code = sh_with_code("gem install #{built_gem_path}")
    -55:       raise "Couldn't install gem, run `gem install #{built_gem_path}' for more detailed output" unless out[/Successfully installed/]
    -56:       Bundler.ui.confirm "#{name} (#{version}) installed"
    -57:     end
    + # File lib/bundler/gem_helper.rb, line 54 +54: def install_gem +55: built_gem_path = build_gem +56: out, _ = sh_with_code("gem install '#{built_gem_path}'") +57: raise "Couldn't install gem, run `gem install #{built_gem_path}' for more detailed output" unless out[/Successfully installed/] +58: Bundler.ui.confirm "#{name} (#{version}) installed" +59: end
    @@ -619,16 +646,16 @@
    -    # File lib/bundler/gem_helper.rb, line 59
    -59:     def release_gem
    -60:       guard_clean
    -61:       guard_already_tagged
    -62:       built_gem_path = build_gem
    -63:       tag_version {
    -64:         git_push
    -65:         rubygem_push(built_gem_path)
    -66:       }
    -67:     end
    + # File lib/bundler/gem_helper.rb, line 61 +61: def release_gem +62: guard_clean +63: guard_already_tagged +64: built_gem_path = build_gem +65: tag_version { +66: git_push +67: rubygem_push(built_gem_path) +68: } +69: end
    @@ -665,10 +692,10 @@
    -    # File lib/bundler/gem_helper.rb, line 76
    -76:     def built_gem_path
    -77:       Dir[File.join(base, "#{name}-*.gem")].sort_by{|f| File.mtime(f)}.last
    -78:     end
    + # File lib/bundler/gem_helper.rb, line 78 +78: def built_gem_path +79: Dir[File.join(base, "#{name}-*.gem")].sort_by{|f| File.mtime(f)}.last +80: end
    @@ -699,11 +726,10 @@
    -     # File lib/bundler/gem_helper.rb, line 102
    -102:     def clean?
    -103:       out, code = sh_with_code("git diff --exit-code")
    -104:       code == 0
    -105:     end
    + # File lib/bundler/gem_helper.rb, line 104 +104: def clean? +105: sh_with_code("git diff --exit-code")[1] == 0 +106: end
    @@ -734,12 +760,12 @@
    -    # File lib/bundler/gem_helper.rb, line 80
    -80:     def git_push
    -81:       perform_git_push
    -82:       perform_git_push ' --tags'
    -83:       Bundler.ui.confirm "Pushed git commits and tags"
    -84:     end
    + # File lib/bundler/gem_helper.rb, line 82 +82: def git_push +83: perform_git_push +84: perform_git_push ' --tags' +85: Bundler.ui.confirm "Pushed git commits and tags" +86: end
    @@ -770,12 +796,12 @@
    -    # File lib/bundler/gem_helper.rb, line 92
    -92:     def guard_already_tagged
    -93:       if sh('git tag').split(/\n/).include?(version_tag)
    -94:         raise("This tag has already been committed to the repo.")
    -95:       end
    -96:     end
    + # File lib/bundler/gem_helper.rb, line 94 +94: def guard_already_tagged +95: if sh('git tag').split(/\n/).include?(version_tag) +96: raise("This tag has already been committed to the repo.") +97: end +98: end
    @@ -806,10 +832,10 @@
    -     # File lib/bundler/gem_helper.rb, line 98
    - 98:     def guard_clean
    - 99:       clean? or raise("There are files that need to be committed first.")
    -100:     end
    + # File lib/bundler/gem_helper.rb, line 100 +100: def guard_clean +101: clean? or raise("There are files that need to be committed first.") +102: end
    @@ -840,10 +866,10 @@
    -     # File lib/bundler/gem_helper.rb, line 125
    -125:     def name
    -126:       gemspec.name
    -127:     end
    + # File lib/bundler/gem_helper.rb, line 126 +126: def name +127: gemspec.name +128: end
    @@ -874,12 +900,12 @@
    -    # File lib/bundler/gem_helper.rb, line 86
    -86:     def perform_git_push(options = '')
    -87:       cmd = "git push #{options}"
    -88:       out, code = sh_with_code(cmd)
    -89:       raise "Couldn't git push. `#{cmd}' failed with the following output:\n\n#{out}\n" unless code == 0
    -90:     end
    + # File lib/bundler/gem_helper.rb, line 88 +88: def perform_git_push(options = '') +89: cmd = "git push #{options}" +90: out, code = sh_with_code(cmd) +91: raise "Couldn't git push. `#{cmd}' failed with the following output:\n\n#{out}\n" unless code == 0 +92: end
    @@ -910,12 +936,12 @@
    -    # File lib/bundler/gem_helper.rb, line 70
    -70:     def rubygem_push(path)
    -71:       out, status = sh("gem push #{path}")
    -72:       raise "Gem push failed due to lack of RubyGems.org credentials." if out[/Enter your RubyGems.org credentials/]
    -73:       Bundler.ui.confirm "Pushed #{name} #{version} to rubygems.org"
    -74:     end
    + # File lib/bundler/gem_helper.rb, line 72 +72: def rubygem_push(path) +73: out, _ = sh("gem push '#{path}'") +74: raise "Gem push failed due to lack of RubyGems.org credentials." if out[/Enter your RubyGems.org credentials/] +75: Bundler.ui.confirm "Pushed #{name} #{version} to rubygems.org" +76: end
    @@ -946,11 +972,11 @@
    -     # File lib/bundler/gem_helper.rb, line 129
    -129:     def sh(cmd, &block)
    -130:       out, code = sh_with_code(cmd, &block)
    -131:       code == 0 ? out : raise(out.empty? ? "Running `#{cmd}' failed. Run this command directly for more detailed output." : out)
    -132:     end
    + # File lib/bundler/gem_helper.rb, line 130 +130: def sh(cmd, &block) +131: out, code = sh_with_code(cmd, &block) +132: code == 0 ? out : raise(out.empty? ? "Running `#{cmd}' failed. Run this command directly for more detailed output." : out) +133: end
    @@ -981,19 +1007,19 @@
    -     # File lib/bundler/gem_helper.rb, line 134
    -134:     def sh_with_code(cmd, &block)
    -135:       cmd << " 2>&1"
    -136:       outbuf = ''
    -137:       Bundler.ui.debug(cmd)
    -138:       Dir.chdir(base) {
    -139:         outbuf = `#{cmd}`
    -140:         if $? == 0
    -141:           block.call(outbuf) if block
    -142:         end
    -143:       }
    -144:       [outbuf, $?]
    -145:     end
    + # File lib/bundler/gem_helper.rb, line 135 +135: def sh_with_code(cmd, &block) +136: cmd << " 2>&1" +137: outbuf = '' +138: Bundler.ui.debug(cmd) +139: Dir.chdir(base) { +140: outbuf = `#{cmd}` +141: if $? == 0 +142: block.call(outbuf) if block +143: end +144: } +145: [outbuf, $?] +146: end
    @@ -1024,16 +1050,16 @@
    -     # File lib/bundler/gem_helper.rb, line 107
    -107:     def tag_version
    -108:       sh "git tag -a -m \"Version #{version}\" #{version_tag}"
    -109:       Bundler.ui.confirm "Tagged #{version_tag}"
    -110:       yield if block_given?
    -111:     rescue
    -112:       Bundler.ui.error "Untagged #{version_tag} due to error"
    -113:       sh_with_code "git tag -d #{version_tag}"
    -114:       raise
    -115:     end
    + # File lib/bundler/gem_helper.rb, line 108 +108: def tag_version +109: sh "git tag -a -m \"Version #{version}\" #{version_tag}" +110: Bundler.ui.confirm "Tagged #{version_tag}" +111: yield if block_given? +112: rescue +113: Bundler.ui.error "Untagged #{version_tag} due to error" +114: sh_with_code "git tag -d #{version_tag}" +115: raise +116: end
    @@ -1064,10 +1090,10 @@
    -     # File lib/bundler/gem_helper.rb, line 117
    -117:     def version
    -118:       gemspec.version
    -119:     end
    + # File lib/bundler/gem_helper.rb, line 118 +118: def version +119: gemspec.version +120: end
    @@ -1098,10 +1124,10 @@
    -     # File lib/bundler/gem_helper.rb, line 121
    -121:     def version_tag
    -122:       "v#{version}"
    -123:     end
    + # File lib/bundler/gem_helper.rb, line 122 +122: def version_tag +123: "v#{version}" +124: end
    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/GemHelpers.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/GemHelpers.html similarity index 88% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/GemHelpers.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/GemHelpers.html index 88ddac07..4a00a189 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/GemHelpers.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/GemHelpers.html @@ -81,6 +81,10 @@
  • bundle
  • +
  • bundle-benchmark
  • + +
  • bundle-benchmark.txt
  • +
  • bundle-config
  • bundle-config.txt
  • @@ -190,16 +194,28 @@
  • Bundler::Resolver::SpecGroup
  • +
  • Bundler::RubygemsIntegration
  • + +
  • Bundler::RubygemsIntegration::AlmostModern
  • + +
  • Bundler::RubygemsIntegration::Deprecate
  • + +
  • Bundler::RubygemsIntegration::Gem
  • + +
  • Bundler::RubygemsIntegration::Gem::SourceIndex
  • + +
  • Bundler::RubygemsIntegration::Legacy
  • + +
  • Bundler::RubygemsIntegration::Modern
  • + +
  • Bundler::RubygemsIntegration::Transitional
  • +
  • Bundler::Runtime
  • Bundler::Settings
  • Bundler::SharedHelpers
  • -
  • Bundler::SharedHelpers::Gem
  • - -
  • Bundler::SharedHelpers::Gem::SourceIndex
  • -
  • Bundler::Source
  • Bundler::Source::Git
  • @@ -336,17 +352,17 @@
    -     # File lib/bundler/rubygems_ext.rb, line 193
    -193:     def generic(p)
    -194:       return p if p == Gem::Platform::RUBY
    -195: 
    -196:       GENERIC_CACHE[p] ||= begin
    -197:         found = GENERICS.find do |p2|
    -198:           p2.is_a?(Gem::Platform) && p.os == p2.os
    -199:         end
    -200:         found || Gem::Platform::RUBY
    -201:       end
    -202:     end
    + # File lib/bundler/rubygems_ext.rb, line 207 +207: def generic(p) +208: return p if p == Gem::Platform::RUBY +209: +210: GENERIC_CACHE[p] ||= begin +211: found = GENERICS.find do |p2| +212: p2.is_a?(Gem::Platform) && p.os == p2.os +213: end +214: found || Gem::Platform::RUBY +215: end +216: end
    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/GemNotFound.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/GemNotFound.html similarity index 90% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/GemNotFound.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/GemNotFound.html index 4374e0c5..bee2a584 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/GemNotFound.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/GemNotFound.html @@ -79,6 +79,10 @@
  • bundle
  • +
  • bundle-benchmark
  • + +
  • bundle-benchmark.txt
  • +
  • bundle-config
  • bundle-config.txt
  • @@ -188,16 +192,28 @@
  • Bundler::Resolver::SpecGroup
  • +
  • Bundler::RubygemsIntegration
  • + +
  • Bundler::RubygemsIntegration::AlmostModern
  • + +
  • Bundler::RubygemsIntegration::Deprecate
  • + +
  • Bundler::RubygemsIntegration::Gem
  • + +
  • Bundler::RubygemsIntegration::Gem::SourceIndex
  • + +
  • Bundler::RubygemsIntegration::Legacy
  • + +
  • Bundler::RubygemsIntegration::Modern
  • + +
  • Bundler::RubygemsIntegration::Transitional
  • +
  • Bundler::Runtime
  • Bundler::Settings
  • Bundler::SharedHelpers
  • -
  • Bundler::SharedHelpers::Gem
  • - -
  • Bundler::SharedHelpers::Gem::SourceIndex
  • -
  • Bundler::Source
  • Bundler::Source::Git
  • diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/GemfileError.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/GemfileError.html similarity index 90% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/GemfileError.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/GemfileError.html index c1b7b5bf..b9dddc22 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/GemfileError.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/GemfileError.html @@ -79,6 +79,10 @@
  • bundle
  • +
  • bundle-benchmark
  • + +
  • bundle-benchmark.txt
  • +
  • bundle-config
  • bundle-config.txt
  • @@ -188,16 +192,28 @@
  • Bundler::Resolver::SpecGroup
  • +
  • Bundler::RubygemsIntegration
  • + +
  • Bundler::RubygemsIntegration::AlmostModern
  • + +
  • Bundler::RubygemsIntegration::Deprecate
  • + +
  • Bundler::RubygemsIntegration::Gem
  • + +
  • Bundler::RubygemsIntegration::Gem::SourceIndex
  • + +
  • Bundler::RubygemsIntegration::Legacy
  • + +
  • Bundler::RubygemsIntegration::Modern
  • + +
  • Bundler::RubygemsIntegration::Transitional
  • +
  • Bundler::Runtime
  • Bundler::Settings
  • Bundler::SharedHelpers
  • -
  • Bundler::SharedHelpers::Gem
  • - -
  • Bundler::SharedHelpers::Gem::SourceIndex
  • -
  • Bundler::Source
  • Bundler::Source::Git
  • diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/GemfileNotFound.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/GemfileNotFound.html similarity index 90% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/GemfileNotFound.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/GemfileNotFound.html index d8170784..55dc3110 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/GemfileNotFound.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/GemfileNotFound.html @@ -79,6 +79,10 @@
  • bundle
  • +
  • bundle-benchmark
  • + +
  • bundle-benchmark.txt
  • +
  • bundle-config
  • bundle-config.txt
  • @@ -188,16 +192,28 @@
  • Bundler::Resolver::SpecGroup
  • +
  • Bundler::RubygemsIntegration
  • + +
  • Bundler::RubygemsIntegration::AlmostModern
  • + +
  • Bundler::RubygemsIntegration::Deprecate
  • + +
  • Bundler::RubygemsIntegration::Gem
  • + +
  • Bundler::RubygemsIntegration::Gem::SourceIndex
  • + +
  • Bundler::RubygemsIntegration::Legacy
  • + +
  • Bundler::RubygemsIntegration::Modern
  • + +
  • Bundler::RubygemsIntegration::Transitional
  • +
  • Bundler::Runtime
  • Bundler::Settings
  • Bundler::SharedHelpers
  • -
  • Bundler::SharedHelpers::Gem
  • - -
  • Bundler::SharedHelpers::Gem::SourceIndex
  • -
  • Bundler::Source
  • Bundler::Source::Git
  • diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/GemspecError.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/GemspecError.html similarity index 90% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/GemspecError.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/GemspecError.html index af69f980..ef0877ff 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/GemspecError.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/GemspecError.html @@ -79,6 +79,10 @@
  • bundle
  • +
  • bundle-benchmark
  • + +
  • bundle-benchmark.txt
  • +
  • bundle-config
  • bundle-config.txt
  • @@ -188,16 +192,28 @@
  • Bundler::Resolver::SpecGroup
  • +
  • Bundler::RubygemsIntegration
  • + +
  • Bundler::RubygemsIntegration::AlmostModern
  • + +
  • Bundler::RubygemsIntegration::Deprecate
  • + +
  • Bundler::RubygemsIntegration::Gem
  • + +
  • Bundler::RubygemsIntegration::Gem::SourceIndex
  • + +
  • Bundler::RubygemsIntegration::Legacy
  • + +
  • Bundler::RubygemsIntegration::Modern
  • + +
  • Bundler::RubygemsIntegration::Transitional
  • +
  • Bundler::Runtime
  • Bundler::Settings
  • Bundler::SharedHelpers
  • -
  • Bundler::SharedHelpers::Gem
  • - -
  • Bundler::SharedHelpers::Gem::SourceIndex
  • -
  • Bundler::Source
  • Bundler::Source::Git
  • diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/GitError.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/GitError.html similarity index 90% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/GitError.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/GitError.html index 47a84c22..e6d3912d 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/GitError.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/GitError.html @@ -79,6 +79,10 @@
  • bundle
  • +
  • bundle-benchmark
  • + +
  • bundle-benchmark.txt
  • +
  • bundle-config
  • bundle-config.txt
  • @@ -188,16 +192,28 @@
  • Bundler::Resolver::SpecGroup
  • +
  • Bundler::RubygemsIntegration
  • + +
  • Bundler::RubygemsIntegration::AlmostModern
  • + +
  • Bundler::RubygemsIntegration::Deprecate
  • + +
  • Bundler::RubygemsIntegration::Gem
  • + +
  • Bundler::RubygemsIntegration::Gem::SourceIndex
  • + +
  • Bundler::RubygemsIntegration::Legacy
  • + +
  • Bundler::RubygemsIntegration::Modern
  • + +
  • Bundler::RubygemsIntegration::Transitional
  • +
  • Bundler::Runtime
  • Bundler::Settings
  • Bundler::SharedHelpers
  • -
  • Bundler::SharedHelpers::Gem
  • - -
  • Bundler::SharedHelpers::Gem::SourceIndex
  • -
  • Bundler::Source
  • Bundler::Source::Git
  • diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/Graph.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/Graph.html similarity index 95% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/Graph.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/Graph.html index ae998e50..f94fa579 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/Graph.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/Graph.html @@ -96,6 +96,10 @@
  • bundle
  • +
  • bundle-benchmark
  • + +
  • bundle-benchmark.txt
  • +
  • bundle-config
  • bundle-config.txt
  • @@ -205,16 +209,28 @@
  • Bundler::Resolver::SpecGroup
  • +
  • Bundler::RubygemsIntegration
  • + +
  • Bundler::RubygemsIntegration::AlmostModern
  • + +
  • Bundler::RubygemsIntegration::Deprecate
  • + +
  • Bundler::RubygemsIntegration::Gem
  • + +
  • Bundler::RubygemsIntegration::Gem::SourceIndex
  • + +
  • Bundler::RubygemsIntegration::Legacy
  • + +
  • Bundler::RubygemsIntegration::Modern
  • + +
  • Bundler::RubygemsIntegration::Transitional
  • +
  • Bundler::Runtime
  • Bundler::Settings
  • Bundler::SharedHelpers
  • -
  • Bundler::SharedHelpers::Gem
  • - -
  • Bundler::SharedHelpers::Gem::SourceIndex
  • -
  • Bundler::Source
  • Bundler::Source::Git
  • @@ -557,7 +573,7 @@ 83: 84: # For gems in Gemfile, add details 85: @env.current_dependencies.each do |dependency| - 86: node = @nodes[dependency.name] + 86: next unless node = @nodes[dependency.name] 87: node.is_user = true 88: 89: dependency.groups.each do |group| diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/GraphNode.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/GraphNode.html similarity index 92% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/GraphNode.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/GraphNode.html index e730dc9b..185b6148 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/GraphNode.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/GraphNode.html @@ -88,6 +88,10 @@
  • bundle
  • +
  • bundle-benchmark
  • + +
  • bundle-benchmark.txt
  • +
  • bundle-config
  • bundle-config.txt
  • @@ -197,16 +201,28 @@
  • Bundler::Resolver::SpecGroup
  • +
  • Bundler::RubygemsIntegration
  • + +
  • Bundler::RubygemsIntegration::AlmostModern
  • + +
  • Bundler::RubygemsIntegration::Deprecate
  • + +
  • Bundler::RubygemsIntegration::Gem
  • + +
  • Bundler::RubygemsIntegration::Gem::SourceIndex
  • + +
  • Bundler::RubygemsIntegration::Legacy
  • + +
  • Bundler::RubygemsIntegration::Modern
  • + +
  • Bundler::RubygemsIntegration::Transitional
  • +
  • Bundler::Runtime
  • Bundler::Settings
  • Bundler::SharedHelpers
  • -
  • Bundler::SharedHelpers::Gem
  • - -
  • Bundler::SharedHelpers::Gem::SourceIndex
  • -
  • Bundler::Source
  • Bundler::Source::Git
  • diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/Index.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/Index.html similarity index 94% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/Index.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/Index.html index 27708501..8bf92678 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/Index.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/Index.html @@ -129,6 +129,10 @@
  • bundle
  • +
  • bundle-benchmark
  • + +
  • bundle-benchmark.txt
  • +
  • bundle-config
  • bundle-config.txt
  • @@ -238,16 +242,28 @@
  • Bundler::Resolver::SpecGroup
  • +
  • Bundler::RubygemsIntegration
  • + +
  • Bundler::RubygemsIntegration::AlmostModern
  • + +
  • Bundler::RubygemsIntegration::Deprecate
  • + +
  • Bundler::RubygemsIntegration::Gem
  • + +
  • Bundler::RubygemsIntegration::Gem::SourceIndex
  • + +
  • Bundler::RubygemsIntegration::Legacy
  • + +
  • Bundler::RubygemsIntegration::Modern
  • + +
  • Bundler::RubygemsIntegration::Transitional
  • +
  • Bundler::Runtime
  • Bundler::Settings
  • Bundler::SharedHelpers
  • -
  • Bundler::SharedHelpers::Gem
  • - -
  • Bundler::SharedHelpers::Gem::SourceIndex
  • -
  • Bundler::Source
  • Bundler::Source::Git
  • @@ -853,7 +869,7 @@ 104: def same_version?(a, b) 105: regex = /^(.*?)(?:\.0)*$/ 106: -107: ret = a.to_s[regex, 1] == b.to_s[regex, 1] +107: a.to_s[regex, 1] == b.to_s[regex, 1] 108: end @@ -889,18 +905,17 @@ 115: def search_by_dependency(dependency) 116: @cache[dependency.hash] ||= begin 117: specs = @specs[dependency.name] -118: -119: wants_prerelease = dependency.requirement.prerelease? -120: only_prerelease = specs.all? {|spec| spec.version.prerelease? } -121: found = specs.select { |spec| dependency.matches_spec?(spec) && Gem::Platform.match(spec.platform) } -122: -123: unless wants_prerelease || only_prerelease -124: found.reject! { |spec| spec.version.prerelease? } -125: end -126: -127: found.sort_by {|s| [s.version, s.platform.to_s == 'ruby' ? "\00"" : s.platform.to_s] } -128: end -129: end +118: found = specs.select { |spec| dependency.matches_spec?(spec) && Gem::Platform.match(spec.platform) } +119: +120: wants_prerelease = dependency.requirement.prerelease? +121: only_prerelease = specs.all? {|spec| spec.version.prerelease? } +122: unless wants_prerelease || only_prerelease +123: found.reject! { |spec| spec.version.prerelease? } +124: end +125: +126: found.sort_by {|s| [s.version, s.platform.to_s == 'ruby' ? "\00"" : s.platform.to_s] } +127: end +128: end diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/Installer.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/Installer.html similarity index 77% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/Installer.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/Installer.html index 2ae200ee..18da2f8a 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/Installer.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/Installer.html @@ -92,6 +92,10 @@
  • bundle
  • +
  • bundle-benchmark
  • + +
  • bundle-benchmark.txt
  • +
  • bundle-config
  • bundle-config.txt
  • @@ -201,16 +205,28 @@
  • Bundler::Resolver::SpecGroup
  • +
  • Bundler::RubygemsIntegration
  • + +
  • Bundler::RubygemsIntegration::AlmostModern
  • + +
  • Bundler::RubygemsIntegration::Deprecate
  • + +
  • Bundler::RubygemsIntegration::Gem
  • + +
  • Bundler::RubygemsIntegration::Gem::SourceIndex
  • + +
  • Bundler::RubygemsIntegration::Legacy
  • + +
  • Bundler::RubygemsIntegration::Modern
  • + +
  • Bundler::RubygemsIntegration::Transitional
  • +
  • Bundler::Runtime
  • Bundler::Settings
  • Bundler::SharedHelpers
  • -
  • Bundler::SharedHelpers::Gem
  • - -
  • Bundler::SharedHelpers::Gem::SourceIndex
  • -
  • Bundler::Source
  • Bundler::Source::Git
  • @@ -374,61 +390,62 @@
         # File lib/bundler/installer.rb, line 12
     12:     def run(options)
    -13:       if Bundler.settings[:frozen]
    -14:         @definition.ensure_equivalent_gemfile_and_lockfile
    -15:       end
    -16: 
    -17:       if dependencies.empty?
    -18:         Bundler.ui.warn "The Gemfile specifies no dependencies"
    -19:         return
    -20:       end
    -21: 
    -22:       if Bundler.default_lockfile.exist? && !options["update"]
    -23:         begin
    -24:           tmpdef = Definition.build(Bundler.default_gemfile, Bundler.default_lockfile, nil)
    -25:           local = true unless tmpdef.new_platform? || tmpdef.missing_specs.any?
    -26:         rescue BundlerError
    -27:         end
    +13:       # Create the BUNDLE_PATH directory
    +14:       begin
    +15:         Bundler.bundle_path.mkpath unless Bundler.bundle_path.exist?
    +16:       rescue Errno::EEXIST
    +17:         raise PathError, "Could not install to path `#{Bundler.settings[:path]}` " +
    +18:           "because of an invalid symlink. Remove the symlink so the directory can be created."
    +19:       end
    +20: 
    +21:       if Bundler.settings[:frozen]
    +22:         @definition.ensure_equivalent_gemfile_and_lockfile(options[:deployment])
    +23:       end
    +24: 
    +25:       if dependencies.empty?
    +26:         Bundler.ui.warn "The Gemfile specifies no dependencies"
    +27:         return
     28:       end
     29: 
    -30:       # Since we are installing, we can resolve the definition
    -31:       # using remote specs
    -32:       unless local
    -33:         options["local"] ?
    -34:           @definition.resolve_with_cache! :
    -35:           @definition.resolve_remotely!
    +30:       if Bundler.default_lockfile.exist? && !options["update"]
    +31:         begin
    +32:           tmpdef = Definition.build(Bundler.default_gemfile, Bundler.default_lockfile, nil)
    +33:           local = true unless tmpdef.new_platform? || tmpdef.missing_specs.any?
    +34:         rescue BundlerError
    +35:         end
     36:       end
     37: 
    -38:       # Ensure that BUNDLE_PATH exists
    -39:       Bundler.mkdir_p(Bundler.bundle_path) unless File.exist?(Bundler.bundle_path)
    -40: 
    -41:       # Must install gems in the order that the resolver provides
    -42:       # as dependencies might actually affect the installation of
    -43:       # the gem.
    -44:       specs.each do |spec|
    -45:         spec.source.fetch(spec) if spec.source.respond_to?(:fetch)
    -46: 
    -47:         # unless requested_specs.include?(spec)
    -48:         #   Bundler.ui.debug "  * Not in requested group; skipping."
    -49:         #   next
    -50:         # end
    +38:       # Since we are installing, we can resolve the definition
    +39:       # using remote specs
    +40:       unless local
    +41:         options["local"] ?
    +42:           @definition.resolve_with_cache! :
    +43:           @definition.resolve_remotely!
    +44:       end
    +45: 
    +46:       # Must install gems in the order that the resolver provides
    +47:       # as dependencies might actually affect the installation of
    +48:       # the gem.
    +49:       specs.each do |spec|
    +50:         spec.source.fetch(spec) if spec.source.respond_to?(:fetch)
     51: 
    -52:         begin
    -53:           old_args = Gem::Command.build_args
    -54:           Gem::Command.build_args = [Bundler.settings["build.#{spec.name}"]]
    -55:           spec.source.install(spec)
    -56:           Bundler.ui.debug "from #{spec.loaded_from} "
    -57:         ensure
    -58:           Gem::Command.build_args = old_args
    -59:         end
    -60: 
    -61:         Bundler.ui.info ""
    -62:         generate_bundler_executable_stubs(spec) if Bundler.settings[:bin]
    -63:         FileUtils.rm_rf(Bundler.tmp)
    -64:       end
    -65: 
    -66:       lock
    -67:     end
    +52: # unless requested_specs.include?(spec) +53: # Bundler.ui.debug " * Not in requested group; skipping." +54: # next +55: # end +56: +57: Bundler.rubygems.with_build_args [Bundler.settings["build.#{spec.name}"]] do +58: spec.source.install(spec) +59: Bundler.ui.debug "from #{spec.loaded_from} " +60: end +61: +62: Bundler.ui.info "" +63: generate_bundler_executable_stubs(spec) if Bundler.settings[:bin] +64: FileUtils.rm_rf(Bundler.tmp) +65: end +66: +67: lock +68: end @@ -465,20 +482,20 @@
    -    # File lib/bundler/installer.rb, line 71
    -71:     def generate_bundler_executable_stubs(spec)
    -72:       bin_path = Bundler.bin_path
    -73:       template = File.read(File.expand_path('../templates/Executable', __FILE__))
    -74:       relative_gemfile_path = Bundler.default_gemfile.relative_path_from(bin_path)
    -75:       ruby_command = Thor::Util.ruby_command
    -76: 
    -77:       spec.executables.each do |executable|
    -78:         next if executable == "bundle"
    -79:         File.open "#{bin_path}/#{executable}", 'w', 0755 do |f|
    -80:           f.puts ERB.new(template, nil, '-').result(binding)
    -81:         end
    -82:       end
    -83:     end
    + # File lib/bundler/installer.rb, line 72 +72: def generate_bundler_executable_stubs(spec) +73: bin_path = Bundler.bin_path +74: template = File.read(File.expand_path('../templates/Executable', __FILE__)) +75: relative_gemfile_path = Bundler.default_gemfile.relative_path_from(bin_path) +76: ruby_command = Thor::Util.ruby_command +77: +78: spec.executables.each do |executable| +79: next if executable == "bundle" +80: File.open "#{bin_path}/#{executable}", 'w', 0755 do |f| +81: f.puts ERB.new(template, nil, '-').result(binding) +82: end +83: end +84: end
    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/InvalidOption.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/InvalidOption.html similarity index 90% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/InvalidOption.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/InvalidOption.html index ea762079..ca5de448 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/InvalidOption.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/InvalidOption.html @@ -79,6 +79,10 @@
  • bundle
  • +
  • bundle-benchmark
  • + +
  • bundle-benchmark.txt
  • +
  • bundle-config
  • bundle-config.txt
  • @@ -188,16 +192,28 @@
  • Bundler::Resolver::SpecGroup
  • +
  • Bundler::RubygemsIntegration
  • + +
  • Bundler::RubygemsIntegration::AlmostModern
  • + +
  • Bundler::RubygemsIntegration::Deprecate
  • + +
  • Bundler::RubygemsIntegration::Gem
  • + +
  • Bundler::RubygemsIntegration::Gem::SourceIndex
  • + +
  • Bundler::RubygemsIntegration::Legacy
  • + +
  • Bundler::RubygemsIntegration::Modern
  • + +
  • Bundler::RubygemsIntegration::Transitional
  • +
  • Bundler::Runtime
  • Bundler::Settings
  • Bundler::SharedHelpers
  • -
  • Bundler::SharedHelpers::Gem
  • - -
  • Bundler::SharedHelpers::Gem::SourceIndex
  • -
  • Bundler::Source
  • Bundler::Source::Git
  • diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/InvalidSpecSet.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/InvalidSpecSet.html similarity index 90% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/InvalidSpecSet.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/InvalidSpecSet.html index 9e6b29db..98ee51e4 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/InvalidSpecSet.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/InvalidSpecSet.html @@ -79,6 +79,10 @@
  • bundle
  • +
  • bundle-benchmark
  • + +
  • bundle-benchmark.txt
  • +
  • bundle-config
  • bundle-config.txt
  • @@ -188,16 +192,28 @@
  • Bundler::Resolver::SpecGroup
  • +
  • Bundler::RubygemsIntegration
  • + +
  • Bundler::RubygemsIntegration::AlmostModern
  • + +
  • Bundler::RubygemsIntegration::Deprecate
  • + +
  • Bundler::RubygemsIntegration::Gem
  • + +
  • Bundler::RubygemsIntegration::Gem::SourceIndex
  • + +
  • Bundler::RubygemsIntegration::Legacy
  • + +
  • Bundler::RubygemsIntegration::Modern
  • + +
  • Bundler::RubygemsIntegration::Transitional
  • +
  • Bundler::Runtime
  • Bundler::Settings
  • Bundler::SharedHelpers
  • -
  • Bundler::SharedHelpers::Gem
  • - -
  • Bundler::SharedHelpers::Gem::SourceIndex
  • -
  • Bundler::Source
  • Bundler::Source::Git
  • diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/LazySpecification.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/LazySpecification.html similarity index 95% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/LazySpecification.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/LazySpecification.html index 46ec8bbb..a9b23bb6 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/LazySpecification.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/LazySpecification.html @@ -113,6 +113,10 @@
  • bundle
  • +
  • bundle-benchmark
  • + +
  • bundle-benchmark.txt
  • +
  • bundle-config
  • bundle-config.txt
  • @@ -222,16 +226,28 @@
  • Bundler::Resolver::SpecGroup
  • +
  • Bundler::RubygemsIntegration
  • + +
  • Bundler::RubygemsIntegration::AlmostModern
  • + +
  • Bundler::RubygemsIntegration::Deprecate
  • + +
  • Bundler::RubygemsIntegration::Gem
  • + +
  • Bundler::RubygemsIntegration::Gem::SourceIndex
  • + +
  • Bundler::RubygemsIntegration::Legacy
  • + +
  • Bundler::RubygemsIntegration::Modern
  • + +
  • Bundler::RubygemsIntegration::Transitional
  • +
  • Bundler::Runtime
  • Bundler::Settings
  • Bundler::SharedHelpers
  • -
  • Bundler::SharedHelpers::Gem
  • - -
  • Bundler::SharedHelpers::Gem::SourceIndex
  • -
  • Bundler::Source
  • Bundler::Source::Git
  • @@ -627,7 +643,7 @@ 36: out = " #{name} (#{version}-#{platform})\n" 37: end 38: -39: dependencies.sort_by {|d| d.name }.each do |dep| +39: dependencies.sort_by {|d| d.to_s }.each do |dep| 40: next if dep.type == :development 41: out << " #{dep.to_lock}\n" 42: end diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/LockfileParser.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/LockfileParser.html similarity index 96% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/LockfileParser.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/LockfileParser.html index 655580ea..0fbc40ce 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/LockfileParser.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/LockfileParser.html @@ -96,6 +96,10 @@
  • bundle
  • +
  • bundle-benchmark
  • + +
  • bundle-benchmark.txt
  • +
  • bundle-config
  • bundle-config.txt
  • @@ -205,16 +209,28 @@
  • Bundler::Resolver::SpecGroup
  • +
  • Bundler::RubygemsIntegration
  • + +
  • Bundler::RubygemsIntegration::AlmostModern
  • + +
  • Bundler::RubygemsIntegration::Deprecate
  • + +
  • Bundler::RubygemsIntegration::Gem
  • + +
  • Bundler::RubygemsIntegration::Gem::SourceIndex
  • + +
  • Bundler::RubygemsIntegration::Legacy
  • + +
  • Bundler::RubygemsIntegration::Modern
  • + +
  • Bundler::RubygemsIntegration::Transitional
  • +
  • Bundler::Runtime
  • Bundler::Settings
  • Bundler::SharedHelpers
  • -
  • Bundler::SharedHelpers::Gem
  • - -
  • Bundler::SharedHelpers::Gem::SourceIndex
  • -
  • Bundler::Source
  • Bundler::Source::Git
  • diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/MatchPlatform.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/MatchPlatform.html similarity index 89% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/MatchPlatform.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/MatchPlatform.html index 5e54de18..786571e6 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/MatchPlatform.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/MatchPlatform.html @@ -92,6 +92,10 @@
  • bundle
  • +
  • bundle-benchmark
  • + +
  • bundle-benchmark.txt
  • +
  • bundle-config
  • bundle-config.txt
  • @@ -201,16 +205,28 @@
  • Bundler::Resolver::SpecGroup
  • +
  • Bundler::RubygemsIntegration
  • + +
  • Bundler::RubygemsIntegration::AlmostModern
  • + +
  • Bundler::RubygemsIntegration::Deprecate
  • + +
  • Bundler::RubygemsIntegration::Gem
  • + +
  • Bundler::RubygemsIntegration::Gem::SourceIndex
  • + +
  • Bundler::RubygemsIntegration::Legacy
  • + +
  • Bundler::RubygemsIntegration::Modern
  • + +
  • Bundler::RubygemsIntegration::Transitional
  • +
  • Bundler::Runtime
  • Bundler::Settings
  • Bundler::SharedHelpers
  • -
  • Bundler::SharedHelpers::Gem
  • - -
  • Bundler::SharedHelpers::Gem::SourceIndex
  • -
  • Bundler::Source
  • Bundler::Source::Git
  • @@ -330,12 +346,12 @@
    -     # File lib/bundler/rubygems_ext.rb, line 208
    -208:     def match_platform(p)
    -209:       Gem::Platform::RUBY == platform or
    -210:       platform.nil? or p == platform or
    -211:       generic(Gem::Platform.new(platform)) == p
    -212:     end
    + # File lib/bundler/rubygems_ext.rb, line 222 +222: def match_platform(p) +223: Gem::Platform::RUBY == platform or +224: platform.nil? or p == platform or +225: generic(Gem::Platform.new(platform)) == p +226: end
    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/PathError.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/PathError.html similarity index 90% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/PathError.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/PathError.html index 59979f5d..7d7807f5 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/PathError.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/PathError.html @@ -79,6 +79,10 @@
  • bundle
  • +
  • bundle-benchmark
  • + +
  • bundle-benchmark.txt
  • +
  • bundle-config
  • bundle-config.txt
  • @@ -188,16 +192,28 @@
  • Bundler::Resolver::SpecGroup
  • +
  • Bundler::RubygemsIntegration
  • + +
  • Bundler::RubygemsIntegration::AlmostModern
  • + +
  • Bundler::RubygemsIntegration::Deprecate
  • + +
  • Bundler::RubygemsIntegration::Gem
  • + +
  • Bundler::RubygemsIntegration::Gem::SourceIndex
  • + +
  • Bundler::RubygemsIntegration::Legacy
  • + +
  • Bundler::RubygemsIntegration::Modern
  • + +
  • Bundler::RubygemsIntegration::Transitional
  • +
  • Bundler::Runtime
  • Bundler::Settings
  • Bundler::SharedHelpers
  • -
  • Bundler::SharedHelpers::Gem
  • - -
  • Bundler::SharedHelpers::Gem::SourceIndex
  • -
  • Bundler::Source
  • Bundler::Source::Git
  • diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/ProductionError.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/ProductionError.html similarity index 90% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/ProductionError.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/ProductionError.html index 871ee1aa..a0e5e6cd 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/ProductionError.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/ProductionError.html @@ -79,6 +79,10 @@
  • bundle
  • +
  • bundle-benchmark
  • + +
  • bundle-benchmark.txt
  • +
  • bundle-config
  • bundle-config.txt
  • @@ -188,16 +192,28 @@
  • Bundler::Resolver::SpecGroup
  • +
  • Bundler::RubygemsIntegration
  • + +
  • Bundler::RubygemsIntegration::AlmostModern
  • + +
  • Bundler::RubygemsIntegration::Deprecate
  • + +
  • Bundler::RubygemsIntegration::Gem
  • + +
  • Bundler::RubygemsIntegration::Gem::SourceIndex
  • + +
  • Bundler::RubygemsIntegration::Legacy
  • + +
  • Bundler::RubygemsIntegration::Modern
  • + +
  • Bundler::RubygemsIntegration::Transitional
  • +
  • Bundler::Runtime
  • Bundler::Settings
  • Bundler::SharedHelpers
  • -
  • Bundler::SharedHelpers::Gem
  • - -
  • Bundler::SharedHelpers::Gem::SourceIndex
  • -
  • Bundler::Source
  • Bundler::Source::Git
  • diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/RemoteSpecification.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/RemoteSpecification.html similarity index 94% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/RemoteSpecification.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/RemoteSpecification.html index 98894a63..7b0fd6aa 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/RemoteSpecification.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/RemoteSpecification.html @@ -109,6 +109,10 @@
  • bundle
  • +
  • bundle-benchmark
  • + +
  • bundle-benchmark.txt
  • +
  • bundle-config
  • bundle-config.txt
  • @@ -218,16 +222,28 @@
  • Bundler::Resolver::SpecGroup
  • +
  • Bundler::RubygemsIntegration
  • + +
  • Bundler::RubygemsIntegration::AlmostModern
  • + +
  • Bundler::RubygemsIntegration::Deprecate
  • + +
  • Bundler::RubygemsIntegration::Gem
  • + +
  • Bundler::RubygemsIntegration::Gem::SourceIndex
  • + +
  • Bundler::RubygemsIntegration::Legacy
  • + +
  • Bundler::RubygemsIntegration::Modern
  • + +
  • Bundler::RubygemsIntegration::Transitional
  • +
  • Bundler::Runtime
  • Bundler::Settings
  • Bundler::SharedHelpers
  • -
  • Bundler::SharedHelpers::Gem
  • - -
  • Bundler::SharedHelpers::Gem::SourceIndex
  • -
  • Bundler::Source
  • Bundler::Source::Git
  • diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/Resolver.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/Resolver.html similarity index 97% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/Resolver.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/Resolver.html index a258b26a..c4dee7a6 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/Resolver.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/Resolver.html @@ -121,6 +121,10 @@
  • bundle
  • +
  • bundle-benchmark
  • + +
  • bundle-benchmark.txt
  • +
  • bundle-config
  • bundle-config.txt
  • @@ -230,16 +234,28 @@
  • Bundler::Resolver::SpecGroup
  • +
  • Bundler::RubygemsIntegration
  • + +
  • Bundler::RubygemsIntegration::AlmostModern
  • + +
  • Bundler::RubygemsIntegration::Deprecate
  • + +
  • Bundler::RubygemsIntegration::Gem
  • + +
  • Bundler::RubygemsIntegration::Gem::SourceIndex
  • + +
  • Bundler::RubygemsIntegration::Legacy
  • + +
  • Bundler::RubygemsIntegration::Modern
  • + +
  • Bundler::RubygemsIntegration::Transitional
  • +
  • Bundler::Runtime
  • Bundler::Settings
  • Bundler::SharedHelpers
  • -
  • Bundler::SharedHelpers::Gem
  • - -
  • Bundler::SharedHelpers::Gem::SourceIndex
  • -
  • Bundler::Source
  • Bundler::Source::Git
  • @@ -577,7 +593,7 @@ If the list of dependencies can be resolved, a
          # File lib/bundler/resolver.rb, line 409
     409:     def error_message
    -410:       output = errors.inject("") do |o, (conflict, (origin, requirement))|
    +410:       errors.inject("") do |o, (conflict, (origin, requirement))|
     411: 
     412:         # origin is the SpecSet of specs from the Gemfile that is conflicted with
     413:         if origin
    @@ -592,7 +608,7 @@ If the list of dependencies can be resolved, a
     422:             o << "  Current Bundler version:\n"
     423:             newer_bundler_required = requirement.requirement > Gem::Requirement.new(origin.version)
     424:           # If the origin is a LockfileParser, it does not respond_to :required_by
    -425:           elsif !origin.respond_to?(:required_by) || !(required_by = origin.required_by.first)
    +425:           elsif !origin.respond_to?(:required_by) || !(origin.required_by.first)
     426:             o << "  In snapshot (Gemfile.lock):\n"
     427:           end
     428: 
    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/Resolver/SpecGroup.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/Resolver/SpecGroup.html
    similarity index 95%
    rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/Resolver/SpecGroup.html
    rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/Resolver/SpecGroup.html
    index e37a38ca..c8611f71 100644
    --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/Resolver/SpecGroup.html
    +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/Resolver/SpecGroup.html
    @@ -117,6 +117,10 @@
     				
     					
  • bundle
  • +
  • bundle-benchmark
  • + +
  • bundle-benchmark.txt
  • +
  • bundle-config
  • bundle-config.txt
  • @@ -226,16 +230,28 @@
  • Bundler::Resolver::SpecGroup
  • +
  • Bundler::RubygemsIntegration
  • + +
  • Bundler::RubygemsIntegration::AlmostModern
  • + +
  • Bundler::RubygemsIntegration::Deprecate
  • + +
  • Bundler::RubygemsIntegration::Gem
  • + +
  • Bundler::RubygemsIntegration::Gem::SourceIndex
  • + +
  • Bundler::RubygemsIntegration::Legacy
  • + +
  • Bundler::RubygemsIntegration::Modern
  • + +
  • Bundler::RubygemsIntegration::Transitional
  • +
  • Bundler::Runtime
  • Bundler::Settings
  • Bundler::SharedHelpers
  • -
  • Bundler::SharedHelpers::Gem
  • - -
  • Bundler::SharedHelpers::Gem::SourceIndex
  • -
  • Bundler::Source
  • Bundler::Source::Git
  • diff --git a/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/RubygemsIntegration.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/RubygemsIntegration.html new file mode 100644 index 00000000..e2d1be05 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/RubygemsIntegration.html @@ -0,0 +1,1619 @@ + + + + + + + Class: Bundler::RubygemsIntegration + + + + + + + + + + + +
    +
    +
    +

    + Home + Classes + Methods +

    +
    +
    + +
    +
    +

    In Files

    + +
    + + +
    + + + +
    + + + + + +
    +

    Class Index + [+]

    +
    +
    + Quicksearch + +
    +
    + + + +
    + + +
    +
    + +
    +

    Bundler::RubygemsIntegration

    + +
    + +
    + + + +
    +

    Constants

    +
    + +
    Deprecate
    + +
    + + +
    Deprecate
    + +
    + + +
    +
    + + + + + + + +
    +

    Public Class Methods

    + + +
    + + +
    + + new() + click to toggle source + +
    + +
    + + + + + +
    +
    +   # File lib/bundler/rubygems_integration.rb, line 3
    +3:     def initialize
    +4:       # Work around a RubyGems bug
    +5:       configuration
    +6:     end
    +
    + +
    + + + + +
    + + +
    + +
    +

    Public Instance Methods

    + + +
    + + +
    + + bin_path(gem, bin, ver) + click to toggle source + +
    + +
    + + + + + +
    +
    +    # File lib/bundler/rubygems_integration.rb, line 72
    +72:     def bin_path(gem, bin, ver)
    +73:       Gem.bin_path(gem, bin, ver)
    +74:     end
    +
    + +
    + + + + +
    + + +
    + + +
    + + clear_paths() + click to toggle source + +
    + +
    + + + + + +
    +
    +    # File lib/bundler/rubygems_integration.rb, line 68
    +68:     def clear_paths
    +69:       Gem.clear_paths
    +70:     end
    +
    + +
    + + + + +
    + + +
    + + +
    + + configuration() + click to toggle source + +
    + +
    + + + + + +
    +
    +    # File lib/bundler/rubygems_integration.rb, line 24
    +24:     def configuration
    +25:       Gem.configuration
    +26:     end
    +
    + +
    + + + + +
    + + +
    + + +
    + + download_gem(spec, uri, path) + click to toggle source + +
    + +
    + + + + + +
    +
    +     # File lib/bundler/rubygems_integration.rb, line 103
    +103:     def download_gem(spec, uri, path)
    +104:       Gem::RemoteFetcher.fetcher.download(spec, uri, path)
    +105:     end
    +
    + +
    + + + + +
    + + +
    + + +
    + + fetch_specs(all, pre, &blk) + click to toggle source + +
    + +
    + + + + + +
    +
    +    # File lib/bundler/rubygems_integration.rb, line 85
    +85:     def fetch_specs(all, pre, &blk)
    +86:       Gem::SpecFetcher.new.list(all, pre).each(&blk)
    +87:     end
    +
    + +
    + + + + +
    + + +
    + + +
    + + gem_bindir() + click to toggle source + +
    + +
    + + + + + +
    +
    +    # File lib/bundler/rubygems_integration.rb, line 52
    +52:     def gem_bindir
    +53:       Gem.bindir
    +54:     end
    +
    + +
    + + + + +
    + + +
    + + +
    + + gem_dir() + click to toggle source + +
    + +
    + + + + + +
    +
    +    # File lib/bundler/rubygems_integration.rb, line 48
    +48:     def gem_dir
    +49:       Gem.dir
    +50:     end
    +
    + +
    + + + + +
    + + +
    + + +
    + + gem_path() + click to toggle source + +
    + +
    + + + + + +
    +
    +    # File lib/bundler/rubygems_integration.rb, line 60
    +60:     def gem_path
    +61:       Gem.path
    +62:     end
    +
    + +
    + + + + +
    + + +
    + + +
    + + inflate(obj) + click to toggle source + +
    + +
    + + + + + +
    +
    +    # File lib/bundler/rubygems_integration.rb, line 36
    +36:     def inflate(obj)
    +37:       Gem.inflate(obj)
    +38:     end
    +
    + +
    + + + + +
    + + +
    + + +
    + + loaded_specs(name) + click to toggle source + +
    + +
    + + + + + +
    +
    +    # File lib/bundler/rubygems_integration.rb, line 8
    + 8:     def loaded_specs(name)
    + 9:       Gem.loaded_specs[name]
    +10:     end
    +
    + +
    + + + + +
    + + +
    + + +
    + + mark_loaded(spec) + click to toggle source + +
    + +
    + + + + + +
    +
    +    # File lib/bundler/rubygems_integration.rb, line 12
    +12:     def mark_loaded(spec)
    +13:       Gem.loaded_specs[spec.name] = spec
    +14:     end
    +
    + +
    + + + + +
    + + +
    + + +
    + + marshal_spec_dir() + click to toggle source + +
    + +
    + + + + + +
    +
    +    # File lib/bundler/rubygems_integration.rb, line 64
    +64:     def marshal_spec_dir
    +65:       Gem::MARSHAL_SPEC_DIR
    +66:     end
    +
    + +
    + + + + +
    + + +
    + + +
    + + path(obj) + click to toggle source + +
    + +
    + + + + + +
    +
    +    # File lib/bundler/rubygems_integration.rb, line 16
    +16:     def path(obj)
    +17:       obj.to_s
    +18:     end
    +
    + +
    + + + + +
    + + +
    + + +
    + + platforms() + click to toggle source + +
    + +
    + + + + + +
    +
    +    # File lib/bundler/rubygems_integration.rb, line 20
    +20:     def platforms
    +21:       Gem.platforms
    +22:     end
    +
    + +
    + + + + +
    + + +
    + + +
    + + preserve_paths() + click to toggle source + +
    + +
    + + + + + +
    +
    +    # File lib/bundler/rubygems_integration.rb, line 76
    +76:     def preserve_paths
    +77:       # this is a no-op outside of Rubygems 1.8
    +78:       yield
    +79:     end
    +
    + +
    + + + + +
    + + +
    + + +
    + + read_binary(path) + click to toggle source + +
    + +
    + + + + + +
    +
    +    # File lib/bundler/rubygems_integration.rb, line 32
    +32:     def read_binary(path)
    +33:       Gem.read_binary(path)
    +34:     end
    +
    + +
    + + + + +
    + + +
    + + +
    + + replace_bin_path(specs) + click to toggle source + +
    + +
    + +

    +Used to make bin stubs that are not created by bundler work under bundler. +The new Gem.bin_path only considers gems in specs +

    + + + +
    +
    +     # File lib/bundler/rubygems_integration.rb, line 204
    +204:     def replace_bin_path(specs)
    +205:       gem_class = (class << Gem ; self ; end)
    +206:       gem_class.send(:remove_method, :bin_path)
    +207:       gem_class.send(:define_method, :bin_path) do |name, *args|
    +208:         exec_name, *reqs = args
    +209: 
    +210:         if exec_name == 'bundle'
    +211:           return ENV['BUNDLE_BIN_PATH']
    +212:         end
    +213: 
    +214:         spec = nil
    +215: 
    +216:         if exec_name
    +217:           spec = specs.find { |s| s.executables.include?(exec_name) }
    +218:           spec or raise Gem::Exception, "can't find executable #{exec_name}"
    +219:         else
    +220:           spec = specs.find  { |s| s.name == name }
    +221:           exec_name = spec.default_executable or raise Gem::Exception, "no default executable for #{spec.full_name}"
    +222:         end
    +223: 
    +224:         gem_bin = File.join(spec.full_gem_path, spec.bindir, exec_name)
    +225:         gem_from_path_bin = File.join(File.dirname(spec.loaded_from), spec.bindir, exec_name)
    +226:         File.exist?(gem_bin) ? gem_bin : gem_from_path_bin
    +227:       end
    +228:     end
    +
    + +
    + + + + +
    + + +
    + + +
    + + replace_entrypoints(specs) + click to toggle source + +
    + +
    + +

    +Replace or hook into Rubygems to provide a bundlerized view of the world. +

    + + + +
    +
    +     # File lib/bundler/rubygems_integration.rb, line 240
    +240:     def replace_entrypoints(specs)
    +241:       reverse_rubygems_kernel_mixin
    +242: 
    +243:       replace_gem(specs)
    +244: 
    +245:       stub_rubygems(specs)
    +246: 
    +247:       replace_bin_path(specs)
    +248:       replace_refresh
    +249: 
    +250:       Gem.clear_paths
    +251:     end
    +
    + +
    + + + + +
    + + +
    + + +
    + + replace_gem(specs) + click to toggle source + +
    + +
    + + + + + +
    +
    +     # File lib/bundler/rubygems_integration.rb, line 119
    +119:     def replace_gem(specs)
    +120:       executables = specs.map { |s| s.executables }.flatten
    +121: 
    +122:       ::Kernel.send(:define_method, :gem) do |dep, *reqs|
    +123:         if executables.include? File.basename(caller.first.split(':').first)
    +124:           return
    +125:         end
    +126:         opts = reqs.last.is_a?(Hash) ? reqs.pop : {}
    +127: 
    +128:         unless dep.respond_to?(:name) && dep.respond_to?(:requirement)
    +129:           dep = Gem::Dependency.new(dep, reqs)
    +130:         end
    +131: 
    +132:         spec = specs.find  { |s| s.name == dep.name }
    +133: 
    +134:         if spec.nil?
    +135: 
    +136:           e = Gem::LoadError.new "#{dep.name} is not part of the bundle. Add it to Gemfile."
    +137:           e.name = dep.name
    +138:           if e.respond_to?(:requirement=)
    +139:             e.requirement = dep.requirement
    +140:           else
    +141:             e.version_requirement = dep.requirement
    +142:           end
    +143:           raise e
    +144:         elsif dep !~ spec
    +145:           e = Gem::LoadError.new "can't activate #{dep}, already activated #{spec.full_name}. "                                   "Make sure all dependencies are added to Gemfile."
    +146:           e.name = dep.name
    +147:           if e.respond_to?(:requirement=)
    +148:             e.requirement = dep.requirement
    +149:           else
    +150:             e.version_requirement = dep.requirement
    +151:           end
    +152:           raise e
    +153:         end
    +154: 
    +155:         true
    +156:       end
    +157:     end
    +
    + +
    + + + + +
    + + +
    + + +
    + + replace_refresh() + click to toggle source + +
    + +
    + +

    +Because Bundler has a static view of what +specs are available, we don’t reflesh, so stub it out. +

    + + + +
    +
    +     # File lib/bundler/rubygems_integration.rb, line 232
    +232:     def replace_refresh
    +233:       gem_class = (class << Gem ; self ; end)
    +234:       gem_class.send(:remove_method, :refresh)
    +235:       gem_class.send(:define_method, :refresh) { }
    +236:     end
    +
    + +
    + + + + +
    + + +
    + + +
    + + reverse_rubygems_kernel_mixin() + click to toggle source + +
    + +
    + + + + + +
    +
    +     # File lib/bundler/rubygems_integration.rb, line 107
    +107:     def reverse_rubygems_kernel_mixin
    +108:       # Disable rubygems' gem activation system
    +109:       ::Kernel.class_eval do
    +110:         if private_method_defined?(:gem_original_require)
    +111:           alias rubygems_require require
    +112:           alias require gem_original_require
    +113:         end
    +114: 
    +115:         undef gem
    +116:       end
    +117:     end
    +
    + +
    + + + + +
    + + +
    + + +
    + + ruby_engine() + click to toggle source + +
    + +
    + + + + + +
    +
    +    # File lib/bundler/rubygems_integration.rb, line 28
    +28:     def ruby_engine
    +29:       Gem.ruby_engine
    +30:     end
    +
    + +
    + + + + +
    + + +
    + + +
    + + sources() + click to toggle source + +
    + +
    + + + + + +
    +
    +    # File lib/bundler/rubygems_integration.rb, line 44
    +44:     def sources
    +45:       Gem.sources
    +46:     end
    +
    + +
    + + + + +
    + + +
    + + +
    + + sources=(val) + click to toggle source + +
    + +
    + + + + + +
    +
    +    # File lib/bundler/rubygems_integration.rb, line 40
    +40:     def sources=(val)
    +41:       Gem.sources = val
    +42:     end
    +
    + +
    + + + + +
    + + +
    + + +
    + + spec_from_gem(path) + click to toggle source + +
    + +
    + + + + + +
    +
    +     # File lib/bundler/rubygems_integration.rb, line 99
    + 99:     def spec_from_gem(path)
    +100:       Gem::Format.from_file_by_path(path).spec
    +101:     end
    +
    + +
    + + + + +
    + + +
    + + +
    + + stub_source_index137(specs) + click to toggle source + +
    + +
    + + + + + +
    +
    +     # File lib/bundler/rubygems_integration.rb, line 170
    +170:     def stub_source_index137(specs)
    +171:       # Rubygems versions lower than 1.7 use SourceIndex#from_gems_in
    +172:       source_index_class = (class << Gem::SourceIndex ; self ; end)
    +173:       source_index_class.send(:remove_method, :from_gems_in)
    +174:       source_index_class.send(:define_method, :from_gems_in) do |*args|
    +175:         source_index = Gem::SourceIndex.new
    +176:         source_index.spec_dirs = *args
    +177:         source_index.add_specs(*specs)
    +178:         source_index
    +179:       end
    +180:     end
    +
    + +
    + + + + +
    + + +
    + + +
    + + stub_source_index170(specs) + click to toggle source + +
    + +
    + + + + + +
    +
    +     # File lib/bundler/rubygems_integration.rb, line 182
    +182:     def stub_source_index170(specs)
    +183:       Gem::SourceIndex.send(:define_method, :initialize) do |*args|
    +184:         @gems = {}
    +185:         # You're looking at this thinking: Oh! This is how I make those
    +186:         # rubygems deprecations go away!
    +187:         #
    +188:         # You'd be correct BUT using of this method in production code
    +189:         # must be approved by the rubygems team itself!
    +190:         #
    +191:         # This is your warning. If you use this and don't have approval
    +192:         # we can't protect you.
    +193:         #
    +194:         Deprecate.skip_during do
    +195:           self.spec_dirs = *args
    +196:           add_specs(*specs)
    +197:         end
    +198:       end
    +199:     end
    +
    + +
    + + + + +
    + + +
    + + +
    + + ui=(obj) + click to toggle source + +
    + +
    + + + + + +
    +
    +    # File lib/bundler/rubygems_integration.rb, line 81
    +81:     def ui=(obj)
    +82:       Gem::DefaultUserInteraction.ui = obj
    +83:     end
    +
    + +
    + + + + +
    + + +
    + + +
    + + user_home() + click to toggle source + +
    + +
    + + + + + +
    +
    +    # File lib/bundler/rubygems_integration.rb, line 56
    +56:     def user_home
    +57:       Gem.user_home
    +58:     end
    +
    + +
    + + + + +
    + + +
    + + +
    + + with_build_args(args) + click to toggle source + +
    + +
    + + + + + +
    +
    +    # File lib/bundler/rubygems_integration.rb, line 89
    +89:     def with_build_args(args)
    +90:       old_args = Gem::Command.build_args
    +91:       begin
    +92:         Gem::Command.build_args = args
    +93:         yield
    +94:       ensure
    +95:         Gem::Command.build_args = old_args
    +96:       end
    +97:     end
    +
    + +
    + + + + +
    + + +
    + + +
    + + +
    + +

    Disabled; run with --debug to generate this.

    + +
    + +
    +

    [Validate]

    +

    Generated with the Darkfish + Rdoc Generator 1.1.6.

    +
    + + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/RubygemsIntegration/AlmostModern.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/RubygemsIntegration/AlmostModern.html new file mode 100644 index 00000000..51dc0397 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/RubygemsIntegration/AlmostModern.html @@ -0,0 +1,388 @@ + + + + + + + Class: Bundler::RubygemsIntegration::AlmostModern + + + + + + + + + + + +
    +
    +
    +

    + Home + Classes + Methods +

    +
    +
    + +
    +
    +

    In Files

    + +
    + + +
    + +
    + + + + + + + + + + + +
    +

    Methods

    + +
    + + + + +
    + +
    + + + + + +
    +

    Class Index + [+]

    +
    +
    + Quicksearch + +
    +
    + + + +
    + + +
    +
    + +
    +

    Bundler::RubygemsIntegration::AlmostModern

    + +
    +

    +Rubygems 1.8.0 to 1.8.4 +

    + +
    + + + + + + + + + +
    +

    Public Instance Methods

    + + +
    + + +
    + + preserve_paths() + click to toggle source + +
    + +
    + +

    +Rubygems [>= 1.8.0, < 1.8.5] has a bug that changes Gem.dir whenever you +call Gem::Installer#install with an :install_dir set. We have to change it +back for our sudo mode to work. +

    + + + +
    +
    +     # File lib/bundler/rubygems_integration.rb, line 301
    +301:       def preserve_paths
    +302:         old_dir, old_path = gem_dir, gem_path
    +303:         yield
    +304:         Gem.use_paths(old_dir, old_path)
    +305:       end
    +
    + +
    + + + + +
    + + +
    + + +
    + + +
    + +

    Disabled; run with --debug to generate this.

    + +
    + +
    +

    [Validate]

    +

    Generated with the Darkfish + Rdoc Generator 1.1.6.

    +
    + + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/RubygemsIntegration/Deprecate.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/RubygemsIntegration/Deprecate.html new file mode 100644 index 00000000..3771dc64 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/RubygemsIntegration/Deprecate.html @@ -0,0 +1,377 @@ + + + + + + + Class: Bundler::RubygemsIntegration::Deprecate + + + + + + + + + + + +
    +
    +
    +

    + Home + Classes + Methods +

    +
    +
    + +
    +
    +

    In Files

    + +
    + + +
    + +
    + + + +
    +

    Parent

    + + + +
    + + + + + + + +
    +

    Methods

    + +
    + + + + +
    + +
    + + + + + +
    +

    Class Index + [+]

    +
    +
    + Quicksearch + +
    +
    + + + +
    + + +
    +
    + +
    +

    Bundler::RubygemsIntegration::Deprecate

    + +
    + +
    + + + + + + + + + +
    +

    Public Instance Methods

    + + +
    + + +
    + + skip_during() + click to toggle source + +
    + +
    + + + + + +
    +
    +     # File lib/bundler/rubygems_integration.rb, line 166
    +166:         def skip_during; yield; end
    +
    + +
    + + + + +
    + + +
    + + +
    + + +
    + +

    Disabled; run with --debug to generate this.

    + +
    + +
    +

    [Validate]

    +

    Generated with the Darkfish + Rdoc Generator 1.1.6.

    +
    + + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/SharedHelpers/Gem.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/RubygemsIntegration/Gem.html similarity index 87% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/SharedHelpers/Gem.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/RubygemsIntegration/Gem.html index 610c3432..90f1ab40 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/SharedHelpers/Gem.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/RubygemsIntegration/Gem.html @@ -5,7 +5,7 @@ - Module: Bundler::SharedHelpers::Gem + Module: Bundler::RubygemsIntegration::Gem @@ -38,8 +38,8 @@ @@ -72,6 +72,10 @@
  • bundle
  • +
  • bundle-benchmark
  • + +
  • bundle-benchmark.txt
  • +
  • bundle-config
  • bundle-config.txt
  • @@ -181,16 +185,28 @@
  • Bundler::Resolver::SpecGroup
  • +
  • Bundler::RubygemsIntegration
  • + +
  • Bundler::RubygemsIntegration::AlmostModern
  • + +
  • Bundler::RubygemsIntegration::Deprecate
  • + +
  • Bundler::RubygemsIntegration::Gem
  • + +
  • Bundler::RubygemsIntegration::Gem::SourceIndex
  • + +
  • Bundler::RubygemsIntegration::Legacy
  • + +
  • Bundler::RubygemsIntegration::Modern
  • + +
  • Bundler::RubygemsIntegration::Transitional
  • +
  • Bundler::Runtime
  • Bundler::Settings
  • Bundler::SharedHelpers
  • -
  • Bundler::SharedHelpers::Gem
  • - -
  • Bundler::SharedHelpers::Gem::SourceIndex
  • -
  • Bundler::Source
  • Bundler::Source::Git
  • @@ -272,7 +288,7 @@
    -

    Bundler::SharedHelpers::Gem

    +

    Bundler::RubygemsIntegration::Gem

    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/SharedHelpers/Gem/SourceIndex.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/RubygemsIntegration/Gem/SourceIndex.html similarity index 86% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/SharedHelpers/Gem/SourceIndex.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/RubygemsIntegration/Gem/SourceIndex.html index b3d1472f..b0366ccb 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/SharedHelpers/Gem/SourceIndex.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/RubygemsIntegration/Gem/SourceIndex.html @@ -5,7 +5,7 @@ - Module: Bundler::SharedHelpers::Gem::SourceIndex + Module: Bundler::RubygemsIntegration::Gem::SourceIndex @@ -38,8 +38,8 @@ @@ -72,6 +72,10 @@
  • bundle
  • +
  • bundle-benchmark
  • + +
  • bundle-benchmark.txt
  • +
  • bundle-config
  • bundle-config.txt
  • @@ -181,16 +185,28 @@
  • Bundler::Resolver::SpecGroup
  • +
  • Bundler::RubygemsIntegration
  • + +
  • Bundler::RubygemsIntegration::AlmostModern
  • + +
  • Bundler::RubygemsIntegration::Deprecate
  • + +
  • Bundler::RubygemsIntegration::Gem
  • + +
  • Bundler::RubygemsIntegration::Gem::SourceIndex
  • + +
  • Bundler::RubygemsIntegration::Legacy
  • + +
  • Bundler::RubygemsIntegration::Modern
  • + +
  • Bundler::RubygemsIntegration::Transitional
  • +
  • Bundler::Runtime
  • Bundler::Settings
  • Bundler::SharedHelpers
  • -
  • Bundler::SharedHelpers::Gem
  • - -
  • Bundler::SharedHelpers::Gem::SourceIndex
  • -
  • Bundler::Source
  • Bundler::Source::Git
  • @@ -272,7 +288,7 @@
    -

    Bundler::SharedHelpers::Gem::SourceIndex

    +

    Bundler::RubygemsIntegration::Gem::SourceIndex

    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/RubygemsIntegration/Legacy.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/RubygemsIntegration/Legacy.html new file mode 100644 index 00000000..70366007 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/RubygemsIntegration/Legacy.html @@ -0,0 +1,454 @@ + + + + + + + Class: Bundler::RubygemsIntegration::Legacy + + + + + + + + + + + +
    +
    +
    +

    + Home + Classes + Methods +

    +
    +
    + +
    +
    +

    In Files

    + +
    + + +
    + +
    + + + +
    +

    Parent

    + + + +
    + + + + + + + +
    +

    Methods

    + +
    + + + + +
    + +
    + + + + + +
    +

    Class Index + [+]

    +
    +
    + Quicksearch + +
    +
    + + + +
    + + +
    +
    + +
    +

    Bundler::RubygemsIntegration::Legacy

    + +
    +

    +Rubygems versions 1.3.6 through 1.6.2 +

    + +
    + + + + + + + + + +
    +

    Public Instance Methods

    + + +
    + + +
    + + all_specs() + click to toggle source + +
    + +
    + + + + + +
    +
    +     # File lib/bundler/rubygems_integration.rb, line 259
    +259:       def all_specs
    +260:         Gem.source_index.gems.values
    +261:       end
    +
    + +
    + + + + +
    + + +
    + + +
    + + find_name(name) + click to toggle source + +
    + +
    + + + + + +
    +
    +     # File lib/bundler/rubygems_integration.rb, line 263
    +263:       def find_name(name)
    +264:         Gem.source_index.find_name(name)
    +265:       end
    +
    + +
    + + + + +
    + + +
    + + +
    + + stub_rubygems(specs) + click to toggle source + +
    + +
    + + + + + +
    +
    +     # File lib/bundler/rubygems_integration.rb, line 255
    +255:       def stub_rubygems(specs)
    +256:         stub_source_index137(specs)
    +257:       end
    +
    + +
    + + + + +
    + + +
    + + +
    + + +
    + +

    Disabled; run with --debug to generate this.

    + +
    + +
    +

    [Validate]

    +

    Generated with the Darkfish + Rdoc Generator 1.1.6.

    +
    + + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/RubygemsIntegration/Modern.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/RubygemsIntegration/Modern.html new file mode 100644 index 00000000..8cd8d7a8 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/RubygemsIntegration/Modern.html @@ -0,0 +1,460 @@ + + + + + + + Class: Bundler::RubygemsIntegration::Modern + + + + + + + + + + + +
    +
    +
    +

    + Home + Classes + Methods +

    +
    +
    + +
    +
    +

    In Files

    + +
    + + +
    + +
    + + + +
    +

    Parent

    + + + +
    + + + + + + + +
    +

    Methods

    + +
    + + + + +
    + +
    + + + + + +
    +

    Class Index + [+]

    +
    +
    + Quicksearch + +
    +
    + + + +
    + + +
    +
    + +
    +

    Bundler::RubygemsIntegration::Modern

    + +
    +

    +Rubygems 1.8.5 +

    + +
    + + + + + + + + + +
    +

    Public Instance Methods

    + + +
    + + +
    + + all_specs() + click to toggle source + +
    + +
    + + + + + +
    +
    +     # File lib/bundler/rubygems_integration.rb, line 287
    +287:       def all_specs
    +288:         Gem::Specification.to_a
    +289:       end
    +
    + +
    + + + + +
    + + +
    + + +
    + + find_name(name) + click to toggle source + +
    + +
    + + + + + +
    +
    +     # File lib/bundler/rubygems_integration.rb, line 291
    +291:       def find_name(name)
    +292:         Gem::Specification.find_all_by_name name
    +293:       end
    +
    + +
    + + + + +
    + + +
    + + +
    + + stub_rubygems(specs) + click to toggle source + +
    + +
    + + + + + +
    +
    +     # File lib/bundler/rubygems_integration.rb, line 277
    +277:       def stub_rubygems(specs)
    +278:         Gem::Specification.all = specs
    +279: 
    +280:         Gem.post_reset {
    +281:           Gem::Specification.all = specs
    +282:         }
    +283: 
    +284:         stub_source_index170(specs)
    +285:       end
    +
    + +
    + + + + +
    + + +
    + + +
    + + +
    + +

    Disabled; run with --debug to generate this.

    + +
    + +
    +

    [Validate]

    +

    Generated with the Darkfish + Rdoc Generator 1.1.6.

    +
    + + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/RubygemsIntegration/Transitional.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/RubygemsIntegration/Transitional.html new file mode 100644 index 00000000..f8ca2f27 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/RubygemsIntegration/Transitional.html @@ -0,0 +1,382 @@ + + + + + + + Class: Bundler::RubygemsIntegration::Transitional + + + + + + + + + + + +
    +
    +
    +

    + Home + Classes + Methods +

    +
    +
    + +
    +
    +

    In Files

    + +
    + + +
    + +
    + + + + + + + + + + + +
    +

    Methods

    + +
    + + + + +
    + +
    + + + + + +
    +

    Class Index + [+]

    +
    +
    + Quicksearch + +
    +
    + + + +
    + + +
    +
    + +
    +

    Bundler::RubygemsIntegration::Transitional

    + +
    +

    +Rubygems 1.7 +

    + +
    + + + + + + + + + +
    +

    Public Instance Methods

    + + +
    + + +
    + + stub_rubygems(specs) + click to toggle source + +
    + +
    + + + + + +
    +
    +     # File lib/bundler/rubygems_integration.rb, line 270
    +270:       def stub_rubygems(specs)
    +271:         stub_source_index170(specs)
    +272:       end
    +
    + +
    + + + + +
    + + +
    + + +
    + + +
    + +

    Disabled; run with --debug to generate this.

    + +
    + +
    +

    [Validate]

    +

    Generated with the Darkfish + Rdoc Generator 1.1.6.

    +
    + + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/Runtime.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/Runtime.html similarity index 74% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/Runtime.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/Runtime.html index 6f40cdf7..669ecb5b 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/Runtime.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/Runtime.html @@ -111,6 +111,10 @@
  • bundle
  • +
  • bundle-benchmark
  • + +
  • bundle-benchmark.txt
  • +
  • bundle-config
  • bundle-config.txt
  • @@ -220,16 +224,28 @@
  • Bundler::Resolver::SpecGroup
  • +
  • Bundler::RubygemsIntegration
  • + +
  • Bundler::RubygemsIntegration::AlmostModern
  • + +
  • Bundler::RubygemsIntegration::Deprecate
  • + +
  • Bundler::RubygemsIntegration::Gem
  • + +
  • Bundler::RubygemsIntegration::Gem::SourceIndex
  • + +
  • Bundler::RubygemsIntegration::Legacy
  • + +
  • Bundler::RubygemsIntegration::Modern
  • + +
  • Bundler::RubygemsIntegration::Transitional
  • +
  • Bundler::Runtime
  • Bundler::Settings
  • Bundler::SharedHelpers
  • -
  • Bundler::SharedHelpers::Gem
  • - -
  • Bundler::SharedHelpers::Gem::SourceIndex
  • -
  • Bundler::Source
  • Bundler::Source::Git
  • @@ -361,17 +377,17 @@
    -    # File lib/bundler/runtime.rb, line 83
    -83:     def cache
    -84:       FileUtils.mkdir_p(cache_path)
    -85: 
    -86:       Bundler.ui.info "Updating .gem files in vendor/cache"
    -87:       specs.each do |spec|
    -88:         next if spec.name == 'bundler'
    -89:         spec.source.cache(spec) if spec.source.respond_to?(:cache)
    -90:       end
    -91:       prune_cache unless Bundler.settings[:no_prune]
    -92:     end
    + # File lib/bundler/runtime.rb, line 87 +87: def cache +88: FileUtils.mkdir_p(cache_path) unless File.exists?(cache_path) +89: +90: Bundler.ui.info "Updating .gem files in vendor/cache" +91: specs.each do |spec| +92: next if spec.name == 'bundler' +93: spec.source.cache(spec) if spec.source.respond_to?(:cache) +94: end +95: prune_cache unless Bundler.settings[:no_prune] +96: end
    @@ -402,14 +418,14 @@
    -    # File lib/bundler/runtime.rb, line 73
    -73:     def dependencies_for(*groups)
    -74:       if groups.empty?
    -75:         dependencies
    -76:       else
    -77:         dependencies.select { |d| (groups & d.groups).any? }
    -78:       end
    -79:     end
    + # File lib/bundler/runtime.rb, line 77 +77: def dependencies_for(*groups) +78: if groups.empty? +79: dependencies +80: else +81: dependencies.select { |d| (groups & d.groups).any? } +82: end +83: end
    @@ -440,30 +456,30 @@
    -     # File lib/bundler/runtime.rb, line 94
    - 94:     def prune_cache
    - 95:       FileUtils.mkdir_p(cache_path)
    - 96: 
    - 97:       resolve = @definition.resolve
    - 98:       cached  = Dir["#{cache_path}/*.gem"]
    - 99: 
    -100:       cached = cached.delete_if do |path|
    -101:         spec = Gem::Format.from_file_by_path(path).spec
    -102: 
    -103:         resolve.any? do |s|
    -104:           s.name == spec.name && s.version == spec.version && !s.source.is_a?(Bundler::Source::Git)
    -105:         end
    -106:       end
    -107: 
    -108:       if cached.any?
    -109:         Bundler.ui.info "Removing outdated .gem files from vendor/cache"
    -110: 
    -111:         cached.each do |path|
    -112:           Bundler.ui.info "  * #{File.basename(path)}"
    -113:           File.delete(path)
    -114:         end
    -115:       end
    -116:     end
    + # File lib/bundler/runtime.rb, line 98 + 98: def prune_cache + 99: FileUtils.mkdir_p(cache_path) unless File.exists?(cache_path) +100: +101: resolve = @definition.resolve +102: cached = Dir["#{cache_path}/*.gem"] +103: +104: cached = cached.delete_if do |path| +105: spec = Bundler.rubygems.spec_from_gem path +106: +107: resolve.any? do |s| +108: s.name == spec.name && s.version == spec.version && !s.source.is_a?(Bundler::Source::Git) +109: end +110: end +111: +112: if cached.any? +113: Bundler.ui.info "Removing outdated .gem files from vendor/cache" +114: +115: cached.each do |path| +116: Bundler.ui.info " * #{File.basename(path)}" +117: File.delete(path) +118: end +119: end +120: end
    @@ -494,32 +510,32 @@
    -    # File lib/bundler/runtime.rb, line 47
    -47:     def require(*groups)
    -48:       groups.map! { |g| g.to_sym }
    -49:       groups = [:default] if groups.empty?
    -50: 
    -51:       @definition.dependencies.each do |dep|
    -52:         # Skip the dependency if it is not in any of the requested
    -53:         # groups
    -54:         next unless ((dep.groups & groups).any? && dep.current_platform?)
    -55: 
    -56:         required_file = nil
    -57: 
    -58:         begin
    -59:           # Loop through all the specified autorequires for the
    -60:           # dependency. If there are none, use the dependency's name
    -61:           # as the autorequire.
    -62:           Array(dep.autorequire || dep.name).each do |file|
    -63:             required_file = file
    -64:             Kernel.require file
    -65:           end
    -66:         rescue LoadError => e
    -67:           REGEXPS.find { |r| r =~ e.message }
    -68:           raise if dep.autorequire || $1 != required_file
    -69:         end
    -70:       end
    -71:     end
    + # File lib/bundler/runtime.rb, line 51 +51: def require(*groups) +52: groups.map! { |g| g.to_sym } +53: groups = [:default] if groups.empty? +54: +55: @definition.dependencies.each do |dep| +56: # Skip the dependency if it is not in any of the requested +57: # groups +58: next unless ((dep.groups & groups).any? && dep.current_platform?) +59: +60: required_file = nil +61: +62: begin +63: # Loop through all the specified autorequires for the +64: # dependency. If there are none, use the dependency's name +65: # as the autorequire. +66: Array(dep.autorequire || dep.name).each do |file| +67: required_file = file +68: Kernel.require file +69: end +70: rescue LoadError => e +71: REGEXPS.find { |r| r =~ e.message } +72: raise if dep.autorequire || $1 != required_file +73: end +74: end +75: end
    @@ -558,7 +574,7 @@ 11: specs = groups.any? ? @definition.specs_for(groups) : requested_specs 12: 13: setup_environment -14: cripple_rubygems(specs) +14: Bundler.rubygems.replace_entrypoints(specs) 15: 16: # Activate the specs 17: specs.each do |spec| @@ -566,22 +582,26 @@ 19: raise GemNotFound, "#{spec.full_name} is missing. Run `bundle` to get it." 20: end 21: -22: if activated_spec = Gem.loaded_specs[spec.name] and activated_spec.version != spec.version +22: if activated_spec = Bundler.rubygems.loaded_specs(spec.name) and activated_spec.version != spec.version 23: e = Gem::LoadError.new "You have already activated #{activated_spec.name} #{activated_spec.version}, " "but your Gemfile requires #{spec.name} #{spec.version}. Consider using bundle exec." 24: e.name = spec.name -25: e.version_requirement = Gem::Requirement.new(spec.version.to_s) -26: raise e -27: end -28: -29: Gem.loaded_specs[spec.name] = spec -30: load_paths = spec.load_paths.reject {|path| $LOAD_PATH.include?(path)} -31: $LOAD_PATH.unshift(*load_paths) -32: end -33: -34: lock -35: -36: self -37: end +25: if e.respond_to?(:requirement=) +26: e.requirement = Gem::Requirement.new(spec.version.to_s) +27: else +28: e.version_requirement = Gem::Requirement.new(spec.version.to_s) +29: end +30: raise e +31: end +32: +33: Bundler.rubygems.mark_loaded(spec) +34: load_paths = spec.load_paths.reject {|path| $LOAD_PATH.include?(path)} +35: $LOAD_PATH.unshift(*load_paths) +36: end +37: +38: lock +39: +40: self +41: end @@ -618,10 +638,10 @@
    -     # File lib/bundler/runtime.rb, line 120
    -120:     def cache_path
    -121:       root.join("vendor/cache")
    -122:     end
    + # File lib/bundler/runtime.rb, line 124 +124: def cache_path +125: root.join("vendor/cache") +126: end
    @@ -652,30 +672,30 @@
    -     # File lib/bundler/runtime.rb, line 124
    -124:     def setup_environment
    -125:       begin
    -126:         ENV["BUNDLE_BIN_PATH"] = Gem.bin_path("bundler", "bundle", VERSION)
    -127:       rescue Gem::GemNotFoundException
    -128:         ENV["BUNDLE_BIN_PATH"] = File.expand_path("../../../bin/bundle", __FILE__)
    -129:       end
    -130: 
    -131:       # Set PATH
    -132:       paths = (ENV["PATH"] || "").split(File::PATH_SEPARATOR)
    -133:       paths.unshift "#{Bundler.bundle_path}/bin"
    -134:       ENV["PATH"] = paths.uniq.join(File::PATH_SEPARATOR)
    -135: 
    -136:       # Set BUNDLE_GEMFILE
    -137:       ENV["BUNDLE_GEMFILE"] = default_gemfile.to_s
    -138: 
    -139:       # Set RUBYOPT
    -140:       rubyopt = [ENV["RUBYOPT"]].compact
    -141:       if rubyopt.empty? || rubyopt.first !~ /-rbundler\/setup/
    -142:         rubyopt.unshift "-rbundler/setup"
    -143:         rubyopt.unshift "-I#{File.expand_path('../..', __FILE__)}"
    -144:         ENV["RUBYOPT"] = rubyopt.join(' ')
    -145:       end
    -146:     end
    + # File lib/bundler/runtime.rb, line 128 +128: def setup_environment +129: begin +130: ENV["BUNDLE_BIN_PATH"] = Bundler.rubygems.bin_path("bundler", "bundle", VERSION) +131: rescue Gem::GemNotFoundException +132: ENV["BUNDLE_BIN_PATH"] = File.expand_path("../../../bin/bundle", __FILE__) +133: end +134: +135: # Set PATH +136: paths = (ENV["PATH"] || "").split(File::PATH_SEPARATOR) +137: paths.unshift "#{Bundler.bundle_path}/bin" +138: ENV["PATH"] = paths.uniq.join(File::PATH_SEPARATOR) +139: +140: # Set BUNDLE_GEMFILE +141: ENV["BUNDLE_GEMFILE"] = default_gemfile.to_s +142: +143: # Set RUBYOPT +144: rubyopt = [ENV["RUBYOPT"]].compact +145: if rubyopt.empty? || rubyopt.first !~ /-rbundler\/setup/ +146: rubyopt.unshift "-rbundler/setup" +147: rubyopt.unshift "-I#{File.expand_path('../..', __FILE__)}" +148: ENV["RUBYOPT"] = rubyopt.join(' ') +149: end +150: end
    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/Settings.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/Settings.html similarity index 95% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/Settings.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/Settings.html index a01b47a6..255836a2 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/Settings.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/Settings.html @@ -118,6 +118,10 @@
  • bundle
  • +
  • bundle-benchmark
  • + +
  • bundle-benchmark.txt
  • +
  • bundle-config
  • bundle-config.txt
  • @@ -227,16 +231,28 @@
  • Bundler::Resolver::SpecGroup
  • +
  • Bundler::RubygemsIntegration
  • + +
  • Bundler::RubygemsIntegration::AlmostModern
  • + +
  • Bundler::RubygemsIntegration::Deprecate
  • + +
  • Bundler::RubygemsIntegration::Gem
  • + +
  • Bundler::RubygemsIntegration::Gem::SourceIndex
  • + +
  • Bundler::RubygemsIntegration::Legacy
  • + +
  • Bundler::RubygemsIntegration::Modern
  • + +
  • Bundler::RubygemsIntegration::Transitional
  • +
  • Bundler::Runtime
  • Bundler::Settings
  • Bundler::SharedHelpers
  • -
  • Bundler::SharedHelpers::Gem
  • - -
  • Bundler::SharedHelpers::Gem::SourceIndex
  • -
  • Bundler::Source
  • Bundler::Source::Git
  • @@ -542,7 +558,7 @@
         # File lib/bundler/settings.rb, line 18
     18:     def delete(key)
    -19:       @local_config
    +19:       @local_config.delete(key_for(key))
     20:     end
    @@ -624,7 +640,7 @@ ENV[“BUNDLE_PATH“] 79: if path = self[:path] 80: "#{path}/#{Bundler.ruby_scope}" 81: else -82: Gem.dir +82: Bundler.rubygems.gem_dir 83: end 84: end @@ -819,7 +835,7 @@ ENV[“BUNDLE_PATH“]
          # File lib/bundler/settings.rb, line 108
     108:     def global_config_file
    -109:       file = ENV["BUNDLE_CONFIG"] || File.join(Gem.user_home, ".bundle/config")
    +109:       file = ENV["BUNDLE_CONFIG"] || File.join(Bundler.rubygems.user_home, ".bundle/config")
     110:       Pathname.new(file)
     111:     end
    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/SharedHelpers.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/SharedHelpers.html new file mode 100644 index 00000000..94099072 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/SharedHelpers.html @@ -0,0 +1,572 @@ + + + + + + + Module: Bundler::SharedHelpers + + + + + + + + + + + +
    +
    +
    +

    + Home + Classes + Methods +

    +
    +
    + +
    +
    +

    In Files

    + +
    + + +
    + +
    + + + + + + + + + + + + + + +
    + +
    + + + + + +
    +

    Class Index + [+]

    +
    +
    + Quicksearch + +
    +
    + + + +
    + + +
    +
    + +
    +

    Bundler::SharedHelpers

    + +
    + +
    + + + + + + +
    +

    Attributes

    + + +
    + + + + +
    + gem_loaded[RW] +
    + +
    + + + +
    +
    + +
    + + + + +
    +

    Public Instance Methods

    + + +
    + + +
    + + default_gemfile() + click to toggle source + +
    + +
    + + + + + +
    +
    +    # File lib/bundler/shared_helpers.rb, line 20
    +20:     def default_gemfile
    +21:       gemfile = find_gemfile
    +22:       raise GemfileNotFound, "Could not locate Gemfile" unless gemfile
    +23:       Pathname.new(gemfile)
    +24:     end
    +
    + +
    + + + + +
    + + +
    + + +
    + + default_lockfile() + click to toggle source + +
    + +
    + + + + + +
    +
    +    # File lib/bundler/shared_helpers.rb, line 26
    +26:     def default_lockfile
    +27:       Pathname.new("#{default_gemfile}.lock")
    +28:     end
    +
    + +
    + + + + +
    + + +
    + + +
    + + in_bundle?() + click to toggle source + +
    + +
    + + + + + +
    +
    +    # File lib/bundler/shared_helpers.rb, line 30
    +30:     def in_bundle?
    +31:       find_gemfile
    +32:     end
    +
    + +
    + + + + +
    + + +
    + +
    +

    Private Instance Methods

    + + +
    + + +
    + + clean_load_path() + click to toggle source + +
    + +
    + + + + + +
    +
    +    # File lib/bundler/shared_helpers.rb, line 56
    +56:     def clean_load_path
    +57:       # handle 1.9 where system gems are always on the load path
    +58:       if defined?(::Gem)
    +59:         me = File.expand_path("../../", __FILE__)
    +60:         $LOAD_PATH.reject! do |p|
    +61:           next if File.expand_path(p) =~ /^#{Regexp.escape(me)}/
    +62:           p != File.dirname(__FILE__) &&
    +63:             Bundler.rubygems.gem_path.any?{|gp| p =~ /^#{Regexp.escape(gp)}/ }
    +64:         end
    +65:         $LOAD_PATH.uniq!
    +66:       end
    +67:     end
    +
    + +
    + + + + +
    + + +
    + + +
    + + find_gemfile() + click to toggle source + +
    + +
    + + + + + +
    +
    +    # File lib/bundler/shared_helpers.rb, line 36
    +36:     def find_gemfile
    +37:       given = ENV['BUNDLE_GEMFILE']
    +38:       return given if given && !given.empty?
    +39: 
    +40:       previous = nil
    +41:       current  = File.expand_path(Dir.pwd)
    +42: 
    +43:       until !File.directory?(current) || current == previous
    +44:         if ENV['BUNDLE_SPEC_RUN']
    +45:           # avoid stepping above the tmp directory when testing
    +46:           return nil if File.file?(File.join(current, 'bundler.gemspec'))
    +47:         end
    +48: 
    +49:         # otherwise return the Gemfile if it's there
    +50:         filename = File.join(current, 'Gemfile')
    +51:         return filename if File.file?(filename)
    +52:         current, previous = File.expand_path("..", current), current
    +53:       end
    +54:     end
    +
    + +
    + + + + +
    + + +
    + + +
    + + +
    + +

    Disabled; run with --debug to generate this.

    + +
    + +
    +

    [Validate]

    +

    Generated with the Darkfish + Rdoc Generator 1.1.6.

    +
    + + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/Source.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/Source.html similarity index 90% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/Source.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/Source.html index ba913796..a4e0128f 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/Source.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/Source.html @@ -85,6 +85,10 @@
  • bundle
  • +
  • bundle-benchmark
  • + +
  • bundle-benchmark.txt
  • +
  • bundle-config
  • bundle-config.txt
  • @@ -194,16 +198,28 @@
  • Bundler::Resolver::SpecGroup
  • +
  • Bundler::RubygemsIntegration
  • + +
  • Bundler::RubygemsIntegration::AlmostModern
  • + +
  • Bundler::RubygemsIntegration::Deprecate
  • + +
  • Bundler::RubygemsIntegration::Gem
  • + +
  • Bundler::RubygemsIntegration::Gem::SourceIndex
  • + +
  • Bundler::RubygemsIntegration::Legacy
  • + +
  • Bundler::RubygemsIntegration::Modern
  • + +
  • Bundler::RubygemsIntegration::Transitional
  • +
  • Bundler::Runtime
  • Bundler::Settings
  • Bundler::SharedHelpers
  • -
  • Bundler::SharedHelpers::Gem
  • - -
  • Bundler::SharedHelpers::Gem::SourceIndex
  • -
  • Bundler::Source
  • Bundler::Source::Git
  • diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/Source/Git.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/Source/Git.html similarity index 71% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/Source/Git.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/Source/Git.html index 8212026a..81fbd802 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/Source/Git.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/Source/Git.html @@ -117,6 +117,8 @@
  • #unlock!
  • +
  • #uri_escaped
  • +
  • #uri_hash
  • @@ -136,6 +138,10 @@
  • bundle
  • +
  • bundle-benchmark
  • + +
  • bundle-benchmark.txt
  • +
  • bundle-config
  • bundle-config.txt
  • @@ -245,16 +251,28 @@
  • Bundler::Resolver::SpecGroup
  • +
  • Bundler::RubygemsIntegration
  • + +
  • Bundler::RubygemsIntegration::AlmostModern
  • + +
  • Bundler::RubygemsIntegration::Deprecate
  • + +
  • Bundler::RubygemsIntegration::Gem
  • + +
  • Bundler::RubygemsIntegration::Gem::SourceIndex
  • + +
  • Bundler::RubygemsIntegration::Legacy
  • + +
  • Bundler::RubygemsIntegration::Modern
  • + +
  • Bundler::RubygemsIntegration::Transitional
  • +
  • Bundler::Runtime
  • Bundler::Settings
  • Bundler::SharedHelpers
  • -
  • Bundler::SharedHelpers::Gem
  • - -
  • Bundler::SharedHelpers::Gem::SourceIndex
  • -
  • Bundler::Source
  • Bundler::Source::Git
  • @@ -440,10 +458,10 @@
    -     # File lib/bundler/source.rb, line 476
    -476:       def self.from_lock(options)
    -477:         new(options.merge("uri" => options.delete("remote")))
    -478:       end
    + # File lib/bundler/source.rb, line 489 +489: def self.from_lock(options) +490: new(options.merge("uri" => options.delete("remote"))) +491: end
    @@ -474,19 +492,19 @@
    -     # File lib/bundler/source.rb, line 463
    -463:       def initialize(options)
    -464:         super
    -465: 
    -466:         # stringify options that could be set as symbols
    -467:         %(ref branch tag revision).each{|k| options[k] = options[k].to_s if options[k] }
    -468: 
    -469:         @uri        = options["uri"]
    -470:         @ref        = options["ref"] || options["branch"] || options["tag"] || 'master'
    -471:         @revision   = options["revision"]
    -472:         @submodules = options["submodules"]
    -473:         @update     = false
    -474:       end
    + # File lib/bundler/source.rb, line 476 +476: def initialize(options) +477: super +478: +479: # stringify options that could be set as symbols +480: %(ref branch tag revision).each{|k| options[k] = options[k].to_s if options[k] } +481: +482: @uri = options["uri"] +483: @ref = options["ref"] || options["branch"] || options["tag"] || 'master' +484: @revision = options["revision"] +485: @submodules = options["submodules"] +486: @update = false +487: end
    @@ -552,15 +570,15 @@
    -     # File lib/bundler/source.rb, line 491
    -491:       def eql?(o)
    -492:         Git === o            &&
    -493:         uri == o.uri         &&
    -494:         ref == o.ref         &&
    -495:         name == o.name       &&
    -496:         version == o.version &&
    -497:         submodules == o.submodules
    -498:       end
    + # File lib/bundler/source.rb, line 504 +504: def eql?(o) +505: Git === o && +506: uri == o.uri && +507: ref == o.ref && +508: name == o.name && +509: version == o.version && +510: submodules == o.submodules +511: end
    @@ -595,17 +613,17 @@
    -     # File lib/bundler/source.rb, line 538
    -538:       def install(spec)
    -539:         Bundler.ui.info "Using #{spec.name} (#{spec.version}) from #{to_s} "
    -540: 
    -541:         unless @installed
    -542:           Bundler.ui.debug "  * Checking out revision: #{ref}"
    -543:           checkout if allow_git_ops?
    -544:           @installed = true
    -545:         end
    -546:         generate_bin(spec)
    -547:       end
    + # File lib/bundler/source.rb, line 551 +551: def install(spec) +552: Bundler.ui.info "Using #{spec.name} (#{spec.version}) from #{to_s} " +553: +554: unless @installed +555: Bundler.ui.debug " * Checking out revision: #{ref}" +556: checkout if allow_git_ops? +557: @installed = true +558: end +559: generate_bin(spec) +560: end
    @@ -636,12 +654,12 @@
    -     # File lib/bundler/source.rb, line 549
    -549:       def load_spec_files
    -550:         super
    -551:       rescue PathError, GitError
    -552:         raise GitError, "#{to_s} is not checked out. Please run `bundle install`"
    -553:       end
    + # File lib/bundler/source.rb, line 562 +562: def load_spec_files +563: super +564: rescue PathError, GitError +565: raise GitError, "#{to_s} is not checked out. Please run `bundle install`" +566: end
    @@ -672,10 +690,10 @@
    -     # File lib/bundler/source.rb, line 507
    -507:       def name
    -508:         File.basename(@uri, '.git')
    -509:       end
    + # File lib/bundler/source.rb, line 520 +520: def name +521: File.basename(@uri, '.git') +522: end
    @@ -706,18 +724,18 @@
    -     # File lib/bundler/source.rb, line 511
    -511:       def path
    -512:         @install_path ||= begin
    -513:           git_scope = "#{base_name}-#{shortref_for_path(revision)}"
    -514: 
    -515:           if Bundler.requires_sudo?
    -516:             Bundler.user_bundle_path.join(Bundler.ruby_scope).join(git_scope)
    -517:           else
    -518:             Bundler.install_path.join(git_scope)
    -519:           end
    -520:         end
    -521:       end
    + # File lib/bundler/source.rb, line 524 +524: def path +525: @install_path ||= begin +526: git_scope = "#{base_name}-#{shortref_for_path(revision)}" +527: +528: if Bundler.requires_sudo? +529: Bundler.user_bundle_path.join(Bundler.ruby_scope).join(git_scope) +530: else +531: Bundler.install_path.join(git_scope) +532: end +533: end +534: end
    @@ -750,16 +768,16 @@ TODO: actually cache git specs
    -     # File lib/bundler/source.rb, line 528
    -528:       def specs
    -529:         if allow_git_ops? && !@update
    -530:           # Start by making sure the git cache is up to date
    -531:           cache
    -532:           checkout
    -533:           @update = true
    -534:         end
    -535:         local_specs
    -536:       end
    + # File lib/bundler/source.rb, line 541 +541: def specs +542: if allow_git_ops? && !@update +543: # Start by making sure the git cache is up to date +544: cache +545: checkout +546: @update = true +547: end +548: local_specs +549: end
    @@ -790,17 +808,17 @@ TODO: actually cache git specs
    -     # File lib/bundler/source.rb, line 480
    -480:       def to_lock
    -481:         out = "GIT\n"
    -482:         out << "  remote: #{@uri}\n"
    -483:         out << "  revision: #{revision}\n"
    -484:         %(ref branch tag submodules).each do |opt|
    -485:           out << "  #{opt}: #{options[opt]}\n" if options[opt]
    -486:         end
    -487:         out << "  glob: #{@glob}\n" unless @glob == DEFAULT_GLOB
    -488:         out << "  specs:\n"
    -489:       end
    + # File lib/bundler/source.rb, line 493 +493: def to_lock +494: out = "GIT\n" +495: out << " remote: #{@uri}\n" +496: out << " revision: #{revision}\n" +497: %(ref branch tag submodules).each do |opt| +498: out << " #{opt}: #{options[opt]}\n" if options[opt] +499: end +500: out << " glob: #{@glob}\n" unless @glob == DEFAULT_GLOB +501: out << " specs:\n" +502: end
    @@ -831,11 +849,11 @@ TODO: actually cache git specs
    -     # File lib/bundler/source.rb, line 502
    -502:       def to_s
    -503:         sref = options["ref"] ? shortref_for_display(options["ref"]) : ref
    -504:         "#{uri} (at #{sref})"
    -505:       end
    + # File lib/bundler/source.rb, line 515 +515: def to_s +516: sref = options["ref"] ? shortref_for_display(options["ref"]) : ref +517: "#{uri} (at #{sref})" +518: end
    @@ -866,10 +884,10 @@ TODO: actually cache git specs
    -     # File lib/bundler/source.rb, line 523
    -523:       def unlock!
    -524:         @revision = nil
    -525:       end
    + # File lib/bundler/source.rb, line 536 +536: def unlock! +537: @revision = nil +538: end
    @@ -906,10 +924,10 @@ TODO: actually cache git specs
    -     # File lib/bundler/source.rb, line 647
    -647:       def allow_git_ops?
    -648:         @allow_remote || @allow_cached
    -649:       end
    + # File lib/bundler/source.rb, line 676 +676: def allow_git_ops? +677: @allow_remote || @allow_cached +678: end
    @@ -940,10 +958,10 @@ TODO: actually cache git specs
    -     # File lib/bundler/source.rb, line 572
    -572:       def base_name
    -573:         File.basename(uri.sub(%{^(\w+://)?([^/:]+:)},''), ".git")
    -574:       end
    + # File lib/bundler/source.rb, line 587 +587: def base_name +588: File.basename(uri.sub(%{^(\w+://)?([^/:]+:)},''), ".git") +589: end
    @@ -974,20 +992,20 @@ TODO: actually cache git specs
    -     # File lib/bundler/source.rb, line 608
    -608:       def cache
    -609:         if cached?
    -610:           return if has_revision_cached?
    -611:           Bundler.ui.info "Updating #{uri}"
    -612:           in_cache do
    -613:             git %fetch --force --quiet --tags "#{uri}" refs/heads/*:refs/heads/*|
    -614:           end
    -615:         else
    -616:           Bundler.ui.info "Fetching #{uri}"
    -617:           FileUtils.mkdir_p(cache_path.dirname)
    -618:           git %clone "#{uri}" "#{cache_path}" --bare --no-hardlinks|
    -619:         end
    -620:       end
    + # File lib/bundler/source.rb, line 636 +636: def cache +637: if cached? +638: return if has_revision_cached? +639: Bundler.ui.info "Updating #{uri}" +640: in_cache do +641: git %fetch --force --quiet --tags #{uri_escaped} "refs/heads/*:refs/heads/*"| +642: end +643: else +644: Bundler.ui.info "Fetching #{uri}" +645: FileUtils.mkdir_p(cache_path.dirname) +646: git %clone #{uri_escaped} "#{cache_path}" --bare --no-hardlinks| +647: end +648: end
    @@ -1018,18 +1036,18 @@ TODO: actually cache git specs
    -     # File lib/bundler/source.rb, line 596
    -596:       def cache_path
    -597:         @cache_path ||= begin
    -598:           git_scope = "#{base_name}-#{uri_hash}"
    -599: 
    -600:           if Bundler.requires_sudo?
    -601:             Bundler.user_bundle_path.join("cache/git", git_scope)
    -602:           else
    -603:             Bundler.cache.join("git", git_scope)
    -604:           end
    -605:         end
    -606:       end
    + # File lib/bundler/source.rb, line 624 +624: def cache_path +625: @cache_path ||= begin +626: git_scope = "#{base_name}-#{uri_hash}" +627: +628: if Bundler.requires_sudo? +629: Bundler.user_bundle_path.join("cache/git", git_scope) +630: else +631: Bundler.cache.join("git", git_scope) +632: end +633: end +634: end
    @@ -1060,10 +1078,10 @@ TODO: actually cache git specs
    -     # File lib/bundler/source.rb, line 661
    -661:       def cached?
    -662:         cache_path.exist?
    -663:       end
    + # File lib/bundler/source.rb, line 690 +690: def cached? +691: cache_path.exist? +692: end
    @@ -1094,23 +1112,24 @@ TODO: actually cache git specs
    -     # File lib/bundler/source.rb, line 622
    -622:       def checkout
    -623:         unless File.exist?(path.join(".git"))
    -624:           FileUtils.mkdir_p(path.dirname)
    -625:           FileUtils.rm_rf(path)
    -626:           git %clone --no-checkout "#{cache_path}" "#{path}"|
    -627:         end
    -628:         Dir.chdir(path) do
    -629:           git %fetch --force --quiet --tags "#{cache_path}"|
    -630:           git "reset --hard #{revision}"
    -631: 
    -632:           if @submodules
    -633:             git "submodule init"
    -634:             git "submodule update"
    -635:           end
    -636:         end
    -637:       end
    + # File lib/bundler/source.rb, line 650 +650: def checkout +651: unless File.exist?(path.join(".git")) +652: FileUtils.mkdir_p(path.dirname) +653: FileUtils.rm_rf(path) +654: git %clone --no-checkout "#{cache_path}" "#{path}"| +655: File.chmod((0777 & ~File.umask), path) +656: end +657: Dir.chdir(path) do +658: git %fetch --force --quiet --tags "#{cache_path}"| +659: git "reset --hard #{revision}" +660: +661: if @submodules +662: git "submodule init" +663: git "submodule update" +664: end +665: end +666: end
    @@ -1141,19 +1160,21 @@ TODO: actually cache git specs
    -     # File lib/bundler/source.rb, line 557
    -557:       def git(command)
    -558:         if allow_git_ops?
    -559:           out = %{git #{command}}
    -560: 
    -561:           if $? != 0
    -562:             raise GitError, "An error has occurred in git when running `git #{command}`. Cannot complete bundling."
    -563:           end
    -564:           out
    -565:         else
    -566:           raise GitError, "Bundler is trying to run a `git #{command}` at runtime. You probably need to run `bundle install`. However, "                            "this error message could probably be more useful. Please submit a ticket at http://github.com/carlhuda/bundler/issues "                            "with steps to reproduce as well as the following\n\nCALLER: #{caller.join("\n")}"
    -567:         end
    -568:       end
    + # File lib/bundler/source.rb, line 570 +570: def git(command) +571: if allow_git_ops? +572: out = %{git #{command}} +573: +574: if $?.exitstatus != 0 +575: msg = "Git error: command `git #{command}` in directory #{Dir.pwd} has failed." +576: msg << "\nIf this error persists you could try removing the cache directory '#{cache_path}'" if cached? +577: raise GitError, msg +578: end +579: out +580: else +581: raise GitError, "Bundler is trying to run a `git #{command}` at runtime. You probably need to run `bundle install`. However, " "this error message could probably be more useful. Please submit a ticket at http://github.com/carlhuda/bundler/issues " "with steps to reproduce as well as the following\n\nCALLER: #{caller.join("\n")}" +582: end +583: end
    @@ -1184,14 +1205,14 @@ TODO: actually cache git specs
    -     # File lib/bundler/source.rb, line 639
    -639:       def has_revision_cached?
    -640:         return unless @revision
    -641:         in_cache { git %cat-file -e #{@revision}| }
    -642:         true
    -643:       rescue GitError
    -644:         false
    -645:       end
    + # File lib/bundler/source.rb, line 668 +668: def has_revision_cached? +669: return unless @revision +670: in_cache { git %cat-file -e #{@revision}| } +671: true +672: rescue GitError +673: false +674: end
    @@ -1222,11 +1243,11 @@ TODO: actually cache git specs
    -     # File lib/bundler/source.rb, line 665
    -665:       def in_cache(&blk)
    -666:         cache unless cached?
    -667:         Dir.chdir(cache_path, &blk)
    -668:       end
    + # File lib/bundler/source.rb, line 694 +694: def in_cache(&blk) +695: cache unless cached? +696: Dir.chdir(cache_path, &blk) +697: end
    @@ -1257,16 +1278,16 @@ TODO: actually cache git specs
    -     # File lib/bundler/source.rb, line 651
    -651:       def revision
    -652:         @revision ||= begin
    -653:           if allow_git_ops?
    -654:             in_cache { git("rev-parse #{ref}").strip }
    -655:           else
    -656:             raise GitError, "The git source #{uri} is not yet checked out. Please run `bundle install` before trying to start your application"
    -657:           end
    -658:         end
    -659:       end
    + # File lib/bundler/source.rb, line 680 +680: def revision +681: @revision ||= begin +682: if allow_git_ops? +683: in_cache { git("rev-parse #{ref}").strip } +684: else +685: raise GitError, "The git source #{uri} is not yet checked out. Please run `bundle install` before trying to start your application" +686: end +687: end +688: end
    @@ -1297,10 +1318,10 @@ TODO: actually cache git specs
    -     # File lib/bundler/source.rb, line 576
    -576:       def shortref_for_display(ref)
    -577:         ref[0..6]
    -578:       end
    + # File lib/bundler/source.rb, line 591 +591: def shortref_for_display(ref) +592: ref[0..6] +593: end
    @@ -1331,10 +1352,54 @@ TODO: actually cache git specs
    -     # File lib/bundler/source.rb, line 580
    -580:       def shortref_for_path(ref)
    -581:         ref[0..11]
    -582:       end
    + # File lib/bundler/source.rb, line 595 +595: def shortref_for_path(ref) +596: ref[0..11] +597: end +
    + + + + + + + + + +
    + + +
    + + uri_escaped() + click to toggle source + +
    + +
    + +

    +Escape the URI for git commands +

    + + + +
    +
    +     # File lib/bundler/source.rb, line 612
    +612:       def uri_escaped
    +613:         if Bundler::WINDOWS
    +614:           # Windows quoting requires double quotes only, with double quotes
    +615:           # inside the string escaped by being doubled.
    +616:           '"' + uri.gsub('"') {|s| '""'} + '"'
    +617:         else
    +618:           # Bash requires single quoted strings, with the single quotes escaped
    +619:           # by ending the string, escaping the quote, and restarting the string.
    +620:           "'" + uri.gsub("'") {|s| "'\\''"} + "'"
    +621:         end
    +622:       end
    @@ -1365,18 +1430,18 @@ TODO: actually cache git specs
    -     # File lib/bundler/source.rb, line 584
    -584:       def uri_hash
    -585:         if uri =~ %{^\w+://(\w+@)?}
    -586:           # Downcase the domain component of the URI
    -587:           # and strip off a trailing slash, if one is present
    -588:           input = URI.parse(uri).normalize.to_s.sub(%{/$},'')
    -589:         else
    -590:           # If there is no URI scheme, assume it is an ssh/git URI
    -591:           input = uri
    -592:         end
    -593:         Digest::SHA1.hexdigest(input)
    -594:       end
    + # File lib/bundler/source.rb, line 599 +599: def uri_hash +600: if uri =~ %{^\w+://(\w+@)?} +601: # Downcase the domain component of the URI +602: # and strip off a trailing slash, if one is present +603: input = URI.parse(uri).normalize.to_s.sub(%{/$},'') +604: else +605: # If there is no URI scheme, assume it is an ssh/git URI +606: input = uri +607: end +608: Digest::SHA1.hexdigest(input) +609: end
    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/Source/Path.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/Source/Path.html similarity index 78% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/Source/Path.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/Source/Path.html index 1a110fcd..a82f3938 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/Source/Path.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/Source/Path.html @@ -129,6 +129,10 @@
  • bundle
  • +
  • bundle-benchmark
  • + +
  • bundle-benchmark.txt
  • +
  • bundle-config
  • bundle-config.txt
  • @@ -238,16 +242,28 @@
  • Bundler::Resolver::SpecGroup
  • +
  • Bundler::RubygemsIntegration
  • + +
  • Bundler::RubygemsIntegration::AlmostModern
  • + +
  • Bundler::RubygemsIntegration::Deprecate
  • + +
  • Bundler::RubygemsIntegration::Gem
  • + +
  • Bundler::RubygemsIntegration::Gem::SourceIndex
  • + +
  • Bundler::RubygemsIntegration::Legacy
  • + +
  • Bundler::RubygemsIntegration::Modern
  • + +
  • Bundler::RubygemsIntegration::Transitional
  • +
  • Bundler::Runtime
  • Bundler::Settings
  • Bundler::SharedHelpers
  • -
  • Bundler::SharedHelpers::Gem
  • - -
  • Bundler::SharedHelpers::Gem::SourceIndex
  • -
  • Bundler::Source
  • Bundler::Source::Git
  • @@ -451,10 +467,10 @@ Kind of a hack, but needed for the lock file parser
    -     # File lib/bundler/source.rb, line 297
    -297:       def self.from_lock(options)
    -298:         new(options.merge("path" => options.delete("remote")))
    -299:       end
    + # File lib/bundler/source.rb, line 309 +309: def self.from_lock(options) +310: new(options.merge("path" => options.delete("remote"))) +311: end
    @@ -485,22 +501,22 @@ Kind of a hack, but needed for the lock file parser
    -     # File lib/bundler/source.rb, line 273
    -273:       def initialize(options)
    -274:         @options = options
    -275:         @glob = options["glob"] || DEFAULT_GLOB
    -276: 
    -277:         @allow_cached = false
    -278:         @allow_remote = false
    -279: 
    -280:         if options["path"]
    -281:           @path = Pathname.new(options["path"])
    -282:           @path = @path.expand_path(Bundler.root) unless @path.relative?
    -283:         end
    -284: 
    -285:         @name = options["name"]
    -286:         @version = options["version"]
    -287:       end
    + # File lib/bundler/source.rb, line 285 +285: def initialize(options) +286: @options = options +287: @glob = options["glob"] || DEFAULT_GLOB +288: +289: @allow_cached = false +290: @allow_remote = false +291: +292: if options["path"] +293: @path = Pathname.new(options["path"]) +294: @path = @path.expand_path(Bundler.root) unless @path.relative? +295: end +296: +297: @name = options["name"] +298: @version = options["version"] +299: end
    @@ -566,12 +582,12 @@ Kind of a hack, but needed for the lock file parser
    -     # File lib/bundler/source.rb, line 407
    -407:       def cache(spec)
    -408:         unless path.expand_path(Bundler.root).to_s.index(Bundler.root.to_s) == 0
    -409:           Bundler.ui.warn "  * #{spec.name} at `#{path}` will not be cached."
    -410:         end
    -411:       end
    + # File lib/bundler/source.rb, line 420 +420: def cache(spec) +421: unless path.expand_path(Bundler.root).to_s.index(Bundler.root.to_s) == 0 +422: Bundler.ui.warn " * #{spec.name} at `#{path}` will not be cached." +423: end +424: end
    @@ -602,10 +618,10 @@ Kind of a hack, but needed for the lock file parser
    -     # File lib/bundler/source.rb, line 293
    -293:       def cached!
    -294:         @allow_cached = true
    -295:       end
    + # File lib/bundler/source.rb, line 305 +305: def cached! +306: @allow_cached = true +307: end
    @@ -636,13 +652,12 @@ Kind of a hack, but needed for the lock file parser
    -     # File lib/bundler/source.rb, line 316
    -316:       def eql?(o)
    -317:         o.instance_of?(Path) &&
    -318:         path.expand_path(Bundler.root) == o.path.expand_path(Bundler.root) &&
    -319:         name == o.name &&
    -320:         version == o.version
    -321:       end
    + # File lib/bundler/source.rb, line 328 +328: def eql?(o) +329: o.instance_of?(Path) && +330: path.expand_path(Bundler.root) == o.path.expand_path(Bundler.root) && +331: version == o.version +332: end
    @@ -677,10 +692,10 @@ Kind of a hack, but needed for the lock file parser
    -     # File lib/bundler/source.rb, line 312
    -312:       def hash
    -313:         self.class.hash
    -314:       end
    + # File lib/bundler/source.rb, line 324 +324: def hash +325: self.class.hash +326: end
    @@ -711,16 +726,16 @@ Kind of a hack, but needed for the lock file parser
    -     # File lib/bundler/source.rb, line 395
    -395:       def install(spec)
    -396:         Bundler.ui.info "Using #{spec.name} (#{spec.version}) from #{to_s} "
    -397:         # Let's be honest, when we're working from a path, we can't
    -398:         # really expect native extensions to work because the whole point
    -399:         # is to just be able to modify what's in that path and go. So, let's
    -400:         # not put ourselves through the pain of actually trying to generate
    -401:         # the full gem.
    -402:         Installer.new(spec).generate_bin
    -403:       end
    + # File lib/bundler/source.rb, line 408 +408: def install(spec) +409: Bundler.ui.info "Using #{spec.name} (#{spec.version}) from #{to_s} " +410: # Let's be honest, when we're working from a path, we can't +411: # really expect native extensions to work because the whole point +412: # is to just be able to modify what's in that path and go. So, let's +413: # not put ourselves through the pain of actually trying to generate +414: # the full gem. +415: Installer.new(spec).generate_bin +416: end
    @@ -751,42 +766,44 @@ Kind of a hack, but needed for the lock file parser
    -     # File lib/bundler/source.rb, line 329
    -329:       def load_spec_files
    -330:         index = Index.new
    -331: 
    -332:         expanded_path = path.expand_path(Bundler.root)
    -333: 
    -334:         if File.directory?(expanded_path)
    -335:           Dir["#{expanded_path}/#{@glob}"].each do |file|
    -336:             spec = Bundler.load_gemspec(file)
    -337:             if spec
    -338:               spec.loaded_from = file.to_s
    -339:               spec.source = self
    -340:               index << spec
    -341:             end
    -342:           end
    -343: 
    -344:           if index.empty? && @name && @version
    -345:             index << Gem::Specification.new do |s|
    -346:               s.name     = @name
    -347:               s.source   = self
    -348:               s.version  = Gem::Version.new(@version)
    -349:               s.platform = Gem::Platform::RUBY
    -350:               s.summary  = "Fake gemspec for #{@name}"
    -351:               s.relative_loaded_from = "#{@name}.gemspec"
    -352:               if expanded_path.join("bin").exist?
    -353:                 binaries = expanded_path.join("bin").children.map{|c| c.basename.to_s }
    -354:                 s.executables = binaries
    -355:               end
    -356:             end
    -357:           end
    -358:         else
    -359:           raise PathError, "The path `#{expanded_path}` does not exist."
    -360:         end
    -361: 
    -362:         index
    -363:       end
    + # File lib/bundler/source.rb, line 340 +340: def load_spec_files +341: index = Index.new +342: +343: expanded_path = path.expand_path(Bundler.root) +344: +345: if File.directory?(expanded_path) +346: Dir["#{expanded_path}/#{@glob}"].each do |file| +347: spec = Bundler.load_gemspec(file) +348: if spec +349: spec.loaded_from = file.to_s +350: spec.source = self +351: index << spec +352: end +353: end +354: +355: if index.empty? && @name && @version +356: index << Gem::Specification.new do |s| +357: s.name = @name +358: s.source = self +359: s.version = Gem::Version.new(@version) +360: s.platform = Gem::Platform::RUBY +361: s.summary = "Fake gemspec for #{@name}" +362: s.relative_loaded_from = "#{@name}.gemspec" +363: s.authors = ["no one"] +364: if expanded_path.join("bin").exist? +365: binaries = expanded_path.join("bin").children +366: binaries.reject!{|p| File.directory?(p) } +367: s.executables = binaries.map{|c| c.basename.to_s } +368: end +369: end +370: end +371: else +372: raise PathError, "The path `#{expanded_path}` does not exist." +373: end +374: +375: index +376: end
    @@ -817,10 +834,10 @@ Kind of a hack, but needed for the lock file parser
    -     # File lib/bundler/source.rb, line 365
    -365:       def local_specs
    -366:         @local_specs ||= load_spec_files
    -367:       end
    + # File lib/bundler/source.rb, line 378 +378: def local_specs +379: @local_specs ||= load_spec_files +380: end
    @@ -855,10 +872,10 @@ Kind of a hack, but needed for the lock file parser
    -     # File lib/bundler/source.rb, line 325
    -325:       def name
    -326:         File.basename(@path.to_s)
    -327:       end
    + # File lib/bundler/source.rb, line 336 +336: def name +337: File.basename(path.expand_path(Bundler.root).to_s) +338: end
    @@ -889,10 +906,10 @@ Kind of a hack, but needed for the lock file parser
    -     # File lib/bundler/source.rb, line 289
    -289:       def remote!
    -290:         @allow_remote = true
    -291:       end
    + # File lib/bundler/source.rb, line 301 +301: def remote! +302: @allow_remote = true +303: end
    @@ -952,13 +969,13 @@ Kind of a hack, but needed for the lock file parser
    -     # File lib/bundler/source.rb, line 301
    -301:       def to_lock
    -302:         out = "PATH\n"
    -303:         out << "  remote: #{relative_path}\n"
    -304:         out << "  glob: #{@glob}\n" unless @glob == DEFAULT_GLOB
    -305:         out << "  specs:\n"
    -306:       end
    + # File lib/bundler/source.rb, line 313 +313: def to_lock +314: out = "PATH\n" +315: out << " remote: #{relative_path}\n" +316: out << " glob: #{@glob}\n" unless @glob == DEFAULT_GLOB +317: out << " specs:\n" +318: end
    @@ -989,10 +1006,10 @@ Kind of a hack, but needed for the lock file parser
    -     # File lib/bundler/source.rb, line 308
    -308:       def to_s
    -309:         "source at #{@path}"
    -310:       end
    + # File lib/bundler/source.rb, line 320 +320: def to_s +321: "source at #{@path}" +322: end
    @@ -1029,37 +1046,37 @@ Kind of a hack, but needed for the lock file parser
    -     # File lib/bundler/source.rb, line 423
    -423:       def generate_bin(spec)
    -424:         gem_dir  = Pathname.new(spec.full_gem_path)
    -425: 
    -426:         # Some gem authors put absolute paths in their gemspec
    -427:         # and we have to save them from themselves
    -428:         spec.files = spec.files.map do |p|
    -429:           next if File.directory?(p)
    -430:           begin
    -431:             Pathname.new(p).relative_path_from(gem_dir).to_s
    -432:           rescue ArgumentError
    -433:             p
    -434:           end
    -435:         end.compact
    -436: 
    -437:         gem_file = Dir.chdir(gem_dir){ Gem::Builder.new(spec).build }
    +     # File lib/bundler/source.rb, line 436
    +436:       def generate_bin(spec)
    +437:         gem_dir  = Pathname.new(spec.full_gem_path)
     438: 
    -439:         installer = Installer.new(spec, :env_shebang => false)
    -440:         installer.build_extensions
    -441:         installer.generate_bin
    -442:       rescue Gem::InvalidSpecificationException => e
    -443:         Bundler.ui.warn "\n#{spec.name} at #{spec.full_gem_path} did not have a valid gemspec.\n"                          "This prevents bundler from installing bins or native extensions, but "                          "that may not affect its functionality."
    -444: 
    -445:         if !spec.extensions.empty? && !spec.email.empty?
    -446:           Bundler.ui.warn "If you need to use this package without installing it from a gem "                            "repository, please contact #{spec.email} and ask them "                            "to modify their .gemspec so it can work with `gem build`."
    -447:         end
    -448: 
    -449:         Bundler.ui.warn "The validation message from Rubygems was:\n  #{e.message}"
    -450:       ensure
    -451:         Dir.chdir(gem_dir){ FileUtils.rm_rf(gem_file) if gem_file && File.exist?(gem_file) }
    -452:       end
    +439: # Some gem authors put absolute paths in their gemspec +440: # and we have to save them from themselves +441: spec.files = spec.files.map do |p| +442: next if File.directory?(p) +443: begin +444: Pathname.new(p).relative_path_from(gem_dir).to_s +445: rescue ArgumentError +446: p +447: end +448: end.compact +449: +450: gem_file = Dir.chdir(gem_dir){ Gem::Builder.new(spec).build } +451: +452: installer = Installer.new(spec, :env_shebang => false) +453: installer.build_extensions +454: installer.generate_bin +455: rescue Gem::InvalidSpecificationException => e +456: Bundler.ui.warn "\n#{spec.name} at #{spec.full_gem_path} did not have a valid gemspec.\n" "This prevents bundler from installing bins or native extensions, but " "that may not affect its functionality." +457: +458: if !spec.extensions.empty? && !spec.email.empty? +459: Bundler.ui.warn "If you need to use this package without installing it from a gem " "repository, please contact #{spec.email} and ask them " "to modify their .gemspec so it can work with `gem build`." +460: end +461: +462: Bundler.ui.warn "The validation message from Rubygems was:\n #{e.message}" +463: ensure +464: Dir.chdir(gem_dir){ FileUtils.rm_rf(gem_file) if gem_file && File.exist?(gem_file) } +465: end
    @@ -1090,14 +1107,14 @@ Kind of a hack, but needed for the lock file parser
    -     # File lib/bundler/source.rb, line 415
    -415:       def relative_path
    -416:         if path.to_s.include?(Bundler.root.to_s)
    -417:           return path.relative_path_from(Bundler.root)
    -418:         end
    -419: 
    -420:         path
    -421:       end
    + # File lib/bundler/source.rb, line 428 +428: def relative_path +429: if path.to_s.include?(Bundler.root.to_s) +430: return path.relative_path_from(Bundler.root) +431: end +432: +433: path +434: end
    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/Source/Path/Installer.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/Source/Path/Installer.html similarity index 83% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/Source/Path/Installer.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/Source/Path/Installer.html index cc6763f4..fd60d21f 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/Source/Path/Installer.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/Source/Path/Installer.html @@ -90,6 +90,10 @@
  • bundle
  • +
  • bundle-benchmark
  • + +
  • bundle-benchmark.txt
  • +
  • bundle-config
  • bundle-config.txt
  • @@ -199,16 +203,28 @@
  • Bundler::Resolver::SpecGroup
  • +
  • Bundler::RubygemsIntegration
  • + +
  • Bundler::RubygemsIntegration::AlmostModern
  • + +
  • Bundler::RubygemsIntegration::Deprecate
  • + +
  • Bundler::RubygemsIntegration::Gem
  • + +
  • Bundler::RubygemsIntegration::Gem::SourceIndex
  • + +
  • Bundler::RubygemsIntegration::Legacy
  • + +
  • Bundler::RubygemsIntegration::Modern
  • + +
  • Bundler::RubygemsIntegration::Transitional
  • +
  • Bundler::Runtime
  • Bundler::Settings
  • Bundler::SharedHelpers
  • -
  • Bundler::SharedHelpers::Gem
  • - -
  • Bundler::SharedHelpers::Gem::SourceIndex
  • -
  • Bundler::Source
  • Bundler::Source::Git
  • @@ -328,15 +344,15 @@
    -     # File lib/bundler/source.rb, line 370
    -370:         def initialize(spec, options = {})
    -371:           @spec              = spec
    -372:           @bin_dir           = Bundler.requires_sudo? ? "#{Bundler.tmp}/bin" : "#{Gem.dir}/bin"
    -373:           @gem_dir           = spec.full_gem_path
    -374:           @wrappers          = options[:wrappers] || true
    -375:           @env_shebang       = options[:env_shebang] || true
    -376:           @format_executable = options[:format_executable] || false
    -377:         end
    + # File lib/bundler/source.rb, line 383 +383: def initialize(spec, options = {}) +384: @spec = spec +385: @bin_dir = Bundler.requires_sudo? ? "#{Bundler.tmp}/bin" : "#{Bundler.rubygems.gem_dir}/bin" +386: @gem_dir = Bundler.rubygems.path(spec.full_gem_path) +387: @wrappers = options[:wrappers] || true +388: @env_shebang = options[:env_shebang] || true +389: @format_executable = options[:format_executable] || false +390: end
    @@ -373,21 +389,21 @@
    -     # File lib/bundler/source.rb, line 379
    -379:         def generate_bin
    -380:           return if spec.executables.nil? || spec.executables.empty?
    -381: 
    -382:           if Bundler.requires_sudo?
    -383:             FileUtils.mkdir_p("#{Bundler.tmp}/bin") unless File.exist?("#{Bundler.tmp}/bin")
    -384:           end
    -385:           super
    -386:           if Bundler.requires_sudo?
    -387:             Bundler.mkdir_p "#{Gem.dir}/bin"
    -388:             spec.executables.each do |exe|
    -389:               Bundler.sudo "cp -R #{Bundler.tmp}/bin/#{exe} #{Gem.dir}/bin/"
    -390:             end
    -391:           end
    -392:         end
    + # File lib/bundler/source.rb, line 392 +392: def generate_bin +393: return if spec.executables.nil? || spec.executables.empty? +394: +395: if Bundler.requires_sudo? +396: FileUtils.mkdir_p("#{Bundler.tmp}/bin") unless File.exist?("#{Bundler.tmp}/bin") +397: end +398: super +399: if Bundler.requires_sudo? +400: Bundler.mkdir_p "#{Bundler.rubygems.gem_dir}/bin" +401: spec.executables.each do |exe| +402: Bundler.sudo "cp -R #{Bundler.tmp}/bin/#{exe} #{Bundler.rubygems.gem_dir}/bin/" +403: end +404: end +405: end
    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/Source/Rubygems.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/Source/Rubygems.html similarity index 69% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/Source/Rubygems.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/Source/Rubygems.html index 2f148092..565167b7 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/Source/Rubygems.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/Source/Rubygems.html @@ -138,6 +138,10 @@
  • bundle
  • +
  • bundle-benchmark
  • + +
  • bundle-benchmark.txt
  • +
  • bundle-config
  • bundle-config.txt
  • @@ -247,16 +251,28 @@
  • Bundler::Resolver::SpecGroup
  • +
  • Bundler::RubygemsIntegration
  • + +
  • Bundler::RubygemsIntegration::AlmostModern
  • + +
  • Bundler::RubygemsIntegration::Deprecate
  • + +
  • Bundler::RubygemsIntegration::Gem
  • + +
  • Bundler::RubygemsIntegration::Gem::SourceIndex
  • + +
  • Bundler::RubygemsIntegration::Legacy
  • + +
  • Bundler::RubygemsIntegration::Modern
  • + +
  • Bundler::RubygemsIntegration::Transitional
  • +
  • Bundler::Runtime
  • Bundler::Settings
  • Bundler::SharedHelpers
  • -
  • Bundler::SharedHelpers::Gem
  • - -
  • Bundler::SharedHelpers::Gem::SourceIndex
  • -
  • Bundler::Source
  • Bundler::Source::Git
  • @@ -400,12 +416,12 @@ TODO: Refactor this class
    -    # File lib/bundler/source.rb, line 46
    -46:       def self.from_lock(options)
    -47:         s = new(options)
    -48:         Array(options["remote"]).each { |r| s.add_remote(r) }
    -49:         s
    -50:       end
    + # File lib/bundler/source.rb, line 51 +51: def self.from_lock(options) +52: s = new(options) +53: Array(options["remote"]).each { |r| s.add_remote(r) } +54: s +55: end
    @@ -436,16 +452,20 @@ TODO: Refactor this class
    -    # File lib/bundler/source.rb, line 14
    -14:       def initialize(options = {})
    -15:         @options = options
    -16:         @remotes = (options["remotes"] || []).map { |r| normalize_uri(r) }
    -17:         @allow_remote = false
    -18:         @allow_cached = false
    -19:         # Hardcode the paths for now
    -20:         @caches = [ Bundler.app_cache ] + Gem.path.map { |p| File.expand_path("#{p}/cache") }
    -21:         @spec_fetch_map = {}
    -22:       end
    + # File lib/bundler/source.rb, line 15 +15: def initialize(options = {}) +16: @options = options +17: @remotes = (options["remotes"] || []).map { |r| normalize_uri(r) } +18: @allow_remote = false +19: @allow_cached = false +20: +21: # Hardcode the paths for now +22: @caches = [ Bundler.app_cache ] + Bundler.rubygems.gem_path.map do |x| +23: File.expand_path("#{x}/cache") +24: end +25: +26: @spec_fetch_map = {} +27: end
    @@ -511,10 +531,10 @@ TODO: Refactor this class
    -     # File lib/bundler/source.rb, line 123
    -123:       def add_remote(source)
    -124:         @remotes << normalize_uri(source)
    -125:       end
    + # File lib/bundler/source.rb, line 130 +130: def add_remote(source) +131: @remotes << normalize_uri(source) +132: end
    @@ -545,14 +565,14 @@ TODO: Refactor this class
    -     # File lib/bundler/source.rb, line 115
    -115:       def cache(spec)
    -116:         cached_path = cached_gem(spec)
    -117:         raise GemNotFound, "Missing gem file '#{spec.full_name}.gem'." unless cached_path
    -118:         return if File.dirname(cached_path) == Bundler.app_cache.to_s
    -119:         Bundler.ui.info "  * #{File.basename(cached_path)}"
    -120:         FileUtils.cp(cached_path, Bundler.app_cache)
    -121:       end
    + # File lib/bundler/source.rb, line 122 +122: def cache(spec) +123: cached_path = cached_gem(spec) +124: raise GemNotFound, "Missing gem file '#{spec.full_name}.gem'." unless cached_path +125: return if File.dirname(cached_path) == Bundler.app_cache.to_s +126: Bundler.ui.info " * #{File.basename(cached_path)}" +127: FileUtils.cp(cached_path, Bundler.app_cache) +128: end
    @@ -583,10 +603,10 @@ TODO: Refactor this class
    -    # File lib/bundler/source.rb, line 28
    -28:       def cached!
    -29:         @allow_cached = true
    -30:       end
    + # File lib/bundler/source.rb, line 33 +33: def cached! +34: @allow_cached = true +35: end
    @@ -617,10 +637,10 @@ TODO: Refactor this class
    -    # File lib/bundler/source.rb, line 36
    -36:       def eql?(o)
    -37:         Rubygems === o
    -38:       end
    + # File lib/bundler/source.rb, line 41 +41: def eql?(o) +42: Rubygems === o +43: end
    @@ -655,15 +675,15 @@ TODO: Refactor this class
    -    # File lib/bundler/source.rb, line 68
    -68:       def fetch(spec)
    -69:         spec, uri = @spec_fetch_map[spec.full_name]
    -70:         if spec
    -71:           path = download_gem_from_uri(spec, uri)
    -72:           s = Gem::Format.from_file_by_path(path).spec
    -73:           spec.__swap__(s)
    -74:         end
    -75:       end
    + # File lib/bundler/source.rb, line 73 +73: def fetch(spec) +74: spec, uri = @spec_fetch_map[spec.full_name] +75: if spec +76: path = download_gem_from_uri(spec, uri) +77: s = Bundler.rubygems.spec_from_gem(path) +78: spec.__swap__(s) +79: end +80: end
    @@ -694,10 +714,10 @@ TODO: Refactor this class
    -    # File lib/bundler/source.rb, line 32
    -32:       def hash
    -33:         Rubygems.hash
    -34:       end
    + # File lib/bundler/source.rb, line 37 +37: def hash +38: Rubygems.hash +39: end
    @@ -728,40 +748,42 @@ TODO: Refactor this class
    -     # File lib/bundler/source.rb, line 77
    - 77:       def install(spec)
    - 78:         path = cached_gem(spec)
    - 79: 
    - 80:         if installed_specs[spec].any?
    - 81:           Bundler.ui.info "Using #{spec.name} (#{spec.version}) "
    - 82:           return
    - 83:         end
    - 84: 
    - 85:         Bundler.ui.info "Installing #{spec.name} (#{spec.version}) "
    - 86: 
    - 87:         install_path = Bundler.requires_sudo? ? Bundler.tmp : Gem.dir
    - 88:         options = { :install_dir         => install_path,
    - 89:                     :ignore_dependencies => true,
    - 90:                     :wrappers            => true,
    - 91:                     :env_shebang         => true }
    - 92:         options.merge!(:bin_dir => "#{install_path}/bin") unless spec.executables.nil? || spec.executables.empty?
    - 93: 
    - 94:         installer = Gem::Installer.new path, options
    - 95:         installer.install
    - 96: 
    - 97:         # SUDO HAX
    - 98:         if Bundler.requires_sudo?
    - 99:           sudo "mkdir -p #{Gem.dir}/gems #{Gem.dir}/specifications"
    -100:           sudo "cp -R #{Bundler.tmp}/gems/#{spec.full_name} #{Gem.dir}/gems/"
    -101:           sudo "cp -R #{Bundler.tmp}/specifications/#{spec.full_name}.gemspec #{Gem.dir}/specifications/"
    -102:           spec.executables.each do |exe|
    -103:             sudo "mkdir -p #{Gem.bindir}"
    -104:             sudo "cp -R #{Bundler.tmp}/bin/#{exe} #{Gem.bindir}"
    -105:           end
    -106:         end
    -107: 
    -108:         spec.loaded_from = "#{Gem.dir}/specifications/#{spec.full_name}.gemspec"
    -109:       end
    + # File lib/bundler/source.rb, line 82 + 82: def install(spec) + 83: if installed_specs[spec].any? + 84: Bundler.ui.info "Using #{spec.name} (#{spec.version}) " + 85: return + 86: end + 87: + 88: Bundler.ui.info "Installing #{spec.name} (#{spec.version}) " + 89: path = cached_gem(spec) + 90: + 91: Bundler.rubygems.preserve_paths do + 92: + 93: install_path = Bundler.requires_sudo? ? Bundler.tmp : Bundler.rubygems.gem_dir + 94: options = { :install_dir => install_path, + 95: :ignore_dependencies => true, + 96: :wrappers => true, + 97: :env_shebang => true } + 98: options.merge!(:bin_dir => "#{install_path}/bin") unless spec.executables.nil? || spec.executables.empty? + 99: +100: installer = Gem::Installer.new path, options +101: installer.install +102: end +103: +104: # SUDO HAX +105: if Bundler.requires_sudo? +106: sudo "mkdir -p #{Bundler.rubygems.gem_dir}/gems #{Bundler.rubygems.gem_dir}/specifications" +107: sudo "cp -R #{Bundler.tmp}/gems/#{spec.full_name} #{Bundler.rubygems.gem_dir}/gems/" +108: sudo "cp -R #{Bundler.tmp}/specifications/#{spec.full_name}.gemspec #{Bundler.rubygems.gem_dir}/specifications/" +109: spec.executables.each do |exe| +110: sudo "mkdir -p #{Bundler.rubygems.gem_bindir}" +111: sudo "cp -R #{Bundler.tmp}/bin/#{exe} #{Bundler.rubygems.gem_bindir}" +112: end +113: end +114: +115: spec.loaded_from = "#{Bundler.rubygems.gem_dir}/specifications/#{spec.full_name}.gemspec" +116: end
    @@ -792,13 +814,13 @@ TODO: Refactor this class
    -     # File lib/bundler/source.rb, line 127
    -127:       def merge_remotes(source)
    -128:         @remotes = []
    -129:         source.remotes.each do |r|
    -130:           add_remote r.to_s
    -131:         end
    -132:       end
    + # File lib/bundler/source.rb, line 134 +134: def merge_remotes(source) +135: @remotes = [] +136: source.remotes.each do |r| +137: add_remote r.to_s +138: end +139: end
    @@ -858,10 +880,10 @@ TODO: Refactor this class
    -    # File lib/bundler/source.rb, line 42
    -42:       def options
    -43:         { "remotes" => @remotes.map { |r| r.to_s } }
    -44:       end
    + # File lib/bundler/source.rb, line 47 +47: def options +48: { "remotes" => @remotes.map { |r| r.to_s } } +49: end
    @@ -892,10 +914,10 @@ TODO: Refactor this class
    -    # File lib/bundler/source.rb, line 24
    -24:       def remote!
    -25:         @allow_remote = true
    -26:       end
    + # File lib/bundler/source.rb, line 29 +29: def remote! +30: @allow_remote = true +31: end
    @@ -926,10 +948,10 @@ TODO: Refactor this class
    -    # File lib/bundler/source.rb, line 64
    -64:       def specs
    -65:         @specs ||= fetch_specs
    -66:       end
    + # File lib/bundler/source.rb, line 69 +69: def specs +70: @specs ||= fetch_specs +71: end
    @@ -960,10 +982,10 @@ TODO: Refactor this class
    -     # File lib/bundler/source.rb, line 111
    -111:       def sudo(str)
    -112:         Bundler.sudo(str)
    -113:       end
    + # File lib/bundler/source.rb, line 118 +118: def sudo(str) +119: Bundler.sudo(str) +120: end
    @@ -994,12 +1016,12 @@ TODO: Refactor this class
    -    # File lib/bundler/source.rb, line 52
    -52:       def to_lock
    -53:         out = "GEM\n"
    -54:         out << remotes.map {|r| "  remote: #{r}\n" }.join
    -55:         out << "  specs:\n"
    -56:       end
    + # File lib/bundler/source.rb, line 57 +57: def to_lock +58: out = "GEM\n" +59: out << remotes.map {|r| " remote: #{r}\n" }.join +60: out << " specs:\n" +61: end
    @@ -1030,11 +1052,11 @@ TODO: Refactor this class
    -    # File lib/bundler/source.rb, line 58
    -58:       def to_s
    -59:         remote_names = self.remotes.map { |r| r.to_s }.join(', ')
    -60:         "rubygems repository #{remote_names}"
    -61:       end
    + # File lib/bundler/source.rb, line 63 +63: def to_s +64: remote_names = self.remotes.map { |r| r.to_s }.join(', ') +65: "rubygems repository #{remote_names}" +66: end
    @@ -1075,11 +1097,15 @@ TODO: Refactor this class
    -     # File lib/bundler/source.rb, line 136
    -136:       def cached_gem(spec)
    -137:         possibilities = @caches.map { |p| "#{p}/#{spec.full_name}.gem" }
    -138:         possibilities.find { |p| File.exist?(p) }
    -139:       end
    + # File lib/bundler/source.rb, line 143 +143: def cached_gem(spec) +144: possibilities = @caches.map { |p| "#{p}/#{spec.file_name}" } +145: cached_gem = possibilities.find { |p| File.exist?(p) } +146: unless cached_gem +147: raise Bundler::GemNotFound, "Could not find #{spec.file_name} for installation" +148: end +149: cached_gem +150: end
    @@ -1110,28 +1136,28 @@ TODO: Refactor this class
    -     # File lib/bundler/source.rb, line 186
    -186:       def cached_specs
    -187:         @cached_specs ||= begin
    -188:           idx = installed_specs.dup
    -189: 
    -190:           path = Bundler.app_cache
    -191:           Dir["#{path}/*.gem"].each do |gemfile|
    -192:             next if gemfile =~ /bundler\-[\d\.]+?\.gem/
    -193: 
    -194:             begin
    -195:               s ||= Gem::Format.from_file_by_path(gemfile).spec
    -196:             rescue Gem::Package::FormatError
    -197:               raise GemspecError, "Could not read gem at #{gemfile}. It may be corrupted."
    -198:             end
    -199: 
    -200:             s.source = self
    -201:             idx << s
    -202:           end
    -203:         end
    -204: 
    -205:         idx
    -206:       end
    + # File lib/bundler/source.rb, line 198 +198: def cached_specs +199: @cached_specs ||= begin +200: idx = installed_specs.dup +201: +202: path = Bundler.app_cache +203: Dir["#{path}/*.gem"].each do |gemfile| +204: next if gemfile =~ /^bundler\-[\d\.]+?\.gem/ +205: +206: begin +207: s ||= Bundler.rubygems.spec_from_gem(gemfile) +208: rescue Gem::Package::FormatError +209: raise GemspecError, "Could not read gem at #{gemfile}. It may be corrupted." +210: end +211: +212: s.source = self +213: idx << s +214: end +215: end +216: +217: idx +218: end
    @@ -1162,23 +1188,23 @@ TODO: Refactor this class
    -     # File lib/bundler/source.rb, line 247
    -247:       def download_gem_from_uri(spec, uri)
    -248:         spec.fetch_platform
    -249: 
    -250:         download_path = Bundler.requires_sudo? ? Bundler.tmp : Gem.dir
    -251:         gem_path = "#{Gem.dir}/cache/#{spec.full_name}.gem"
    -252: 
    -253:         FileUtils.mkdir_p("#{download_path}/cache")
    -254:         Gem::RemoteFetcher.fetcher.download(spec, uri, download_path)
    -255: 
    -256:         if Bundler.requires_sudo?
    -257:           sudo "mkdir -p #{Gem.dir}/cache"
    -258:           sudo "mv #{Bundler.tmp}/cache/#{spec.full_name}.gem #{gem_path}"
    -259:         end
    -260: 
    -261:         gem_path
    -262:       end
    + # File lib/bundler/source.rb, line 259 +259: def download_gem_from_uri(spec, uri) +260: spec.fetch_platform +261: +262: download_path = Bundler.requires_sudo? ? Bundler.tmp : Bundler.rubygems.gem_dir +263: gem_path = "#{Bundler.rubygems.gem_dir}/cache/#{spec.full_name}.gem" +264: +265: FileUtils.mkdir_p("#{download_path}/cache") +266: Bundler.rubygems.download_gem(spec, uri, download_path) +267: +268: if Bundler.requires_sudo? +269: sudo "mkdir -p #{Bundler.rubygems.gem_dir}/cache" +270: sudo "mv #{Bundler.tmp}/cache/#{spec.full_name}.gem #{gem_path}" +271: end +272: +273: gem_path +274: end
    @@ -1209,21 +1235,21 @@ TODO: Refactor this class
    -     # File lib/bundler/source.rb, line 232
    -232:       def fetch_all_remote_specs(&blk)
    -233:         begin
    -234:           # Fetch all specs, minus prerelease specs
    -235:           Gem::SpecFetcher.new.list(true, false).each(&blk)
    -236:           # Then fetch the prerelease specs
    -237:           begin
    -238:             Gem::SpecFetcher.new.list(false, true).each(&blk)
    -239:           rescue Gem::RemoteFetcher::FetchError
    -240:             Bundler.ui.warn "Could not fetch prerelease specs from #{self}"
    -241:           end
    -242:         rescue Gem::RemoteFetcher::FetchError
    -243:           Bundler.ui.warn "Could not reach #{self}"
    -244:         end
    -245:       end
    + # File lib/bundler/source.rb, line 244 +244: def fetch_all_remote_specs(&blk) +245: begin +246: # Fetch all specs, minus prerelease specs +247: Gem::SpecFetcher.new.list(true, false).each(&blk) +248: # Then fetch the prerelease specs +249: begin +250: Gem::SpecFetcher.new.list(false, true).each(&blk) +251: rescue Gem::RemoteFetcher::FetchError +252: Bundler.ui.warn "Could not fetch prerelease specs from #{self}" +253: end +254: rescue Gem::RemoteFetcher::FetchError +255: Bundler.ui.warn "Could not reach #{self}" +256: end +257: end
    @@ -1254,14 +1280,14 @@ TODO: Refactor this class
    -     # File lib/bundler/source.rb, line 149
    -149:       def fetch_specs
    -150:         Index.build do |idx|
    -151:           idx.use installed_specs
    -152:           idx.use cached_specs if @allow_cached || @allow_remote
    -153:           idx.use remote_specs if @allow_remote
    -154:         end
    -155:       end
    + # File lib/bundler/source.rb, line 160 +160: def fetch_specs +161: Index.build do |idx| +162: idx.use installed_specs +163: idx.use cached_specs if @allow_cached || @allow_remote +164: idx.use remote_specs if @allow_remote +165: end +166: end
    @@ -1292,35 +1318,36 @@ TODO: Refactor this class
    -     # File lib/bundler/source.rb, line 157
    -157:       def installed_specs
    -158:         @installed_specs ||= begin
    -159:           idx = Index.new
    -160:           have_bundler = false
    -161:           Gem.source_index.to_a.reverse.each do |dont_use_this_var, spec|
    -162:             next if spec.name == 'bundler' && spec.version.to_s != VERSION
    -163:             have_bundler = true if spec.name == 'bundler'
    -164:             spec.source = self
    -165:             idx << spec
    -166:           end
    -167: 
    -168:           # Always have bundler locally
    -169:           unless have_bundler
    -170:            # We're running bundler directly from the source
    -171:            # so, let's create a fake gemspec for it (it's a path)
    -172:            # gemspec
    -173:            bundler = Gem::Specification.new do |s|
    -174:              s.name     = 'bundler'
    -175:              s.version  = VERSION
    -176:              s.platform = Gem::Platform::RUBY
    -177:              s.source   = self
    -178:              s.loaded_from = File.expand_path("..", __FILE__)
    -179:            end
    -180:            idx << bundler
    -181:           end
    -182:           idx
    -183:         end
    -184:       end
    + # File lib/bundler/source.rb, line 168 +168: def installed_specs +169: @installed_specs ||= begin +170: idx = Index.new +171: have_bundler = false +172: Bundler.rubygems.all_specs.reverse.each do |spec| +173: next if spec.name == 'bundler' && spec.version.to_s != VERSION +174: have_bundler = true if spec.name == 'bundler' +175: spec.source = self +176: idx << spec +177: end +178: +179: # Always have bundler locally +180: unless have_bundler +181: # We're running bundler directly from the source +182: # so, let's create a fake gemspec for it (it's a path) +183: # gemspec +184: bundler = Gem::Specification.new do |s| +185: s.name = 'bundler' +186: s.version = VERSION +187: s.platform = Gem::Platform::RUBY +188: s.source = self +189: s.authors = ["bundler team"] +190: s.loaded_from = File.expand_path("..", __FILE__) +191: end +192: idx << bundler +193: end +194: idx +195: end +196: end
    @@ -1351,14 +1378,14 @@ TODO: Refactor this class
    -     # File lib/bundler/source.rb, line 141
    -141:       def normalize_uri(uri)
    -142:         uri = uri.to_s
    -143:         uri = "#{uri}/" unless uri =~ %/$'
    -144:         uri = URI(uri)
    -145:         raise ArgumentError, "The source must be an absolute URI" unless uri.absolute?
    -146:         uri
    -147:       end
    + # File lib/bundler/source.rb, line 152 +152: def normalize_uri(uri) +153: uri = uri.to_s +154: uri = "#{uri}/" unless uri =~ %/$' +155: uri = URI(uri) +156: raise ArgumentError, "The source must be an absolute URI" unless uri.absolute? +157: uri +158: end
    @@ -1389,30 +1416,30 @@ TODO: Refactor this class
    -     # File lib/bundler/source.rb, line 208
    -208:       def remote_specs
    -209:         @remote_specs ||= begin
    -210:           idx     = Index.new
    -211:           old     = Gem.sources
    -212: 
    -213:           remotes.each do |uri|
    -214:             Bundler.ui.info "Fetching source index for #{uri}"
    -215:             Gem.sources = ["#{uri}"]
    -216:             fetch_all_remote_specs do |n,v|
    -217:               v.each do |name, version, platform|
    -218:                 next if name == 'bundler'
    -219:                 spec = RemoteSpecification.new(name, version, platform, uri)
    -220:                 spec.source = self
    -221:                 @spec_fetch_map[spec.full_name] = [spec, uri]
    -222:                 idx << spec
    -223:               end
    -224:             end
    -225:           end
    -226:           idx
    -227:         ensure
    -228:           Gem.sources = old
    -229:         end
    -230:       end
    + # File lib/bundler/source.rb, line 220 +220: def remote_specs +221: @remote_specs ||= begin +222: idx = Index.new +223: old = Bundler.rubygems.sources +224: +225: remotes.each do |uri| +226: Bundler.ui.info "Fetching source index for #{uri}" +227: Gem.sources = ["#{uri}"] +228: fetch_all_remote_specs do |n,v| +229: v.each do |name, version, platform| +230: next if name == 'bundler' +231: spec = RemoteSpecification.new(name, version, platform, uri) +232: spec.source = self +233: @spec_fetch_map[spec.full_name] = [spec, uri] +234: idx << spec +235: end +236: end +237: end +238: idx +239: ensure +240: Bundler.rubygems.sources = old +241: end +242: end
    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/SpecSet.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/SpecSet.html similarity index 97% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/SpecSet.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/SpecSet.html index 063c6519..1f00de65 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/SpecSet.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/SpecSet.html @@ -131,6 +131,10 @@
  • bundle
  • +
  • bundle-benchmark
  • + +
  • bundle-benchmark.txt
  • +
  • bundle-config
  • bundle-config.txt
  • @@ -240,16 +244,28 @@
  • Bundler::Resolver::SpecGroup
  • +
  • Bundler::RubygemsIntegration
  • + +
  • Bundler::RubygemsIntegration::AlmostModern
  • + +
  • Bundler::RubygemsIntegration::Deprecate
  • + +
  • Bundler::RubygemsIntegration::Gem
  • + +
  • Bundler::RubygemsIntegration::Gem::SourceIndex
  • + +
  • Bundler::RubygemsIntegration::Legacy
  • + +
  • Bundler::RubygemsIntegration::Modern
  • + +
  • Bundler::RubygemsIntegration::Transitional
  • +
  • Bundler::Runtime
  • Bundler::Settings
  • Bundler::SharedHelpers
  • -
  • Bundler::SharedHelpers::Gem
  • - -
  • Bundler::SharedHelpers::Gem::SourceIndex
  • -
  • Bundler::Source
  • Bundler::Source::Git
  • diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/UI.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/UI.html similarity index 88% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/UI.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/UI.html index 79604162..f73b3f30 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/UI.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/UI.html @@ -107,6 +107,10 @@
  • bundle
  • +
  • bundle-benchmark
  • + +
  • bundle-benchmark.txt
  • +
  • bundle-config
  • bundle-config.txt
  • @@ -216,16 +220,28 @@
  • Bundler::Resolver::SpecGroup
  • +
  • Bundler::RubygemsIntegration
  • + +
  • Bundler::RubygemsIntegration::AlmostModern
  • + +
  • Bundler::RubygemsIntegration::Deprecate
  • + +
  • Bundler::RubygemsIntegration::Gem
  • + +
  • Bundler::RubygemsIntegration::Gem::SourceIndex
  • + +
  • Bundler::RubygemsIntegration::Legacy
  • + +
  • Bundler::RubygemsIntegration::Modern
  • + +
  • Bundler::RubygemsIntegration::Transitional
  • +
  • Bundler::Runtime
  • Bundler::Settings
  • Bundler::SharedHelpers
  • -
  • Bundler::SharedHelpers::Gem
  • - -
  • Bundler::SharedHelpers::Gem::SourceIndex
  • -
  • Bundler::Source
  • Bundler::Source::Git
  • @@ -345,9 +361,9 @@
    -    # File lib/bundler/ui.rb, line 15
    -15:     def confirm(message)
    -16:     end
    + # File lib/bundler/ui.rb, line 17 +17: def confirm(message) +18: end
    @@ -378,9 +394,9 @@
    -   # File lib/bundler/ui.rb, line 6
    -6:     def debug(message)
    -7:     end
    + # File lib/bundler/ui.rb, line 8 +8: def debug(message) +9: end
    @@ -411,9 +427,9 @@
    -    # File lib/bundler/ui.rb, line 9
    - 9:     def error(message)
    -10:     end
    + # File lib/bundler/ui.rb, line 11 +11: def error(message) +12: end
    @@ -444,9 +460,9 @@
    -    # File lib/bundler/ui.rb, line 12
    -12:     def info(message)
    -13:     end
    + # File lib/bundler/ui.rb, line 14 +14: def info(message) +15: end
    @@ -477,9 +493,9 @@
    -   # File lib/bundler/ui.rb, line 3
    -3:     def warn(message)
    -4:     end
    + # File lib/bundler/ui.rb, line 5 +5: def warn(message) +6: end
    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/UI/RGProxy.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/UI/RGProxy.html similarity index 86% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/UI/RGProxy.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/UI/RGProxy.html index 0d110ad1..f6d4ea30 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/UI/RGProxy.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/UI/RGProxy.html @@ -55,7 +55,7 @@

    Parent

    - +
    @@ -90,6 +90,10 @@
  • bundle
  • +
  • bundle-benchmark
  • + +
  • bundle-benchmark.txt
  • +
  • bundle-config
  • bundle-config.txt
  • @@ -199,16 +203,28 @@
  • Bundler::Resolver::SpecGroup
  • +
  • Bundler::RubygemsIntegration
  • + +
  • Bundler::RubygemsIntegration::AlmostModern
  • + +
  • Bundler::RubygemsIntegration::Deprecate
  • + +
  • Bundler::RubygemsIntegration::Gem
  • + +
  • Bundler::RubygemsIntegration::Gem::SourceIndex
  • + +
  • Bundler::RubygemsIntegration::Legacy
  • + +
  • Bundler::RubygemsIntegration::Modern
  • + +
  • Bundler::RubygemsIntegration::Transitional
  • +
  • Bundler::Runtime
  • Bundler::Settings
  • Bundler::SharedHelpers
  • -
  • Bundler::SharedHelpers::Gem
  • - -
  • Bundler::SharedHelpers::Gem::SourceIndex
  • -
  • Bundler::Source
  • Bundler::Source::Git
  • @@ -328,10 +344,11 @@
    -    # File lib/bundler/ui.rb, line 57
    -57:       def initialize(ui)
    -58:         @ui = ui
    -59:       end
    + # File lib/bundler/ui.rb, line 59 +59: def initialize(ui) +60: @ui = ui +61: super() +62: end
    @@ -368,14 +385,14 @@
    -    # File lib/bundler/ui.rb, line 61
    -61:       def say(message)
    -62:         if message =~ /native extensions/
    -63:           @ui.info "with native extensions "
    -64:         else
    -65:           @ui.debug(message)
    -66:         end
    -67:       end
    + # File lib/bundler/ui.rb, line 64 +64: def say(message) +65: if message =~ /native extensions/ +66: @ui.info "with native extensions " +67: else +68: @ui.debug(message) +69: end +70: end
    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/UI/Shell.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/UI/Shell.html similarity index 86% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/UI/Shell.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/UI/Shell.html index f95be95b..9fa334b9 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/UI/Shell.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/UI/Shell.html @@ -102,6 +102,10 @@
  • bundle
  • +
  • bundle-benchmark
  • + +
  • bundle-benchmark.txt
  • +
  • bundle-config
  • bundle-config.txt
  • @@ -211,16 +215,28 @@
  • Bundler::Resolver::SpecGroup
  • +
  • Bundler::RubygemsIntegration
  • + +
  • Bundler::RubygemsIntegration::AlmostModern
  • + +
  • Bundler::RubygemsIntegration::Deprecate
  • + +
  • Bundler::RubygemsIntegration::Gem
  • + +
  • Bundler::RubygemsIntegration::Gem::SourceIndex
  • + +
  • Bundler::RubygemsIntegration::Legacy
  • + +
  • Bundler::RubygemsIntegration::Modern
  • + +
  • Bundler::RubygemsIntegration::Transitional
  • +
  • Bundler::Runtime
  • Bundler::Settings
  • Bundler::SharedHelpers
  • -
  • Bundler::SharedHelpers::Gem
  • - -
  • Bundler::SharedHelpers::Gem::SourceIndex
  • -
  • Bundler::Source
  • Bundler::Source::Git
  • @@ -363,12 +379,12 @@
    -    # File lib/bundler/ui.rb, line 21
    -21:       def initialize(shell)
    -22:         @shell = shell
    -23:         @quiet = false
    -24:         @debug = ENV['DEBUG']
    -25:       end
    + # File lib/bundler/ui.rb, line 23 +23: def initialize(shell) +24: @shell = shell +25: @quiet = false +26: @debug = ENV['DEBUG'] +27: end
    @@ -405,10 +421,10 @@
    -    # File lib/bundler/ui.rb, line 47
    -47:       def be_quiet!
    -48:         @quiet = true
    -49:       end
    + # File lib/bundler/ui.rb, line 49 +49: def be_quiet! +50: @quiet = true +51: end
    @@ -439,10 +455,10 @@
    -    # File lib/bundler/ui.rb, line 35
    -35:       def confirm(msg)
    -36:         @shell.say(msg, :green) if !@quiet
    -37:       end
    + # File lib/bundler/ui.rb, line 37 +37: def confirm(msg) +38: @shell.say(msg, :green) if !@quiet +39: end
    @@ -473,10 +489,10 @@
    -    # File lib/bundler/ui.rb, line 27
    -27:       def debug(msg)
    -28:         @shell.say(msg) if @debug && !@quiet
    -29:       end
    + # File lib/bundler/ui.rb, line 29 +29: def debug(msg) +30: @shell.say(msg) if @debug && !@quiet +31: end
    @@ -507,10 +523,10 @@
    -    # File lib/bundler/ui.rb, line 51
    -51:       def debug!
    -52:         @debug = true
    -53:       end
    + # File lib/bundler/ui.rb, line 53 +53: def debug! +54: @debug = true +55: end
    @@ -541,10 +557,10 @@
    -    # File lib/bundler/ui.rb, line 43
    -43:       def error(msg)
    -44:         @shell.say(msg, :red)
    -45:       end
    + # File lib/bundler/ui.rb, line 45 +45: def error(msg) +46: @shell.say(msg, :red) +47: end
    @@ -575,10 +591,10 @@
    -    # File lib/bundler/ui.rb, line 31
    -31:       def info(msg)
    -32:         @shell.say(msg) if !@quiet
    -33:       end
    + # File lib/bundler/ui.rb, line 33 +33: def info(msg) +34: @shell.say(msg) if !@quiet +35: end
    @@ -609,10 +625,10 @@
    -    # File lib/bundler/ui.rb, line 39
    -39:       def warn(msg)
    -40:         @shell.say(msg, :yellow)
    -41:       end
    + # File lib/bundler/ui.rb, line 41 +41: def warn(msg) +42: @shell.say(msg, :yellow) +43: end
    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/VersionConflict.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/VersionConflict.html similarity index 89% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/VersionConflict.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/VersionConflict.html index 4631a772..62c73a92 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/VersionConflict.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Bundler/VersionConflict.html @@ -88,6 +88,10 @@
  • bundle
  • +
  • bundle-benchmark
  • + +
  • bundle-benchmark.txt
  • +
  • bundle-config
  • bundle-config.txt
  • @@ -197,16 +201,28 @@
  • Bundler::Resolver::SpecGroup
  • +
  • Bundler::RubygemsIntegration
  • + +
  • Bundler::RubygemsIntegration::AlmostModern
  • + +
  • Bundler::RubygemsIntegration::Deprecate
  • + +
  • Bundler::RubygemsIntegration::Gem
  • + +
  • Bundler::RubygemsIntegration::Gem::SourceIndex
  • + +
  • Bundler::RubygemsIntegration::Legacy
  • + +
  • Bundler::RubygemsIntegration::Modern
  • + +
  • Bundler::RubygemsIntegration::Transitional
  • +
  • Bundler::Runtime
  • Bundler::Settings
  • Bundler::SharedHelpers
  • -
  • Bundler::SharedHelpers::Gem
  • - -
  • Bundler::SharedHelpers::Gem::SourceIndex
  • -
  • Bundler::Source
  • Bundler::Source::Git
  • @@ -350,11 +366,11 @@ Internal errors, should be rescued
    -    # File lib/bundler.rb, line 57
    -57:     def initialize(conflicts, msg = nil)
    -58:       super(msg)
    -59:       @conflicts = conflicts
    -60:     end
    + # File lib/bundler.rb, line 64 +64: def initialize(conflicts, msg = nil) +65: super(msg) +66: @conflicts = conflicts +67: end
    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/File.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/File.html similarity index 90% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/File.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/File.html index a17908a8..b07ea696 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/File.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/File.html @@ -79,6 +79,10 @@
  • bundle
  • +
  • bundle-benchmark
  • + +
  • bundle-benchmark.txt
  • +
  • bundle-config
  • bundle-config.txt
  • @@ -188,16 +192,28 @@
  • Bundler::Resolver::SpecGroup
  • +
  • Bundler::RubygemsIntegration
  • + +
  • Bundler::RubygemsIntegration::AlmostModern
  • + +
  • Bundler::RubygemsIntegration::Deprecate
  • + +
  • Bundler::RubygemsIntegration::Gem
  • + +
  • Bundler::RubygemsIntegration::Gem::SourceIndex
  • + +
  • Bundler::RubygemsIntegration::Legacy
  • + +
  • Bundler::RubygemsIntegration::Modern
  • + +
  • Bundler::RubygemsIntegration::Transitional
  • +
  • Bundler::Runtime
  • Bundler::Settings
  • Bundler::SharedHelpers
  • -
  • Bundler::SharedHelpers::Gem
  • - -
  • Bundler::SharedHelpers::Gem::SourceIndex
  • -
  • Bundler::Source
  • Bundler::Source::Git
  • diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Gem.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Gem.html similarity index 90% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Gem.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Gem.html index a49a73a0..d3ee4aae 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Gem.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Gem.html @@ -93,6 +93,10 @@
  • bundle
  • +
  • bundle-benchmark
  • + +
  • bundle-benchmark.txt
  • +
  • bundle-config
  • bundle-config.txt
  • @@ -202,16 +206,28 @@
  • Bundler::Resolver::SpecGroup
  • +
  • Bundler::RubygemsIntegration
  • + +
  • Bundler::RubygemsIntegration::AlmostModern
  • + +
  • Bundler::RubygemsIntegration::Deprecate
  • + +
  • Bundler::RubygemsIntegration::Gem
  • + +
  • Bundler::RubygemsIntegration::Gem::SourceIndex
  • + +
  • Bundler::RubygemsIntegration::Legacy
  • + +
  • Bundler::RubygemsIntegration::Modern
  • + +
  • Bundler::RubygemsIntegration::Transitional
  • +
  • Bundler::Runtime
  • Bundler::Settings
  • Bundler::SharedHelpers
  • -
  • Bundler::SharedHelpers::Gem
  • - -
  • Bundler::SharedHelpers::Gem::SourceIndex
  • -
  • Bundler::Source
  • Bundler::Source::Git
  • diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Gem/Dependency.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Gem/Dependency.html similarity index 79% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Gem/Dependency.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Gem/Dependency.html index ee148122..e04d8d25 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Gem/Dependency.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/Gem/Dependency.html @@ -75,6 +75,8 @@

    Methods

    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/source_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/source_rb.html similarity index 88% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/source_rb.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/source_rb.html index c1c1ec5b..8712dbb0 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/source_rb.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/source_rb.html @@ -6,7 +6,7 @@ - File: source.rb [bundler-1.0.7 Documentation] + File: source.rb [bundler-1.0.15 Documentation] @@ -24,7 +24,7 @@
    Last Modified
    -
    Mon Dec 06 17:30:55 -0600 2010
    +
    Tue Jun 14 09:52:48 -0500 2011
    Requires
    @@ -33,6 +33,8 @@
  • uri
  • +
  • rubygems/user_interaction
  • +
  • rubygems/installer
  • rubygems/spec_fetcher
  • diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/spec_set_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/spec_set_rb.html similarity index 89% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/spec_set_rb.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/spec_set_rb.html index 7e9f61a5..9053f7a0 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/spec_set_rb.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/spec_set_rb.html @@ -6,7 +6,7 @@ - File: spec_set.rb [bundler-1.0.7 Documentation] + File: spec_set.rb [bundler-1.0.15 Documentation] @@ -24,7 +24,7 @@
    Last Modified
    -
    Mon Dec 06 17:30:55 -0600 2010
    +
    Tue Jun 14 09:52:48 -0500 2011
    Requires
    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/templates/Gemfile.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/templates/Gemfile.html similarity index 88% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/templates/Gemfile.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/templates/Gemfile.html index dc5366c8..c696b482 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/templates/Gemfile.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/templates/Gemfile.html @@ -6,7 +6,7 @@ - File: Gemfile [bundler-1.0.7 Documentation] + File: Gemfile [bundler-1.0.15 Documentation] @@ -41,6 +41,10 @@
  • bundle
  • +
  • bundle-benchmark
  • + +
  • bundle-benchmark.txt
  • +
  • bundle-config
  • bundle-config.txt
  • @@ -150,16 +154,28 @@
  • Bundler::Resolver::SpecGroup
  • +
  • Bundler::RubygemsIntegration
  • + +
  • Bundler::RubygemsIntegration::AlmostModern
  • + +
  • Bundler::RubygemsIntegration::Deprecate
  • + +
  • Bundler::RubygemsIntegration::Gem
  • + +
  • Bundler::RubygemsIntegration::Gem::SourceIndex
  • + +
  • Bundler::RubygemsIntegration::Legacy
  • + +
  • Bundler::RubygemsIntegration::Modern
  • + +
  • Bundler::RubygemsIntegration::Transitional
  • +
  • Bundler::Runtime
  • Bundler::Settings
  • Bundler::SharedHelpers
  • -
  • Bundler::SharedHelpers::Gem
  • - -
  • Bundler::SharedHelpers::Gem::SourceIndex
  • -
  • Bundler::Source
  • Bundler::Source::Git
  • diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/ui_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/ui_rb.html similarity index 86% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/ui_rb.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/ui_rb.html index 19e6d628..4b3a994b 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/ui_rb.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/ui_rb.html @@ -6,7 +6,7 @@ - File: ui.rb [bundler-1.0.7 Documentation] + File: ui.rb [bundler-1.0.15 Documentation] @@ -24,13 +24,15 @@
    Last Modified
    -
    Mon Dec 06 17:30:55 -0600 2010
    +
    Tue Jun 14 09:52:48 -0500 2011
    Requires
      +
    • rubygems/user_interaction
    • +
    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/actions/create_file_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/actions/create_file_rb.html similarity index 90% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/actions/create_file_rb.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/actions/create_file_rb.html index e466b090..4c87eaf6 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/actions/create_file_rb.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/actions/create_file_rb.html @@ -6,7 +6,7 @@ - File: create_file.rb [bundler-1.0.7 Documentation] + File: create_file.rb [bundler-1.0.15 Documentation] @@ -24,7 +24,7 @@
    Last Modified
    -
    Mon Dec 06 17:30:55 -0600 2010
    +
    Tue Jun 14 09:52:48 -0500 2011
    Requires
    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/actions/directory_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/actions/directory_rb.html similarity index 90% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/actions/directory_rb.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/actions/directory_rb.html index cd3c1b7b..a2812df2 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/actions/directory_rb.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/actions/directory_rb.html @@ -6,7 +6,7 @@ - File: directory.rb [bundler-1.0.7 Documentation] + File: directory.rb [bundler-1.0.15 Documentation] @@ -24,7 +24,7 @@
    Last Modified
    -
    Mon Dec 06 17:30:55 -0600 2010
    +
    Tue Jun 14 09:52:48 -0500 2011
    Requires
    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/actions/empty_directory_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/actions/empty_directory_rb.html similarity index 89% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/actions/empty_directory_rb.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/actions/empty_directory_rb.html index f008339a..1b11f197 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/actions/empty_directory_rb.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/actions/empty_directory_rb.html @@ -6,7 +6,7 @@ - File: empty_directory.rb [bundler-1.0.7 Documentation] + File: empty_directory.rb [bundler-1.0.15 Documentation] @@ -24,7 +24,7 @@
    Last Modified
    -
    Mon Dec 06 17:30:55 -0600 2010
    +
    Tue Jun 14 09:52:48 -0500 2011
    Requires
    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/actions/file_manipulation_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/actions/file_manipulation_rb.html similarity index 89% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/actions/file_manipulation_rb.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/actions/file_manipulation_rb.html index 7647b424..8ba2a9de 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/actions/file_manipulation_rb.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/actions/file_manipulation_rb.html @@ -6,7 +6,7 @@ - File: file_manipulation.rb [bundler-1.0.7 Documentation] + File: file_manipulation.rb [bundler-1.0.15 Documentation] @@ -24,7 +24,7 @@
    Last Modified
    -
    Mon Dec 06 17:30:55 -0600 2010
    +
    Tue Jun 14 09:52:48 -0500 2011
    Requires
    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/actions/inject_into_file_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/actions/inject_into_file_rb.html similarity index 89% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/actions/inject_into_file_rb.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/actions/inject_into_file_rb.html index 82be3a09..a372cdb3 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/actions/inject_into_file_rb.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/actions/inject_into_file_rb.html @@ -6,7 +6,7 @@ - File: inject_into_file.rb [bundler-1.0.7 Documentation] + File: inject_into_file.rb [bundler-1.0.15 Documentation] @@ -24,7 +24,7 @@
    Last Modified
    -
    Mon Dec 06 17:30:55 -0600 2010
    +
    Tue Jun 14 09:52:48 -0500 2011
    Requires
    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/actions_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/actions_rb.html similarity index 90% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/actions_rb.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/actions_rb.html index f94d5e74..ee560445 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/actions_rb.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/actions_rb.html @@ -6,7 +6,7 @@ - File: actions.rb [bundler-1.0.7 Documentation] + File: actions.rb [bundler-1.0.15 Documentation] @@ -24,7 +24,7 @@
    Last Modified
    -
    Mon Dec 06 17:30:55 -0600 2010
    +
    Tue Jun 14 09:52:48 -0500 2011
    Requires
    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/base_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/base_rb.html similarity index 91% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/base_rb.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/base_rb.html index 5e59c3c5..59dfe089 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/base_rb.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/base_rb.html @@ -6,7 +6,7 @@ - File: base.rb [bundler-1.0.7 Documentation] + File: base.rb [bundler-1.0.15 Documentation] @@ -24,7 +24,7 @@
    Last Modified
    -
    Mon Dec 06 17:30:55 -0600 2010
    +
    Tue Jun 14 09:52:48 -0500 2011
    Requires
    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/core_ext/file_binary_read_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/core_ext/file_binary_read_rb.html similarity index 89% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/core_ext/file_binary_read_rb.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/core_ext/file_binary_read_rb.html index aeb2d4bf..54fa26ee 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/core_ext/file_binary_read_rb.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/core_ext/file_binary_read_rb.html @@ -6,7 +6,7 @@ - File: file_binary_read.rb [bundler-1.0.7 Documentation] + File: file_binary_read.rb [bundler-1.0.15 Documentation] @@ -24,7 +24,7 @@
    Last Modified
    -
    Mon Dec 06 17:30:55 -0600 2010
    +
    Tue Jun 14 09:52:48 -0500 2011
    Requires
    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/core_ext/hash_with_indifferent_access_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/core_ext/hash_with_indifferent_access_rb.html similarity index 88% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/core_ext/hash_with_indifferent_access_rb.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/core_ext/hash_with_indifferent_access_rb.html index 43985ddb..742a4cd5 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/core_ext/hash_with_indifferent_access_rb.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/core_ext/hash_with_indifferent_access_rb.html @@ -6,7 +6,7 @@ - File: hash_with_indifferent_access.rb [bundler-1.0.7 Documentation] + File: hash_with_indifferent_access.rb [bundler-1.0.15 Documentation] @@ -24,7 +24,7 @@
    Last Modified
    -
    Mon Dec 06 17:30:55 -0600 2010
    +
    Tue Jun 14 09:52:48 -0500 2011
    Requires
    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/core_ext/ordered_hash_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/core_ext/ordered_hash_rb.html similarity index 89% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/core_ext/ordered_hash_rb.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/core_ext/ordered_hash_rb.html index 3efa6258..eb046e2e 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/core_ext/ordered_hash_rb.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/core_ext/ordered_hash_rb.html @@ -6,7 +6,7 @@ - File: ordered_hash.rb [bundler-1.0.7 Documentation] + File: ordered_hash.rb [bundler-1.0.15 Documentation] @@ -24,7 +24,7 @@
    Last Modified
    -
    Mon Dec 06 17:30:55 -0600 2010
    +
    Tue Jun 14 09:52:48 -0500 2011
    Requires
    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/error_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/error_rb.html similarity index 90% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/error_rb.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/error_rb.html index 3c44032f..d5828195 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/error_rb.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/error_rb.html @@ -6,7 +6,7 @@ - File: error.rb [bundler-1.0.7 Documentation] + File: error.rb [bundler-1.0.15 Documentation] @@ -24,7 +24,7 @@
    Last Modified
    -
    Mon Dec 06 17:30:55 -0600 2010
    +
    Tue Jun 14 09:52:48 -0500 2011
    Requires
    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/invocation_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/invocation_rb.html similarity index 89% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/invocation_rb.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/invocation_rb.html index 740f0ec6..30911357 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/invocation_rb.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/invocation_rb.html @@ -6,7 +6,7 @@ - File: invocation.rb [bundler-1.0.7 Documentation] + File: invocation.rb [bundler-1.0.15 Documentation] @@ -24,7 +24,7 @@
    Last Modified
    -
    Mon Dec 06 17:30:55 -0600 2010
    +
    Tue Jun 14 09:52:48 -0500 2011
    Requires
    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/parser/argument_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/parser/argument_rb.html similarity index 89% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/parser/argument_rb.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/parser/argument_rb.html index c40afe87..37270b7c 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/parser/argument_rb.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/parser/argument_rb.html @@ -6,7 +6,7 @@ - File: argument.rb [bundler-1.0.7 Documentation] + File: argument.rb [bundler-1.0.15 Documentation] @@ -24,7 +24,7 @@
    Last Modified
    -
    Mon Dec 06 17:30:55 -0600 2010
    +
    Tue Jun 14 09:52:48 -0500 2011
    Requires
    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/parser/arguments_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/parser/arguments_rb.html similarity index 89% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/parser/arguments_rb.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/parser/arguments_rb.html index b104ac62..16bab163 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/parser/arguments_rb.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/parser/arguments_rb.html @@ -6,7 +6,7 @@ - File: arguments.rb [bundler-1.0.7 Documentation] + File: arguments.rb [bundler-1.0.15 Documentation] @@ -24,7 +24,7 @@
    Last Modified
    -
    Mon Dec 06 17:30:55 -0600 2010
    +
    Tue Jun 14 09:52:48 -0500 2011
    Requires
    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/parser/option_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/parser/option_rb.html similarity index 90% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/parser/option_rb.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/parser/option_rb.html index 23f229f7..168a33ec 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/parser/option_rb.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/parser/option_rb.html @@ -6,7 +6,7 @@ - File: option.rb [bundler-1.0.7 Documentation] + File: option.rb [bundler-1.0.15 Documentation] @@ -24,7 +24,7 @@
    Last Modified
    -
    Mon Dec 06 17:30:55 -0600 2010
    +
    Tue Jun 14 09:52:48 -0500 2011
    Requires
    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/parser/options_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/parser/options_rb.html similarity index 89% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/parser/options_rb.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/parser/options_rb.html index a6f9634e..df0a5459 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/parser/options_rb.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/parser/options_rb.html @@ -6,7 +6,7 @@ - File: options.rb [bundler-1.0.7 Documentation] + File: options.rb [bundler-1.0.15 Documentation] @@ -24,7 +24,7 @@
    Last Modified
    -
    Mon Dec 06 17:30:55 -0600 2010
    +
    Tue Jun 14 09:52:48 -0500 2011
    Requires
    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/parser_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/parser_rb.html similarity index 91% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/parser_rb.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/parser_rb.html index 8915957c..e21c126a 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/parser_rb.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/parser_rb.html @@ -6,7 +6,7 @@ - File: parser.rb [bundler-1.0.7 Documentation] + File: parser.rb [bundler-1.0.15 Documentation] @@ -24,7 +24,7 @@
    Last Modified
    -
    Mon Dec 06 17:30:55 -0600 2010
    +
    Tue Jun 14 09:52:48 -0500 2011
    Requires
    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/shell/basic_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/shell/basic_rb.html similarity index 90% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/shell/basic_rb.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/shell/basic_rb.html index e44c1660..525a510d 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/shell/basic_rb.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/shell/basic_rb.html @@ -6,7 +6,7 @@ - File: basic.rb [bundler-1.0.7 Documentation] + File: basic.rb [bundler-1.0.15 Documentation] @@ -24,7 +24,7 @@
    Last Modified
    -
    Mon Dec 06 17:30:55 -0600 2010
    +
    Tue Jun 14 09:52:48 -0500 2011
    Requires
    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/shell/color_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/shell/color_rb.html similarity index 90% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/shell/color_rb.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/shell/color_rb.html index bc28b54d..47da5706 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/shell/color_rb.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/shell/color_rb.html @@ -6,7 +6,7 @@ - File: color.rb [bundler-1.0.7 Documentation] + File: color.rb [bundler-1.0.15 Documentation] @@ -24,7 +24,7 @@
    Last Modified
    -
    Mon Dec 06 17:30:55 -0600 2010
    +
    Tue Jun 14 09:52:48 -0500 2011
    Requires
    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/shell/html_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/shell/html_rb.html similarity index 90% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/shell/html_rb.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/shell/html_rb.html index 29655084..36c1d61b 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/shell/html_rb.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/shell/html_rb.html @@ -6,7 +6,7 @@ - File: html.rb [bundler-1.0.7 Documentation] + File: html.rb [bundler-1.0.15 Documentation] @@ -24,7 +24,7 @@
    Last Modified
    -
    Mon Dec 06 17:30:55 -0600 2010
    +
    Tue Jun 14 09:52:48 -0500 2011
    Requires
    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/shell_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/shell_rb.html similarity index 90% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/shell_rb.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/shell_rb.html index 9e2d503e..e39eeeb9 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/shell_rb.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/shell_rb.html @@ -6,7 +6,7 @@ - File: shell.rb [bundler-1.0.7 Documentation] + File: shell.rb [bundler-1.0.15 Documentation] @@ -24,7 +24,7 @@
    Last Modified
    -
    Mon Dec 06 17:30:55 -0600 2010
    +
    Tue Jun 14 09:52:48 -0500 2011
    Requires
    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/task_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/task_rb.html similarity index 90% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/task_rb.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/task_rb.html index 374de3e4..b9ca9a7c 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/task_rb.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/task_rb.html @@ -6,7 +6,7 @@ - File: task.rb [bundler-1.0.7 Documentation] + File: task.rb [bundler-1.0.15 Documentation] @@ -24,7 +24,7 @@
    Last Modified
    -
    Mon Dec 06 17:30:55 -0600 2010
    +
    Tue Jun 14 09:52:48 -0500 2011
    Requires
    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/util_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/util_rb.html similarity index 90% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/util_rb.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/util_rb.html index 225a80e6..1666a6c0 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/util_rb.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/util_rb.html @@ -6,7 +6,7 @@ - File: util.rb [bundler-1.0.7 Documentation] + File: util.rb [bundler-1.0.15 Documentation] @@ -24,7 +24,7 @@
    Last Modified
    -
    Mon Dec 06 17:30:55 -0600 2010
    +
    Tue Jun 14 09:52:48 -0500 2011
    Requires
    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/version_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/version_rb.html similarity index 89% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/version_rb.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/version_rb.html index b5e0f0a2..5f478eaf 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor/version_rb.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor/version_rb.html @@ -6,7 +6,7 @@ - File: version.rb [bundler-1.0.7 Documentation] + File: version.rb [bundler-1.0.15 Documentation] @@ -24,7 +24,7 @@
    Last Modified
    -
    Mon Dec 06 17:30:55 -0600 2010
    +
    Tue Jun 14 09:52:48 -0500 2011
    Requires
    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor_rb.html similarity index 90% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor_rb.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor_rb.html index fa3f4f91..28b2831a 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vendor/thor_rb.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vendor/thor_rb.html @@ -6,7 +6,7 @@ - File: thor.rb [bundler-1.0.7 Documentation] + File: thor.rb [bundler-1.0.15 Documentation] @@ -24,7 +24,7 @@
    Last Modified
    -
    Mon Dec 06 17:30:55 -0600 2010
    +
    Tue Jun 14 09:52:48 -0500 2011
    Requires
    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/version_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/version_rb.html similarity index 89% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/version_rb.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/version_rb.html index a89d2369..f078ab94 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/version_rb.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/version_rb.html @@ -6,7 +6,7 @@ - File: version.rb [bundler-1.0.7 Documentation] + File: version.rb [bundler-1.0.15 Documentation] @@ -24,7 +24,7 @@
    Last Modified
    -
    Mon Dec 06 17:30:55 -0600 2010
    +
    Tue Jun 14 09:52:48 -0500 2011
    Requires
    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vlad_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vlad_rb.html similarity index 91% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vlad_rb.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vlad_rb.html index 7eb49a39..664ffe3b 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler/vlad_rb.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler/vlad_rb.html @@ -6,7 +6,7 @@ - File: vlad.rb [bundler-1.0.7 Documentation] + File: vlad.rb [bundler-1.0.15 Documentation] @@ -24,7 +24,7 @@
    Last Modified
    -
    Mon Dec 06 17:30:55 -0600 2010
    +
    Tue Jun 14 09:52:48 -0500 2011
    Requires
    diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler_rb.html similarity index 86% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler_rb.html rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler_rb.html index d53cd577..cc18e358 100644 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/lib/bundler_rb.html +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/lib/bundler_rb.html @@ -6,7 +6,7 @@ - File: bundler.rb [bundler-1.0.7 Documentation] + File: bundler.rb [bundler-1.0.15 Documentation] @@ -24,7 +24,7 @@
    Last Modified
    -
    Mon Dec 06 17:30:55 -0600 2010
    +
    Tue Jun 14 09:52:47 -0500 2011
    Requires
    @@ -37,10 +37,14 @@
  • pathname
  • +
  • psych
  • +
  • yaml
  • bundler/rubygems_ext
  • +
  • bundler/rubygems_integration
  • +
  • bundler/version
  • diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/rdoc.css b/vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/rdoc.css similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/rdoc.css rename to vendor/plugins/bundler/doc/bundler-1.0.15/rdoc/rdoc.css diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/BundlerError/cdesc-BundlerError.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/BundlerError/cdesc-BundlerError.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/BundlerError/cdesc-BundlerError.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/BundlerError/cdesc-BundlerError.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/BundlerError/status_code-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/BundlerError/status_code-c.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/BundlerError/status_code-c.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/BundlerError/status_code-c.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/CLI/cache-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/CLI/cache-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/CLI/cache-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/CLI/cache-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/CLI/cdesc-CLI.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/CLI/cdesc-CLI.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/CLI/cdesc-CLI.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/CLI/cdesc-CLI.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/CLI/check-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/CLI/check-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/CLI/check-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/CLI/check-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/CLI/config-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/CLI/config-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/CLI/config-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/CLI/config-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/CLI/console-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/CLI/console-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/CLI/console-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/CLI/console-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/CLI/exec-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/CLI/exec-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/CLI/exec-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/CLI/exec-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/CLI/gem-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/CLI/gem-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/CLI/gem-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/CLI/gem-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/CLI/have_groff%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/CLI/have_groff%3f-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/CLI/have_groff%3f-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/CLI/have_groff%3f-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/CLI/help-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/CLI/help-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/CLI/help-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/CLI/help-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/CLI/init-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/CLI/init-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/CLI/init-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/CLI/init-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/CLI/install-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/CLI/install-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/CLI/install-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/CLI/install-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/CLI/locate_gem-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/CLI/locate_gem-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/CLI/locate_gem-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/CLI/locate_gem-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/CLI/lock-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/CLI/lock-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/CLI/lock-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/CLI/lock-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/CLI/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/CLI/new-c.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/CLI/new-c.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/CLI/new-c.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/CLI/open-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/CLI/open-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/CLI/open-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/CLI/open-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/CLI/package-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/CLI/package-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/CLI/package-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/CLI/package-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/CLI/show-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/CLI/show-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/CLI/show-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/CLI/show-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/CLI/source_root-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/CLI/source_root-c.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/CLI/source_root-c.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/CLI/source_root-c.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/CLI/unlock-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/CLI/unlock-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/CLI/unlock-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/CLI/unlock-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/CLI/update-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/CLI/update-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/CLI/update-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/CLI/update-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/CLI/version-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/CLI/version-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/CLI/version-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/CLI/version-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/CLI/viz-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/CLI/viz-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/CLI/viz-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/CLI/viz-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Definition/build-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Definition/build-c.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Definition/build-c.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Definition/build-c.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Definition/cdesc-Definition.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Definition/cdesc-Definition.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Definition/cdesc-Definition.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Definition/cdesc-Definition.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Definition/converge_dependencies-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Definition/converge_dependencies-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Definition/converge_dependencies-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Definition/converge_dependencies-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Definition/converge_locked_specs-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Definition/converge_locked_specs-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Definition/converge_locked_specs-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Definition/converge_locked_specs-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Definition/converge_sources-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Definition/converge_sources-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Definition/converge_sources-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Definition/converge_sources-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Definition/current_dependencies-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Definition/current_dependencies-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Definition/current_dependencies-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Definition/current_dependencies-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Definition/dependencies-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Definition/dependencies-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Definition/dependencies-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Definition/dependencies-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Definition/ensure_equivalent_gemfile_and_lockfile-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Definition/ensure_equivalent_gemfile_and_lockfile-i.ri similarity index 64% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Definition/ensure_equivalent_gemfile_and_lockfile-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Definition/ensure_equivalent_gemfile_and_lockfile-i.ri index 101c4d90d55ef06af9db76dab190c764dc6631f0..728f3d83ad45eeef0c483472c3f8ac3db9ee9152 100644 GIT binary patch delta 31 mcmdnUc#LtvItdw#)QWn$(XIa_<07bhE!T diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Dependency/current_env%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Dependency/current_env%3f-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Dependency/current_env%3f-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Dependency/current_env%3f-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Dependency/current_platform%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Dependency/current_platform%3f-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Dependency/current_platform%3f-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Dependency/current_platform%3f-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Dependency/gem_platforms-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Dependency/gem_platforms-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Dependency/gem_platforms-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Dependency/gem_platforms-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Dependency/groups-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Dependency/groups-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Dependency/groups-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Dependency/groups-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Dependency/jruby%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Dependency/jruby%3f-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Dependency/jruby%3f-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Dependency/jruby%3f-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Dependency/mingw%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Dependency/mingw%3f-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Dependency/mingw%3f-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Dependency/mingw%3f-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Dependency/mingw_18%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Dependency/mingw_18%3f-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Dependency/mingw_18%3f-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Dependency/mingw_18%3f-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Dependency/mingw_19%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Dependency/mingw_19%3f-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Dependency/mingw_19%3f-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Dependency/mingw_19%3f-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Dependency/mri%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Dependency/mri%3f-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Dependency/mri%3f-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Dependency/mri%3f-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Dependency/mri_18%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Dependency/mri_18%3f-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Dependency/mri_18%3f-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Dependency/mri_18%3f-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Dependency/mri_19%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Dependency/mri_19%3f-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Dependency/mri_19%3f-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Dependency/mri_19%3f-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Dependency/mswin%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Dependency/mswin%3f-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Dependency/mswin%3f-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Dependency/mswin%3f-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Dependency/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Dependency/new-c.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Dependency/new-c.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Dependency/new-c.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Dependency/platforms-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Dependency/platforms-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Dependency/platforms-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Dependency/platforms-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Dependency/rbx%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Dependency/rbx%3f-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..8d599450caac1499110c99f7a689d80d6ccf3185 GIT binary patch literal 110 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LEJ~`dSCVxq%}dEiEwZw5Ni9gtOG(X3 zu2crexLNTO6lInrmZaueNkjDeCKhFv764V|Czs}?=9REnaXS#Er`=7y%lJ1YZCE diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GemHelper/clean%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GemHelper/clean%3f-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GemHelper/clean%3f-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GemHelper/clean%3f-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GemHelper/gemspec-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GemHelper/gemspec-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GemHelper/gemspec-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GemHelper/gemspec-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GemHelper/git_push-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GemHelper/git_push-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GemHelper/git_push-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GemHelper/git_push-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GemHelper/guard_already_tagged-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GemHelper/guard_already_tagged-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GemHelper/guard_already_tagged-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GemHelper/guard_already_tagged-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GemHelper/guard_clean-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GemHelper/guard_clean-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GemHelper/guard_clean-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GemHelper/guard_clean-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GemHelper/install-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GemHelper/install-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GemHelper/install-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GemHelper/install-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GemHelper/install_gem-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GemHelper/install_gem-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GemHelper/install_gem-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GemHelper/install_gem-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GemHelper/install_tasks-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GemHelper/install_tasks-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..cef9fddfe6fe76222f48af8ccedbf090fb0a206f GIT binary patch literal 136 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)%FHV+NzBQKFG(!UE>===D$PsDNiDLn za!<|mNX;n#F;SF+SaBDWCgo%%=UYib4D?Mb$}TOivI3f3nwy$e!e+(oP>@(uQXI`- VU=YoqB%qOBP*SX5t59952>>5yEb{;W literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GemHelper/name-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GemHelper/name-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GemHelper/name-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GemHelper/name-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GemHelper/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GemHelper/new-c.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GemHelper/new-c.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GemHelper/new-c.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GemHelper/perform_git_push-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GemHelper/perform_git_push-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GemHelper/perform_git_push-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GemHelper/perform_git_push-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GemHelper/release_gem-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GemHelper/release_gem-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GemHelper/release_gem-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GemHelper/release_gem-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GemHelper/rubygem_push-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GemHelper/rubygem_push-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GemHelper/rubygem_push-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GemHelper/rubygem_push-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GemHelper/sh-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GemHelper/sh-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GemHelper/sh-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GemHelper/sh-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GemHelper/sh_with_code-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GemHelper/sh_with_code-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GemHelper/sh_with_code-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GemHelper/sh_with_code-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GemHelper/spec_path-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GemHelper/spec_path-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GemHelper/spec_path-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GemHelper/spec_path-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GemHelper/tag_version-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GemHelper/tag_version-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GemHelper/tag_version-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GemHelper/tag_version-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GemHelper/version-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GemHelper/version-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GemHelper/version-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GemHelper/version-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GemHelper/version_tag-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GemHelper/version_tag-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GemHelper/version_tag-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GemHelper/version_tag-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GemHelpers/cdesc-GemHelpers.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GemHelpers/cdesc-GemHelpers.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GemHelpers/cdesc-GemHelpers.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GemHelpers/cdesc-GemHelpers.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GemHelpers/generic-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GemHelpers/generic-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GemHelpers/generic-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GemHelpers/generic-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GemNotFound/cdesc-GemNotFound.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GemNotFound/cdesc-GemNotFound.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GemNotFound/cdesc-GemNotFound.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GemNotFound/cdesc-GemNotFound.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GemfileError/cdesc-GemfileError.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GemfileError/cdesc-GemfileError.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GemfileError/cdesc-GemfileError.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GemfileError/cdesc-GemfileError.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GemfileNotFound/cdesc-GemfileNotFound.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GemfileNotFound/cdesc-GemfileNotFound.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GemfileNotFound/cdesc-GemfileNotFound.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GemfileNotFound/cdesc-GemfileNotFound.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GemspecError/cdesc-GemspecError.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GemspecError/cdesc-GemspecError.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GemspecError/cdesc-GemspecError.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GemspecError/cdesc-GemspecError.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GitError/cdesc-GitError.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GitError/cdesc-GitError.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GitError/cdesc-GitError.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GitError/cdesc-GitError.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Graph/cdesc-Graph.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Graph/cdesc-Graph.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Graph/cdesc-Graph.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Graph/cdesc-Graph.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Graph/groups-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Graph/groups-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Graph/groups-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Graph/groups-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Graph/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Graph/new-c.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Graph/new-c.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Graph/new-c.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Graph/nodes-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Graph/nodes-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Graph/nodes-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Graph/nodes-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Graph/populate-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Graph/populate-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Graph/populate-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Graph/populate-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Graph/viz-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Graph/viz-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Graph/viz-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Graph/viz-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GraphNode/cdesc-GraphNode.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GraphNode/cdesc-GraphNode.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GraphNode/cdesc-GraphNode.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GraphNode/cdesc-GraphNode.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GraphNode/dependencies-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GraphNode/dependencies-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GraphNode/dependencies-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GraphNode/dependencies-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GraphNode/is_user-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GraphNode/is_user-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GraphNode/is_user-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GraphNode/is_user-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GraphNode/name-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GraphNode/name-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GraphNode/name-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GraphNode/name-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GraphNode/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GraphNode/new-c.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GraphNode/new-c.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GraphNode/new-c.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GraphNode/version-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GraphNode/version-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GraphNode/version-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/GraphNode/version-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Index/%3c%3c-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Index/%3c%3c-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Index/%3c%3c-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Index/%3c%3c-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Index/%3d%3d-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Index/%3d%3d-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Index/%3d%3d-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Index/%3d%3d-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Index/%5b%5d-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Index/%5b%5d-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Index/%5b%5d-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Index/%5b%5d-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Index/build-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Index/build-c.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Index/build-c.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Index/build-c.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Index/cdesc-Index.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Index/cdesc-Index.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Index/cdesc-Index.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Index/cdesc-Index.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Index/each-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Index/each-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Index/each-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Index/each-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Index/empty%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Index/empty%3f-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Index/empty%3f-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Index/empty%3f-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Index/initialize_copy-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Index/initialize_copy-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Index/initialize_copy-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Index/initialize_copy-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Index/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Index/new-c.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Index/new-c.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Index/new-c.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Index/same_version%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Index/same_version%3f-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Index/same_version%3f-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Index/same_version%3f-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Index/search-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Index/search-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Index/search-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Index/search-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Index/search_by_dependency-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Index/search_by_dependency-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Index/search_by_dependency-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Index/search_by_dependency-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Index/search_by_spec-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Index/search_by_spec-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Index/search_by_spec-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Index/search_by_spec-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Index/search_for_all_platforms-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Index/search_for_all_platforms-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Index/search_for_all_platforms-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Index/search_for_all_platforms-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Index/sources-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Index/sources-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Index/sources-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Index/sources-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Index/spec_satisfies_dependency%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Index/spec_satisfies_dependency%3f-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Index/spec_satisfies_dependency%3f-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Index/spec_satisfies_dependency%3f-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Index/specs-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Index/specs-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Index/specs-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Index/specs-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Index/use-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Index/use-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Index/use-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Index/use-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Installer/cdesc-Installer.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Installer/cdesc-Installer.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Installer/cdesc-Installer.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Installer/cdesc-Installer.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Installer/generate_bundler_executable_stubs-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Installer/generate_bundler_executable_stubs-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Installer/generate_bundler_executable_stubs-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Installer/generate_bundler_executable_stubs-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Installer/install-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Installer/install-c.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Installer/install-c.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Installer/install-c.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Installer/run-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Installer/run-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Installer/run-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Installer/run-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/InvalidOption/cdesc-InvalidOption.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/InvalidOption/cdesc-InvalidOption.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/InvalidOption/cdesc-InvalidOption.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/InvalidOption/cdesc-InvalidOption.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/InvalidSpecSet/cdesc-InvalidSpecSet.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/InvalidSpecSet/cdesc-InvalidSpecSet.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/InvalidSpecSet/cdesc-InvalidSpecSet.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/InvalidSpecSet/cdesc-InvalidSpecSet.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/LazySpecification/__materialize__-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/LazySpecification/__materialize__-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/LazySpecification/__materialize__-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/LazySpecification/__materialize__-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/LazySpecification/cdesc-LazySpecification.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/LazySpecification/cdesc-LazySpecification.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/LazySpecification/cdesc-LazySpecification.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/LazySpecification/cdesc-LazySpecification.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/LazySpecification/dependencies-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/LazySpecification/dependencies-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/LazySpecification/dependencies-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/LazySpecification/dependencies-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/LazySpecification/full_name-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/LazySpecification/full_name-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/LazySpecification/full_name-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/LazySpecification/full_name-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/LazySpecification/method_missing-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/LazySpecification/method_missing-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/LazySpecification/method_missing-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/LazySpecification/method_missing-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/LazySpecification/name-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/LazySpecification/name-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/LazySpecification/name-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/LazySpecification/name-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/LazySpecification/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/LazySpecification/new-c.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/LazySpecification/new-c.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/LazySpecification/new-c.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/LazySpecification/platform-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/LazySpecification/platform-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/LazySpecification/platform-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/LazySpecification/platform-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/LazySpecification/respond_to%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/LazySpecification/respond_to%3f-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/LazySpecification/respond_to%3f-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/LazySpecification/respond_to%3f-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/LazySpecification/satisfies%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/LazySpecification/satisfies%3f-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/LazySpecification/satisfies%3f-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/LazySpecification/satisfies%3f-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/LazySpecification/source-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/LazySpecification/source-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/LazySpecification/source-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/LazySpecification/source-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/LazySpecification/to_lock-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/LazySpecification/to_lock-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/LazySpecification/to_lock-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/LazySpecification/to_lock-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/LazySpecification/to_s-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/LazySpecification/to_s-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/LazySpecification/to_s-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/LazySpecification/to_s-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/LazySpecification/version-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/LazySpecification/version-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/LazySpecification/version-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/LazySpecification/version-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/LockfileParser/cdesc-LockfileParser.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/LockfileParser/cdesc-LockfileParser.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/LockfileParser/cdesc-LockfileParser.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/LockfileParser/cdesc-LockfileParser.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/LockfileParser/dependencies-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/LockfileParser/dependencies-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/LockfileParser/dependencies-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/LockfileParser/dependencies-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/LockfileParser/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/LockfileParser/new-c.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/LockfileParser/new-c.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/LockfileParser/new-c.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/LockfileParser/parse_dependency-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/LockfileParser/parse_dependency-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/LockfileParser/parse_dependency-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/LockfileParser/parse_dependency-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/LockfileParser/parse_platform-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/LockfileParser/parse_platform-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/LockfileParser/parse_platform-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/LockfileParser/parse_platform-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/LockfileParser/parse_source-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/LockfileParser/parse_source-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/LockfileParser/parse_source-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/LockfileParser/parse_source-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/LockfileParser/parse_spec-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/LockfileParser/parse_spec-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/LockfileParser/parse_spec-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/LockfileParser/parse_spec-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/LockfileParser/platforms-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/LockfileParser/platforms-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/LockfileParser/platforms-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/LockfileParser/platforms-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/LockfileParser/sources-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/LockfileParser/sources-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/LockfileParser/sources-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/LockfileParser/sources-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/LockfileParser/specs-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/LockfileParser/specs-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/LockfileParser/specs-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/LockfileParser/specs-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/MatchPlatform/cdesc-MatchPlatform.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/MatchPlatform/cdesc-MatchPlatform.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/MatchPlatform/cdesc-MatchPlatform.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/MatchPlatform/cdesc-MatchPlatform.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/MatchPlatform/match_platform-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/MatchPlatform/match_platform-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/MatchPlatform/match_platform-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/MatchPlatform/match_platform-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/PathError/cdesc-PathError.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/PathError/cdesc-PathError.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/PathError/cdesc-PathError.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/PathError/cdesc-PathError.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/ProductionError/cdesc-ProductionError.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/ProductionError/cdesc-ProductionError.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/ProductionError/cdesc-ProductionError.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/ProductionError/cdesc-ProductionError.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/RemoteSpecification/__swap__-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RemoteSpecification/__swap__-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/RemoteSpecification/__swap__-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RemoteSpecification/__swap__-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/RemoteSpecification/_remote_specification-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RemoteSpecification/_remote_specification-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/RemoteSpecification/_remote_specification-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RemoteSpecification/_remote_specification-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/RemoteSpecification/cdesc-RemoteSpecification.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RemoteSpecification/cdesc-RemoteSpecification.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/RemoteSpecification/cdesc-RemoteSpecification.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RemoteSpecification/cdesc-RemoteSpecification.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/RemoteSpecification/fetch_platform-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RemoteSpecification/fetch_platform-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/RemoteSpecification/fetch_platform-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RemoteSpecification/fetch_platform-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/RemoteSpecification/full_name-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RemoteSpecification/full_name-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/RemoteSpecification/full_name-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RemoteSpecification/full_name-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/RemoteSpecification/method_missing-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RemoteSpecification/method_missing-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/RemoteSpecification/method_missing-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RemoteSpecification/method_missing-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/RemoteSpecification/name-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RemoteSpecification/name-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/RemoteSpecification/name-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RemoteSpecification/name-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/RemoteSpecification/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RemoteSpecification/new-c.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/RemoteSpecification/new-c.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RemoteSpecification/new-c.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/RemoteSpecification/platform-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RemoteSpecification/platform-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/RemoteSpecification/platform-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RemoteSpecification/platform-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/RemoteSpecification/source-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RemoteSpecification/source-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/RemoteSpecification/source-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RemoteSpecification/source-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/RemoteSpecification/version-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RemoteSpecification/version-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/RemoteSpecification/version-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RemoteSpecification/version-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/SpecGroup/__dependencies-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/SpecGroup/__dependencies-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/SpecGroup/__dependencies-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/SpecGroup/__dependencies-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/SpecGroup/activate_platform-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/SpecGroup/activate_platform-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/SpecGroup/activate_platform-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/SpecGroup/activate_platform-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/SpecGroup/activated-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/SpecGroup/activated-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/SpecGroup/activated-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/SpecGroup/activated-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/SpecGroup/cdesc-SpecGroup.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/SpecGroup/cdesc-SpecGroup.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/SpecGroup/cdesc-SpecGroup.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/SpecGroup/cdesc-SpecGroup.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/SpecGroup/for%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/SpecGroup/for%3f-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/SpecGroup/for%3f-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/SpecGroup/for%3f-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/SpecGroup/initialize_copy-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/SpecGroup/initialize_copy-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/SpecGroup/initialize_copy-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/SpecGroup/initialize_copy-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/SpecGroup/name-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/SpecGroup/name-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/SpecGroup/name-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/SpecGroup/name-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/SpecGroup/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/SpecGroup/new-c.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/SpecGroup/new-c.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/SpecGroup/new-c.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/SpecGroup/required_by-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/SpecGroup/required_by-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/SpecGroup/required_by-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/SpecGroup/required_by-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/SpecGroup/source-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/SpecGroup/source-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/SpecGroup/source-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/SpecGroup/source-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/SpecGroup/to_s-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/SpecGroup/to_s-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/SpecGroup/to_s-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/SpecGroup/to_s-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/SpecGroup/to_specs-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/SpecGroup/to_specs-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/SpecGroup/to_specs-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/SpecGroup/to_specs-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/SpecGroup/version-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/SpecGroup/version-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/SpecGroup/version-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/SpecGroup/version-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/cdesc-Resolver.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/cdesc-Resolver.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/cdesc-Resolver.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/cdesc-Resolver.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/clean_req-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/clean_req-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/clean_req-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/clean_req-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/debug-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/debug-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/debug-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/debug-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/error_message-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/error_message-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/error_message-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/error_message-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/errors-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/errors-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/errors-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/errors-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/gem_message-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/gem_message-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/gem_message-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/gem_message-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/gems_size-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/gems_size-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/gems_size-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/gems_size-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/new-c.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/new-c.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/new-c.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/resolve-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/resolve-c.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/resolve-c.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/resolve-c.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/resolve-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/resolve-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/resolve-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/resolve-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/resolve_requirement-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/resolve_requirement-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/resolve_requirement-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/resolve_requirement-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/search-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/search-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/search-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/search-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/start-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/start-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/start-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/start-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/successify-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/successify-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/successify-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/successify-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/version_conflict-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/version_conflict-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/Resolver/version_conflict-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/Resolver/version_conflict-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/AlmostModern/cdesc-AlmostModern.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/AlmostModern/cdesc-AlmostModern.ri new file mode 100644 index 0000000000000000000000000000000000000000..9144fd2483b36d05dd9b9efdfea49184ed417760 GIT binary patch literal 291 zcmY*TO-lnY5Z!}pYPS|d@L~@oKcFgjklBl07Y`LFc*>!q*`W<)lQ5YS{P(6?dMI<5 z_vU@f#pnlaS0BLud&M+ zJiwW@IeG%z9g~-uescsUHMvL6H8d|#6DL&%n4N3BHR+NXcXcaNEoY~;`Qzew@i6Bw zEKjN$Mkpc2W_Wp|1T-;koHgYnU>Yef8pdvblSp>284o~SS)W*YgQ~dN%hGcb2@}#D Q*HQB>6?S}3wvDR(0rl)!oB#j- literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/AlmostModern/preserve_paths-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/AlmostModern/preserve_paths-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..4bd4a3bdd13d79c60727a8ca9ed6364aa4ed6118 GIT binary patch literal 367 zcmY+AK}*9x5QTe?Sm?on-t;hRFA5UsL6A|4id1qaNI^UVDVt=>E=_jB?rcl`y<4M) z-rmf6Z$6l#@duu*UTul^Z2Bd!vQ>Vf6LH!(^5nL(?j$QO<}bli4LQVBDEgXOpBbjw zN!HfHa?@JROIwjM)5GclCtWBSU0OUJNK5H9p+k(=(30TurEi zHqG8b%#7zakelj3!A`RRX#oEg>wVo5r|?OUvL#?E(&0X6hC-Gb__hvgh`CT%XyYql R2zJ(O(wP|LBXN9r^#kvQdw&1` literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/Deprecate/cdesc-Deprecate.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/Deprecate/cdesc-Deprecate.ri new file mode 100644 index 0000000000000000000000000000000000000000..d22a9b0f535657f2fbab557eca4b520b02c8e4a3 GIT binary patch literal 226 zcmYL@F$=;l5QRI4tyYVZi(6)Y!F3UJaZsV)ltI$;D6wr4E{Wj3H&#JzdUxM@?GS{&R-du&N~Wi-Ga%&+wWr8lto zW}XFg!A8Q!FrfBR$ahwdcRcw`%2PI%V`;`y$Ze>5CF3!L!jkbZ4VzIeEU9Pw<|Eir eY3GHO$fK*w_>`?&r|i86q;wlsvkz9zdGZEcUq&AQ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/Deprecate/skip_during-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/Deprecate/skip_during-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..a10178d9417f18b3c3c3f94aa4b55c5b545af0ee GIT binary patch literal 144 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)D9+9-h)*dk%FIhwvT!QROUX$sva$*) zO{z>!%`NuKD@jc+N-W9D&$F^}Ni8T!O-?LHRYua}X2o4lnv|27oNpx!vA{R6D7&-( hs60QpG&eP`gw2ZEp&+rSq&S+vK#3umL5W>M69DB+FY*8Y literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/Gem/SourceIndex/cdesc-SourceIndex.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/Gem/SourceIndex/cdesc-SourceIndex.ri new file mode 100644 index 0000000000000000000000000000000000000000..0570abfb0cc5f70399b7ec3992ea4822dc0e55e5 GIT binary patch literal 221 zcmZ8ay9&ZU5KJK^8cin_cJ~E>-KG%{BtZ(1y7S7Qks$_m&|*b(G+qUTPgSurchXC0`h>}Bv;mnCkr?V UvKHD0ra6vRWj1={V&WxDK0xP0MF0Q* literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/Gem/cdesc-Gem.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/Gem/cdesc-Gem.ri new file mode 100644 index 0000000000000000000000000000000000000000..26e626630ce46362700b6d16cdc04a50db482137 GIT binary patch literal 195 zcmXX;y9&ZE6zw1;w%XOfErYZ3?II$GLmdiEnbP!9f_agL;NRO;IdI@SSM&+{?&>7K z!v!OB>xQh6*Q#LjhK3z4*$x^5K$rW^h$h}`!ZC=XoCTOFCkKb$Lo327dw}UK8?w|iWgtK5fWn&Un;=F3;>@}N( HOI~~diXJ*~ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/Legacy/all_specs-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/Legacy/all_specs-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..02f808aab9af69edf096f8478d8f417f963bcb62 GIT binary patch literal 136 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LOU%iMFD^(;E><#jD$PsDNiDLn3Mx&i zOi#@%_RK3uO)p9;$;{8QvhqnyPfV^&5GNhAhD>VIGVx0AeupmT|*N9GNLT+ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/Legacy/cdesc-Legacy.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/Legacy/cdesc-Legacy.ri new file mode 100644 index 0000000000000000000000000000000000000000..4cf1f047310a83a759c176ff6dc000b3bcbc7c90 GIT binary patch literal 327 zcmZutJxjzu5KSRTyl4sw5wr-~X%SH2in&JA=0HUbthNY~&6q4EyUTtY+`o4(o`oP& zJ>C~@j`9yU-#lvp@TTpA$Vo#Vz`4ox=gVsBqYPkBVc}I&e+zja|<0-rO&8@a%U2JsKZGB%a zD?eBr`XQoaeaDmeGM=%8m>1+cgTjP%lp<0Yl*VdL!c#ZH6JzBTJ?#NImCAWkf_QYT lj(N^X9LL5P5{{LhQgw~OiP)L*p>6Ep3sJh*+gAloz5%`YXe0mt literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/Legacy/find_name-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/Legacy/find_name-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..455f5025d05e26d885385482797d003fc69fe785 GIT binary patch literal 140 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LOUukliO);SO;s{>D$PsDNiDLn3Mx&i zOi#@%_RK3uO)p9;$;{8QvhqnyPfV^&5GNhAhD>VIGVx0AeupmTLWZ|CIH>#E@}V( literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/Legacy/stub_rubygems-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/Legacy/stub_rubygems-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..2534d7c4b055e650995bb40d7fc8916e21bd959a GIT binary patch literal 149 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)DlREaiZ3cns!UJKEmksjD$PsDNiDLn z3W5rG=9Q$T7bTWt=I2>i`J|>NCRZw>=y9{+E+|dP$xP0-l7`sen^=@xT3}@bw5~Ka fHLrxtirb+ev8bdtn!&&znn8(2qqrb7xmXhb{RuL} literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/Modern/all_specs-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/Modern/all_specs-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..240cbc706bba60de710bbf708a0712ba93776525 GIT binary patch literal 136 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LOU%iMFD^(;E><#jD$PsDNiDLn3Mx&i zOi#@%_RK3uO)p9;$;{8QvhvMONiE7#hO2k8;w~sn%E?U5w~~gK?3-AWU0Pse1+=C# bH#M(>&5GNhAhD>VIGVx0AeupmT|*N9Hr*`$ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/Modern/cdesc-Modern.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/Modern/cdesc-Modern.ri new file mode 100644 index 0000000000000000000000000000000000000000..cac945770727e12c58cb6c6516be8142f032c521 GIT binary patch literal 304 zcmZvXF-rt75QVpp&3da_D2Skiq_a7&5M;IywXryn1FICvY<4_@*(6L7!GG`G-dPAT z)#H8d&CEgd250LhuK`{>k7yq)#;6)o$a>`mVkfU3vKuThz&iKe8ye%YOSEB3#yfyL zb^ed(;bK?4LjKGFVA_*Ma;b#+J|L&4N)MNRnO9_-%EL$53RTL}-`=a6<=ygD74rxs z-A&vU1F;^i3_v$WMvp&ty~LOUukliO);SO;s{>D$PsDNiDLn3Mx&i zOi#@%_RK3uO)p9;$;{8QvhvMONiE7#hO2k8;w~sn%E?U5w~~gK?3-AWU0Pse1+=C# dH#M(>&5GNhAhD>VIGVx0AeupmTLWZ|CII4KE_wg} literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/Modern/stub_rubygems-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/Modern/stub_rubygems-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..83c8f61a534dedea50fa4b8b372191fc636b4564 GIT binary patch literal 149 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)DlREaiZ3cns!UJKEmksjD$PsDNiDLn z3W5rG=9Q$T7bTWt=I2>i`R1pj7Ue0U=y9{+E+|dP$xP0-l7`sen^=@xT3}@bw5~Ka fHLrxtirb+ev8bdtn!&&znn8(2qqrb7xmXhb0pl{% literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/Transitional/cdesc-Transitional.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/Transitional/cdesc-Transitional.ri new file mode 100644 index 0000000000000000000000000000000000000000..a9370002b6adc55d0a1d6b25915904ffb6ab1716 GIT binary patch literal 279 zcmY*Uu};G<5Y14~!jT6! z(l*bgM|}uz@$3A8w9gTs#N@$vuA#Y$NSst1;PP1WhJ?j6e$}l|wOs$FUEN&Ys%jdc zgk0#U=UfSBV(y&Pg%Yre6xe7sy9q8M*>7Ys0(okEV)WXma@C#`^RvXc`=q~r%5pIZ H+eTGCGO1VV literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/Transitional/stub_rubygems-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/Transitional/stub_rubygems-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..a2d397a93ef846c917acf41d22a22681d8d955e0 GIT binary patch literal 155 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)DlREaiZ3cns!UJKEmpF1D$PsDNiDLn z3W5rG=9Q$T7bTWt=I2>ig%l;`6=#Cji8;zBI^C?e3rdr6GL!SIq#^eBCKhFv7FbyU jEiKJW%`0KE;&v!VEGj9EW-u^_W>DhMC@x4%F4hD9X(%;q literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/bin_path-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/bin_path-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..03f83942e1d554dbac3c4e6eaca792d12aade6bd GIT binary patch literal 139 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LP0GxRFGwuOP||WL%}dEiEwZu-Dov_P zPt7g%%qvMvFG?)Q%+FJXDRZ;pE+|dP$xP0-l7^V)n^=@xT3}@bG`uu7HLrxtirb+e dv8bdtn!&&znn6iK18A0x0?+^*g|gHlO#qgDEuH`X literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/cdesc-RubygemsIntegration.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/cdesc-RubygemsIntegration.ri new file mode 100644 index 0000000000000000000000000000000000000000..faf121e2c5c0ef9bbd0a5bd1e5ef6ad6ec734b8e GIT binary patch literal 679 zcmZuu!EW0y49#Ik+$QnTt{pn;H0}pB>`*{Kfnw{Whi*WDoqP~vnYOjcl0ivH^Y^3e z^cLtsJ@P%0kMFX-;^Xs!*FyaE)G7PRst}6Y%;4rZm4^nq@aQ5oq@wW-zWhwCvPeRl z$}azu|4>ISK2MTQie6GL1nZ{`U7U;MeXl5nV#aS#EFgcto=~fZemkFU7Xy3>oT|_D zI9*mO#IjGNHM*EX=5WtI-jk2q9IHV?ta>s#mK_Dx#)YVy#)7HatoRD+(m2_x*uq9z zR5Zo`F12^HY0`1qi^}hv^{SHW18i!Hx|N|v9pF79l0_;*uo~haSP#Ldx-zb|+#W6l zI#x&4rejCs1i>|bLaXeU8~JA=H}9EQ^ECo|U~>Y}4v+I~2zeN8tLOmNgj}g{_)lGL z-VpYh4!t)n24K!qHtcZq_93iUx&dFE zkHH;W4sOVrd^cM3Da2IDDJ$6=eEt687EYkI-yloo4)Vn7$<}uWS9=p%StesEsi+Bj Msk7mF+w)@fAH3)1%m4rY literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/clear_paths-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/clear_paths-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..b6939dd45a45d80fbddb5bb087b5e565243e395f GIT binary patch literal 132 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)NX|)3EQ&8kEXgQV(se4$OUX$sva$*) zO{z>!%`NuKD@jc+N-W9D&r?QH>1M@UP@0sJnVfGW4KdX>u_(K=z{(0}MQLtoUJ08O Vw?jc-A&vU1F;^i3_v$WMvp&ty{)O3u$q%S&5GNh TAhD>VIGVx0AeupmT|*N9YcwsY literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/download_gem-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/download_gem-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..a621077d1641d539fc30b0347e413fb11ed12441 GIT binary patch literal 149 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)Ovx|L%gIkniBC_>Rnl`R%}dEiEwZu- zDov^ciWGb1m87N@C6;97=P4sAb+h6wC{4=AOwPBGhM4P{Sd?8_U}Xigq%=1*uY}Et k+o2$_sH8ZW!N4GzK}k%bxF9uIN1?PRQ%9j7u_Qwi0K7Ia=Kufz literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/fetch_specs-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/fetch_specs-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..4359cc2ddaddad418b69fd26e4d7fd87f2619273 GIT binary patch literal 146 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)NJ}kA&WJBANKGzQ(se4$OUX$sva$*) zO{z>!%`NuKD@jc+N-W9D&r?QH>1M@UP@0sJnVfGW4KdX>u_(K=z{(0}MQLtoUJ08O jw?jc-A&vU1F;^i3_v$WMvp&ty~LPfyK_Ps+?o$t+URaVpJA$w@7;vI;6q zssu_Dd*+p-rWYlaWaj57BNVz>aTk;(05Y3>(uAvD49F;26 literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/gem_dir-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/gem_dir-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..3f0c4b328d962fa27ac885e1d23028cccf1b5976 GIT binary patch literal 124 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LNl(p@(u QQXI`-U=Yoq#IB(U0Q(ClTmS$7 literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/gem_path-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/gem_path-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..0dcfb952dcdc56fcbf33844a46b08a322814249a GIT binary patch literal 126 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LO;62@FGwuOP||WL%}dEiEwZu-Dov^c z3Kx6km87N@C6;97=PARKxmj@+lqTh5Cg)p8L(KC{EXpn|u(ARgUYeVlSHfn+?NE?d RR8kzxU|@MfDLMcE literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/inflate-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/inflate-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..d5d2675a87f6df445266616e7193a46bb8204444 GIT binary patch literal 127 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~L$;?a3Ni0cK(sU}#OUX$sva$*)O{z>! z%`NuKD@jc+N-W9D&r^n~aU6uY}Et+o2$_ UsH8ZW!N4GzL5WKvKPgKS0DmnhvH$=8 literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/loaded_specs-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/loaded_specs-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..be65330e30ab9ffe187ed4833efb330ecde38f11 GIT binary patch literal 138 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)%*jtoNll3_E=Wx-R?>4S%}dEiEwZu- zDov_PPt7g%%qvMvFG?)Q%+FIsR_bQOT~L~olbM`vB@HpxH?b(Yw7|*=Xh~^qYF-JO a6}Lk{Vo^zPG=qUbG=mbiMqXlWswM!S)h;Oj literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/mark_loaded-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/mark_loaded-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..d4218e3211dd8b7c1db257231c0ed6d93221813c GIT binary patch literal 136 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)$W1KDj?c+YOi4{q(se4$OUX$sva$*) zO{z>!%`NuKD@jc+N-W9D&r?QH>1M@UP@0sJnVfGW4KdXhXiRB=l@-v6(%jU%5;iMt Yhl0eSlHzCv1A}M=C2o!4g4AS905T>mO8@`> literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/marshal_spec_dir-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/marshal_spec_dir-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..0d6eb3deab91060afa015eed2485cfbb40f5fc5b GIT binary patch literal 142 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)%}p#S&PdFOFD^(;j!(%fQZjNX%}dEi zEwZu-Dov_PPt7g%%qvMvFG?)Q%+FIsSMFxTT~L~olbM`vB@Hp(H?b(Yw7|*=Xjy4) aYF-JO6}Lk{Vo^zPG=qUbG=mbmh9&@)886@f literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/new-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..ebe790b25fb0089a561554cfc548ff7fb6acf568 GIT binary patch literal 117 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~L$V)9(QgbTJOUX$sva$*)O{z>!%`NuK zD@jc+N-W9D&$F@uDhaXTE+|dP$xP0-l7<-Ln^=@xT3}@bG_y1}HLrxtirb+ev8bdt On!&&znn8(OLlXeRxh0wa literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/path-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/path-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..5af559c7b5e370be132c784ad94221159d756b63 GIT binary patch literal 121 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LEJ!TLP*QU$%}dEiEwZu-Dov_PPt7g% z%qvMvFG?)Q%+FH>DRHynE+|dP$xP0-l7^V$n^=@xT3}@bG_*7~HLrxtirb+ev8bdt Rn!&&znn8(6BR?ri698smCqMuI literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/platforms-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/platforms-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..d835d628ecd16049195bda89f12535e5049664b1 GIT binary patch literal 128 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LE67PKNy{(FEmqQYD$PsDNiDLn3Mx&i zOi#@%_RK3uO)p9;$;{7FhO2Y4;w~sn%E?U5w~~gK=$lxSU0Pse1vI`iH#M(>&5GNh TAhD>VIGVx0AeupmT|*N9*YGN0 literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/preserve_paths-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/preserve_paths-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..2c8f1f72d3bd1eb1a7b4a87e41cdf643d3b7c764 GIT binary patch literal 139 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)E+|SZPAw`+jW0+n$tYGba4OA9$w@7; zvI;6qs!UJKE%wYSNlhD7&=4$_i*vX>Mv> Z37ZwSLqTFuNpUoTff7SBgA%)jCIAVgE`$I8 literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/read_binary-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/read_binary-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..0ea928430e93c69b4aa37bdf63ec00a8f5309919 GIT binary patch literal 136 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)C`wICiBHPRODw8X(se4$OUX$sva$*) zO{z>!%`NuKD@jc+N-W9D&r?QH>1M@UP@0sJnVfGW4KdX>u_(K=z{(0}MQLtoUJ08O Zw?jco)fHiOZ^$jV+g)~N3HRT-8d7Na z9zWj4dA-5Q^{Y3C&u(0?biQpaY^AOuhn@^?wRPJ-(y51+?Ao3q;yUYb$3yyX!n;Uf zy}SL7zu_cg-CN`F`k23>xX%Hxl;we)R5)1%ijtbj*1BaSP&M zpglub1WB?^ARP%%WN==4_umFcY0Cfr literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/replace_entrypoints-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/replace_entrypoints-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..26d7024e1012dcaccb6402f31cb7e82b1ed2bf00 GIT binary patch literal 260 zcmZvWF>3-r5QS5OQ!pS%ihvfwrqM=h(o7l+K}aElgH%_9z1xYmcW@ zNcW2OzW3dZKk&YM-A&vU1F;^i3_v$WMvp&ty{)C`v8JNlZ?SPfyKN(se4$OUX$sva$*) zO{xTn6no~Cq^1`omSpDVDI=+Lv*Io&P0Gnk&bN|=nChEYlwDe2Wd*dNG&eP`gw2ZE Zp&+rSq&S+vz#y7IiASTjAT_yI698b|Ex`Z) literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/replace_refresh-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/replace_refresh-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..46c8d1598dc6001a374b33ba26b2d1def8013815 GIT binary patch literal 271 zcmZ9HF-rqM6of705=dc_E*6iqh(eI0eKs0Jun0)N>I!+c_b$7**KJ9ujAxHrwKR#|d#?y7PgL`OOO-5{V7| z=AZi&XR&n7>VS(M`i|09iHNnT9N9~Qv&TqDa@z#F{_AUqnWN@n<7 z0ERLUWU18}PL@Xq1B`|Qa%5e##6TyqjylIHwHz7x;Fkh*=HTj?735I!r2{JvirlZ) K?S-1$-hBgKaa)f7 literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/reverse_rubygems_kernel_mixin-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/reverse_rubygems_kernel_mixin-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..ed834331607798da8f3f7aa26ea971b34e4026e5 GIT binary patch literal 168 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty|lDoQO&Eh-A&vU1F;^i3_v$WMvp&ty{)C@M{=j8Dx=&&*3z(se4$OUX$sva$*S zil(RL7JKHEq^1`omSpDVDI=+Lv*Io&P0Gnk&bN|=nChEYlwDe2Wd*dNG&eP`gw2ZE Up&+rSq&S+vz#y7IiCsez0F>V=-A&vU1F;^i3_v$WMvp&ty~LEzU13N=_}dRnl@Q%}dEiEwZu-Dov_P zPt7g%%qvMvFG?)Q%+FJXDRZ;pE+|dP$xP0-l7^V)n^=@xT3}@bG`uu7HLrxtirb+e Vv8bdtn!&&znn8(6qbxB;69C)kDtG_@ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/sources-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/sources-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..6c67d74d2e745a8d05ce348161cd117835d81efc GIT binary patch literal 124 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LDb6n~N=_|S(sU}#OUX$sva$*)O{z>! z%`NuKD@jc+N-W9D&r^n~aU6uY}Et+o2$_ RsH8ZW!N4GzL5W>M695)oD7F9q literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/spec_from_gem-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/spec_from_gem-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..b1d384d97aad0402bdf6d96eae2b459c94ccb32f GIT binary patch literal 140 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)DlSM(j!!Gf&y7z{%~jHOD$PsDNiDLn z3Mx&i1d0@U=9Q$T7bTWt=I1G+sCBdAE+|dP$xP0-l7^V-A&vU1F;^i3_v$WMvp&ty}QEG{WciZ9MDElN&}&&*3ntuQn;S2A-d z%}dEiEwZu-Dov_PPt7g%%qvMvFG?)Q%+FKCrp3*QyPz~FCo?(UN*ZF1Z(>n)X@Qj$ j(9+V})VvZlD{hB^#G;boXa)m=Xa*%7jpBmT-A&vU1F;^i3_v$WMvp&ty}QEG{WciZ9MDElN&}&&*3ntuQnn)X@Qj$ j(9+V})VvZlD{hB^#G;boXa)m=Xa*%7jpBmT-A&vU1F;^i3_v$WMvp&ty~LD9yB0QgtfLOUX$sva$*)O{z>!%`NuK zD@jc+N-W9D&r=4faI@krC{4=AOwPBGhM3};Sd?8_U}Xg~vNSg}uY}Et+o2$_sH8ZW Q!N4GzL5WKvKPgKS0P}Gs8UO$Q literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/user_home-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/user_home-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..67ce95e3709240811f8d04c29dbf6e680dfd74a5 GIT binary patch literal 128 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LD=khfiqFW;O;yr%D$PsDNiDLn3Mx&i zOi#@%_RK3uO)p9;$;{7FhO2Y4;w~sn%E?U5w~~gK=$lxSU0Pse1vI`iH#M(>&5GNh TAhD>VIGVx0AeupmT|*N9&U`9B literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/with_build_args-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/RubygemsIntegration/with_build_args-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..8f10198bbda117d1661b80cd4d15d6c85a1074cd GIT binary patch literal 145 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)DbFm)h)*ib%t?t)EJ`m{GIT1!%`NuKD@jc+N-W9D&r?QI?PkSYP@0sJnVfGW4Kdv}u_(K=z{(0}RcUT& cUJ08Ow?jchOj|IbJ2|yUMn`+M62!^0nRR>)Bpz)CO^dZduO~El1Gry45&!@I literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/UI/RGProxy/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/UI/RGProxy/new-c.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/UI/RGProxy/new-c.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/UI/RGProxy/new-c.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/UI/RGProxy/say-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/UI/RGProxy/say-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/UI/RGProxy/say-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/UI/RGProxy/say-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/UI/Shell/be_quiet%21-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/UI/Shell/be_quiet%21-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/UI/Shell/be_quiet%21-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/UI/Shell/be_quiet%21-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/UI/Shell/cdesc-Shell.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/UI/Shell/cdesc-Shell.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/UI/Shell/cdesc-Shell.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/UI/Shell/cdesc-Shell.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/UI/Shell/confirm-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/UI/Shell/confirm-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/UI/Shell/confirm-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/UI/Shell/confirm-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/UI/Shell/debug%21-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/UI/Shell/debug%21-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/UI/Shell/debug%21-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/UI/Shell/debug%21-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/UI/Shell/debug-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/UI/Shell/debug-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/UI/Shell/debug-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/UI/Shell/debug-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/UI/Shell/error-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/UI/Shell/error-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/UI/Shell/error-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/UI/Shell/error-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/UI/Shell/info-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/UI/Shell/info-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/UI/Shell/info-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/UI/Shell/info-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/UI/Shell/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/UI/Shell/new-c.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/UI/Shell/new-c.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/UI/Shell/new-c.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/UI/Shell/shell-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/UI/Shell/shell-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/UI/Shell/shell-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/UI/Shell/shell-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/UI/Shell/warn-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/UI/Shell/warn-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/UI/Shell/warn-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/UI/Shell/warn-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/UI/cdesc-UI.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/UI/cdesc-UI.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/UI/cdesc-UI.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/UI/cdesc-UI.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/UI/confirm-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/UI/confirm-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/UI/confirm-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/UI/confirm-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/UI/debug-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/UI/debug-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/UI/debug-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/UI/debug-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/UI/error-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/UI/error-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/UI/error-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/UI/error-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/UI/info-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/UI/info-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/UI/info-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/UI/info-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/UI/warn-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/UI/warn-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/UI/warn-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/UI/warn-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/VersionConflict/cdesc-VersionConflict.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/VersionConflict/cdesc-VersionConflict.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/VersionConflict/cdesc-VersionConflict.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/VersionConflict/cdesc-VersionConflict.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/VersionConflict/conflicts-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/VersionConflict/conflicts-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/VersionConflict/conflicts-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/VersionConflict/conflicts-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/VersionConflict/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/VersionConflict/new-c.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/VersionConflict/new-c.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/VersionConflict/new-c.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/app_cache-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/app_cache-c.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/app_cache-c.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/app_cache-c.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/app_config_path-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/app_config_path-c.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/app_config_path-c.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/app_config_path-c.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/bin_path-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/bin_path-c.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/bin_path-c.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/bin_path-c.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/bundle_path-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/bundle_path-c.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/bundle_path-c.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/bundle_path-c.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/bundle_path-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/bundle_path-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/bundle_path-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/bundle_path-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/cache-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/cache-c.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/cache-c.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/cache-c.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/cdesc-Bundler.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/cdesc-Bundler.ri similarity index 92% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/cdesc-Bundler.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/cdesc-Bundler.ri index bbb0f8bd69998afff84e5569b676360a534fac2f..26b698b82e617349a6c34b793a4fd751bbf0d35d 100644 GIT binary patch delta 45 zcmZ3(wwrB&j}k{TyOKasXQAC delta 30 lcmdnZwuWtjk1%^QyOKasX-A&vT`gbDT?OKWKiNQDov_PPt7e>5_KxgOUX$sQihAL1zB+ylqTh5 lCg)p8L-hG37G;+fSXluLDa}pID`B(Zb|^?JDk+X;003zX9y0&{ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/settings-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/settings-c.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/settings-c.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/settings-c.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/setup-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/setup-c.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/setup-c.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/setup-c.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/specs_path-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/specs_path-c.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/specs_path-c.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/specs_path-c.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/sudo-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/sudo-c.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/sudo-c.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/sudo-c.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/tmp-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/tmp-c.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/tmp-c.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/tmp-c.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/ui-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/ui-c.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/ui-c.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/ui-c.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/ui-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/ui-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/ui-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/ui-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/upgrade_lockfile-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/upgrade_lockfile-c.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/upgrade_lockfile-c.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/upgrade_lockfile-c.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/user_bundle_path-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/user_bundle_path-c.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/user_bundle_path-c.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/user_bundle_path-c.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/with_clean_env-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/with_clean_env-c.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/with_clean_env-c.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Bundler/with_clean_env-c.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/File/cdesc-File.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/File/cdesc-File.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/File/cdesc-File.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/File/cdesc-File.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Gem/Dependency/cdesc-Dependency.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Gem/Dependency/cdesc-Dependency.ri similarity index 67% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Gem/Dependency/cdesc-Dependency.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Gem/Dependency/cdesc-Dependency.ri index e3e8efd7448ed04405cbfca5ec13b1683dc5fdbc..f308b8a1752ea9124c429a5420033653ec60970e 100644 GIT binary patch delta 24 fcmbQow3=zcX+CZxfz-U@{FK!A^30NqiD!ZUX*3Be delta 11 ScmZ3@G>>V*X-2MzH-i8ftORfX diff --git a/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Gem/Dependency/encode_with-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Gem/Dependency/encode_with-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..d118b6e3fa822257487fd1f18d3c3bdcfb9a4f1c GIT binary patch literal 124 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)NX<*mPf3k0&n(GMQgBbrwX$+aElABv z0g6{DBT2ehaTk;(t~7g2C}f?pJ!1SvRmkZ1C=Qj-_bbm+g=;^cIPd(Yu^ zdsi4{DQkeeYt9r4HhKRg)WBlY1y#4olin(IA`6g`Cuhj%X7X1bA@TM7{n8AhpX`jG zto@f@U0ZTdK(g}~VwDSq@&D$60iOYVA=bTIsLcU&={ZEn59uj9I9PO=B)Ou^RwvOI ZGBUEv>U;AfTgl~owOHgGl}y{mvk$1XNEQG9 literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Gem/Dependency/required_by-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Gem/Dependency/required_by-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Gem/Dependency/required_by-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Gem/Dependency/required_by-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Gem/Dependency/requirement-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Gem/Dependency/requirement-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Gem/Dependency/requirement-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Gem/Dependency/requirement-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Gem/Dependency/source-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Gem/Dependency/source-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Gem/Dependency/source-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Gem/Dependency/source-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Gem/Dependency/to_lock-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Gem/Dependency/to_lock-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Gem/Dependency/to_lock-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Gem/Dependency/to_lock-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Gem/Dependency/to_yaml_properties-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Gem/Dependency/to_yaml_properties-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Gem/Dependency/to_yaml_properties-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Gem/Dependency/to_yaml_properties-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Gem/Platform/cdesc-Platform.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Gem/Platform/cdesc-Platform.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Gem/Platform/cdesc-Platform.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Gem/Platform/cdesc-Platform.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Gem/Platform/hash-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Gem/Platform/hash-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Gem/Platform/hash-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Gem/Platform/hash-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Gem/Requirement/cdesc-Requirement.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Gem/Requirement/cdesc-Requirement.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Gem/Requirement/cdesc-Requirement.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Gem/Requirement/cdesc-Requirement.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Gem/Requirement/none%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Gem/Requirement/none%3f-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..1385cf260af843f8a009dcff7b7b850f6d73a50a GIT binary patch literal 198 zcmY+6I}5@v6h<8+79CvN>JaLpi&SvBf-gj;f)t!GrS0v5+T55XL;t;2C#MfS&N)Nx z0kil*DZoi}5!#Y6F|AlIR;2I{_&00-Vtl#EV1vpozW)^_+9l5_CGdZCBu(u!z$fK; zj=|)prLnDG1oMC9E{!aV)Fs<_f(84tOlwWXa>}_zlapzrN|B=~`|WdFW*KJO5|3Td R71*?Vv)+cG7zCr`>J9LPKx_a2 literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Gem/Specification/add_bundler_dependencies-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Gem/Specification/add_bundler_dependencies-i.ri similarity index 100% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Gem/Specification/add_bundler_dependencies-i.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Gem/Specification/add_bundler_dependencies-i.ri diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Gem/Specification/cdesc-Specification.ri b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/Gem/Specification/cdesc-Specification.ri similarity index 54% rename from vendor/plugins/bundler/doc/bundler-1.0.7/ri/Gem/Specification/cdesc-Specification.ri rename to vendor/plugins/bundler/doc/bundler-1.0.15/ri/Gem/Specification/cdesc-Specification.ri index 55e3930c44463fc45332f2002ca3c011d41dcbd1..36376036ca158f75d0e1739d002a13e01c2dbe93 100644 GIT binary patch delta 26 hcmaFD{FZqGKO>{yWC2Dk4xaSX-1wBtqREzws{v>b2ipJu delta 17 YcmaFM{DgS}KO>{SWC2F4$-A&vU1F;^i3_v$WMvp&ty~LNl(pNKMX6%S=uz z$;{7FhRV5FaTk;([" Object: modules[a" File"Bundler::Graph@h"Bundler::Source::Rubygems"Thor::CoreExt::OrderedHash@b"-Thor::CoreExt::HashWithIndifferentAccess"Bundler::GraphNode"Bundler::Index"!Bundler::RemoteSpecification"Thor::UnknownArgumentError"Bundler::Dsl@—"Thor::Actions::CreateFile"Bundler::VersionConflict"'Thor::RequiredArgumentMissingError"%Bundler::Source::Path::Installer@w"Bundler::GitError""Thor::Actions::InjectIntoFile"Thor::Actions::Directory@©"Thor::Shell::Color"Bundler::GemspecError"Bundler::PathError"Bundler::LockfileParser@¿@§"Bundler::GemNotFound"Bundler::Resolver"Bundler::Deployment"Bundler::InvalidOption"/Bundler::RubygemsIntegration::AlmostModern"Bundler::Settings"!Bundler::Resolver::SpecGroup@Ï"Gem::Specification@A"/Bundler::RubygemsIntegration::Transitional"Bundler::UI::Shell"Bundler::Installer"Bundler::LazySpecification"Bundler::Source::Git"$Thor::MalformattedArgumentError"Bundler::DepProxy"Thor::Shell::HTML"Bundler::GemfileError@«"Thor::HiddenTask"Bundler::DeprecatedError@e"Bundler::CLI"Bundler::GemfileNotFound"Bundler::InvalidSpecSet"Bundler::ProductionError@Œ"Bundler::UI::RGProxy"Bundler::Dependency"Bundler::Runtime"Thor::DynamicTask"Bundler::SpecSet@Æ",Bundler::RubygemsIntegration::Deprecate@ù"Thor::Option"Bundler::Definition"Bundler::GemHelper"Thor::UndefinedTaskError@²"Thor::Options@”@á"Gem::Requirement"Gem::Platform"Thor::CoreExt" Thor::Actions::ClassMethods"Bundler::Source"#Thor::Invocation::ClassMethods"Thor::Util"Thor::Base::ClassMethods"Gem"Thor::Sandbox"Thor::Shell"Thor::Invocation"Bundler::SharedHelpers"3Bundler::RubygemsIntegration::Gem::SourceIndex@Å"&Bundler::RubygemsIntegration::Gem" Bundler@Ø@ "Bundler::GemHelpers \ No newline at end of file diff --git a/vendor/plugins/bundler/doc/bundler-1.0.15/ri/created.rid b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/created.rid new file mode 100644 index 00000000..a49b60f2 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.15/ri/created.rid @@ -0,0 +1,71 @@ +Tue, 14 Jun 2011 09:52:49 -0500 +lib/bundler/vendor/thor/actions/create_file.rb Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler/gem_helper.rb Tue, 14 Jun 2011 09:52:47 -0500 +lib/bundler/rubygems_ext.rb Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler/installer.rb Tue, 14 Jun 2011 09:52:47 -0500 +lib/bundler/man/bundle-benchmark Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler/vendor/thor/parser.rb Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler/vendor/thor/actions/directory.rb Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler/man/bundle-config.txt Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler/man/bundle-install.txt Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler/templates/Executable Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler/vendor/thor/parser/argument.rb Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler/vendor/thor/shell/color.rb Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler/setup.rb Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler/vendor/thor/invocation.rb Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler/vendor/thor/shell/html.rb Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler/vendor/thor/util.rb Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler/remote_specification.rb Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler/index.rb Tue, 14 Jun 2011 09:52:47 -0500 +lib/bundler/gem_tasks.rb Tue, 14 Jun 2011 09:52:47 -0500 +lib/bundler/man/bundle-exec Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler/vendor/thor/shell.rb Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler/man/bundle-benchmark.txt Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler/vendor/thor/actions/inject_into_file.rb Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler/man/bundle-update Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler/vendor/thor/parser/arguments.rb Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler/man/bundle-package Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler/rubygems_integration.rb Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler/man/bundle-config Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler/vlad.rb Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler/vendor/thor.rb Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler/graph.rb Tue, 14 Jun 2011 09:52:47 -0500 +lib/bundler/vendor/thor/parser/options.rb Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler/vendor/thor/core_ext/ordered_hash.rb Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler/vendor/thor/task.rb Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler/dsl.rb Tue, 14 Jun 2011 09:52:47 -0500 +lib/bundler/vendor/thor/core_ext/hash_with_indifferent_access.rb Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler/shared_helpers.rb Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler/vendor/thor/base.rb Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler/definition.rb Tue, 14 Jun 2011 09:52:47 -0500 +lib/bundler/man/bundle-package.txt Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler/man/bundle-exec.txt Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler/environment.rb Tue, 14 Jun 2011 09:52:47 -0500 +lib/bundler/lockfile_parser.rb Tue, 14 Jun 2011 09:52:47 -0500 +lib/bundler/man/bundle-install Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler/vendor/thor/actions/empty_directory.rb Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler/spec_set.rb Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler/deployment.rb Tue, 14 Jun 2011 09:52:47 -0500 +lib/bundler/man/bundle.txt Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler/resolver.rb Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler/runtime.rb Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler/lazy_specification.rb Tue, 14 Jun 2011 09:52:47 -0500 +lib/bundler/vendor/thor/core_ext/file_binary_read.rb Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler/vendor/thor/actions.rb Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler/vendor/thor/shell/basic.rb Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler/vendor/thor/actions/file_manipulation.rb Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler/source.rb Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler/dependency.rb Tue, 14 Jun 2011 09:52:47 -0500 +lib/bundler/version.rb Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler/cli.rb Tue, 14 Jun 2011 09:52:47 -0500 +lib/bundler/settings.rb Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler/capistrano.rb Tue, 14 Jun 2011 09:52:47 -0500 +lib/bundler/templates/Gemfile Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler/ui.rb Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler/man/bundle Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler.rb Tue, 14 Jun 2011 09:52:47 -0500 +lib/bundler/vendor/thor/parser/option.rb Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler/man/bundle-update.txt Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler/vendor/thor/error.rb Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler/man/gemfile.5.txt Tue, 14 Jun 2011 09:52:48 -0500 +lib/bundler/vendor/thor/version.rb Tue, 14 Jun 2011 09:52:48 -0500 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/SharedHelpers.html b/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/SharedHelpers.html deleted file mode 100644 index a539107f..00000000 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/Bundler/SharedHelpers.html +++ /dev/null @@ -1,718 +0,0 @@ - - - - - - - Module: Bundler::SharedHelpers - - - - - - - - - - - -
    -
    -
    -

    - Home - Classes - Methods -

    -
    -
    - -
    -
    -

    In Files

    - -
    - - -
    - -
    - - - - - - -
    -

    Namespace

    - -
    - - - - - - - - - -
    - -
    - - - - - -
    -

    Class Index - [+]

    -
    -
    - Quicksearch - -
    -
    - - - -
    - - -
    -
    - -
    -

    Bundler::SharedHelpers

    - -
    - -
    - - - - - - -
    -

    Attributes

    - - -
    - - - - -
    - gem_loaded[RW] -
    - -
    - - - -
    -
    - -
    - - - - -
    -

    Public Instance Methods

    - - -
    - - -
    - - default_gemfile() - click to toggle source - -
    - -
    - - - - - -
    -
    -    # File lib/bundler/shared_helpers.rb, line 19
    -19:     def default_gemfile
    -20:       gemfile = find_gemfile
    -21:       raise GemfileNotFound, "Could not locate Gemfile" unless gemfile
    -22:       Pathname.new(gemfile)
    -23:     end
    -
    - -
    - - - - -
    - - -
    - - -
    - - default_lockfile() - click to toggle source - -
    - -
    - - - - - -
    -
    -    # File lib/bundler/shared_helpers.rb, line 25
    -25:     def default_lockfile
    -26:       Pathname.new("#{default_gemfile}.lock")
    -27:     end
    -
    - -
    - - - - -
    - - -
    - - -
    - - in_bundle?() - click to toggle source - -
    - -
    - - - - - -
    -
    -    # File lib/bundler/shared_helpers.rb, line 29
    -29:     def in_bundle?
    -30:       find_gemfile
    -31:     end
    -
    - -
    - - - - -
    - - -
    - -
    -

    Private Instance Methods

    - - -
    - - -
    - - clean_load_path() - click to toggle source - -
    - -
    - - - - - -
    -
    -    # File lib/bundler/shared_helpers.rb, line 55
    -55:     def clean_load_path
    -56:       # handle 1.9 where system gems are always on the load path
    -57:       if defined?(::Gem)
    -58:         me = File.expand_path("../../", __FILE__)
    -59:         $LOAD_PATH.reject! do |p|
    -60:           next if File.expand_path(p) =~ /^#{me}/
    -61:           p != File.dirname(__FILE__) &&
    -62:             Gem.path.any?{|gp| p =~ /^#{gp}/ }
    -63:         end
    -64:         $LOAD_PATH.uniq!
    -65:       end
    -66:     end
    -
    - -
    - - - - -
    - - -
    - - -
    - - cripple_rubygems(specs) - click to toggle source - -
    - -
    - - - - - -
    -
    -     # File lib/bundler/shared_helpers.rb, line 80
    - 80:     def cripple_rubygems(specs)
    - 81:       reverse_rubygems_kernel_mixin
    - 82: 
    - 83:       executables = specs.map { |s| s.executables }.flatten
    - 84:       Gem.source_index # ensure RubyGems is fully loaded
    - 85: 
    - 86:       ::Kernel.send(:define_method, :gem) do |dep, *reqs|
    - 87:         if executables.include? File.basename(caller.first.split(':').first)
    - 88:           return
    - 89:         end
    - 90:         opts = reqs.last.is_a?(Hash) ? reqs.pop : {}
    - 91: 
    - 92:         unless dep.respond_to?(:name) && dep.respond_to?(:requirement)
    - 93:           dep = Gem::Dependency.new(dep, reqs)
    - 94:         end
    - 95: 
    - 96:         spec = specs.find  { |s| s.name == dep.name }
    - 97: 
    - 98:         if spec.nil?
    - 99:           e = Gem::LoadError.new "#{dep.name} is not part of the bundle. Add it to Gemfile."
    -100:           e.name = dep.name
    -101:           e.version_requirement = dep.requirement
    -102:           raise e
    -103:         elsif dep !~ spec
    -104:           e = Gem::LoadError.new "can't activate #{dep}, already activated #{spec.full_name}. "                                   "Make sure all dependencies are added to Gemfile."
    -105:           e.name = dep.name
    -106:           e.version_requirement = dep.requirement
    -107:           raise e
    -108:         end
    -109: 
    -110:         true
    -111:       end
    -112: 
    -113:       # === Following hacks are to improve on the generated bin wrappers ===
    -114: 
    -115:       # Yeah, talk about a hack
    -116:       source_index_class = (class << Gem::SourceIndex ; self ; end)
    -117:       source_index_class.send(:remove_method, :from_gems_in)
    -118:       source_index_class.send(:define_method, :from_gems_in) do |*args|
    -119:         source_index = Gem::SourceIndex.new
    -120:         source_index.spec_dirs = *args
    -121:         source_index.add_specs(*specs)
    -122:         source_index
    -123:       end
    -124: 
    -125:       # OMG more hacks
    -126:       gem_class = (class << Gem ; self ; end)
    -127:       gem_class.send(:remove_method, :refresh)
    -128:       gem_class.send(:define_method, :refresh) { }
    -129:       gem_class.send(:remove_method, :bin_path)
    -130:       gem_class.send(:define_method, :bin_path) do |name, *args|
    -131:         exec_name, *reqs = args
    -132: 
    -133:         if exec_name == 'bundle'
    -134:           return ENV['BUNDLE_BIN_PATH']
    -135:         end
    -136: 
    -137:         spec = nil
    -138: 
    -139:         if exec_name
    -140:           spec = specs.find { |s| s.executables.include?(exec_name) }
    -141:           spec or raise Gem::Exception, "can't find executable #{exec_name}"
    -142:         else
    -143:           spec = specs.find  { |s| s.name == name }
    -144:           exec_name = spec.default_executable or raise Gem::Exception, "no default executable for #{spec.full_name}"
    -145:         end
    -146: 
    -147:         gem_bin = File.join(spec.full_gem_path, spec.bindir, exec_name)
    -148:         gem_from_path_bin = File.join(File.dirname(spec.loaded_from), spec.bindir, exec_name)
    -149:         File.exist?(gem_bin) ? gem_bin : gem_from_path_bin
    -150:       end
    -151: 
    -152:       Gem.clear_paths
    -153:     end
    -
    - -
    - - - - -
    - - -
    - - -
    - - find_gemfile() - click to toggle source - -
    - -
    - - - - - -
    -
    -    # File lib/bundler/shared_helpers.rb, line 35
    -35:     def find_gemfile
    -36:       given = ENV['BUNDLE_GEMFILE']
    -37:       return given if given && !given.empty?
    -38: 
    -39:       previous = nil
    -40:       current  = File.expand_path(Dir.pwd)
    -41: 
    -42:       until !File.directory?(current) || current == previous
    -43:         if ENV['BUNDLE_SPEC_RUN']
    -44:           # avoid stepping above the tmp directory when testing
    -45:           return nil if File.file?(File.join(current, 'bundler.gemspec'))
    -46:         end
    -47: 
    -48:         # otherwise return the Gemfile if it's there
    -49:         filename = File.join(current, 'Gemfile')
    -50:         return filename if File.file?(filename)
    -51:         current, previous = File.expand_path("..", current), current
    -52:       end
    -53:     end
    -
    - -
    - - - - -
    - - -
    - - -
    - - reverse_rubygems_kernel_mixin() - click to toggle source - -
    - -
    - - - - - -
    -
    -    # File lib/bundler/shared_helpers.rb, line 68
    -68:     def reverse_rubygems_kernel_mixin
    -69:       # Disable rubygems' gem activation system
    -70:       ::Kernel.class_eval do
    -71:         if private_method_defined?(:gem_original_require)
    -72:           alias rubygems_require require
    -73:           alias require gem_original_require
    -74:         end
    -75: 
    -76:         undef gem
    -77:       end
    -78:     end
    -
    - -
    - - - - -
    - - -
    - - -
    - - -
    - -

    Disabled; run with --debug to generate this.

    - -
    - -
    -

    [Validate]

    -

    Generated with the Darkfish - Rdoc Generator 1.1.6.

    -
    - - - - diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/created.rid b/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/created.rid deleted file mode 100644 index 3e67715d..00000000 --- a/vendor/plugins/bundler/doc/bundler-1.0.7/rdoc/created.rid +++ /dev/null @@ -1,67 +0,0 @@ -Mon, 06 Dec 2010 17:31:08 -0600 -lib/bundler/vendor/thor.rb Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/vendor/thor/task.rb Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/vendor/thor/parser/options.rb Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/man/bundle-update Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/man/bundle Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/environment.rb Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/vendor/thor/core_ext/ordered_hash.rb Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/ui.rb Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/shared_helpers.rb Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/setup.rb Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/rubygems_ext.rb Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/index.rb Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/dependency.rb Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler.rb Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/vendor/thor/version.rb Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/vendor/thor/shell/color.rb Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/vendor/thor/shell/basic.rb Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/vendor/thor/parser/argument.rb Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/templates/Executable Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/remote_specification.rb Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/man/gemfile.5.txt Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/vendor/thor/actions.rb Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/templates/Gemfile Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/spec_set.rb Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/graph.rb Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/gem_helper.rb Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/version.rb Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/vendor/thor/util.rb Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/vendor/thor/actions/empty_directory.rb Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/vendor/thor/actions/create_file.rb Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/source.rb Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/man/bundle-update.txt Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/man/bundle-exec.txt Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/man/bundle-config Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/capistrano.rb Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/man/bundle-package.txt Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/man/bundle-package Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/man/bundle-install Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/vendor/thor/shell/html.rb Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/runtime.rb Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/resolver.rb Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/man/bundle.txt Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/definition.rb Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/vendor/thor/parser.rb Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/vendor/thor/core_ext/file_binary_read.rb Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/vendor/thor/actions/inject_into_file.rb Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/settings.rb Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/man/bundle-install.txt Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/lockfile_parser.rb Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/lazy_specification.rb Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/deployment.rb Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/vlad.rb Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/vendor/thor/parser/option.rb Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/man/bundle-config.txt Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/vendor/thor/invocation.rb Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/vendor/thor/error.rb Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/vendor/thor/actions/directory.rb Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/installer.rb Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/cli.rb Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/vendor/thor/shell.rb Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/vendor/thor/parser/arguments.rb Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/vendor/thor/core_ext/hash_with_indifferent_access.rb Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/vendor/thor/base.rb Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/vendor/thor/actions/file_manipulation.rb Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/man/bundle-exec Mon, 06 Dec 2010 17:30:55 -0600 -lib/bundler/dsl.rb Mon, 06 Dec 2010 17:30:55 -0600 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GemHelper/install_tasks-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/GemHelper/install_tasks-c.ri deleted file mode 100644 index e9b4101c0e73956092ca2bfbf0b4b8113e0371fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 137 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)%FHV+NzBQKFG(!UE>===D$PsDNiDLn za!<|mNX;n#F;SF+SaBDWCgo%%=UYib4D?Mb$}TOivI3f3nwy$e!e+(oP>@(uQXI`- WU=YoqB&d;JP*SX5tB{wOqX_^^s4YJL diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/SharedHelpers/Gem/SourceIndex/cdesc-SourceIndex.ri b/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/SharedHelpers/Gem/SourceIndex/cdesc-SourceIndex.ri deleted file mode 100644 index 2c5bc8a89f56f2fa18d41ddcfc5134d7649bba6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 215 zcmZ9FF$=;l5QRI4saCs*gIjmO`MQV*>QD#8DN{@i45mrAB;wDvtxj@q@V$HY-YCDp z^0Idl;OwXsrg176hCSuk2O}^+mjD0& diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/SharedHelpers/Gem/cdesc-Gem.ri b/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Bundler/SharedHelpers/Gem/cdesc-Gem.ri deleted file mode 100644 index 0bad12cb2128c7b3a3130b445d7ded8a80fdf6e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 189 zcmXYpF$=;l6ofm7iB`KhxJZ71^Xnoa=u!v8DN{@y7)+D!lKA^=s~jBM9pBCP12(r) z&;Zv!y>eYJ#i49$CHNV8u{#!T91_6&r3lRhT|`O%!?+Ky{jr^*cZmSQQR&g=In;-! zC?{F{#Uv9;?NmyVO9pi;PiOToGH4=&j5?#4;wqB;sElI}YwJ^1UgJo$eC*oA-A&vU1F;^i3_v$WMvp&ty{)O)knTD9A~TFDgx{Oi#@%R?=}Q%}dEi zEwZu-&PXguP4P(0DM&3URz_FoX2nxblv$QolA3QN4Kdm`u_(K=z{(0}PibyyUJ08O aw?jc-A&vU1F;^i3_v$WMvp&ty|lDoQO&EhD6=fFBsJek8e*w$Vo`Q! hft3}|1*N&Ec_nOC+zthaMJ2`23Lt|;1K2-j_#YfI^&pG+don;-Y z+oNUxXKe>650W}ZN|E5AtuI!;M!eYv)k|&xx(48%u4+C2T!rMyca4VacjZLwJs5yE z8HQM;knaq&-jU=dL=axE&zp=O$W6FO!AOcT#h)=Kjn$qr&-(}k>iJ~wQYh!C UVw^;@$|lIsF`o0Ot`;PD15Q6ZoB#j- diff --git a/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Gem/Dependency/matches_spec%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.7/ri/Gem/Dependency/matches_spec%3f-i.ri deleted file mode 100644 index 28f08b880ce7bb721fabe258d0afd9840bfb6624..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 127 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)%1tau&PXkeFD^(;wpUVePtCQma!D;n z%}YtmORiK#k#@7-A&vU1F;^i3_v$WMvp&ty~L%FEA7wO5jMPtCQm3Q8?3%`8gIP0cG& z28+8{aTk;(0.8.5"` or `"~>0.9.0.rc8"`. + +## Troubleshooting + +Instructions for common Bundler use-cases can be found on the [Bundler documentation site](http://gembundler.com/v1.0/). + +Detailed information about each Bundler command, including help with common problems, can be found in the [Bundler man pages](http://gembundler.com/man/bundle.1.html). + +After reading the documentation, try these troubleshooting steps: + + # remove user-specific gems and git repos + rm -rf ~/.bundle/ ~/.gem/ + + # remove system-wide git repos and git checkouts + rm -rf $GEM_HOME/bundler/ $GEM_HOME/cache/bundler/ + + # remove project-specific settings and git repos + rm -rf .bundle/ + + # remove project-specific cached .gem files + rm -rf vendor/cache/ + + # remove the saved resolve of the Gemfile + rm -rf Gemfile.lock + + # try to install one more time + bundle install + +## Reporting unresolved problems + +Instructions that allow the Bundler team to reproduce your issue are vitally important. When you report a bug, please include the following information: + + - The command you ran + - Exception backtrace(s), if any + - Your Gemfile + - Your Gemfile.lock + - Your Bundler configuration settings (run `bundle config`) + - What version of bundler you are using (run `bundle -v`) + - What version of Ruby you are using (run `ruby -v`) + - What version of Rubygems you are using (run `gem -v`) + - Whether you are using RVM, and if so what version (run `rvm -v`) + - Whether you have the `rubygems-bundler` gem, which can break gem binares + + +If you are using Rails 2.3, please also include: + + - Your boot.rb file + - Your preinitializer.rb file + - Your environment.rb file + +[Create a gist](https://gist.github.com) containing all of that information, then visit the [Bundler issue tracker](https://github.com/carlhuda/bundler) and create a new ticket describing your problem and linking to your gist. diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/LICENSE b/vendor/plugins/bundler/gems/bundler-1.0.15/LICENSE similarity index 93% rename from vendor/plugins/bundler/gems/bundler-1.0.7/LICENSE rename to vendor/plugins/bundler/gems/bundler-1.0.15/LICENSE index 66f44e97..4d62f8af 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/LICENSE +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/LICENSE @@ -1,6 +1,8 @@ Portions copyright (c) 2010 Andre Arko Portions copyright (c) 2009 Engine Yard +MIT License + 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 diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/README.md b/vendor/plugins/bundler/gems/bundler-1.0.15/README.md similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/README.md rename to vendor/plugins/bundler/gems/bundler-1.0.15/README.md diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/Rakefile b/vendor/plugins/bundler/gems/bundler-1.0.15/Rakefile similarity index 53% rename from vendor/plugins/bundler/gems/bundler-1.0.7/Rakefile rename to vendor/plugins/bundler/gems/bundler-1.0.15/Rakefile index 34a0b30d..b07d399e 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/Rakefile +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/Rakefile @@ -1,13 +1,17 @@ # -*- encoding: utf-8 -*- $:.unshift File.expand_path("../lib", __FILE__) -require 'bundler/gem_helper' -Bundler::GemHelper.install_tasks +require 'bundler/gem_tasks' -def sudo? - ENV['BUNDLER_SUDO_TESTS'] +namespace :spec do + desc "Ensure spec dependencies are installed" + task :deps do + sh "gem list ronn | (grep 'ronn' 1> /dev/null) || gem install ronn --no-ri --no-rdoc" + sh "gem list rspec | (grep 'rspec (2.' 1> /dev/null) || gem install rspec --no-ri --no-rdoc" + end end begin + # running the specs needs both rspec and ronn require 'rspec/core/rake_task' require 'ronn' @@ -18,65 +22,71 @@ begin end task :spec => "man:build" - begin - require 'ci/reporter/rake/rspec' - - namespace :ci do - desc "Run specs with Hudson output" - RSpec::Core::RakeTask.new(:spec) - task :spec => ["ci:setup:rspec", "man:build", "spec:set_sudo"] - end - - rescue LoadError - namespace :ci do - task :spec do - abort "Run `rake ci:deps` to be able to run the CI specs" - end - - desc "Install CI dependencies" - task :deps do - sh "gem list ci_reporter | (grep 'ci_reporter' 1> /dev/null) || gem install ci_reporter --no-ri --no-rdoc" - end - task :deps => "spec:deps" - end - end - namespace :spec do + task :clean do + rm_rf 'tmp' + end + desc "Run the spec suite with the sudo tests" - task :sudo => ["set_sudo", "clean", "spec"] + task :sudo => ["set_sudo", "spec", "clean_sudo"] task :set_sudo do ENV['BUNDLER_SUDO_TESTS'] = '1' end - task :clean do - if sudo? - system "sudo rm -rf #{File.expand_path('../tmp', __FILE__)}" - else - rm_rf 'tmp' - end + task :clean_sudo do + puts "Cleaning up sudo test files..." + system "sudo rm -rf #{File.expand_path('../tmp/sudo_gem_home', __FILE__)}" end namespace :rubygems do # Rubygems 1.3.5, 1.3.6, and HEAD specs rubyopt = ENV["RUBYOPT"] - %w(master REL_1_3_5 REL_1_3_6).each do |rg| + %w(master v1.3.6 v1.3.7 v1.4.2 v1.5.3 v1.6.2 v1.7.2 v1.8.3).each do |rg| desc "Run specs with Rubygems #{rg}" RSpec::Core::RakeTask.new(rg) do |t| t.rspec_opts = %w(-fs --color) t.ruby_opts = %w(-w) end + # Create tasks like spec:rubygems:v1.8.3:sudo to run the sudo specs + namespace rg do + task :sudo => ["set_sudo", rg, "clean_sudo"] + end + task "clone_rubygems_#{rg}" do - unless File.directory?("tmp/rubygems_#{rg}") - system("git clone git://github.com/jbarnette/rubygems.git tmp/rubygems_#{rg} && cd tmp/rubygems_#{rg} && git reset --hard #{rg}") + unless File.directory?("tmp/rubygems") + system("git clone git://github.com/rubygems/rubygems.git tmp/rubygems") end - ENV["RUBYOPT"] = "-I#{File.expand_path("tmp/rubygems_#{rg}/lib")} #{rubyopt}" + hash = nil + + Dir.chdir("tmp/rubygems") do + system("git remote update") + system("git checkout #{rg}") + system("git pull origin master") if rg == "master" + hash = `git rev-parse HEAD`.strip + end + + puts "Running bundler specs against rubygems '#{rg}' at #{hash}" + ENV["RUBYOPT"] = "-I#{File.expand_path("tmp/rubygems/lib")} #{rubyopt}" end task rg => "clone_rubygems_#{rg}" task "rubygems:all" => rg end + + desc "Run specs under a Rubygems checkout (set RG=path)" + RSpec::Core::RakeTask.new("co") do |t| + t.rspec_opts = %w(-fs --color) + t.ruby_opts = %w(-w) + end + + task "setup_co" do + ENV["RUBYOPT"] = "-I#{File.expand_path ENV['RG']} #{rubyopt}" + end + + task "co" => "setup_co" + task "rubygems:all" => "co" end namespace :ruby do @@ -106,46 +116,60 @@ begin end + namespace :man do + directory "lib/bundler/man" + + Dir["man/*.ronn"].each do |ronn| + basename = File.basename(ronn, ".ronn") + roff = "lib/bundler/man/#{basename}" + + file roff => ["lib/bundler/man", ronn] do + sh "ronn --roff --pipe #{ronn} > #{roff}" + end + + file "#{roff}.txt" => roff do + sh "groff -Wall -mtty-char -mandoc -Tascii #{roff} | col -b > #{roff}.txt" + end + + task :build_all_pages => "#{roff}.txt" + end + + desc "Build the man pages" + task :build => "man:build_all_pages" + + desc "Clean up from the built man pages" + task :clean do + rm_rf "lib/bundler/man" + end + end + + begin + require 'ci/reporter/rake/rspec' + + namespace :ci do + desc "Run specs with Hudson output" + RSpec::Core::RakeTask.new(:spec) + task :spec => ["ci:setup:rspec", "man:build"] + end + + rescue LoadError + namespace :ci do + task :spec do + abort "Run `rake ci:deps` to be able to run the CI specs" + end + + desc "Install CI dependencies" + task :deps do + sh "gem list ci_reporter | (grep 'ci_reporter' 1> /dev/null) || gem install ci_reporter --no-ri --no-rdoc" + end + task :deps => "spec:deps" + end + end + rescue LoadError task :spec do abort "Run `rake spec:deps` to be able to run the specs" end - - namespace :spec do - desc "Ensure spec dependencies are installed" - task :deps do - sh "gem list ronn | (grep 'ronn' 1> /dev/null) || gem install ronn --no-ri --no-rdoc" - sh "gem list rspec | (grep 'rspec (2.0' 1> /dev/null) || gem install rspec --no-ri --no-rdoc" - end - end - -end - -namespace :man do - directory "lib/bundler/man" - - Dir["man/*.ronn"].each do |ronn| - basename = File.basename(ronn, ".ronn") - roff = "lib/bundler/man/#{basename}" - - file roff => ["lib/bundler/man", ronn] do - sh "ronn --roff --pipe #{ronn} > #{roff}" - end - - file "#{roff}.txt" => roff do - sh "groff -Wall -mtty-char -mandoc -Tascii #{roff} | col -b > #{roff}.txt" - end - - task :build_all_pages => "#{roff}.txt" - end - - desc "Build the man pages" - task :build => "man:build_all_pages" - - desc "Clean up from the built man pages" - task :clean do - rm_rf "lib/bundler/man" - end end namespace :vendor do diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/UPGRADING.md b/vendor/plugins/bundler/gems/bundler-1.0.15/UPGRADING.md similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/UPGRADING.md rename to vendor/plugins/bundler/gems/bundler-1.0.15/UPGRADING.md diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/bin/bundle b/vendor/plugins/bundler/gems/bundler-1.0.15/bin/bundle similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/bin/bundle rename to vendor/plugins/bundler/gems/bundler-1.0.15/bin/bundle diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/bundler.gemspec b/vendor/plugins/bundler/gems/bundler-1.0.15/bundler.gemspec similarity index 87% rename from vendor/plugins/bundler/gems/bundler-1.0.7/bundler.gemspec rename to vendor/plugins/bundler/gems/bundler-1.0.15/bundler.gemspec index abd4ae56..cb7f795c 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/bundler.gemspec +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/bundler.gemspec @@ -8,8 +8,8 @@ Gem::Specification.new do |s| s.name = "bundler" s.version = Bundler::VERSION s.platform = Gem::Platform::RUBY - s.authors = ["Carl Lerche", "Yehuda Katz", "André Arko"] - s.email = ["carlhuda@engineyard.com"] + s.authors = ["André Arko", "Terence Lee", "Carl Lerche", "Yehuda Katz"] + s.email = ["andre@arko.net"] s.homepage = "http://gembundler.com" s.summary = %q{The best way to manage your application's dependencies} s.description = %q{Bundler manages an application's dependencies through its entire life, across many machines, systematically and repeatably} @@ -25,6 +25,5 @@ Gem::Specification.new do |s| s.files = `git ls-files`.split("\n") + man_files s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n") s.executables = %w(bundle) - s.default_executable = "bundle" s.require_paths = ["lib"] end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler.rb similarity index 86% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler.rb index b821df42..b70f718a 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler.rb +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler.rb @@ -1,8 +1,15 @@ require 'rbconfig' require 'fileutils' require 'pathname' + +begin + require 'psych' +rescue LoadError +end + require 'yaml' require 'bundler/rubygems_ext' +require 'bundler/rubygems_integration' require 'bundler/version' module Bundler @@ -79,7 +86,6 @@ module Bundler end def bundle_path - # STDERR.puts settings.path @bundle_path ||= Pathname.new(settings.path).expand_path(root) end @@ -93,16 +99,18 @@ module Bundler end def setup(*groups) - return @setup if defined?(@setup) && @setup + # Just return if all groups are already loaded + return @setup if defined?(@setup) if groups.empty? # Load all groups, but only once @setup = load.setup else + @completed_groups ||= [] # Figure out which groups haven't been loaded yet - unloaded = groups - (@completed_groups || []) + unloaded = groups - @completed_groups # Record groups that are now loaded - @completed_groups = groups | (@completed_groups || []) + @completed_groups = groups # Load any groups that are not yet loaded unloaded.any? ? load.setup(*unloaded) : load end @@ -130,11 +138,11 @@ module Bundler end def ruby_scope - "#{Gem.ruby_engine}/#{Gem::ConfigMap[:ruby_version]}" + "#{Bundler.rubygems.ruby_engine}/#{Gem::ConfigMap[:ruby_version]}" end def user_bundle_path - Pathname.new(Gem.user_home).join(".bundler") + Pathname.new(Bundler.rubygems.user_home).join(".bundler") end def home @@ -192,7 +200,7 @@ module Bundler end def requires_sudo? - return @requires_sudo if @checked_for_sudo + return @requires_sudo if defined?(@checked_for_sudo) && @checked_for_sudo path = bundle_path path = path.parent until path.exist? @@ -221,13 +229,14 @@ module Bundler def load_gemspec(file) path = Pathname.new(file) # Eval the gemspec from its parent directory - Dir.chdir(path.dirname) do + Dir.chdir(path.dirname.to_s) do + contents = File.read(path.basename.to_s) begin - Gem::Specification.from_yaml(path.basename) + Gem::Specification.from_yaml(contents) # Raises ArgumentError if the file is not valid YAML rescue ArgumentError, SyntaxError, Gem::EndOfYAMLException, Gem::Exception begin - eval(File.read(path.basename), TOPLEVEL_BINDING, path.expand_path.to_s) + eval(contents, TOPLEVEL_BINDING, path.expand_path.to_s) rescue LoadError => e original_line = e.backtrace.find { |line| line.include?(path.to_s) } msg = "There was a LoadError while evaluating #{path.basename}:\n #{e.message}" @@ -250,14 +259,17 @@ module Bundler if settings[:disable_shared_gems] ENV['GEM_PATH'] = '' ENV['GEM_HOME'] = File.expand_path(bundle_path, root) - elsif Gem.dir != bundle_path.to_s - paths = [Gem.dir, Gem.path].flatten.compact.uniq.reject{|p| p.empty? } + elsif Bundler.rubygems.gem_dir != bundle_path.to_s + possibles = [Bundler.rubygems.gem_dir, Bundler.rubygems.gem_path] + paths = possibles.flatten.compact.uniq.reject { |p| p.empty? } ENV["GEM_PATH"] = paths.join(File::PATH_SEPARATOR) ENV["GEM_HOME"] = bundle_path.to_s end - FileUtils.mkdir_p bundle_path.to_s - Gem.clear_paths + # TODO: This mkdir_p is only needed for JRuby <= 1.5 and should go away (GH #602) + FileUtils.mkdir_p bundle_path.to_s rescue nil + + Bundler.rubygems.clear_paths end def upgrade_lockfile diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/capistrano.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/capistrano.rb similarity index 84% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/capistrano.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/capistrano.rb index a304b09f..0a14c6d8 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/capistrano.rb +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/capistrano.rb @@ -7,4 +7,5 @@ require 'bundler/deployment' Capistrano::Configuration.instance(:must_exist).load do after "deploy:update_code", "bundle:install" Bundler::Deployment.define_task(self, :task, :except => { :no_release => true }) + set :rake, lambda { "#{fetch(:bundle_cmd, "bundle")} exec rake" } end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/cli.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/cli.rb similarity index 93% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/cli.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/cli.rb index 8e562c71..5df8af8d 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/cli.rb +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/cli.rb @@ -1,11 +1,9 @@ $:.unshift File.expand_path('../vendor', __FILE__) require 'thor' require 'thor/actions' +require 'rubygems/user_interaction' require 'rubygems/config_file' -# Work around a RubyGems bug -Gem.configuration - module Bundler class CLI < Thor include Thor::Actions @@ -15,7 +13,7 @@ module Bundler the_shell = (options["no-color"] ? Thor::Shell::Basic.new : shell) Bundler.ui = UI::Shell.new(the_shell) Bundler.ui.debug! if options["verbose"] - Gem::DefaultUserInteraction.ui = UI::RGProxy.new(Bundler.ui) + Bundler.rubygems.ui = UI::RGProxy.new(Bundler.ui) end check_unknown_options! unless ARGV.include?("exec") || ARGV.include?("config") @@ -45,7 +43,7 @@ module Bundler if have_groff? && root !~ %r{^file:/.+!/META-INF/jruby.home/.+} groff = "groff -Wall -mtty-char -mandoc -Tascii" - pager = ENV['MANPAGER'] || ENV['PAGER'] || 'more' + pager = ENV['MANPAGER'] || ENV['PAGER'] || 'less -R' Kernel.exec "#{groff} #{root}/#{command} | #{pager}" else @@ -152,8 +150,6 @@ module Bundler "Do not allow the Gemfile.lock to be updated after this install" method_option "deployment", :type => :boolean, :banner => "Install using defaults tuned for deployment environments" - method_option "production", :type => :boolean, :banner => - "Deprecated, please use --deployment instead" def install(path = nil) opts = options.dup opts[:without] ||= [] @@ -163,18 +159,13 @@ module Bundler end opts[:without].map!{|g| g.to_sym } + # Can't use Bundler.settings for this because settings needs gemfile.dirname ENV['BUNDLE_GEMFILE'] = File.expand_path(opts[:gemfile]) if opts[:gemfile] ENV['RB_USER_INSTALL'] = '1' if Bundler::FREEBSD # Just disable color in deployment mode Bundler.ui.shell = Thor::Shell::Basic.new if opts[:deployment] - if opts[:production] - opts[:deployment] = true - Bundler.ui.warn "The --production option is deprecated, and will be removed in " \ - "the final release of Bundler 1.0. Please use --deployment instead." - end - if (path || opts[:path] || opts[:deployment]) && opts[:system] Bundler.ui.error "You have specified both a path to install your gems to, \n" \ "as well as --system. Please choose." @@ -212,22 +203,27 @@ module Bundler Bundler.settings[:frozen] = '1' end - # Can't use Bundler.settings for this because settings needs gemfile.dirname + # When install is called with --no-deployment, disable deployment mode + if opts[:deployment] == false + Bundler.settings.delete(:frozen) + opts[:system] = true + end + Bundler.settings[:path] = nil if opts[:system] Bundler.settings[:path] = "vendor/bundle" if opts[:deployment] Bundler.settings[:path] = path if path Bundler.settings[:path] = opts[:path] if opts[:path] Bundler.settings[:bin] = opts["binstubs"] if opts[:binstubs] - Bundler.settings[:disable_shared_gems] = '1' if Bundler.settings[:path] + Bundler.settings[:no_prune] = true if opts["no-prune"] + Bundler.settings[:disable_shared_gems] = Bundler.settings[:path] ? '1' : nil Bundler.settings.without = opts[:without] unless opts[:without].empty? Bundler.ui.be_quiet! if opts[:quiet] Installer.install(Bundler.root, Bundler.definition, opts) - Bundler.load.cache if Bundler.root.join("vendor/cache").exist? + Bundler.load.cache if Bundler.root.join("vendor/cache").exist? && !options["no-cache"] if Bundler.settings[:path] - relative_path = Bundler.settings[:path] - relative_path = "./" + relative_path unless relative_path[0] == ?/ + relative_path = File.expand_path(Bundler.settings[:path]).sub(/^#{File.expand_path('.')}/, '.') Bundler.ui.confirm "Your bundle is complete! " + "It was installed into #{relative_path}" else @@ -241,7 +237,7 @@ module Bundler "Please use `bundle install --path #{path}` instead." end rescue GemNotFound => e - if opts[:local] + if opts[:local] && Bundler.app_cache.exist? Bundler.ui.warn "Some gems seem to be missing from your vendor/cache directory." end @@ -258,6 +254,8 @@ module Bundler possible versions of the gems in the bundle. D method_option "source", :type => :array, :banner => "Update a specific source (and all gems associated with it)" + method_option "local", :type => :boolean, :banner => + "Do not attempt to fetch gems remotely and use the gem cache instead" def update(*gems) sources = Array(options[:source]) @@ -268,7 +266,8 @@ module Bundler Bundler.definition(:gems => gems, :sources => sources) end - Installer.install Bundler.root, Bundler.definition, "update" => true + opts = {"update" => true, "local" => options[:local]} + Installer.install Bundler.root, Bundler.definition, opts Bundler.load.cache if Bundler.root.join("vendor/cache").exist? Bundler.ui.confirm "Your bundle is updated! " + "Use `bundle show [gemname]` to see where a bundled gem is installed." @@ -308,7 +307,7 @@ module Bundler def cache Bundler.definition.resolve_with_cache! Bundler.load.cache - Bundler.settings[:no_prune] = true if options[:no_prune] + Bundler.settings[:no_prune] = true if options["no-prune"] Bundler.load.lock rescue GemNotFound => e Bundler.ui.error(e.message) @@ -430,8 +429,7 @@ module Bundler desc "console [GROUP]", "Opens an IRB session with the bundle pre-loaded" def console(group = nil) - require 'bundler/setup' - group ? Bundler.require(:default, group) : Bundler.require + group ? Bundler.require(:default, *(group.split.map! {|g| g.to_sym })) : Bundler.require ARGV.clear require 'irb' @@ -481,8 +479,12 @@ module Bundler constant_name = name.split('_').map{|p| p.capitalize}.join constant_name = constant_name.split('-').map{|q| q.capitalize}.join('::') if constant_name =~ /-/ constant_array = constant_name.split('::') + git_author_name = `git config user.name`.chomp + git_author_email = `git config user.email`.chomp + author_name = git_author_name.empty? ? "TODO: Write your name" : git_author_name + author_email = git_author_email.empty? ? "TODO: Write your email address" : git_author_email FileUtils.mkdir_p(File.join(target, 'lib', name)) - opts = {:name => name, :constant_name => constant_name, :constant_array => constant_array} + opts = {:name => name, :constant_name => constant_name, :constant_array => constant_array, :author_name => author_name, :author_email => author_email} template(File.join("newgem/Gemfile.tt"), File.join(target, "Gemfile"), opts) template(File.join("newgem/Rakefile.tt"), File.join(target, "Rakefile"), opts) template(File.join("newgem/gitignore.tt"), File.join(target, ".gitignore"), opts) diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/definition.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/definition.rb similarity index 94% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/definition.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/definition.rb index 475a40c5..962838aa 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/definition.rb +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/definition.rb @@ -61,7 +61,7 @@ module Bundler @unlock[:gems] ||= [] @unlock[:sources] ||= [] - current_platform = Gem.platforms.map { |p| generic(p) }.compact.last + current_platform = Bundler.rubygems.platforms.map { |p| generic(p) }.compact.last @new_platform = !@platforms.include?(current_platform) @platforms |= [current_platform] @@ -225,7 +225,7 @@ module Bundler handled = [] dependencies. - sort_by { |d| d.name }. + sort_by { |d| d.to_s }. each do |dep| next if handled.include?(dep.name) out << dep.to_lock @@ -235,11 +235,17 @@ module Bundler out end - def ensure_equivalent_gemfile_and_lockfile + def ensure_equivalent_gemfile_and_lockfile(explicit_flag = false) changes = false - msg = "You have modified your Gemfile in development but did not check\n" \ - "the resulting snapshot (Gemfile.lock) into version control" + msg = "You are trying to install in deployment mode after changing\n" \ + "your Gemfile. Run `bundle install` elsewhere and add the\n" \ + "updated Gemfile.lock to version control." + + unless explicit_flag + msg += "\n\nIf this is a development machine, remove the Gemfile " \ + "freeze \nby running `bundle install --no-deployment`." + end added = [] deleted = [] @@ -287,6 +293,7 @@ module Bundler msg << "\n\nYou have added to the Gemfile:\n" << added.join("\n") if added.any? msg << "\n\nYou have deleted from the Gemfile:\n" << deleted.join("\n") if deleted.any? msg << "\n\nYou have changed in the Gemfile:\n" << changed.join("\n") if changed.any? + msg << "\n" raise ProductionError, msg if added.any? || deleted.any? || changed.any? end @@ -367,8 +374,10 @@ module Bundler # If the spec is no longer in the path source, unlock it. This # commonly happens if the version changed in the gemspec next unless other + + deps2 = other.dependencies.select { |d| d.type != :development } # If the dependencies of the path source have changed, unlock it - next unless s.dependencies.sort == other.dependencies.sort + next unless s.dependencies.sort == deps2.sort end converged << s diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/dependency.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/dependency.rb similarity index 92% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/dependency.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/dependency.rb index 06cb78c7..e05b85a8 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/dependency.rb +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/dependency.rb @@ -15,6 +15,7 @@ module Bundler :mri => Gem::Platform::RUBY, :mri_18 => Gem::Platform::RUBY, :mri_19 => Gem::Platform::RUBY, + :rbx => Gem::Platform::RUBY, :jruby => Gem::Platform::JAVA, :mswin => Gem::Platform::MSWIN, :mingw => Gem::Platform::MINGW, @@ -72,7 +73,8 @@ module Bundler out = " #{name}" unless requirement == Gem::Requirement.default - out << " (#{requirement.to_s})" + reqs = requirement.requirements.map{|o,v| "#{o} #{v}" } + out << " (#{reqs.join(', ')})" end out << '!' if source @@ -106,6 +108,10 @@ module Bundler mri? && RUBY_VERSION >= "1.9" end + def rbx? + ruby? && defined?(RUBY_ENGINE) && RUBY_ENGINE == "rbx" + end + def jruby? defined?(RUBY_ENGINE) && RUBY_ENGINE == "jruby" end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/deployment.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/deployment.rb similarity index 90% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/deployment.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/deployment.rb index 73ee604d..727f357e 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/deployment.rb +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/deployment.rb @@ -1,7 +1,7 @@ module Bundler class Deployment def self.define_task(context, task_method = :task, opts = {}) - if context.is_a?(Capistrano::Configuration) + if defined?(Capistrano) && context.is_a?(Capistrano::Configuration) context_name = "capistrano" role_default = "{:except => {:no_release => true}}" else @@ -9,7 +9,7 @@ module Bundler role_default = "[:app]" end - roles = context.fetch(:bundle_roles, nil) + roles = context.fetch(:bundle_roles, false) opts[:roles] = roles if roles context.send :namespace, :bundle do @@ -45,7 +45,7 @@ module Bundler args << bundle_flags.to_s args << "--without #{bundle_without.join(" ")}" unless bundle_without.empty? - run "#{bundle_cmd} install #{args.join(' ')}" + run "cd #{context.fetch(:current_release)} && #{bundle_cmd} install #{args.join(' ')}" end end end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/dsl.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/dsl.rb similarity index 97% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/dsl.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/dsl.rb index 9abafe71..fa80a76d 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/dsl.rb +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/dsl.rb @@ -29,12 +29,9 @@ module Bundler case gemspecs.size when 1 - spec = Gem::Specification.load(gemspecs.first) + spec = Bundler.load_gemspec(gemspecs.first) raise InvalidOption, "There was an error loading the gemspec at #{gemspecs.first}." unless spec gem spec.name, :path => path - spec.runtime_dependencies.each do |dep| - gem dep.name, *dep.requirement.as_list - end group(development_group) do spec.development_dependencies.each do |dep| gem dep.name, *dep.requirement.as_list diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/environment.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/environment.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/environment.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/environment.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/gem_helper.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/gem_helper.rb similarity index 90% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/gem_helper.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/gem_helper.rb index ff5d5421..474e8454 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/gem_helper.rb +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/gem_helper.rb @@ -4,9 +4,11 @@ require 'bundler' module Bundler class GemHelper - def self.install_tasks(opts = nil) - dir = File.dirname(Rake.application.rakefile_location) - self.new(dir, opts && opts[:name]).install + include Rake::DSL if defined? Rake::DSL + + def self.install_tasks(opts = {}) + dir = opts[:dir] || Dir.pwd + self.new(dir, opts[:name]).install end attr_reader :spec_path, :base, :gemspec @@ -39,7 +41,7 @@ module Bundler def build_gem file_name = nil - sh("gem build #{spec_path}") { |out, code| + sh("gem build '#{spec_path}'") { |out, code| raise out unless out[/Successfully/] file_name = File.basename(built_gem_path) FileUtils.mkdir_p(File.join(base, 'pkg')) @@ -51,7 +53,7 @@ module Bundler def install_gem built_gem_path = build_gem - out, code = sh_with_code("gem install #{built_gem_path}") + out, _ = sh_with_code("gem install '#{built_gem_path}'") raise "Couldn't install gem, run `gem install #{built_gem_path}' for more detailed output" unless out[/Successfully installed/] Bundler.ui.confirm "#{name} (#{version}) installed" end @@ -68,7 +70,7 @@ module Bundler protected def rubygem_push(path) - out, status = sh("gem push #{path}") + out, _ = sh("gem push '#{path}'") raise "Gem push failed due to lack of RubyGems.org credentials." if out[/Enter your RubyGems.org credentials/] Bundler.ui.confirm "Pushed #{name} #{version} to rubygems.org" end @@ -100,8 +102,7 @@ module Bundler end def clean? - out, code = sh_with_code("git diff --exit-code") - code == 0 + sh_with_code("git diff --exit-code")[1] == 0 end def tag_version diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/templates/newgem/Rakefile.tt b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/gem_tasks.rb similarity index 53% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/templates/newgem/Rakefile.tt rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/gem_tasks.rb index 14cfe0b5..bc759088 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/templates/newgem/Rakefile.tt +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/gem_tasks.rb @@ -1,2 +1,2 @@ -require 'bundler' +require 'bundler/gem_helper' Bundler::GemHelper.install_tasks diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/graph.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/graph.rb similarity index 98% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/graph.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/graph.rb index 27f2c461..3cea736a 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/graph.rb +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/graph.rb @@ -83,7 +83,7 @@ module Bundler # For gems in Gemfile, add details @env.current_dependencies.each do |dependency| - node = @nodes[dependency.name] + next unless node = @nodes[dependency.name] node.is_user = true dependency.groups.each do |group| diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/index.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/index.rb similarity index 98% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/index.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/index.rb index 1ca9af19..4d7f7725 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/index.rb +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/index.rb @@ -104,7 +104,7 @@ module Bundler def same_version?(a, b) regex = /^(.*?)(?:\.0)*$/ - ret = a.to_s[regex, 1] == b.to_s[regex, 1] + a.to_s[regex, 1] == b.to_s[regex, 1] end def spec_satisfies_dependency?(spec, dep) @@ -115,11 +115,10 @@ module Bundler def search_by_dependency(dependency) @cache[dependency.hash] ||= begin specs = @specs[dependency.name] + found = specs.select { |spec| dependency.matches_spec?(spec) && Gem::Platform.match(spec.platform) } wants_prerelease = dependency.requirement.prerelease? only_prerelease = specs.all? {|spec| spec.version.prerelease? } - found = specs.select { |spec| dependency.matches_spec?(spec) && Gem::Platform.match(spec.platform) } - unless wants_prerelease || only_prerelease found.reject! { |spec| spec.version.prerelease? } end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/installer.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/installer.rb similarity index 81% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/installer.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/installer.rb index c1fbada8..e0728a25 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/installer.rb +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/installer.rb @@ -10,8 +10,16 @@ module Bundler end def run(options) + # Create the BUNDLE_PATH directory + begin + Bundler.bundle_path.mkpath unless Bundler.bundle_path.exist? + rescue Errno::EEXIST + raise PathError, "Could not install to path `#{Bundler.settings[:path]}` " + + "because of an invalid symlink. Remove the symlink so the directory can be created." + end + if Bundler.settings[:frozen] - @definition.ensure_equivalent_gemfile_and_lockfile + @definition.ensure_equivalent_gemfile_and_lockfile(options[:deployment]) end if dependencies.empty? @@ -35,9 +43,6 @@ module Bundler @definition.resolve_remotely! end - # Ensure that BUNDLE_PATH exists - Bundler.mkdir_p(Bundler.bundle_path) unless File.exist?(Bundler.bundle_path) - # Must install gems in the order that the resolver provides # as dependencies might actually affect the installation of # the gem. @@ -49,13 +54,9 @@ module Bundler # next # end - begin - old_args = Gem::Command.build_args - Gem::Command.build_args = [Bundler.settings["build.#{spec.name}"]] + Bundler.rubygems.with_build_args [Bundler.settings["build.#{spec.name}"]] do spec.source.install(spec) Bundler.ui.debug "from #{spec.loaded_from} " - ensure - Gem::Command.build_args = old_args end Bundler.ui.info "" diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/lazy_specification.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/lazy_specification.rb similarity index 96% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/lazy_specification.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/lazy_specification.rb index 9db9b0ed..5924ec60 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/lazy_specification.rb +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/lazy_specification.rb @@ -36,7 +36,7 @@ module Bundler out = " #{name} (#{version}-#{platform})\n" end - dependencies.sort_by {|d| d.name }.each do |dep| + dependencies.sort_by {|d| d.to_s }.each do |dep| next if dep.type == :development out << " #{dep.to_lock}\n" end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/lockfile_parser.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/lockfile_parser.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/lockfile_parser.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/lockfile_parser.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/man/bundle b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/man/bundle similarity index 98% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/man/bundle rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/man/bundle index 014145cd..1b2b35d9 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/man/bundle +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/man/bundle @@ -1,7 +1,7 @@ .\" generated with Ronn/v0.7.3 .\" http://github.com/rtomayko/ronn/tree/0.7.3 . -.TH "BUNDLE" "1" "November 2010" "" "" +.TH "BUNDLE" "1" "May 2011" "" "" . .SH "NAME" \fBbundle\fR \- Ruby Dependency Management diff --git a/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/man/bundle-benchmark b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/man/bundle-benchmark new file mode 100644 index 00000000..6673a878 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/man/bundle-benchmark @@ -0,0 +1,19 @@ +.\" generated with Ronn/v0.7.3 +.\" http://github.com/rtomayko/ronn/tree/0.7.3 +. +.TH "BUNDLE\-BENCHMARK" "1" "May 2011" "" "" +. +.SH "NAME" +\fBbundle\-benchmark\fR \- Display the time taken for each gem to be loaded +. +.SH "SYNOPSIS" +\fBbundle benchmark\fR [group] +. +.SH "DESCRIPTION" +This command loads all your required dependencies as per Bundler\.setup, and displays the total time spent in requiring each gem and its dependencies\. +. +.P +Use this command to track down problems with excessive boot time in your application, or to optimize specific groups in your Gemfile for fast setup\. +. +.SH "GROUP OPTION" +To test the load times for gems in a specific group, pass the group as an argument to \fBbundle benchmark\fR\. Omitting this option loads all dependencies in your Gemfile\. diff --git a/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/man/bundle-benchmark.txt b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/man/bundle-benchmark.txt new file mode 100644 index 00000000..52b2a36c --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/man/bundle-benchmark.txt @@ -0,0 +1,27 @@ +BUNDLE-BENCHMARK(1) BUNDLE-BENCHMARK(1) + + + +NAME + bundle-benchmark - Display the time taken for each gem to be loaded + +SYNOPSIS + bundle benchmark [group] + +DESCRIPTION + This command loads all your required dependencies as per Bundler.setup, + and displays the total time spent in requiring each gem and its depen- + dencies. + + Use this command to track down problems with excessive boot time in + your application, or to optimize specific groups in your Gemfile for + fast setup. + +GROUP OPTION + To test the load times for gems in a specific group, pass the group as + an argument to bundle benchmark. Omitting this option loads all depen- + dencies in your Gemfile. + + + + May 2011 BUNDLE-BENCHMARK(1) diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/man/bundle-config b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/man/bundle-config similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/man/bundle-config rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/man/bundle-config diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/man/bundle-config.txt b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/man/bundle-config.txt similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/man/bundle-config.txt rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/man/bundle-config.txt diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/man/bundle-exec b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/man/bundle-exec similarity index 99% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/man/bundle-exec rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/man/bundle-exec index ce9ce7da..855f0a79 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/man/bundle-exec +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/man/bundle-exec @@ -1,7 +1,7 @@ .\" generated with Ronn/v0.7.3 .\" http://github.com/rtomayko/ronn/tree/0.7.3 . -.TH "BUNDLE\-EXEC" "1" "November 2010" "" "" +.TH "BUNDLE\-EXEC" "1" "January 2011" "" "" . .SH "NAME" \fBbundle\-exec\fR \- Execute a command in the context of the bundle diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/man/bundle-exec.txt b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/man/bundle-exec.txt similarity index 99% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/man/bundle-exec.txt rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/man/bundle-exec.txt index e589958a..04a774a1 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/man/bundle-exec.txt +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/man/bundle-exec.txt @@ -128,4 +128,4 @@ RUBYGEMS PLUGINS - November 2010 BUNDLE-EXEC(1) + January 2011 BUNDLE-EXEC(1) diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/man/bundle-install b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/man/bundle-install similarity index 94% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/man/bundle-install rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/man/bundle-install index a847047a..50dea0ef 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/man/bundle-install +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/man/bundle-install @@ -1,20 +1,23 @@ .\" generated with Ronn/v0.7.3 .\" http://github.com/rtomayko/ronn/tree/0.7.3 . -.TH "BUNDLE\-INSTALL" "1" "October 2010" "" "" +.TH "BUNDLE\-INSTALL" "1" "May 2011" "" "" . .SH "NAME" \fBbundle\-install\fR \- Install the dependencies specified in your Gemfile . .SH "SYNOPSIS" -\fBbundle install\fR [\-\-local] [\-\-quiet] [\-\-gemfile=GEMFILE] [\-\-system] +\fBbundle install\fR [\-\-gemfile=GEMFILE] . .IP "" 4 . .nf - [\-\-deployment] [\-\-frozen] [\-\-path] - [\-\-binstubs[=DIRECTORY]] [\-\-without=GROUP1[ GROUP2\.\.\.]] + [\-\-path PATH] [\-\-system] + [\-\-without=GROUP1[ GROUP2\.\.\.]] + [\-\-local] [\-\-deployment] + [\-\-binstubs[=DIRECTORY]] + [\-\-quiet] . .fi . @@ -53,14 +56,14 @@ Do not attempt to connect to \fBrubygems\.org\fR, instead using just the gems lo . .TP \fB\-\-deployment\fR -Switches bundler\'s defaults into \fIdeployment mode\fR\. +Switches bundler\'s defaults into \fIdeployment mode\fR\. Do not use this flag on development machines\. . .TP \fB\-\-binstubs[=]\fR Create a directory (defaults to \fBbin\fR) containing an executable that runs in the context of the bundle\. For instance, if the \fBrails\fR gem comes with a \fBrails\fR executable, this flag will create a \fBbin/rails\fR executable that ensures that all dependencies used come from the bundled gems\. . .SH "DEPLOYMENT MODE" -Bundler\'s defaults are optimized for development\. To switch to defaults optimized for deployment, use the \fB\-\-deployment\fR flag\. +Bundler\'s defaults are optimized for development\. To switch to defaults optimized for deployment, use the \fB\-\-deployment\fR flag\. Do not activate deployment mode on development machines, as it will cause in an error when the Gemfile is modified\. . .IP "1." 4 A \fBGemfile\.lock\fR is required\. @@ -118,10 +121,10 @@ Checking out private git repositories using your user\'s SSH keys .IP "" 0 . .P -Of these three, the first two could theoretically be performed by \fBchown\fRing the resulting files to \fB$SUDO_USER\fR\. The third, however, can only be performed by actually invoking the \fBgit\fR command as the current user\. +Of these three, the first two could theoretically be performed by \fBchown\fRing the resulting files to \fB$SUDO_USER\fR\. The third, however, can only be performed by actually invoking the \fBgit\fR command as the current user\. Therefore, git gems are downloaded and installed into \fB~/\.bundle\fR rather than $GEM_HOME or $BUNDLE_PATH\. . .P -As a result, you should run \fBbundle install\fR as the current user, and bundler will ask for your password if it is needed to perform the final step\. +As a result, you should run \fBbundle install\fR as the current user, and bundler will ask for your password if it is needed to put the gems into their final location\. . .SH "INSTALLING GROUPS" By default, \fBbundle install\fR will install all gems in all groups in your Gemfile(5), except those declared for a different platform\. diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/man/bundle-install.txt b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/man/bundle-install.txt similarity index 82% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/man/bundle-install.txt rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/man/bundle-install.txt index 6501bae0..276af004 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/man/bundle-install.txt +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/man/bundle-install.txt @@ -6,12 +6,15 @@ NAME bundle-install - Install the dependencies specified in your Gemfile SYNOPSIS - bundle install [--local] [--quiet] [--gemfile=GEMFILE] [--system] + bundle install [--gemfile=GEMFILE] - [--deployment] [--frozen] [--path] - [--binstubs[=DIRECTORY]] [--without=GROUP1[ GROUP2...]] + [--path PATH] [--system] + [--without=GROUP1[ GROUP2...]] + [--local] [--deployment] + [--binstubs[=DIRECTORY]] + [--quiet] @@ -61,63 +64,66 @@ OPTIONS bypass the normal lookup. --deployment - Switches bundler's defaults into deployment mode. + Switches bundler's defaults into deployment mode. Do not use + this flag on development machines. --binstubs[=] - Create a directory (defaults to bin) containing an executable - that runs in the context of the bundle. For instance, if the + Create a directory (defaults to bin) containing an executable + that runs in the context of the bundle. For instance, if the rails gem comes with a rails executable, this flag will create a - bin/rails executable that ensures that all dependencies used + bin/rails executable that ensures that all dependencies used come from the bundled gems. DEPLOYMENT MODE Bundler's defaults are optimized for development. To switch to defaults - optimized for deployment, use the --deployment flag. + optimized for deployment, use the --deployment flag. Do not activate + deployment mode on development machines, as it will cause in an error + when the Gemfile is modified. 1. A Gemfile.lock is required. To ensure that the same versions of the gems you developed with and - tested with are also used in deployments, a Gemfile.lock is + tested with are also used in deployments, a Gemfile.lock is required. - This is mainly to ensure that you remember to check your Gem- + This is mainly to ensure that you remember to check your Gem- file.lock into version control. 2. The Gemfile.lock must be up to date - In development, you can modify your Gemfile(5) and re-run bundle + In development, you can modify your Gemfile(5) and re-run bundle install to conservatively update your Gemfile.lock snapshot. - In deployment, your Gemfile.lock should be up-to-date with changes + In deployment, your Gemfile.lock should be up-to-date with changes made in your Gemfile(5). - 3. Gems are installed to vendor/bundle not your default system loca- + 3. Gems are installed to vendor/bundle not your default system loca- tion - In development, it's convenient to share the gems used in your - application with other applications and other scripts run on the + In development, it's convenient to share the gems used in your + application with other applications and other scripts run on the system. - In deployment, isolation is a more important default. In addition, - the user deploying the application may not have permission to - install gems to the system, or the web server may not have permis- + In deployment, isolation is a more important default. In addition, + the user deploying the application may not have permission to + install gems to the system, or the web server may not have permis- sion to read them. - As a result, bundle install --deployment installs gems to the ven- - dor/bundle directory in the application. This may be overridden + As a result, bundle install --deployment installs gems to the ven- + dor/bundle directory in the application. This may be overridden using the --path option. SUDO USAGE - By default, bundler installs gems to the same location as gem install. + By default, bundler installs gems to the same location as gem install. - In some cases, that location may not be writable by your Unix user. In + In some cases, that location may not be writable by your Unix user. In that case, bundler will stage everything in a temporary directory, then - ask you for your sudo password in order to copy the gems into their + ask you for your sudo password in order to copy the gems into their system location. - From your perspective, this is identical to installing them gems + From your perspective, this is identical to installing them gems directly into the system. You should never use sudo bundle install. This is because several other @@ -131,14 +137,15 @@ SUDO USAGE - Of these three, the first two could theoretically be performed by - chowning the resulting files to $SUDO_USER. The third, however, can - only be performed by actually invoking the git command as the current - user. + Of these three, the first two could theoretically be performed by + chowning the resulting files to $SUDO_USER. The third, however, can + only be performed by actually invoking the git command as the current + user. Therefore, git gems are downloaded and installed into ~/.bundle + rather than $GEM_HOME or $BUNDLE_PATH. As a result, you should run bundle install as the current user, and - bundler will ask for your password if it is needed to perform the final - step. + bundler will ask for your password if it is needed to put the gems into + their final location. INSTALLING GROUPS By default, bundle install will install all gems in all groups in your @@ -328,4 +335,4 @@ CONSERVATIVE UPDATING - October 2010 BUNDLE-INSTALL(1) + May 2011 BUNDLE-INSTALL(1) diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/man/bundle-package b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/man/bundle-package similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/man/bundle-package rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/man/bundle-package diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/man/bundle-package.txt b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/man/bundle-package.txt similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/man/bundle-package.txt rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/man/bundle-package.txt diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/man/bundle-update b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/man/bundle-update similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/man/bundle-update rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/man/bundle-update diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/man/bundle-update.txt b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/man/bundle-update.txt similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/man/bundle-update.txt rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/man/bundle-update.txt diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/man/bundle.txt b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/man/bundle.txt similarity index 98% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/man/bundle.txt rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/man/bundle.txt index 6c8a6862..35d7d08c 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/man/bundle.txt +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/man/bundle.txt @@ -83,4 +83,4 @@ OBSOLETE - November 2010 BUNDLE(1) + May 2011 BUNDLE(1) diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/man/gemfile.5 b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/man/gemfile.5 similarity index 97% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/man/gemfile.5 rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/man/gemfile.5 index f486b0a3..db3c5871 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/man/gemfile.5 +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/man/gemfile.5 @@ -1,7 +1,7 @@ .\" generated with Ronn/v0.7.3 .\" http://github.com/rtomayko/ronn/tree/0.7.3 . -.TH "GEMFILE" "5" "October 2010" "" "" +.TH "GEMFILE" "5" "May 2011" "" "" . .SH "NAME" \fBGemfile\fR \- A format for describing gem dependencies for Ruby programs @@ -181,6 +181,10 @@ Same as \fIruby\fR, but not Rubinius \fImri\fR \fBAND\fR version 1\.9 . .TP +\fBrbx\fR +Same as \fIruby\fR, but only Rubinius (not MRI) +. +.TP \fBjruby\fR JRuby . @@ -188,6 +192,18 @@ JRuby \fBmswin\fR Windows . +.TP +\fBmingw\fR +Windows \'mingw32\' platform (aka RubyInstaller) +. +.TP +\fBmingw_18\fR +\fImingw\fR \fBAND\fR version 1\.8 +. +.TP +\fBmingw_19\fR +\fImingw\fR \fBAND\fR version 1\.9 +. .P As with groups, you can specify one or more platforms: . diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/man/gemfile.5.txt b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/man/gemfile.5.txt similarity index 97% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/man/gemfile.5.txt rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/man/gemfile.5.txt index 3b2a3a6a..1745de6a 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/man/gemfile.5.txt +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/man/gemfile.5.txt @@ -154,10 +154,20 @@ GEMS (#gem) mri_19 mri AND version 1.9 + rbx Same as ruby, but only Rubinius (not MRI) + jruby JRuby mswin Windows + mingw Windows 'mingw32' platform (aka RubyInstaller) + + mingw_18 + mingw AND version 1.8 + + mingw_19 + mingw AND version 1.9 + As with groups, you can specify one or more platforms: @@ -332,4 +342,4 @@ SOURCE PRIORITY - October 2010 GEMFILE(5) + May 2011 GEMFILE(5) diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/remote_specification.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/remote_specification.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/remote_specification.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/remote_specification.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/resolver.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/resolver.rb similarity index 99% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/resolver.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/resolver.rb index 0a27c092..4948357c 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/resolver.rb +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/resolver.rb @@ -407,7 +407,7 @@ module Bundler end def error_message - output = errors.inject("") do |o, (conflict, (origin, requirement))| + errors.inject("") do |o, (conflict, (origin, requirement))| # origin is the SpecSet of specs from the Gemfile that is conflicted with if origin @@ -422,7 +422,7 @@ module Bundler o << " Current Bundler version:\n" newer_bundler_required = requirement.requirement > Gem::Requirement.new(origin.version) # If the origin is a LockfileParser, it does not respond_to :required_by - elsif !origin.respond_to?(:required_by) || !(required_by = origin.required_by.first) + elsif !origin.respond_to?(:required_by) || !(origin.required_by.first) o << " In snapshot (Gemfile.lock):\n" end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/rubygems_ext.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/rubygems_ext.rb similarity index 90% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/rubygems_ext.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/rubygems_ext.rb index 29b12d79..95a382f0 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/rubygems_ext.rb +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/rubygems_ext.rb @@ -19,7 +19,7 @@ module Gem def full_gem_path source.respond_to?(:path) ? - Pathname.new(loaded_from).dirname.expand_path.to_s : + Pathname.new(loaded_from).dirname.expand_path(Bundler.root).to_s : rg_full_gem_path end @@ -39,6 +39,11 @@ module Gem end end + # RubyGems 1.8+ used only. + def gem_dir + full_gem_path + end + def groups @groups ||= [] end @@ -105,6 +110,12 @@ module Gem alias eql? == + def encode_with(coder) + to_yaml_properties.each do |ivar| + coder[ivar.to_s.sub(/^@/, '')] = instance_variable_get(ivar) + end + end + def to_yaml_properties instance_variables.reject { |p| ["@source", "@groups"].include?(p.to_s) } end @@ -112,11 +123,13 @@ module Gem def to_lock out = " #{name}" unless requirement == Gem::Requirement.default - out << " (#{requirement.to_s})" + reqs = requirement.requirements.map{|o,v| "#{o} #{v}" } + out << " (#{reqs.join(', ')})" end out end + # Backport of performance enhancement added to Rubygems 1.4 def matches_spec?(spec) # name can be a Regexp, so use === return false unless name === spec.name @@ -127,6 +140,7 @@ module Gem end class Requirement + # Backport of performance enhancement added to Rubygems 1.4 def none? @none ||= (to_s == ">= 0") end unless allocate.respond_to?(:none?) diff --git a/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/rubygems_integration.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/rubygems_integration.rb new file mode 100644 index 00000000..f2d2f5e2 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/rubygems_integration.rb @@ -0,0 +1,323 @@ +module Bundler + class RubygemsIntegration + def initialize + # Work around a RubyGems bug + configuration + end + + def loaded_specs(name) + Gem.loaded_specs[name] + end + + def mark_loaded(spec) + Gem.loaded_specs[spec.name] = spec + end + + def path(obj) + obj.to_s + end + + def platforms + Gem.platforms + end + + def configuration + Gem.configuration + end + + def ruby_engine + Gem.ruby_engine + end + + def read_binary(path) + Gem.read_binary(path) + end + + def inflate(obj) + Gem.inflate(obj) + end + + def sources=(val) + Gem.sources = val + end + + def sources + Gem.sources + end + + def gem_dir + Gem.dir + end + + def gem_bindir + Gem.bindir + end + + def user_home + Gem.user_home + end + + def gem_path + Gem.path + end + + def marshal_spec_dir + Gem::MARSHAL_SPEC_DIR + end + + def clear_paths + Gem.clear_paths + end + + def bin_path(gem, bin, ver) + Gem.bin_path(gem, bin, ver) + end + + def preserve_paths + # this is a no-op outside of Rubygems 1.8 + yield + end + + def ui=(obj) + Gem::DefaultUserInteraction.ui = obj + end + + def fetch_specs(all, pre, &blk) + Gem::SpecFetcher.new.list(all, pre).each(&blk) + end + + def with_build_args(args) + old_args = Gem::Command.build_args + begin + Gem::Command.build_args = args + yield + ensure + Gem::Command.build_args = old_args + end + end + + def spec_from_gem(path) + Gem::Format.from_file_by_path(path).spec + end + + def download_gem(spec, uri, path) + Gem::RemoteFetcher.fetcher.download(spec, uri, path) + end + + def reverse_rubygems_kernel_mixin + # Disable rubygems' gem activation system + ::Kernel.class_eval do + if private_method_defined?(:gem_original_require) + alias rubygems_require require + alias require gem_original_require + end + + undef gem + end + end + + def replace_gem(specs) + executables = specs.map { |s| s.executables }.flatten + + ::Kernel.send(:define_method, :gem) do |dep, *reqs| + if executables.include? File.basename(caller.first.split(':').first) + return + end + opts = reqs.last.is_a?(Hash) ? reqs.pop : {} + + unless dep.respond_to?(:name) && dep.respond_to?(:requirement) + dep = Gem::Dependency.new(dep, reqs) + end + + spec = specs.find { |s| s.name == dep.name } + + if spec.nil? + + e = Gem::LoadError.new "#{dep.name} is not part of the bundle. Add it to Gemfile." + e.name = dep.name + if e.respond_to?(:requirement=) + e.requirement = dep.requirement + else + e.version_requirement = dep.requirement + end + raise e + elsif dep !~ spec + e = Gem::LoadError.new "can't activate #{dep}, already activated #{spec.full_name}. " \ + "Make sure all dependencies are added to Gemfile." + e.name = dep.name + if e.respond_to?(:requirement=) + e.requirement = dep.requirement + else + e.version_requirement = dep.requirement + end + raise e + end + + true + end + end + + if defined? ::Deprecate + Deprecate = ::Deprecate + elsif defined? Gem::Deprecate + Deprecate = Gem::Deprecate + else + class Deprecate + def skip_during; yield; end + end + end + + def stub_source_index137(specs) + # Rubygems versions lower than 1.7 use SourceIndex#from_gems_in + source_index_class = (class << Gem::SourceIndex ; self ; end) + source_index_class.send(:remove_method, :from_gems_in) + source_index_class.send(:define_method, :from_gems_in) do |*args| + source_index = Gem::SourceIndex.new + source_index.spec_dirs = *args + source_index.add_specs(*specs) + source_index + end + end + + def stub_source_index170(specs) + Gem::SourceIndex.send(:define_method, :initialize) do |*args| + @gems = {} + # You're looking at this thinking: Oh! This is how I make those + # rubygems deprecations go away! + # + # You'd be correct BUT using of this method in production code + # must be approved by the rubygems team itself! + # + # This is your warning. If you use this and don't have approval + # we can't protect you. + # + Deprecate.skip_during do + self.spec_dirs = *args + add_specs(*specs) + end + end + end + + # Used to make bin stubs that are not created by bundler work + # under bundler. The new Gem.bin_path only considers gems in + # +specs+ + def replace_bin_path(specs) + gem_class = (class << Gem ; self ; end) + gem_class.send(:remove_method, :bin_path) + gem_class.send(:define_method, :bin_path) do |name, *args| + exec_name, *reqs = args + + if exec_name == 'bundle' + return ENV['BUNDLE_BIN_PATH'] + end + + spec = nil + + if exec_name + spec = specs.find { |s| s.executables.include?(exec_name) } + spec or raise Gem::Exception, "can't find executable #{exec_name}" + else + spec = specs.find { |s| s.name == name } + exec_name = spec.default_executable or raise Gem::Exception, "no default executable for #{spec.full_name}" + end + + gem_bin = File.join(spec.full_gem_path, spec.bindir, exec_name) + gem_from_path_bin = File.join(File.dirname(spec.loaded_from), spec.bindir, exec_name) + File.exist?(gem_bin) ? gem_bin : gem_from_path_bin + end + end + + # Because Bundler has a static view of what specs are available, + # we don't #reflesh, so stub it out. + def replace_refresh + gem_class = (class << Gem ; self ; end) + gem_class.send(:remove_method, :refresh) + gem_class.send(:define_method, :refresh) { } + end + + # Replace or hook into Rubygems to provide a bundlerized view + # of the world. + def replace_entrypoints(specs) + reverse_rubygems_kernel_mixin + + replace_gem(specs) + + stub_rubygems(specs) + + replace_bin_path(specs) + replace_refresh + + Gem.clear_paths + end + + # Rubygems versions 1.3.6 through 1.6.2 + class Legacy < RubygemsIntegration + def stub_rubygems(specs) + stub_source_index137(specs) + end + + def all_specs + Gem.source_index.gems.values + end + + def find_name(name) + Gem.source_index.find_name(name) + end + end + + # Rubygems 1.7 + class Transitional < Legacy + def stub_rubygems(specs) + stub_source_index170(specs) + end + end + + # Rubygems 1.8.5 + class Modern < RubygemsIntegration + def stub_rubygems(specs) + Gem::Specification.all = specs + + Gem.post_reset { + Gem::Specification.all = specs + } + + stub_source_index170(specs) + end + + def all_specs + Gem::Specification.to_a + end + + def find_name(name) + Gem::Specification.find_all_by_name name + end + end + + # Rubygems 1.8.0 to 1.8.4 + class AlmostModern < Modern + # Rubygems [>= 1.8.0, < 1.8.5] has a bug that changes Gem.dir whenever + # you call Gem::Installer#install with an :install_dir set. We have to + # change it back for our sudo mode to work. + def preserve_paths + old_dir, old_path = gem_dir, gem_path + yield + Gem.use_paths(old_dir, old_path) + end + end + + end + + if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.8.5') + @rubygems = RubygemsIntegration::Modern.new + elsif Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.8.0') + @rubygems = RubygemsIntegration::AlmostModern.new + elsif Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.7.0') + @rubygems = RubygemsIntegration::Transitional.new + else # Rubygems 1.3.6 through 1.6.2 + @rubygems = RubygemsIntegration::Legacy.new + end + + class << self + attr_reader :rubygems + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/runtime.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/runtime.rb similarity index 84% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/runtime.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/runtime.rb index b4ea8d1a..70c9b0ff 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/runtime.rb +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/runtime.rb @@ -11,7 +11,7 @@ module Bundler specs = groups.any? ? @definition.specs_for(groups) : requested_specs setup_environment - cripple_rubygems(specs) + Bundler.rubygems.replace_entrypoints(specs) # Activate the specs specs.each do |spec| @@ -19,15 +19,19 @@ module Bundler raise GemNotFound, "#{spec.full_name} is missing. Run `bundle` to get it." end - if activated_spec = Gem.loaded_specs[spec.name] and activated_spec.version != spec.version + if activated_spec = Bundler.rubygems.loaded_specs(spec.name) and activated_spec.version != spec.version e = Gem::LoadError.new "You have already activated #{activated_spec.name} #{activated_spec.version}, " \ "but your Gemfile requires #{spec.name} #{spec.version}. Consider using bundle exec." e.name = spec.name - e.version_requirement = Gem::Requirement.new(spec.version.to_s) + if e.respond_to?(:requirement=) + e.requirement = Gem::Requirement.new(spec.version.to_s) + else + e.version_requirement = Gem::Requirement.new(spec.version.to_s) + end raise e end - Gem.loaded_specs[spec.name] = spec + Bundler.rubygems.mark_loaded(spec) load_paths = spec.load_paths.reject {|path| $LOAD_PATH.include?(path)} $LOAD_PATH.unshift(*load_paths) end @@ -81,7 +85,7 @@ module Bundler alias gems specs def cache - FileUtils.mkdir_p(cache_path) + FileUtils.mkdir_p(cache_path) unless File.exists?(cache_path) Bundler.ui.info "Updating .gem files in vendor/cache" specs.each do |spec| @@ -92,13 +96,13 @@ module Bundler end def prune_cache - FileUtils.mkdir_p(cache_path) + FileUtils.mkdir_p(cache_path) unless File.exists?(cache_path) resolve = @definition.resolve cached = Dir["#{cache_path}/*.gem"] cached = cached.delete_if do |path| - spec = Gem::Format.from_file_by_path(path).spec + spec = Bundler.rubygems.spec_from_gem path resolve.any? do |s| s.name == spec.name && s.version == spec.version && !s.source.is_a?(Bundler::Source::Git) @@ -123,7 +127,7 @@ module Bundler def setup_environment begin - ENV["BUNDLE_BIN_PATH"] = Gem.bin_path("bundler", "bundle", VERSION) + ENV["BUNDLE_BIN_PATH"] = Bundler.rubygems.bin_path("bundler", "bundle", VERSION) rescue Gem::GemNotFoundException ENV["BUNDLE_BIN_PATH"] = File.expand_path("../../../bin/bundle", __FILE__) end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/settings.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/settings.rb similarity index 94% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/settings.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/settings.rb index e103957a..c3209c3a 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/settings.rb +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/settings.rb @@ -16,7 +16,7 @@ module Bundler end def delete(key) - @local_config + @local_config.delete(key_for(key)) end def set_global(key, value) @@ -79,7 +79,7 @@ module Bundler if path = self[:path] "#{path}/#{Bundler.ruby_scope}" else - Gem.dir + Bundler.rubygems.gem_dir end end @@ -106,7 +106,7 @@ module Bundler end def global_config_file - file = ENV["BUNDLE_CONFIG"] || File.join(Gem.user_home, ".bundle/config") + file = ENV["BUNDLE_CONFIG"] || File.join(Bundler.rubygems.user_home, ".bundle/config") Pathname.new(file) end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/setup.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/setup.rb new file mode 100644 index 00000000..d5770977 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/setup.rb @@ -0,0 +1,23 @@ +require 'bundler/shared_helpers' + +if Bundler::SharedHelpers.in_bundle? + require 'bundler' + if STDOUT.tty? + begin + Bundler.setup + rescue Bundler::BundlerError => e + puts "\e[31m#{e.message}\e[0m" + puts e.backtrace.join("\n") if ENV["DEBUG"] + if Bundler::GemNotFound === e + puts "\e[33mRun `bundle install` to install missing gems.\e[0m" + end + exit e.status_code + end + else + Bundler.setup + end + + # Add bundler to the load path after disabling system gems + bundler_lib = File.expand_path("../..", __FILE__) + $LOAD_PATH.unshift(bundler_lib) unless $LOAD_PATH.include?(bundler_lib) +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/shared_helpers.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/shared_helpers.rb new file mode 100644 index 00000000..e6f4899f --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/shared_helpers.rb @@ -0,0 +1,71 @@ +require 'pathname' +require 'rubygems' + +require 'bundler/rubygems_integration' + +module Gem + class Dependency + if !instance_methods.map { |m| m.to_s }.include?("requirement") + def requirement + version_requirements + end + end + end +end + +module Bundler + module SharedHelpers + attr_accessor :gem_loaded + + def default_gemfile + gemfile = find_gemfile + raise GemfileNotFound, "Could not locate Gemfile" unless gemfile + Pathname.new(gemfile) + end + + def default_lockfile + Pathname.new("#{default_gemfile}.lock") + end + + def in_bundle? + find_gemfile + end + + private + + def find_gemfile + given = ENV['BUNDLE_GEMFILE'] + return given if given && !given.empty? + + previous = nil + current = File.expand_path(Dir.pwd) + + until !File.directory?(current) || current == previous + if ENV['BUNDLE_SPEC_RUN'] + # avoid stepping above the tmp directory when testing + return nil if File.file?(File.join(current, 'bundler.gemspec')) + end + + # otherwise return the Gemfile if it's there + filename = File.join(current, 'Gemfile') + return filename if File.file?(filename) + current, previous = File.expand_path("..", current), current + end + end + + def clean_load_path + # handle 1.9 where system gems are always on the load path + if defined?(::Gem) + me = File.expand_path("../../", __FILE__) + $LOAD_PATH.reject! do |p| + next if File.expand_path(p) =~ /^#{Regexp.escape(me)}/ + p != File.dirname(__FILE__) && + Bundler.rubygems.gem_path.any?{|gp| p =~ /^#{Regexp.escape(gp)}/ } + end + $LOAD_PATH.uniq! + end + end + + extend self + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/source.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/source.rb similarity index 82% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/source.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/source.rb index 5fef845b..f18ace20 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/source.rb +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/source.rb @@ -1,4 +1,5 @@ require "uri" +require 'rubygems/user_interaction' require "rubygems/installer" require "rubygems/spec_fetcher" require "rubygems/format" @@ -16,8 +17,12 @@ module Bundler @remotes = (options["remotes"] || []).map { |r| normalize_uri(r) } @allow_remote = false @allow_cached = false + # Hardcode the paths for now - @caches = [ Bundler.app_cache ] + Gem.path.map { |p| File.expand_path("#{p}/cache") } + @caches = [ Bundler.app_cache ] + Bundler.rubygems.gem_path.map do |x| + File.expand_path("#{x}/cache") + end + @spec_fetch_map = {} end @@ -69,43 +74,45 @@ module Bundler spec, uri = @spec_fetch_map[spec.full_name] if spec path = download_gem_from_uri(spec, uri) - s = Gem::Format.from_file_by_path(path).spec + s = Bundler.rubygems.spec_from_gem(path) spec.__swap__(s) end end def install(spec) - path = cached_gem(spec) - if installed_specs[spec].any? Bundler.ui.info "Using #{spec.name} (#{spec.version}) " return end Bundler.ui.info "Installing #{spec.name} (#{spec.version}) " + path = cached_gem(spec) - install_path = Bundler.requires_sudo? ? Bundler.tmp : Gem.dir - options = { :install_dir => install_path, - :ignore_dependencies => true, - :wrappers => true, - :env_shebang => true } - options.merge!(:bin_dir => "#{install_path}/bin") unless spec.executables.nil? || spec.executables.empty? + Bundler.rubygems.preserve_paths do - installer = Gem::Installer.new path, options - installer.install + install_path = Bundler.requires_sudo? ? Bundler.tmp : Bundler.rubygems.gem_dir + options = { :install_dir => install_path, + :ignore_dependencies => true, + :wrappers => true, + :env_shebang => true } + options.merge!(:bin_dir => "#{install_path}/bin") unless spec.executables.nil? || spec.executables.empty? + + installer = Gem::Installer.new path, options + installer.install + end # SUDO HAX if Bundler.requires_sudo? - sudo "mkdir -p #{Gem.dir}/gems #{Gem.dir}/specifications" - sudo "cp -R #{Bundler.tmp}/gems/#{spec.full_name} #{Gem.dir}/gems/" - sudo "cp -R #{Bundler.tmp}/specifications/#{spec.full_name}.gemspec #{Gem.dir}/specifications/" + sudo "mkdir -p #{Bundler.rubygems.gem_dir}/gems #{Bundler.rubygems.gem_dir}/specifications" + sudo "cp -R #{Bundler.tmp}/gems/#{spec.full_name} #{Bundler.rubygems.gem_dir}/gems/" + sudo "cp -R #{Bundler.tmp}/specifications/#{spec.full_name}.gemspec #{Bundler.rubygems.gem_dir}/specifications/" spec.executables.each do |exe| - sudo "mkdir -p #{Gem.bindir}" - sudo "cp -R #{Bundler.tmp}/bin/#{exe} #{Gem.bindir}" + sudo "mkdir -p #{Bundler.rubygems.gem_bindir}" + sudo "cp -R #{Bundler.tmp}/bin/#{exe} #{Bundler.rubygems.gem_bindir}" end end - spec.loaded_from = "#{Gem.dir}/specifications/#{spec.full_name}.gemspec" + spec.loaded_from = "#{Bundler.rubygems.gem_dir}/specifications/#{spec.full_name}.gemspec" end def sudo(str) @@ -134,8 +141,12 @@ module Bundler private def cached_gem(spec) - possibilities = @caches.map { |p| "#{p}/#{spec.full_name}.gem" } - possibilities.find { |p| File.exist?(p) } + possibilities = @caches.map { |p| "#{p}/#{spec.file_name}" } + cached_gem = possibilities.find { |p| File.exist?(p) } + unless cached_gem + raise Bundler::GemNotFound, "Could not find #{spec.file_name} for installation" + end + cached_gem end def normalize_uri(uri) @@ -158,7 +169,7 @@ module Bundler @installed_specs ||= begin idx = Index.new have_bundler = false - Gem.source_index.to_a.reverse.each do |dont_use_this_var, spec| + Bundler.rubygems.all_specs.reverse.each do |spec| next if spec.name == 'bundler' && spec.version.to_s != VERSION have_bundler = true if spec.name == 'bundler' spec.source = self @@ -175,6 +186,7 @@ module Bundler s.version = VERSION s.platform = Gem::Platform::RUBY s.source = self + s.authors = ["bundler team"] s.loaded_from = File.expand_path("..", __FILE__) end idx << bundler @@ -189,10 +201,10 @@ module Bundler path = Bundler.app_cache Dir["#{path}/*.gem"].each do |gemfile| - next if gemfile =~ /bundler\-[\d\.]+?\.gem/ + next if gemfile =~ /^bundler\-[\d\.]+?\.gem/ begin - s ||= Gem::Format.from_file_by_path(gemfile).spec + s ||= Bundler.rubygems.spec_from_gem(gemfile) rescue Gem::Package::FormatError raise GemspecError, "Could not read gem at #{gemfile}. It may be corrupted." end @@ -208,7 +220,7 @@ module Bundler def remote_specs @remote_specs ||= begin idx = Index.new - old = Gem.sources + old = Bundler.rubygems.sources remotes.each do |uri| Bundler.ui.info "Fetching source index for #{uri}" @@ -225,7 +237,7 @@ module Bundler end idx ensure - Gem.sources = old + Bundler.rubygems.sources = old end end @@ -247,14 +259,14 @@ module Bundler def download_gem_from_uri(spec, uri) spec.fetch_platform - download_path = Bundler.requires_sudo? ? Bundler.tmp : Gem.dir - gem_path = "#{Gem.dir}/cache/#{spec.full_name}.gem" + download_path = Bundler.requires_sudo? ? Bundler.tmp : Bundler.rubygems.gem_dir + gem_path = "#{Bundler.rubygems.gem_dir}/cache/#{spec.full_name}.gem" FileUtils.mkdir_p("#{download_path}/cache") - Gem::RemoteFetcher.fetcher.download(spec, uri, download_path) + Bundler.rubygems.download_gem(spec, uri, download_path) if Bundler.requires_sudo? - sudo "mkdir -p #{Gem.dir}/cache" + sudo "mkdir -p #{Bundler.rubygems.gem_dir}/cache" sudo "mv #{Bundler.tmp}/cache/#{spec.full_name}.gem #{gem_path}" end @@ -316,14 +328,13 @@ module Bundler def eql?(o) o.instance_of?(Path) && path.expand_path(Bundler.root) == o.path.expand_path(Bundler.root) && - name == o.name && version == o.version end alias == eql? def name - File.basename(@path.to_s) + File.basename(path.expand_path(Bundler.root).to_s) end def load_spec_files @@ -349,9 +360,11 @@ module Bundler s.platform = Gem::Platform::RUBY s.summary = "Fake gemspec for #{@name}" s.relative_loaded_from = "#{@name}.gemspec" + s.authors = ["no one"] if expanded_path.join("bin").exist? - binaries = expanded_path.join("bin").children.map{|c| c.basename.to_s } - s.executables = binaries + binaries = expanded_path.join("bin").children + binaries.reject!{|p| File.directory?(p) } + s.executables = binaries.map{|c| c.basename.to_s } end end end @@ -369,8 +382,8 @@ module Bundler class Installer < Gem::Installer def initialize(spec, options = {}) @spec = spec - @bin_dir = Bundler.requires_sudo? ? "#{Bundler.tmp}/bin" : "#{Gem.dir}/bin" - @gem_dir = spec.full_gem_path + @bin_dir = Bundler.requires_sudo? ? "#{Bundler.tmp}/bin" : "#{Bundler.rubygems.gem_dir}/bin" + @gem_dir = Bundler.rubygems.path(spec.full_gem_path) @wrappers = options[:wrappers] || true @env_shebang = options[:env_shebang] || true @format_executable = options[:format_executable] || false @@ -384,9 +397,9 @@ module Bundler end super if Bundler.requires_sudo? - Bundler.mkdir_p "#{Gem.dir}/bin" + Bundler.mkdir_p "#{Bundler.rubygems.gem_dir}/bin" spec.executables.each do |exe| - Bundler.sudo "cp -R #{Bundler.tmp}/bin/#{exe} #{Gem.dir}/bin/" + Bundler.sudo "cp -R #{Bundler.tmp}/bin/#{exe} #{Bundler.rubygems.gem_dir}/bin/" end end end @@ -558,8 +571,10 @@ module Bundler if allow_git_ops? out = %x{git #{command}} - if $? != 0 - raise GitError, "An error has occurred in git when running `git #{command}`. Cannot complete bundling." + if $?.exitstatus != 0 + msg = "Git error: command `git #{command}` in directory #{Dir.pwd} has failed." + msg << "\nIf this error persists you could try removing the cache directory '#{cache_path}'" if cached? + raise GitError, msg end out else @@ -593,6 +608,19 @@ module Bundler Digest::SHA1.hexdigest(input) end + # Escape the URI for git commands + def uri_escaped + if Bundler::WINDOWS + # Windows quoting requires double quotes only, with double quotes + # inside the string escaped by being doubled. + '"' + uri.gsub('"') {|s| '""'} + '"' + else + # Bash requires single quoted strings, with the single quotes escaped + # by ending the string, escaping the quote, and restarting the string. + "'" + uri.gsub("'") {|s| "'\\''"} + "'" + end + end + def cache_path @cache_path ||= begin git_scope = "#{base_name}-#{uri_hash}" @@ -610,12 +638,12 @@ module Bundler return if has_revision_cached? Bundler.ui.info "Updating #{uri}" in_cache do - git %|fetch --force --quiet --tags "#{uri}" refs/heads/*:refs/heads/*| + git %|fetch --force --quiet --tags #{uri_escaped} "refs/heads/*:refs/heads/*"| end else Bundler.ui.info "Fetching #{uri}" FileUtils.mkdir_p(cache_path.dirname) - git %|clone "#{uri}" "#{cache_path}" --bare --no-hardlinks| + git %|clone #{uri_escaped} "#{cache_path}" --bare --no-hardlinks| end end @@ -624,6 +652,7 @@ module Bundler FileUtils.mkdir_p(path.dirname) FileUtils.rm_rf(path) git %|clone --no-checkout "#{cache_path}" "#{path}"| + File.chmod((0777 & ~File.umask), path) end Dir.chdir(path) do git %|fetch --force --quiet --tags "#{cache_path}"| diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/spec_set.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/spec_set.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/spec_set.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/spec_set.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/templates/Executable b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/templates/Executable similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/templates/Executable rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/templates/Executable diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/templates/Gemfile b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/templates/Gemfile similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/templates/Gemfile rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/templates/Gemfile diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/templates/newgem/Gemfile.tt b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/templates/newgem/Gemfile.tt similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/templates/newgem/Gemfile.tt rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/templates/newgem/Gemfile.tt diff --git a/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/templates/newgem/Rakefile.tt b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/templates/newgem/Rakefile.tt new file mode 100644 index 00000000..c702cfcc --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/templates/newgem/Rakefile.tt @@ -0,0 +1 @@ +require 'bundler/gem_tasks' diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/templates/newgem/bin/newgem.tt b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/templates/newgem/bin/newgem.tt similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/templates/newgem/bin/newgem.tt rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/templates/newgem/bin/newgem.tt diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/templates/newgem/gitignore.tt b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/templates/newgem/gitignore.tt similarity index 60% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/templates/newgem/gitignore.tt rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/templates/newgem/gitignore.tt index 9f30a350..4040c6c1 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/templates/newgem/gitignore.tt +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/templates/newgem/gitignore.tt @@ -1,3 +1,4 @@ -pkg/* *.gem .bundle +Gemfile.lock +pkg/* diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/templates/newgem/lib/newgem.rb.tt b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/templates/newgem/lib/newgem.rb.tt similarity index 86% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/templates/newgem/lib/newgem.rb.tt rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/templates/newgem/lib/newgem.rb.tt index d54b2367..db76ef60 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/templates/newgem/lib/newgem.rb.tt +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/templates/newgem/lib/newgem.rb.tt @@ -1,3 +1,5 @@ +require "<%=config[:name]%>/version" + <%- config[:constant_array].each_with_index do |c,i| -%> <%= ' '*i %>module <%= c %> <%- end -%> diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/templates/newgem/lib/newgem/version.rb.tt b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/templates/newgem/lib/newgem/version.rb.tt similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/templates/newgem/lib/newgem/version.rb.tt rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/templates/newgem/lib/newgem/version.rb.tt diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/templates/newgem/newgem.gemspec.tt b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/templates/newgem/newgem.gemspec.tt similarity index 82% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/templates/newgem/newgem.gemspec.tt rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/templates/newgem/newgem.gemspec.tt index 4bf214a2..3b7ace15 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/templates/newgem/newgem.gemspec.tt +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/templates/newgem/newgem.gemspec.tt @@ -5,9 +5,8 @@ require "<%=config[:name]%>/version" Gem::Specification.new do |s| s.name = <%=config[:name].inspect%> s.version = <%=config[:constant_name]%>::VERSION - s.platform = Gem::Platform::RUBY - s.authors = ["TODO: Write your name"] - s.email = ["TODO: Write your email address"] + s.authors = ["<%= config[:author_name] %>"] + s.email = ["<%= config[:author_email] %>"] s.homepage = "" s.summary = %q{TODO: Write a gem summary} s.description = %q{TODO: Write a gem description} diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/ui.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/ui.rb similarity index 92% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/ui.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/ui.rb index e6331921..c483216a 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/ui.rb +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/ui.rb @@ -1,3 +1,5 @@ +require 'rubygems/user_interaction' + module Bundler class UI def warn(message) @@ -53,9 +55,10 @@ module Bundler end end - class RGProxy < Gem::SilentUI + class RGProxy < ::Gem::SilentUI def initialize(ui) @ui = ui + super() end def say(message) diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/vendor/thor.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/vendor/thor.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/vendor/thor.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/vendor/thor.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/vendor/thor/actions.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/vendor/thor/actions.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/vendor/thor/actions.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/vendor/thor/actions.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/vendor/thor/actions/create_file.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/vendor/thor/actions/create_file.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/vendor/thor/actions/create_file.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/vendor/thor/actions/create_file.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/vendor/thor/actions/directory.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/vendor/thor/actions/directory.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/vendor/thor/actions/directory.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/vendor/thor/actions/directory.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/vendor/thor/actions/empty_directory.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/vendor/thor/actions/empty_directory.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/vendor/thor/actions/empty_directory.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/vendor/thor/actions/empty_directory.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/vendor/thor/actions/file_manipulation.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/vendor/thor/actions/file_manipulation.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/vendor/thor/actions/file_manipulation.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/vendor/thor/actions/file_manipulation.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/vendor/thor/actions/inject_into_file.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/vendor/thor/actions/inject_into_file.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/vendor/thor/actions/inject_into_file.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/vendor/thor/actions/inject_into_file.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/vendor/thor/base.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/vendor/thor/base.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/vendor/thor/base.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/vendor/thor/base.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/vendor/thor/core_ext/file_binary_read.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/vendor/thor/core_ext/file_binary_read.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/vendor/thor/core_ext/file_binary_read.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/vendor/thor/core_ext/file_binary_read.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/vendor/thor/core_ext/hash_with_indifferent_access.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/vendor/thor/core_ext/hash_with_indifferent_access.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/vendor/thor/core_ext/hash_with_indifferent_access.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/vendor/thor/core_ext/hash_with_indifferent_access.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/vendor/thor/core_ext/ordered_hash.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/vendor/thor/core_ext/ordered_hash.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/vendor/thor/core_ext/ordered_hash.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/vendor/thor/core_ext/ordered_hash.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/vendor/thor/error.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/vendor/thor/error.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/vendor/thor/error.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/vendor/thor/error.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/vendor/thor/invocation.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/vendor/thor/invocation.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/vendor/thor/invocation.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/vendor/thor/invocation.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/vendor/thor/parser.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/vendor/thor/parser.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/vendor/thor/parser.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/vendor/thor/parser.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/vendor/thor/parser/argument.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/vendor/thor/parser/argument.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/vendor/thor/parser/argument.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/vendor/thor/parser/argument.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/vendor/thor/parser/arguments.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/vendor/thor/parser/arguments.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/vendor/thor/parser/arguments.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/vendor/thor/parser/arguments.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/vendor/thor/parser/option.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/vendor/thor/parser/option.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/vendor/thor/parser/option.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/vendor/thor/parser/option.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/vendor/thor/parser/options.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/vendor/thor/parser/options.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/vendor/thor/parser/options.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/vendor/thor/parser/options.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/vendor/thor/shell.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/vendor/thor/shell.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/vendor/thor/shell.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/vendor/thor/shell.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/vendor/thor/shell/basic.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/vendor/thor/shell/basic.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/vendor/thor/shell/basic.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/vendor/thor/shell/basic.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/vendor/thor/shell/color.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/vendor/thor/shell/color.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/vendor/thor/shell/color.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/vendor/thor/shell/color.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/vendor/thor/shell/html.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/vendor/thor/shell/html.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/vendor/thor/shell/html.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/vendor/thor/shell/html.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/vendor/thor/task.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/vendor/thor/task.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/vendor/thor/task.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/vendor/thor/task.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/vendor/thor/util.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/vendor/thor/util.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/vendor/thor/util.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/vendor/thor/util.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/vendor/thor/version.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/vendor/thor/version.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/vendor/thor/version.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/vendor/thor/version.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/version.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/version.rb similarity index 74% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/version.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/version.rb index 069ac689..9f8590d5 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/version.rb +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/version.rb @@ -2,5 +2,5 @@ module Bundler # We're doing this because we might write tests that deal # with other versions of bundler and we are unsure how to # handle this better. - VERSION = "1.0.7" unless defined?(::Bundler::VERSION) + VERSION = "1.0.15" unless defined?(::Bundler::VERSION) end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/vlad.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/vlad.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/vlad.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/lib/bundler/vlad.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/man/bundle-config.ronn b/vendor/plugins/bundler/gems/bundler-1.0.15/man/bundle-config.ronn similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/man/bundle-config.ronn rename to vendor/plugins/bundler/gems/bundler-1.0.15/man/bundle-config.ronn diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/man/bundle-exec.ronn b/vendor/plugins/bundler/gems/bundler-1.0.15/man/bundle-exec.ronn similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/man/bundle-exec.ronn rename to vendor/plugins/bundler/gems/bundler-1.0.15/man/bundle-exec.ronn diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/man/bundle-install.ronn b/vendor/plugins/bundler/gems/bundler-1.0.15/man/bundle-install.ronn similarity index 96% rename from vendor/plugins/bundler/gems/bundler-1.0.7/man/bundle-install.ronn rename to vendor/plugins/bundler/gems/bundler-1.0.15/man/bundle-install.ronn index 12cc64e7..3b2d5231 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/man/bundle-install.ronn +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/man/bundle-install.ronn @@ -60,6 +60,7 @@ update process below under [CONSERVATIVE UPDATING][]. * `--deployment`: Switches bundler's defaults into [deployment mode][DEPLOYMENT MODE]. + Do not use this flag on development machines. * `--binstubs[=]`: Create a directory (defaults to `bin`) containing an executable @@ -72,6 +73,8 @@ update process below under [CONSERVATIVE UPDATING][]. Bundler's defaults are optimized for development. To switch to defaults optimized for deployment, use the `--deployment` flag. +Do not activate deployment mode on development machines, as it +will cause in an error when the Gemfile is modified. 1. A `Gemfile.lock` is required. @@ -128,11 +131,12 @@ other steps in `bundle install` must be performed as the current user: Of these three, the first two could theoretically be performed by `chown`ing the resulting files to `$SUDO_USER`. The third, however, can only be performed by actually invoking the `git` command as -the current user. +the current user. Therefore, git gems are downloaded and installed +into `~/.bundle` rather than $GEM_HOME or $BUNDLE_PATH. As a result, you should run `bundle install` as the current user, -and bundler will ask for your password if it is needed to perform -the final step. +and bundler will ask for your password if it is needed to put the +gems into their final location. ## INSTALLING GROUPS diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/man/bundle-package.ronn b/vendor/plugins/bundler/gems/bundler-1.0.15/man/bundle-package.ronn similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/man/bundle-package.ronn rename to vendor/plugins/bundler/gems/bundler-1.0.15/man/bundle-package.ronn diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/man/bundle-update.ronn b/vendor/plugins/bundler/gems/bundler-1.0.15/man/bundle-update.ronn similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/man/bundle-update.ronn rename to vendor/plugins/bundler/gems/bundler-1.0.15/man/bundle-update.ronn diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/man/bundle.ronn b/vendor/plugins/bundler/gems/bundler-1.0.15/man/bundle.ronn similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/man/bundle.ronn rename to vendor/plugins/bundler/gems/bundler-1.0.15/man/bundle.ronn diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/man/gemfile.5.ronn b/vendor/plugins/bundler/gems/bundler-1.0.15/man/gemfile.5.ronn similarity index 99% rename from vendor/plugins/bundler/gems/bundler-1.0.7/man/gemfile.5.ronn rename to vendor/plugins/bundler/gems/bundler-1.0.15/man/gemfile.5.ronn index b0d69153..a8809b7a 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/man/gemfile.5.ronn +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/man/gemfile.5.ronn @@ -120,6 +120,8 @@ There are a number of `Gemfile` platforms: _mri_ `AND` version 1.8 * `mri_19`: _mri_ `AND` version 1.9 + * `rbx`: + Same as _ruby_, but only Rubinius (not MRI) * `jruby`: JRuby * `mswin`: diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/man/index.txt b/vendor/plugins/bundler/gems/bundler-1.0.15/man/index.txt similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/man/index.txt rename to vendor/plugins/bundler/gems/bundler-1.0.15/man/index.txt diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/cache/gems_spec.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/cache/gems_spec.rb similarity index 95% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/cache/gems_spec.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/cache/gems_spec.rb index f80595ce..aef513b5 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/cache/gems_spec.rb +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/cache/gems_spec.rb @@ -214,6 +214,17 @@ describe "bundle cache" do bundle "install" out.should_not =~ /removing/i end + + it "should install gems with the name bundler in them (that aren't bundler)" do + build_gem "foo-bundler", "1.0", + :path => bundled_app('vendor/cache') + + install_gemfile <<-G + gem "foo-bundler" + G + + should_be_installed "foo-bundler 1.0" + end end end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/cache/git_spec.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/cache/git_spec.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/cache/git_spec.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/cache/git_spec.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/cache/path_spec.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/cache/path_spec.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/cache/path_spec.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/cache/path_spec.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/cache/platform_spec.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/cache/platform_spec.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/cache/platform_spec.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/cache/platform_spec.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/install/deploy_spec.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/install/deploy_spec.rb similarity index 92% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/install/deploy_spec.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/install/deploy_spec.rb index 8c810a19..5678e4cc 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/install/deploy_spec.rb +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/install/deploy_spec.rb @@ -21,7 +21,7 @@ describe "install with --deployment or --frozen" do it "works after you try to deploy without a lock" do bundle "install --deployment" bundle :install, :exitstatus => true - check exitstatus.should == 0 + exitstatus.should eq(0) should_be_installed "rack 1.0" end @@ -76,7 +76,7 @@ describe "install with --deployment or --frozen" do G bundle "install --deployment" - out.should include("You have modified your Gemfile") + out.should include("deployment mode") out.should include("You have added to the Gemfile") out.should include("* rack-obama") out.should_not include("You have deleted from the Gemfile") @@ -92,7 +92,7 @@ describe "install with --deployment or --frozen" do ENV['BUNDLE_FROZEN'] = '1' bundle "install" - out.should include("You have modified your Gemfile") + out.should include("deployment mode") out.should include("You have added to the Gemfile") out.should include("* rack-obama") out.should_not include("You have deleted from the Gemfile") @@ -107,7 +107,7 @@ describe "install with --deployment or --frozen" do G bundle "install --frozen" - out.should include("You have modified your Gemfile") + out.should include("deployment mode") out.should include("You have added to the Gemfile") out.should include("* rack-obama") out.should_not include("You have deleted from the Gemfile") @@ -121,7 +121,7 @@ describe "install with --deployment or --frozen" do G bundle "install --deployment" - out.should include("You have modified your Gemfile") + out.should include("deployment mode") out.should include("You have added to the Gemfile:\n* activesupport\n\n") out.should include("You have deleted from the Gemfile:\n* rack") out.should_not include("You have changed in the Gemfile") @@ -134,7 +134,7 @@ describe "install with --deployment or --frozen" do G bundle "install --deployment" - out.should include("You have modified your Gemfile") + out.should include("deployment mode") out.should include("You have added to the Gemfile:\n* source: git://hubz.com (at master)") out.should_not include("You have changed in the Gemfile") end @@ -153,7 +153,7 @@ describe "install with --deployment or --frozen" do G bundle "install --deployment" - out.should include("You have modified your Gemfile") + out.should include("deployment mode") out.should include("You have deleted from the Gemfile:\n* source: #{lib_path("rack-1.0")} (at master)") out.should_not include("You have added to the Gemfile") out.should_not include("You have changed in the Gemfile") @@ -176,7 +176,7 @@ describe "install with --deployment or --frozen" do G bundle "install --deployment" - out.should include("You have modified your Gemfile") + out.should include("deployment mode") out.should include("You have changed in the Gemfile:\n* rack from `no specified source` to `#{lib_path("rack")} (at master)`") out.should_not include("You have added to the Gemfile") out.should_not include("You have deleted from the Gemfile") diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/install/deprecated_spec.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/install/deprecated_spec.rb similarity index 82% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/install/deprecated_spec.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/install/deprecated_spec.rb index 76b2853a..d1656cde 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/install/deprecated_spec.rb +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/install/deprecated_spec.rb @@ -34,10 +34,4 @@ describe "bundle install with deprecated features" do end - it "reports that --production is deprecated" do - gemfile %{gem "rack"} - bundle "install --production" - out.should =~ /--production option is deprecated/ - end - end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/install/gems/c_ext_spec.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/install/gems/c_ext_spec.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/install/gems/c_ext_spec.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/install/gems/c_ext_spec.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/install/gems/env_spec.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/install/gems/env_spec.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/install/gems/env_spec.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/install/gems/env_spec.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/install/gems/flex_spec.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/install/gems/flex_spec.rb similarity index 98% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/install/gems/flex_spec.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/install/gems/flex_spec.rb index baafe1ae..c48b7b63 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/install/gems/flex_spec.rb +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/install/gems/flex_spec.rb @@ -185,10 +185,10 @@ describe "bundle flex_install" do it "does not install gems whose dependencies are not met" do bundle :install - ruby <<-RUBY + ruby <<-RUBY, :expect_err => true require 'bundler/setup' RUBY - out.should =~ /could not find gem 'rack-obama/i + err.should =~ /could not find gem 'rack-obama/i end it "suggests bundle update when the Gemfile requires different versions than the lock" do diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/install/gems/groups_spec.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/install/gems/groups_spec.rb similarity index 92% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/install/gems/groups_spec.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/install/gems/groups_spec.rb index e54cbd72..51865ab6 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/install/gems/groups_spec.rb +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/install/gems/groups_spec.rb @@ -35,12 +35,29 @@ describe "bundle install with gem sources" do it "sets up everything if Bundler.setup is used with no groups" do out = run("require 'rack'; puts RACK") - check out.should == '1.0.0' + out.should eq('1.0.0') out = run("require 'activesupport'; puts ACTIVESUPPORT") - check out.should == '2.3.5' + out.should eq('2.3.5') out = run("require 'thin'; puts THIN") + out.should eq('1.0') + end + + it "removes old groups when new groups are set up" do + run <<-RUBY, :emo, :expect_err => true + Bundler.setup(:default) + require 'thin'; puts THIN + RUBY + @err.should =~ /no such file to load -- thin/i + end + + it "sets up old groups when they have previously been removed" do + out = run <<-RUBY, :emo + Bundler.setup(:default) + Bundler.setup(:default, :emo) + require 'thin'; puts THIN + RUBY out.should == '1.0' end end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/install/gems/packed_spec.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/install/gems/packed_spec.rb similarity index 82% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/install/gems/packed_spec.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/install/gems/packed_spec.rb index a89a4eee..59222122 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/install/gems/packed_spec.rb +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/install/gems/packed_spec.rb @@ -68,5 +68,17 @@ describe "bundle install with gem sources" do out.should == "1.0.0 RUBY" end end + + it "does not update the cache if --no-cache is passed" do + gemfile <<-G + source "file://#{gem_repo1}" + gem "rack" + G + bundled_app("vendor/cache").mkpath + bundled_app("vendor/cache").children.should be_empty + + bundle "install --no-cache" + bundled_app("vendor/cache").children.should be_empty + end end end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/install/gems/platform_spec.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/install/gems/platform_spec.rb similarity index 99% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/install/gems/platform_spec.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/install/gems/platform_spec.rb index f4017dc3..d5207420 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/install/gems/platform_spec.rb +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/install/gems/platform_spec.rb @@ -177,7 +177,7 @@ describe "bundle install with platform conditionals" do end it "does not blow up on sources with all platform-excluded specs" do - git = build_git "foo" + build_git "foo" install_gemfile <<-G platform :#{not_local_tag} do diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/install/gems/resolving_spec.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/install/gems/resolving_spec.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/install/gems/resolving_spec.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/install/gems/resolving_spec.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/install/gems/simple_case_spec.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/install/gems/simple_case_spec.rb similarity index 98% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/install/gems/simple_case_spec.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/install/gems/simple_case_spec.rb index c27642ac..a427367b 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/install/gems/simple_case_spec.rb +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/install/gems/simple_case_spec.rb @@ -545,6 +545,15 @@ describe "bundle install with gem sources" do bundle :install err.should be_empty end + + it "still installs correctly when using path" do + build_lib 'yaml_spec', :gemspec => :yaml + + install_gemfile <<-G + gem 'yaml_spec', :path => "#{lib_path('yaml_spec-1.0')}" + G + err.should == "" + end end describe "when the gem has an architecture in its platform" do diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/install/gems/sudo_spec.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/install/gems/sudo_spec.rb similarity index 92% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/install/gems/sudo_spec.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/install/gems/sudo_spec.rb index 44b0ba25..3894f768 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/install/gems/sudo_spec.rb +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/install/gems/sudo_spec.rb @@ -10,10 +10,11 @@ describe "when using sudo", :sudo => true do install_gemfile <<-G source "file://#{gem_repo1}" gem "rack", '1.0' + gem "thin" G system_gem_path("gems/rack-1.0.0").should exist - check system_gem_path("gems/rack-1.0.0").stat.uid.should == 0 + system_gem_path("gems/rack-1.0.0").stat.uid.should eq(0) should_be_installed "rack 1.0" end @@ -29,7 +30,7 @@ describe "when using sudo", :sudo => true do G bundle_path.join("gems/rack-1.0.0").should exist - check bundle_path.join("gems/rack-1.0.0").stat.uid.should == 0 + bundle_path.join("gems/rack-1.0.0").stat.uid.should eq(0) should_be_installed "rack 1.0" end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/install/gems/win32_spec.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/install/gems/win32_spec.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/install/gems/win32_spec.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/install/gems/win32_spec.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/install/gemspec_spec.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/install/gemspec_spec.rb similarity index 88% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/install/gemspec_spec.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/install/gemspec_spec.rb index e7992c11..90e9a2fe 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/install/gemspec_spec.rb +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/install/gemspec_spec.rb @@ -93,4 +93,16 @@ describe "bundle install from an existing gemspec" do should_be_installed "bar-dev 1.0.0", :groups => :dev end + it "should evaluate the gemspec in its directory" do + build_lib("foo", :path => tmp.join("foo")) + File.open(tmp.join("foo/foo.gemspec"), "w") do |s| + s.write "raise 'ahh' unless Dir.pwd == '#{tmp.join("foo")}'" + end + + install_gemfile <<-G, :expect_err => true + gemspec :path => '#{tmp.join("foo")}' + G + @err.should_not match(/ahh/) + end + end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/install/git_spec.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/install/git_spec.rb similarity index 98% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/install/git_spec.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/install/git_spec.rb index f2803ab6..62cb887d 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/install/git_spec.rb +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/install/git_spec.rb @@ -145,7 +145,7 @@ describe "bundle install with git sources" do gem "foo" end G - check err.should == "" + err.should eq("") run <<-RUBY require 'foo' @@ -348,10 +348,9 @@ describe "bundle install with git sources" do bundle :install, :expect_err => true - out.should include("An error has occurred in git") + out.should include("Git error:") err.should include("fatal") err.should include("omgomg") - err.should include("fatal: The remote end hung up unexpectedly") end it "works when the gem path has spaces in it" do diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/install/invalid_spec.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/install/invalid_spec.rb similarity index 50% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/install/invalid_spec.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/install/invalid_spec.rb index ebcae181..67b6d31a 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/install/invalid_spec.rb +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/install/invalid_spec.rb @@ -15,3 +15,21 @@ describe "bundle install with deprecated features" do end end + +describe "bundle install to a dead symlink" do + before do + in_app_root do + `ln -s /tmp/idontexist bundle` + end + end + + it "reports the symlink is dead" do + gemfile <<-G + source "file://#{gem_repo1}" + gem "rack" + G + + bundle "install --path bundle" + out.should =~ /invalid symlink/ + end +end \ No newline at end of file diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/install/path_spec.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/install/path_spec.rb similarity index 85% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/install/path_spec.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/install/path_spec.rb index 3f2bde8e..8b778d4e 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/install/path_spec.rb +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/install/path_spec.rb @@ -141,6 +141,47 @@ describe "bundle install with explicit source paths" do should_be_installed "rack 1.0" end + it "doesn't automatically unlock dependencies when using the gemspec syntax" do + build_lib "foo", "1.0", :path => lib_path("foo") do |s| + s.add_dependency "rack", ">= 1.0" + end + + Dir.chdir lib_path("foo") + + install_gemfile lib_path("foo/Gemfile"), <<-G + source "file://#{gem_repo1}" + gemspec + G + + build_gem "rack", "1.0.1", :to_system => true + + bundle "install" + + should_be_installed "foo 1.0" + should_be_installed "rack 1.0" + end + + it "doesn't automatically unlock dependencies when using the gemspec syntax and the gem has development dependencies" do + build_lib "foo", "1.0", :path => lib_path("foo") do |s| + s.add_dependency "rack", ">= 1.0" + s.add_development_dependency "activesupport" + end + + Dir.chdir lib_path("foo") + + install_gemfile lib_path("foo/Gemfile"), <<-G + source "file://#{gem_repo1}" + gemspec + G + + build_gem "rack", "1.0.1", :to_system => true + + bundle "install" + + should_be_installed "foo 1.0" + should_be_installed "rack 1.0" + end + it "raises if there are multiple gemspecs" do build_lib "foo", "1.0", :path => lib_path("foo") do |s| s.write "bar.gemspec" @@ -150,7 +191,7 @@ describe "bundle install with explicit source paths" do gemspec :path => "#{lib_path("foo")}" G - check exitstatus.should == 15 + exitstatus.should eq(15) out.should =~ /There are multiple gemspecs/ end @@ -182,6 +223,17 @@ describe "bundle install with explicit source paths" do out.should == "1.0" end + it "handles directories in bin/" do + build_lib "foo" + lib_path("foo-1.0").join("foo.gemspec").rmtree + lib_path("foo-1.0").join("bin/performance").mkpath + + install_gemfile <<-G + gem 'foo', '1.0', :path => "#{lib_path('foo-1.0')}" + G + err.should == "" + end + it "removes the .gem file after installing" do build_lib "foo" diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/install/upgrade_spec.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/install/upgrade_spec.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/install/upgrade_spec.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/install/upgrade_spec.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/lock/git_spec.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/lock/git_spec.rb similarity index 90% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/lock/git_spec.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/lock/git_spec.rb index da392115..7d023b83 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/lock/git_spec.rb +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/lock/git_spec.rb @@ -27,7 +27,7 @@ describe "bundle lock with git gems" do it "provides correct #full_gem_path" do run <<-RUBY - puts Gem.source_index.find_name('foo').first.full_gem_path + puts Bundler.rubygems.find_name('foo').first.full_gem_path RUBY out.should == bundle("show foo") end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/lock/lockfile_spec.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/lock/lockfile_spec.rb similarity index 96% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/lock/lockfile_spec.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/lock/lockfile_spec.rb index d49ede5c..86663f23 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/lock/lockfile_spec.rb +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/lock/lockfile_spec.rb @@ -318,7 +318,7 @@ describe "the lockfile format" do actionpack (= 2.3.2) activerecord (= 2.3.2) activeresource (= 2.3.2) - rake + rake (= 0.8.7) rake (0.8.7) PLATFORMS @@ -329,6 +329,29 @@ describe "the lockfile format" do G end + it "orders dependencies according to version" do + install_gemfile <<-G + source "file://#{gem_repo1}" + gem 'double_deps' + G + + lockfile_should_be <<-G + GEM + remote: file:#{gem_repo1}/ + specs: + double_deps (1.0) + net-ssh + net-ssh (>= 1.0.0) + net-ssh (1.0) + + PLATFORMS + #{generic(Gem::Platform.local)} + + DEPENDENCIES + double_deps + G + end + it "does not add the :require option to the lockfile" do install_gemfile <<-G source "file://#{gem_repo1}" diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/other/check_spec.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/other/check_spec.rb similarity index 95% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/other/check_spec.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/other/check_spec.rb index 519ecc15..7cb7eb6a 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/other/check_spec.rb +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/other/check_spec.rb @@ -8,7 +8,7 @@ describe "bundle check" do G bundle :check, :exitstatus => true - check @exitstatus.should == 0 + @exitstatus.should eq(0) out.should == "The Gemfile's dependencies are satisfied" end @@ -55,7 +55,7 @@ describe "bundle check" do G bundle :check, :exitstatus => true - check @exitstatus.should > 0 + @exitstatus.should be > 0 out.should include("could not be satisfied") end @@ -89,7 +89,7 @@ describe "bundle check" do bundle "install --without foo" bundle "check", :exitstatus => true - check @exitstatus.should == 0 + @exitstatus.should eq(0) out.should include("The Gemfile's dependencies are satisfied") end @@ -175,7 +175,7 @@ describe "bundle check" do it "outputs an error when the default Gemfile is not found" do bundle :check, :exitstatus => true - check @exitstatus.should == 10 + @exitstatus.should eq(10) out.should include("Could not locate Gemfile") end @@ -190,7 +190,7 @@ describe "bundle check" do last_out = out 3.times do |i| bundle :check - check out.should == last_out + out.should eq(last_out) err.should be_empty end end @@ -207,7 +207,7 @@ describe "bundle check" do it "returns success when the Gemfile is satisfied" do bundle :install bundle :check, :exitstatus => true - check @exitstatus.should == 0 + @exitstatus.should eq(0) out.should == "The Gemfile's dependencies are satisfied" end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/other/config_spec.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/other/config_spec.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/other/config_spec.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/other/config_spec.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/other/console_spec.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/other/console_spec.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/other/console_spec.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/other/console_spec.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/other/exec_spec.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/other/exec_spec.rb similarity index 96% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/other/exec_spec.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/other/exec_spec.rb index 9cb70464..8f38824b 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/other/exec_spec.rb +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/other/exec_spec.rb @@ -54,7 +54,7 @@ describe "bundle exec" do bundle "exec rackup" - check out.should == "0.9.1" + out.should eq("0.9.1") Dir.chdir bundled_app2 do bundle "exec rackup" @@ -74,7 +74,7 @@ describe "bundle exec" do bundle "exec rackup" - check out.should == "0.9.1" + out.should eq("0.9.1") should_not_be_installed "rack_middleware 1.0" end @@ -83,7 +83,8 @@ describe "bundle exec" do gem "rack" G - rubyopt = "-I#{bundler_path} -rbundler/setup" + rubyopt = ENV['RUBYOPT'] + rubyopt = "-I#{bundler_path} -rbundler/setup #{rubyopt}" bundle "exec 'echo $RUBYOPT'" out.should have_rubyopts(rubyopt) @@ -98,7 +99,7 @@ describe "bundle exec" do G bundle "exec foobarbaz", :exitstatus => true - check exitstatus.should == 127 + exitstatus.should eq(127) out.should include("bundler: command not found: foobarbaz") out.should include("Install missing gem binaries with `bundle install`") end @@ -110,7 +111,7 @@ describe "bundle exec" do bundle "exec touch foo" bundle "exec ./foo", :exitstatus => true - check exitstatus.should == 126 + exitstatus.should eq(126) out.should include("bundler: not executable: ./foo") end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.15/spec/other/ext_spec.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/other/ext_spec.rb new file mode 100644 index 00000000..ff6864ef --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/other/ext_spec.rb @@ -0,0 +1,37 @@ +require 'spec_helper' + +describe "Gem::Specification#match_platform" do + it "does not match platforms other than the gem platform" do + darwin = gem "lol", "1.0", "platform_specific-1.0-x86-darwin-10" + darwin.match_platform(pl('java')).should be_false + end +end + +describe "Bundler::GemHelpers#generic" do + include Bundler::GemHelpers + + it "converts non-windows platforms into ruby" do + generic(pl('x86-darwin-10')).should == pl('ruby') + end +end + +describe "Gem::SourceIndex#refresh!" do + rubygems_1_7 = Gem::Version.new(Gem::VERSION) >= Gem::Version.new("1.7.0") + + before do + install_gemfile <<-G + source "file://#{gem_repo1}" + gem "rack" + G + end + + it "does not explode when called", :if => rubygems_1_7 do + run "Gem.source_index.refresh!" + run "Gem::SourceIndex.new([]).refresh!" + end + + it "does not explode when called", :unless => rubygems_1_7 do + run "Gem.source_index.refresh!" + run "Gem::SourceIndex.from_gems_in([]).refresh!" + end +end \ No newline at end of file diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/other/gem_helper_spec.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/other/gem_helper_spec.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/other/gem_helper_spec.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/other/gem_helper_spec.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/other/help_spec.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/other/help_spec.rb similarity index 79% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/other/help_spec.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/other/help_spec.rb index 06bc9490..c443fa5c 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/other/help_spec.rb +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/other/help_spec.rb @@ -1,7 +1,9 @@ require "spec_helper" describe "bundle help" do - it "complains if older versions of bundler are installed" do + # Rubygems 1.4+ no longer load gem plugins so this test is no longer needed + rubygems_under_14 = Gem::Requirement.new("< 1.4").satisfied_by?(Gem::Version.new(Gem::VERSION)) + it "complains if older versions of bundler are installed", :if => rubygems_under_14 do system_gems "bundler-0.8.1" bundle "help", :expect_err => true diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/other/init_spec.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/other/init_spec.rb similarity index 80% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/other/init_spec.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/other/init_spec.rb index 6b380e15..0b9f4470 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/other/init_spec.rb +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/other/init_spec.rb @@ -32,9 +32,9 @@ describe "bundle init" do gemfile = bundled_app("Gemfile").read gemfile.should =~ /source :gemcutter/ - check gemfile.scan(/gem "rack", "= 1.0.1"/).size.should == 1 - check gemfile.scan(/gem "rspec", "= 1.2"/).size.should == 1 - check gemfile.scan(/group :development/).size.should == 1 + gemfile.scan(/gem "rack", "= 1.0.1"/).size.should eq(1) + gemfile.scan(/gem "rspec", "= 1.2"/).size.should eq(1) + gemfile.scan(/group :development/).size.should eq(1) end end \ No newline at end of file diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/other/newgem_spec.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/other/newgem_spec.rb similarity index 85% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/other/newgem_spec.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/other/newgem_spec.rb index 4650c9e7..039b245f 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/other/newgem_spec.rb +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/other/newgem_spec.rb @@ -21,4 +21,8 @@ describe "bundle gem" do bundled_app("test-gem/lib/test-gem/version.rb").read.should =~ /module Test\n module Gem/ bundled_app("test-gem/lib/test-gem.rb").read.should =~ /module Test\n module Gem/ end -end \ No newline at end of file + + it "requires the version file" do + bundled_app("test-gem/lib/test-gem.rb").read.should =~ /require "test-gem\/version"/ + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/other/open_spec.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/other/open_spec.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/other/open_spec.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/other/open_spec.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/other/show_spec.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/other/show_spec.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/other/show_spec.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/other/show_spec.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/pack/gems_spec.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/pack/gems_spec.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/pack/gems_spec.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/pack/gems_spec.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/quality_spec.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/quality_spec.rb similarity index 98% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/quality_spec.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/quality_spec.rb index df430d5c..9b84be4b 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/quality_spec.rb +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/quality_spec.rb @@ -49,7 +49,7 @@ describe "The library itself" do it "can still be built" do Dir.chdir(root) do `gem build bundler.gemspec` - $?.should == 0 + $?.should eq(0) # clean up the .gem generated system("rm bundler-#{Bundler::VERSION}.gem") diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/resolver/basic_spec.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/resolver/basic_spec.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/resolver/basic_spec.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/resolver/basic_spec.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/resolver/platform_spec.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/resolver/platform_spec.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/resolver/platform_spec.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/resolver/platform_spec.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/runtime/executable_spec.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/runtime/executable_spec.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/runtime/executable_spec.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/runtime/executable_spec.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/runtime/load_spec.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/runtime/load_spec.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/runtime/load_spec.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/runtime/load_spec.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/runtime/platform_spec.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/runtime/platform_spec.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/runtime/platform_spec.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/runtime/platform_spec.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/runtime/require_spec.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/runtime/require_spec.rb similarity index 93% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/runtime/require_spec.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/runtime/require_spec.rb index bb366175..2f3a515d 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/runtime/require_spec.rb +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/runtime/require_spec.rb @@ -48,23 +48,23 @@ describe "Bundler.require" do it "requires the gems" do # default group run "Bundler.require" - check out.should == "two" + out.should eq("two") # specific group run "Bundler.require(:bar)" - check out.should == "baz\nqux" + out.should eq("baz\nqux") # default and specific group run "Bundler.require(:default, :bar)" - check out.should == "baz\nqux\ntwo" + out.should eq("baz\nqux\ntwo") # specific group given as a string run "Bundler.require('bar')" - check out.should == "baz\nqux" + out.should eq("baz\nqux") # specific group declared as a string run "Bundler.require(:string)" - check out.should == "six" + out.should eq("six") # required in resolver order instead of gemfile order run("Bundler.require(:not)") @@ -95,10 +95,10 @@ describe "Bundler.require" do describe "using bundle exec" do it "requires the locked gems" do bundle "exec ruby -e 'Bundler.require'" - check out.should == "two" + out.should eq("two") bundle "exec ruby -e 'Bundler.require(:bar)'" - check out.should == "baz\nqux" + out.should eq("baz\nqux") bundle "exec ruby -e 'Bundler.require(:default, :bar)'" out.should == "baz\nqux\ntwo" @@ -138,7 +138,7 @@ describe "Bundler.require" do G run "Bundler.require" - check out.should == "two\nmodule_two\none" + out.should eq("two\nmodule_two\none") end describe "a gem with different requires for different envs" do @@ -178,7 +178,7 @@ describe "Bundler.require" do G run "Bundler.require" - check out.should == "two_not_loaded\none\ntwo" + out.should eq("two_not_loaded\none\ntwo") end describe "with busted gems" do @@ -225,7 +225,7 @@ describe "Bundler.require with platform specific dependencies" do run "Bundler.require; puts RACK", :expect_err => true - check out.should == "1.0.0" + out.should eq("1.0.0") err.should be_empty end end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/runtime/setup_spec.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/runtime/setup_spec.rb similarity index 80% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/runtime/setup_spec.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/runtime/setup_spec.rb index 1bfa4ca7..e2d94e23 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/runtime/setup_spec.rb +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/runtime/setup_spec.rb @@ -1,6 +1,65 @@ require "spec_helper" describe "Bundler.setup" do + describe "with no arguments" do + it "makes all groups available" do + install_gemfile <<-G + source "file://#{gem_repo1}" + gem "rack", :group => :test + G + + ruby <<-RUBY + require 'rubygems' + require 'bundler' + Bundler.setup + + require 'rack' + puts RACK + RUBY + err.should eq("") + out.should eq("1.0.0") + end + end + + describe "when called with groups" do + before(:each) do + install_gemfile <<-G + source "file://#{gem_repo1}" + gem "rack", :group => :test + G + end + + it "doesn't make all groups available" do + ruby <<-RUBY + require 'rubygems' + require 'bundler' + Bundler.setup(:default) + + begin + require 'rack' + rescue LoadError + puts "WIN" + end + RUBY + err.should eq("") + out.should eq("WIN") + end + + it "leaves all groups available if they were already" do + ruby <<-RUBY + require 'rubygems' + require 'bundler' + Bundler.setup + Bundler.setup(:default) + + require 'rack' + puts RACK + RUBY + err.should eq("") + out.should eq("1.0.0") + end + end + it "raises if the Gemfile was not yet installed" do gemfile <<-G source "file://#{gem_repo1}" @@ -68,7 +127,7 @@ describe "Bundler.setup" do gem "rack" G - lockfile = File.read(bundled_app("Gemfile.lock")) + File.read(bundled_app("Gemfile.lock")) FileUtils.rm(bundled_app("Gemfile.lock")) @@ -107,7 +166,7 @@ describe "Bundler.setup" do should_be_installed "rack 1.0.0" end - describe "cripping rubygems" do + describe "integrate with rubygems" do describe "by replacing #gem" do before :each do install_gemfile <<-G @@ -129,6 +188,19 @@ describe "Bundler.setup" do out.should == "WIN" end + it "version_requirement is now deprecated in rubygems 1.4.0+ when gem is missing" do + run <<-R, :expect_err => true + begin + gem "activesupport" + puts "FAIL" + rescue LoadError + puts "WIN" + end + R + + err.should be_empty + end + it "replaces #gem but raises when the version is wrong" do run <<-R begin @@ -141,6 +213,19 @@ describe "Bundler.setup" do out.should == "WIN" end + + it "version_requirement is now deprecated in rubygesm 1.4.0+ when the version is wrong" do + run <<-R, :expect_err => true + begin + gem "rack", "1.0.0" + puts "FAIL" + rescue LoadError + puts "WIN" + end + R + + err.should be_empty + end end describe "by hiding system gems" do @@ -348,6 +433,31 @@ describe "Bundler.setup" do out.should == "You have already activated thin 1.1, but your Gemfile requires thin 1.0. Consider using bundle exec." end + + it "version_requirement is now deprecated in rubygems 1.4.0+" do + system_gems "thin-1.0", "rack-1.0.0" + build_gem "thin", "1.1", :to_system => true do |s| + s.add_dependency "rack" + end + + gemfile <<-G + gem "thin", "1.0" + G + + ruby <<-R, :expect_err => true + require 'rubygems' + gem "thin" + require 'bundler' + begin + Bundler.setup + puts "FAIL" + rescue Gem::LoadError => e + puts e.message + end + R + + err.should be_empty + end end end @@ -412,12 +522,34 @@ describe "Bundler.setup" do run <<-R Gem.refresh - puts Gem.source_index.find_name("rack").inspect + puts Bundler.rubygems.find_name("rack").inspect R out.should == "[]" end + describe "when a vendored gem specification uses the :path option" do + it "should resolve paths relative to the Gemfile" do + path = bundled_app(File.join('vendor', 'foo')) + build_lib "foo", :path => path + + # If the .gemspec exists, then Bundler handles the path differently. + # See Source::Path.load_spec_files for details. + FileUtils.rm(File.join(path, 'foo.gemspec')) + + install_gemfile <<-G + gem 'foo', '1.2.3', :path => 'vendor/foo' + G + + Dir.chdir(bundled_app.parent) do + run <<-R, :env => {"BUNDLE_GEMFILE" => bundled_app('Gemfile')} + require 'foo' + R + end + err.should == "" + end + end + describe "with git gems that don't have gemspecs" do before :each do build_git "no-gemspec", :gemspec => false @@ -560,8 +692,8 @@ describe "Bundler.setup" do Bundler.load RUBY - err.should be_empty - out.should be_empty + err.should eq("") + out.should eq("") end end @@ -575,4 +707,5 @@ describe "Bundler.setup" do err.should be_empty end end + end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/runtime/with_clean_env_spec.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/runtime/with_clean_env_spec.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/runtime/with_clean_env_spec.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/runtime/with_clean_env_spec.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/spec_helper.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/spec_helper.rb similarity index 87% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/spec_helper.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/spec_helper.rb index a5f17dba..fc7ccebf 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/spec_helper.rb +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/spec_helper.rb @@ -26,7 +26,7 @@ $show_err = true Spec::Rubygems.setup FileUtils.rm_rf(Spec::Path.gem_repo1) -ENV['RUBYOPT'] = "-I#{Spec::Path.root}/spec/support/rubygems_hax" +ENV['RUBYOPT'] = "#{ENV['RUBYOPT']} -r#{Spec::Path.root}/spec/support/rubygems_hax/platform.rb" ENV['BUNDLE_SPEC_RUN'] = "true" RSpec.configure do |config| @@ -39,8 +39,13 @@ RSpec.configure do |config| config.include Spec::Platforms config.include Spec::Sudo + if Spec::Sudo.test_sudo? + config.filter_run :sudo => true + else + config.filter_run_excluding :sudo => true + end + config.filter_run :focused => true unless ENV['CI'] - config.filter_run_excluding :sudo => true unless Spec::Sudo.test_sudo? config.run_all_when_everything_filtered = true config.alias_example_to :fit, :focused => true @@ -52,11 +57,6 @@ RSpec.configure do |config| pending "JRuby executables do not have a proper shebang" if RUBY_PLATFORM == "java" end - def check(*args) - # suppresses ruby warnings about "useless use of == in void context" - # e.g. check foo.should == bar - end - config.before :all do build_repo1 end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/support/builders.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/support/builders.rb similarity index 95% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/support/builders.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/support/builders.rb index 66542855..936e1a4a 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/support/builders.rb +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/support/builders.rb @@ -32,7 +32,7 @@ module Spec build_gem "rails", "2.3.2" do |s| s.executables = "rails" - s.add_dependency "rake" + s.add_dependency "rake", "0.8.7" s.add_dependency "actionpack", "2.3.2" s.add_dependency "activerecord", "2.3.2" s.add_dependency "actionmailer", "2.3.2" @@ -217,6 +217,12 @@ module Spec s.add_dependency "net_d" end + # Capistrano did this (at least until version 2.5.10) + build_gem "double_deps" do |s| + s.add_dependency "net-ssh", ">= 1.0.0" + s.add_dependency "net-ssh" + end + build_gem "foo" end end @@ -316,6 +322,9 @@ module Spec Array(versions).each do |version| spec = builder.new(self, name, version) + if !spec.authors or spec.authors.empty? + spec.authors = ["no one"] + end yield spec if block_given? spec._build(options) end @@ -448,6 +457,8 @@ module Spec @files = _default_files.merge(@files) end + @spec.authors = ["no one"] + @files.each do |file, source| file = Pathname.new(path).join(file) FileUtils.mkdir_p(file.dirname) @@ -473,6 +484,8 @@ module Spec Dir.chdir(path) do `git init` `git add *` + `git config user.email "lol@wut.com"` + `git config user.name "lolwut"` `git commit -m 'OMG INITIAL COMMIT'` end end @@ -489,7 +502,7 @@ module Spec end class GitUpdater < LibBuilder - WINDOWS = Config::CONFIG["host_os"] =~ %r!(msdos|mswin|djgpp|mingw)! + WINDOWS = RbConfig::CONFIG["host_os"] =~ %r!(msdos|mswin|djgpp|mingw)! NULL = WINDOWS ? "NUL" : "/dev/null" def silently(str) @@ -557,6 +570,11 @@ module Spec Dir.chdir(lib_path) do destination = opts[:path] || _default_path FileUtils.mkdir_p(destination) + + if !@spec.authors or @spec.authors.empty? + @spec.authors = ["that guy"] + end + Gem::Builder.new(@spec).build if opts[:to_system] `gem install --ignore-dependencies #{@spec.full_name}.gem` diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/support/helpers.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/support/helpers.rb similarity index 98% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/support/helpers.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/support/helpers.rb index cdfb8b95..90a82c99 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/support/helpers.rb +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/support/helpers.rb @@ -3,7 +3,7 @@ module Spec def reset! @in_p, @out_p, @err_p = nil, nil, nil Dir["#{tmp}/{gems/*,*}"].each do |dir| - next if %(base remote1 gems rubygems_1_3_5 rubygems_1_3_6 rubygems_master).include?(File.basename(dir)) + next if %(base remote1 gems rubygems).include?(File.basename(dir)) unless ENV['BUNDLER_SUDO_TESTS'] FileUtils.rm_rf(dir) else diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/support/indexes.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/support/indexes.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/support/indexes.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/support/indexes.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/support/matchers.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/support/matchers.rb similarity index 82% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/support/matchers.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/support/matchers.rb index 429faa07..361a0330 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/support/matchers.rb +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/support/matchers.rb @@ -35,7 +35,7 @@ module Spec version_const = name == 'bundler' ? 'Bundler::VERSION' : Spec::Builders.constantize(name) run "require '#{name}.rb'; puts #{version_const}", *groups actual_version, actual_platform = out.split(/\s+/) - check Gem::Version.new(actual_version).should == Gem::Version.new(version) + Gem::Version.new(actual_version).should eq(Gem::Version.new(version)) actual_platform.should == platform end end @@ -67,23 +67,11 @@ module Spec bundled_app("Gemfile.lock").should exist end - RSpec::Matchers.define :be_with_diff do |expected| + def lockfile_should_be(expected) + should_be_locked spaces = expected[/\A\s+/, 0] || "" expected.gsub!(/^#{spaces}/, '') - - failure_message_for_should do |actual| - "The lockfile did not match.\n=== Expected:\n" << - expected << "\n=== Got:\n" << actual << "\n===========\n" - end - - match do |actual| - expected == actual - end - end - - def lockfile_should_be(expected) - lock = File.read(bundled_app("Gemfile.lock")) - lock.should be_with_diff(expected) + bundled_app("Gemfile.lock").read.should == expected end end end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/support/path.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/support/path.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/support/path.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/support/path.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/support/platforms.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/support/platforms.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/support/platforms.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/support/platforms.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/support/ruby_ext.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/support/ruby_ext.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/support/ruby_ext.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/support/ruby_ext.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/support/rubygems_ext.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/support/rubygems_ext.rb similarity index 84% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/support/rubygems_ext.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/support/rubygems_ext.rb index 9e1aa7fa..6991f5ec 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/support/rubygems_ext.rb +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/support/rubygems_ext.rb @@ -1,3 +1,5 @@ +require 'rubygems/user_interaction' + module Spec module Rubygems def self.setup @@ -10,7 +12,9 @@ module Spec unless File.exist?("#{Path.base_system_gems}") FileUtils.mkdir_p(Path.base_system_gems) puts "running `gem install rake fakeweb --no-rdoc --no-ri`" - `gem install rake fakeweb --no-rdoc --no-ri` + `gem install fakeweb --no-rdoc --no-ri` + # Rake version has to be consistent for tests to pass + `gem install rake --version 0.8.7 --no-rdoc --no-ri` # 3.0.0 breaks 1.9.2 specs puts "running `gem install builder --version 2.1.2 --no-rdoc --no-ri`" `gem install builder --version 2.1.2 --no-rdoc --no-ri` diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/support/rubygems_hax/rubygems_plugin.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/support/rubygems_hax/platform.rb similarity index 89% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/support/rubygems_hax/rubygems_plugin.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/support/rubygems_hax/platform.rb index 35a375a5..183d0801 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/support/rubygems_hax/rubygems_plugin.rb +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/support/rubygems_hax/platform.rb @@ -1,3 +1,5 @@ +require 'rubygems' + class Gem::Platform @local = new(ENV['BUNDLER_SPEC_PLATFORM']) if ENV['BUNDLER_SPEC_PLATFORM'] end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/support/sudo.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/support/sudo.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/support/sudo.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/support/sudo.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/update/gems_spec.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/update/gems_spec.rb similarity index 92% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/update/gems_spec.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/update/gems_spec.rb index b4d59c98..dcc69602 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/update/gems_spec.rb +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/update/gems_spec.rb @@ -43,6 +43,15 @@ describe "bundle update" do should_be_installed "rack 1.2", "rack-obama 1.0", "activesupport 2.3.5" end end + + describe "with --local option" do + it "doesn't hit repo2" do + FileUtils.rm_rf(gem_repo2) + + bundle "update --local" + out.should_not match(/Fetching source index/) + end + end end describe "bundle update in more complicated situations" do diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/update/git_spec.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/update/git_spec.rb similarity index 98% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/update/git_spec.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/update/git_spec.rb index 674fa79b..cd15b5c5 100644 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/update/git_spec.rb +++ b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/update/git_spec.rb @@ -145,7 +145,7 @@ describe "bundle update" do G run "require 'submodule'" - check out.should == 'GEM' + out.should eq('GEM') install_gemfile <<-G git "#{lib_path('has_submodule-1.0')}", :submodules => true do @@ -166,7 +166,7 @@ describe "bundle update" do G run "require 'submodule'" - check out.should == 'GIT' + out.should eq('GIT') install_gemfile <<-G git "#{lib_path('has_submodule-1.0')}" do diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/update/source_spec.rb b/vendor/plugins/bundler/gems/bundler-1.0.15/spec/update/source_spec.rb similarity index 100% rename from vendor/plugins/bundler/gems/bundler-1.0.7/spec/update/source_spec.rb rename to vendor/plugins/bundler/gems/bundler-1.0.15/spec/update/source_spec.rb diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/ISSUES.md b/vendor/plugins/bundler/gems/bundler-1.0.7/ISSUES.md deleted file mode 100644 index 3863dcfc..00000000 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/ISSUES.md +++ /dev/null @@ -1,47 +0,0 @@ -# Bundler Issues - -## Troubleshooting - -Instructions for common Bundler use-cases can be found on the [Bundler documentation site](http://gembundler.com/v1.0/). Detailed information about each Bundler command, including help with common problems, can be found in the [Bundler man pages](http://gembundler.com/man/bundle.1.html). - -After reading the documentation, try these troubleshooting steps: - - # remove user-specific gems and git repos - rm -rf ~/.bundle/ ~/.gem/ - - # remove system-wide git repos and git checkouts - rm -rf $GEM_HOME/bundler/ $GEM_HOME/cache/bundler/ - - # remove project-specific settings and git repos - rm -rf .bundle/ - - # remove project-specific cached .gem files - rm -rf vendor/cache/ - - # remove the saved resolve of the Gemfile - rm -rf Gemfile.lock - - # try to install one more time - bundle install - -## Reporting unresolved problems - -If you are still having problems, please report issues to the [Bundler issue tracker](http://github.com/carlhuda/bundler/issues/). - -Instructions that allow the Bundler team to reproduce your issue are vitally important. When you report a bug, please create a gist of the following information and include a link in your ticket: - - - What version of bundler you are using - - What version of Ruby you are using - - Whether you are using RVM, and if so what version - - Your Gemfile - - Your Gemfile.lock - - If you are on 0.9, whether you have locked or not - - If you are on 1.0, the result of `bundle config` - - The command you ran to generate exception(s) - - The exception backtrace(s) - -If you are using Rails 2.3, please also include: - - - Your boot.rb file - - Your preinitializer.rb file - - Your environment.rb file diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/setup.rb b/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/setup.rb deleted file mode 100644 index 3930d160..00000000 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/setup.rb +++ /dev/null @@ -1,16 +0,0 @@ -require 'bundler/shared_helpers' - -if Bundler::SharedHelpers.in_bundle? - require 'bundler' - begin - Bundler.setup - rescue Bundler::BundlerError => e - puts "\e[31m#{e.message}\e[0m" - puts e.backtrace.join("\n") if ENV["DEBUG"] - exit e.status_code - end - - # Add bundler to the load path after disabling system gems - bundler_lib = File.expand_path("../..", __FILE__) - $LOAD_PATH.unshift(bundler_lib) unless $LOAD_PATH.include?(bundler_lib) -end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/shared_helpers.rb b/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/shared_helpers.rb deleted file mode 100644 index 23e3d01c..00000000 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/lib/bundler/shared_helpers.rb +++ /dev/null @@ -1,158 +0,0 @@ -require 'pathname' -require 'rubygems' -Gem.source_index # ensure Rubygems is fully loaded in Ruby 1.9 - -module Gem - class Dependency - if !instance_methods.map { |m| m.to_s }.include?("requirement") - def requirement - version_requirements - end - end - end -end - -module Bundler - module SharedHelpers - attr_accessor :gem_loaded - - def default_gemfile - gemfile = find_gemfile - raise GemfileNotFound, "Could not locate Gemfile" unless gemfile - Pathname.new(gemfile) - end - - def default_lockfile - Pathname.new("#{default_gemfile}.lock") - end - - def in_bundle? - find_gemfile - end - - private - - def find_gemfile - given = ENV['BUNDLE_GEMFILE'] - return given if given && !given.empty? - - previous = nil - current = File.expand_path(Dir.pwd) - - until !File.directory?(current) || current == previous - if ENV['BUNDLE_SPEC_RUN'] - # avoid stepping above the tmp directory when testing - return nil if File.file?(File.join(current, 'bundler.gemspec')) - end - - # otherwise return the Gemfile if it's there - filename = File.join(current, 'Gemfile') - return filename if File.file?(filename) - current, previous = File.expand_path("..", current), current - end - end - - def clean_load_path - # handle 1.9 where system gems are always on the load path - if defined?(::Gem) - me = File.expand_path("../../", __FILE__) - $LOAD_PATH.reject! do |p| - next if File.expand_path(p) =~ /^#{me}/ - p != File.dirname(__FILE__) && - Gem.path.any?{|gp| p =~ /^#{gp}/ } - end - $LOAD_PATH.uniq! - end - end - - def reverse_rubygems_kernel_mixin - # Disable rubygems' gem activation system - ::Kernel.class_eval do - if private_method_defined?(:gem_original_require) - alias rubygems_require require - alias require gem_original_require - end - - undef gem - end - end - - def cripple_rubygems(specs) - reverse_rubygems_kernel_mixin - - executables = specs.map { |s| s.executables }.flatten - Gem.source_index # ensure RubyGems is fully loaded - - ::Kernel.send(:define_method, :gem) do |dep, *reqs| - if executables.include? File.basename(caller.first.split(':').first) - return - end - opts = reqs.last.is_a?(Hash) ? reqs.pop : {} - - unless dep.respond_to?(:name) && dep.respond_to?(:requirement) - dep = Gem::Dependency.new(dep, reqs) - end - - spec = specs.find { |s| s.name == dep.name } - - if spec.nil? - e = Gem::LoadError.new "#{dep.name} is not part of the bundle. Add it to Gemfile." - e.name = dep.name - e.version_requirement = dep.requirement - raise e - elsif dep !~ spec - e = Gem::LoadError.new "can't activate #{dep}, already activated #{spec.full_name}. " \ - "Make sure all dependencies are added to Gemfile." - e.name = dep.name - e.version_requirement = dep.requirement - raise e - end - - true - end - - # === Following hacks are to improve on the generated bin wrappers === - - # Yeah, talk about a hack - source_index_class = (class << Gem::SourceIndex ; self ; end) - source_index_class.send(:remove_method, :from_gems_in) - source_index_class.send(:define_method, :from_gems_in) do |*args| - source_index = Gem::SourceIndex.new - source_index.spec_dirs = *args - source_index.add_specs(*specs) - source_index - end - - # OMG more hacks - gem_class = (class << Gem ; self ; end) - gem_class.send(:remove_method, :refresh) - gem_class.send(:define_method, :refresh) { } - gem_class.send(:remove_method, :bin_path) - gem_class.send(:define_method, :bin_path) do |name, *args| - exec_name, *reqs = args - - if exec_name == 'bundle' - return ENV['BUNDLE_BIN_PATH'] - end - - spec = nil - - if exec_name - spec = specs.find { |s| s.executables.include?(exec_name) } - spec or raise Gem::Exception, "can't find executable #{exec_name}" - else - spec = specs.find { |s| s.name == name } - exec_name = spec.default_executable or raise Gem::Exception, "no default executable for #{spec.full_name}" - end - - gem_bin = File.join(spec.full_gem_path, spec.bindir, exec_name) - gem_from_path_bin = File.join(File.dirname(spec.loaded_from), spec.bindir, exec_name) - File.exist?(gem_bin) ? gem_bin : gem_from_path_bin - end - - Gem.clear_paths - end - - extend self - end -end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/other/ext_spec.rb b/vendor/plugins/bundler/gems/bundler-1.0.7/spec/other/ext_spec.rb deleted file mode 100644 index 2dd6afc9..00000000 --- a/vendor/plugins/bundler/gems/bundler-1.0.7/spec/other/ext_spec.rb +++ /dev/null @@ -1,16 +0,0 @@ -require 'spec_helper' - -describe "Gem::Specification#match_platform" do - it "does not match platforms other than the gem platform" do - darwin = gem "lol", "1.0", "platform_specific-1.0-x86-darwin-10" - darwin.match_platform(pl('java')).should be_false - end -end - -describe "Bundler::GemHelpers#generic" do - include Bundler::GemHelpers - - it "converts non-windows platforms into ruby" do - generic(pl('x86-darwin-10')).should == pl('ruby') - end -end diff --git a/vendor/plugins/bundler/specifications/bundler-1.0.15.gemspec b/vendor/plugins/bundler/specifications/bundler-1.0.15.gemspec new file mode 100644 index 00000000..6ac92e6f --- /dev/null +++ b/vendor/plugins/bundler/specifications/bundler-1.0.15.gemspec @@ -0,0 +1,37 @@ +# -*- encoding: utf-8 -*- + +Gem::Specification.new do |s| + s.name = %q{bundler} + s.version = "1.0.15" + + s.required_rubygems_version = Gem::Requirement.new(">= 1.3.6") if s.respond_to? :required_rubygems_version= + s.authors = ["Andr\303\251 Arko", "Terence Lee", "Carl Lerche", "Yehuda Katz"] + s.date = %q{2011-06-09} + s.default_executable = %q{bundle} + s.description = %q{Bundler manages an application's dependencies through its entire life, across many machines, systematically and repeatably} + s.email = ["andre@arko.net"] + s.executables = ["bundle"] + s.files = [".gitignore", "CHANGELOG.md", "ISSUES.md", "LICENSE", "README.md", "Rakefile", "UPGRADING.md", "bin/bundle", "bundler.gemspec", "lib/bundler.rb", "lib/bundler/capistrano.rb", "lib/bundler/cli.rb", "lib/bundler/definition.rb", "lib/bundler/dependency.rb", "lib/bundler/deployment.rb", "lib/bundler/dsl.rb", "lib/bundler/environment.rb", "lib/bundler/gem_helper.rb", "lib/bundler/gem_tasks.rb", "lib/bundler/graph.rb", "lib/bundler/index.rb", "lib/bundler/installer.rb", "lib/bundler/lazy_specification.rb", "lib/bundler/lockfile_parser.rb", "lib/bundler/remote_specification.rb", "lib/bundler/resolver.rb", "lib/bundler/rubygems_ext.rb", "lib/bundler/rubygems_integration.rb", "lib/bundler/runtime.rb", "lib/bundler/settings.rb", "lib/bundler/setup.rb", "lib/bundler/shared_helpers.rb", "lib/bundler/source.rb", "lib/bundler/spec_set.rb", "lib/bundler/templates/Executable", "lib/bundler/templates/Gemfile", "lib/bundler/templates/newgem/Gemfile.tt", "lib/bundler/templates/newgem/Rakefile.tt", "lib/bundler/templates/newgem/bin/newgem.tt", "lib/bundler/templates/newgem/gitignore.tt", "lib/bundler/templates/newgem/lib/newgem.rb.tt", "lib/bundler/templates/newgem/lib/newgem/version.rb.tt", "lib/bundler/templates/newgem/newgem.gemspec.tt", "lib/bundler/ui.rb", "lib/bundler/vendor/thor.rb", "lib/bundler/vendor/thor/actions.rb", "lib/bundler/vendor/thor/actions/create_file.rb", "lib/bundler/vendor/thor/actions/directory.rb", "lib/bundler/vendor/thor/actions/empty_directory.rb", "lib/bundler/vendor/thor/actions/file_manipulation.rb", "lib/bundler/vendor/thor/actions/inject_into_file.rb", "lib/bundler/vendor/thor/base.rb", "lib/bundler/vendor/thor/core_ext/file_binary_read.rb", "lib/bundler/vendor/thor/core_ext/hash_with_indifferent_access.rb", "lib/bundler/vendor/thor/core_ext/ordered_hash.rb", "lib/bundler/vendor/thor/error.rb", "lib/bundler/vendor/thor/invocation.rb", "lib/bundler/vendor/thor/parser.rb", "lib/bundler/vendor/thor/parser/argument.rb", "lib/bundler/vendor/thor/parser/arguments.rb", "lib/bundler/vendor/thor/parser/option.rb", "lib/bundler/vendor/thor/parser/options.rb", "lib/bundler/vendor/thor/shell.rb", "lib/bundler/vendor/thor/shell/basic.rb", "lib/bundler/vendor/thor/shell/color.rb", "lib/bundler/vendor/thor/shell/html.rb", "lib/bundler/vendor/thor/task.rb", "lib/bundler/vendor/thor/util.rb", "lib/bundler/vendor/thor/version.rb", "lib/bundler/version.rb", "lib/bundler/vlad.rb", "man/bundle-config.ronn", "man/bundle-exec.ronn", "man/bundle-install.ronn", "man/bundle-package.ronn", "man/bundle-update.ronn", "man/bundle.ronn", "man/gemfile.5.ronn", "man/index.txt", "spec/cache/gems_spec.rb", "spec/cache/git_spec.rb", "spec/cache/path_spec.rb", "spec/cache/platform_spec.rb", "spec/install/deploy_spec.rb", "spec/install/deprecated_spec.rb", "spec/install/gems/c_ext_spec.rb", "spec/install/gems/env_spec.rb", "spec/install/gems/flex_spec.rb", "spec/install/gems/groups_spec.rb", "spec/install/gems/packed_spec.rb", "spec/install/gems/platform_spec.rb", "spec/install/gems/resolving_spec.rb", "spec/install/gems/simple_case_spec.rb", "spec/install/gems/sudo_spec.rb", "spec/install/gems/win32_spec.rb", "spec/install/gemspec_spec.rb", "spec/install/git_spec.rb", "spec/install/invalid_spec.rb", "spec/install/path_spec.rb", "spec/install/upgrade_spec.rb", "spec/lock/git_spec.rb", "spec/lock/lockfile_spec.rb", "spec/other/check_spec.rb", "spec/other/config_spec.rb", "spec/other/console_spec.rb", "spec/other/exec_spec.rb", "spec/other/ext_spec.rb", "spec/other/gem_helper_spec.rb", "spec/other/help_spec.rb", "spec/other/init_spec.rb", "spec/other/newgem_spec.rb", "spec/other/open_spec.rb", "spec/other/show_spec.rb", "spec/pack/gems_spec.rb", "spec/quality_spec.rb", "spec/resolver/basic_spec.rb", "spec/resolver/platform_spec.rb", "spec/runtime/executable_spec.rb", "spec/runtime/load_spec.rb", "spec/runtime/platform_spec.rb", "spec/runtime/require_spec.rb", "spec/runtime/setup_spec.rb", "spec/runtime/with_clean_env_spec.rb", "spec/spec_helper.rb", "spec/support/builders.rb", "spec/support/helpers.rb", "spec/support/indexes.rb", "spec/support/matchers.rb", "spec/support/path.rb", "spec/support/platforms.rb", "spec/support/ruby_ext.rb", "spec/support/rubygems_ext.rb", "spec/support/rubygems_hax/platform.rb", "spec/support/sudo.rb", "spec/update/gems_spec.rb", "spec/update/git_spec.rb", "spec/update/source_spec.rb", "lib/bundler/man/bundle", "lib/bundler/man/bundle-benchmark", "lib/bundler/man/bundle-benchmark.txt", "lib/bundler/man/bundle-config", "lib/bundler/man/bundle-config.txt", "lib/bundler/man/bundle-exec", "lib/bundler/man/bundle-exec.txt", "lib/bundler/man/bundle-install", "lib/bundler/man/bundle-install.txt", "lib/bundler/man/bundle-package", "lib/bundler/man/bundle-package.txt", "lib/bundler/man/bundle-update", "lib/bundler/man/bundle-update.txt", "lib/bundler/man/bundle.txt", "lib/bundler/man/gemfile.5", "lib/bundler/man/gemfile.5.txt"] + s.homepage = %q{http://gembundler.com} + s.require_paths = ["lib"] + s.rubyforge_project = %q{bundler} + s.rubygems_version = %q{1.3.7} + s.summary = %q{The best way to manage your application's dependencies} + s.test_files = ["spec/cache/gems_spec.rb", "spec/cache/git_spec.rb", "spec/cache/path_spec.rb", "spec/cache/platform_spec.rb", "spec/install/deploy_spec.rb", "spec/install/deprecated_spec.rb", "spec/install/gems/c_ext_spec.rb", "spec/install/gems/env_spec.rb", "spec/install/gems/flex_spec.rb", "spec/install/gems/groups_spec.rb", "spec/install/gems/packed_spec.rb", "spec/install/gems/platform_spec.rb", "spec/install/gems/resolving_spec.rb", "spec/install/gems/simple_case_spec.rb", "spec/install/gems/sudo_spec.rb", "spec/install/gems/win32_spec.rb", "spec/install/gemspec_spec.rb", "spec/install/git_spec.rb", "spec/install/invalid_spec.rb", "spec/install/path_spec.rb", "spec/install/upgrade_spec.rb", "spec/lock/git_spec.rb", "spec/lock/lockfile_spec.rb", "spec/other/check_spec.rb", "spec/other/config_spec.rb", "spec/other/console_spec.rb", "spec/other/exec_spec.rb", "spec/other/ext_spec.rb", "spec/other/gem_helper_spec.rb", "spec/other/help_spec.rb", "spec/other/init_spec.rb", "spec/other/newgem_spec.rb", "spec/other/open_spec.rb", "spec/other/show_spec.rb", "spec/pack/gems_spec.rb", "spec/quality_spec.rb", "spec/resolver/basic_spec.rb", "spec/resolver/platform_spec.rb", "spec/runtime/executable_spec.rb", "spec/runtime/load_spec.rb", "spec/runtime/platform_spec.rb", "spec/runtime/require_spec.rb", "spec/runtime/setup_spec.rb", "spec/runtime/with_clean_env_spec.rb", "spec/spec_helper.rb", "spec/support/builders.rb", "spec/support/helpers.rb", "spec/support/indexes.rb", "spec/support/matchers.rb", "spec/support/path.rb", "spec/support/platforms.rb", "spec/support/ruby_ext.rb", "spec/support/rubygems_ext.rb", "spec/support/rubygems_hax/platform.rb", "spec/support/sudo.rb", "spec/update/gems_spec.rb", "spec/update/git_spec.rb", "spec/update/source_spec.rb"] + + if s.respond_to? :specification_version then + current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION + 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, [">= 0"]) + else + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) + end + else + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) + end +end diff --git a/vendor/plugins/bundler/specifications/bundler-1.0.7.gemspec b/vendor/plugins/bundler/specifications/bundler-1.0.7.gemspec deleted file mode 100644 index 38828d11..00000000 --- a/vendor/plugins/bundler/specifications/bundler-1.0.7.gemspec +++ /dev/null @@ -1,37 +0,0 @@ -# -*- encoding: utf-8 -*- - -Gem::Specification.new do |s| - s.name = %q{bundler} - s.version = "1.0.7" - - s.required_rubygems_version = Gem::Requirement.new(">= 1.3.6") if s.respond_to? :required_rubygems_version= - s.authors = ["Carl Lerche", "Yehuda Katz", "Andr\303\251 Arko"] - s.date = %q{2010-11-17} - s.default_executable = %q{bundle} - s.description = %q{Bundler manages an application's dependencies through its entire life, across many machines, systematically and repeatably} - s.email = ["carlhuda@engineyard.com"] - s.executables = ["bundle"] - s.files = [".gitignore", "CHANGELOG.md", "ISSUES.md", "LICENSE", "README.md", "Rakefile", "UPGRADING.md", "bin/bundle", "bundler.gemspec", "lib/bundler.rb", "lib/bundler/capistrano.rb", "lib/bundler/cli.rb", "lib/bundler/definition.rb", "lib/bundler/dependency.rb", "lib/bundler/deployment.rb", "lib/bundler/dsl.rb", "lib/bundler/environment.rb", "lib/bundler/gem_helper.rb", "lib/bundler/graph.rb", "lib/bundler/index.rb", "lib/bundler/installer.rb", "lib/bundler/lazy_specification.rb", "lib/bundler/lockfile_parser.rb", "lib/bundler/remote_specification.rb", "lib/bundler/resolver.rb", "lib/bundler/rubygems_ext.rb", "lib/bundler/runtime.rb", "lib/bundler/settings.rb", "lib/bundler/setup.rb", "lib/bundler/shared_helpers.rb", "lib/bundler/source.rb", "lib/bundler/spec_set.rb", "lib/bundler/templates/Executable", "lib/bundler/templates/Gemfile", "lib/bundler/templates/newgem/Gemfile.tt", "lib/bundler/templates/newgem/Rakefile.tt", "lib/bundler/templates/newgem/bin/newgem.tt", "lib/bundler/templates/newgem/gitignore.tt", "lib/bundler/templates/newgem/lib/newgem.rb.tt", "lib/bundler/templates/newgem/lib/newgem/version.rb.tt", "lib/bundler/templates/newgem/newgem.gemspec.tt", "lib/bundler/ui.rb", "lib/bundler/vendor/thor.rb", "lib/bundler/vendor/thor/actions.rb", "lib/bundler/vendor/thor/actions/create_file.rb", "lib/bundler/vendor/thor/actions/directory.rb", "lib/bundler/vendor/thor/actions/empty_directory.rb", "lib/bundler/vendor/thor/actions/file_manipulation.rb", "lib/bundler/vendor/thor/actions/inject_into_file.rb", "lib/bundler/vendor/thor/base.rb", "lib/bundler/vendor/thor/core_ext/file_binary_read.rb", "lib/bundler/vendor/thor/core_ext/hash_with_indifferent_access.rb", "lib/bundler/vendor/thor/core_ext/ordered_hash.rb", "lib/bundler/vendor/thor/error.rb", "lib/bundler/vendor/thor/invocation.rb", "lib/bundler/vendor/thor/parser.rb", "lib/bundler/vendor/thor/parser/argument.rb", "lib/bundler/vendor/thor/parser/arguments.rb", "lib/bundler/vendor/thor/parser/option.rb", "lib/bundler/vendor/thor/parser/options.rb", "lib/bundler/vendor/thor/shell.rb", "lib/bundler/vendor/thor/shell/basic.rb", "lib/bundler/vendor/thor/shell/color.rb", "lib/bundler/vendor/thor/shell/html.rb", "lib/bundler/vendor/thor/task.rb", "lib/bundler/vendor/thor/util.rb", "lib/bundler/vendor/thor/version.rb", "lib/bundler/version.rb", "lib/bundler/vlad.rb", "man/bundle-config.ronn", "man/bundle-exec.ronn", "man/bundle-install.ronn", "man/bundle-package.ronn", "man/bundle-update.ronn", "man/bundle.ronn", "man/gemfile.5.ronn", "man/index.txt", "spec/cache/gems_spec.rb", "spec/cache/git_spec.rb", "spec/cache/path_spec.rb", "spec/cache/platform_spec.rb", "spec/install/deploy_spec.rb", "spec/install/deprecated_spec.rb", "spec/install/gems/c_ext_spec.rb", "spec/install/gems/env_spec.rb", "spec/install/gems/flex_spec.rb", "spec/install/gems/groups_spec.rb", "spec/install/gems/packed_spec.rb", "spec/install/gems/platform_spec.rb", "spec/install/gems/resolving_spec.rb", "spec/install/gems/simple_case_spec.rb", "spec/install/gems/sudo_spec.rb", "spec/install/gems/win32_spec.rb", "spec/install/gemspec_spec.rb", "spec/install/git_spec.rb", "spec/install/invalid_spec.rb", "spec/install/path_spec.rb", "spec/install/upgrade_spec.rb", "spec/lock/git_spec.rb", "spec/lock/lockfile_spec.rb", "spec/other/check_spec.rb", "spec/other/config_spec.rb", "spec/other/console_spec.rb", "spec/other/exec_spec.rb", "spec/other/ext_spec.rb", "spec/other/gem_helper_spec.rb", "spec/other/help_spec.rb", "spec/other/init_spec.rb", "spec/other/newgem_spec.rb", "spec/other/open_spec.rb", "spec/other/show_spec.rb", "spec/pack/gems_spec.rb", "spec/quality_spec.rb", "spec/resolver/basic_spec.rb", "spec/resolver/platform_spec.rb", "spec/runtime/executable_spec.rb", "spec/runtime/load_spec.rb", "spec/runtime/platform_spec.rb", "spec/runtime/require_spec.rb", "spec/runtime/setup_spec.rb", "spec/runtime/with_clean_env_spec.rb", "spec/spec_helper.rb", "spec/support/builders.rb", "spec/support/helpers.rb", "spec/support/indexes.rb", "spec/support/matchers.rb", "spec/support/path.rb", "spec/support/platforms.rb", "spec/support/ruby_ext.rb", "spec/support/rubygems_ext.rb", "spec/support/rubygems_hax/rubygems_plugin.rb", "spec/support/sudo.rb", "spec/update/gems_spec.rb", "spec/update/git_spec.rb", "spec/update/source_spec.rb", "lib/bundler/man/bundle", "lib/bundler/man/bundle-config", "lib/bundler/man/bundle-config.txt", "lib/bundler/man/bundle-exec", "lib/bundler/man/bundle-exec.txt", "lib/bundler/man/bundle-install", "lib/bundler/man/bundle-install.txt", "lib/bundler/man/bundle-package", "lib/bundler/man/bundle-package.txt", "lib/bundler/man/bundle-update", "lib/bundler/man/bundle-update.txt", "lib/bundler/man/bundle.txt", "lib/bundler/man/gemfile.5", "lib/bundler/man/gemfile.5.txt"] - s.homepage = %q{http://gembundler.com} - s.require_paths = ["lib"] - s.rubyforge_project = %q{bundler} - s.rubygems_version = %q{1.3.7} - s.summary = %q{The best way to manage your application's dependencies} - s.test_files = ["spec/cache/gems_spec.rb", "spec/cache/git_spec.rb", "spec/cache/path_spec.rb", "spec/cache/platform_spec.rb", "spec/install/deploy_spec.rb", "spec/install/deprecated_spec.rb", "spec/install/gems/c_ext_spec.rb", "spec/install/gems/env_spec.rb", "spec/install/gems/flex_spec.rb", "spec/install/gems/groups_spec.rb", "spec/install/gems/packed_spec.rb", "spec/install/gems/platform_spec.rb", "spec/install/gems/resolving_spec.rb", "spec/install/gems/simple_case_spec.rb", "spec/install/gems/sudo_spec.rb", "spec/install/gems/win32_spec.rb", "spec/install/gemspec_spec.rb", "spec/install/git_spec.rb", "spec/install/invalid_spec.rb", "spec/install/path_spec.rb", "spec/install/upgrade_spec.rb", "spec/lock/git_spec.rb", "spec/lock/lockfile_spec.rb", "spec/other/check_spec.rb", "spec/other/config_spec.rb", "spec/other/console_spec.rb", "spec/other/exec_spec.rb", "spec/other/ext_spec.rb", "spec/other/gem_helper_spec.rb", "spec/other/help_spec.rb", "spec/other/init_spec.rb", "spec/other/newgem_spec.rb", "spec/other/open_spec.rb", "spec/other/show_spec.rb", "spec/pack/gems_spec.rb", "spec/quality_spec.rb", "spec/resolver/basic_spec.rb", "spec/resolver/platform_spec.rb", "spec/runtime/executable_spec.rb", "spec/runtime/load_spec.rb", "spec/runtime/platform_spec.rb", "spec/runtime/require_spec.rb", "spec/runtime/setup_spec.rb", "spec/runtime/with_clean_env_spec.rb", "spec/spec_helper.rb", "spec/support/builders.rb", "spec/support/helpers.rb", "spec/support/indexes.rb", "spec/support/matchers.rb", "spec/support/path.rb", "spec/support/platforms.rb", "spec/support/ruby_ext.rb", "spec/support/rubygems_ext.rb", "spec/support/rubygems_hax/rubygems_plugin.rb", "spec/support/sudo.rb", "spec/update/gems_spec.rb", "spec/update/git_spec.rb", "spec/update/source_spec.rb"] - - if s.respond_to? :specification_version then - current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION - 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, [">= 0"]) - else - s.add_dependency(%q, [">= 0"]) - s.add_dependency(%q, [">= 0"]) - end - else - s.add_dependency(%q, [">= 0"]) - s.add_dependency(%q, [">= 0"]) - end -end diff --git a/vendor/plugins/rails_xss/init.rb b/vendor/plugins/rails_xss/init.rb index 06eb5454..533eb1f3 100644 --- a/vendor/plugins/rails_xss/init.rb +++ b/vendor/plugins/rails_xss/init.rb @@ -1,5 +1,7 @@ unless $gems_rake_task - if !(Rails::VERSION::MAJOR.to_i >= 2 && Rails::VERSION::MINOR.to_i >=3 && Rails::VERSION::TINY.to_i >=8) + if Rails::VERSION::MAJOR >= 3 + $stderr.puts "You don't need to install rails_xss as a plugin for Rails 3 and after." + elsif Rails::VERSION::MAJOR <= 2 && Rails::VERSION::MINOR <= 3 && Rails::VERSION::TINY <= 7 $stderr.puts "rails_xss requires Rails 2.3.8 or later. Please upgrade to enable automatic HTML safety." else require 'rails_xss' diff --git a/vendor/plugins/rails_xss/lib/rails_xss/action_view.rb b/vendor/plugins/rails_xss/lib/rails_xss/action_view.rb index ad2fc87b..95cb0d4b 100644 --- a/vendor/plugins/rails_xss/lib/rails_xss/action_view.rb +++ b/vendor/plugins/rails_xss/lib/rails_xss/action_view.rb @@ -15,6 +15,15 @@ module ActionView end module Helpers + module CaptureHelper + 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)}#{ERB::Util.h(content)}".html_safe) + nil + end + end + module TextHelper def concat(string, unused_binding = nil) if unused_binding @@ -23,15 +32,53 @@ module ActionView output_buffer.concat(string) end + + def simple_format(text, html_options={}) + start_tag = tag('p', html_options, true) + text = ERB::Util.h(text).to_str.dup + text.gsub!(/\r\n?/, "\n") # \r\n and \r -> \n + text.gsub!(/\n\n+/, "

    \n\n#{start_tag}") # 2+ newline -> paragraph + text.gsub!(/([^\n]\n)(?=[^\n])/, '\1
    ') # 1 newline -> br + text.insert 0, start_tag + text.html_safe.safe_concat("

    ") + end end module TagHelper private def content_tag_string_with_escaping(name, content, options, escape = true) - content_tag_string_without_escaping(name, ERB::Util.h(content), options, escape) + content_tag_string_without_escaping(name, escape ? ERB::Util.h(content) : content, options, escape) end alias_method_chain :content_tag_string, :escaping end + + module UrlHelper + def link_to(*args, &block) + if block_given? + options = args.first || {} + html_options = args.second + concat(link_to(capture(&block), options, html_options)) + else + name = args.first + options = args.second || {} + html_options = args.third + + url = url_for(options) + + if html_options + html_options = html_options.stringify_keys + href = html_options['href'] + convert_options_to_javascript!(html_options, url) + tag_options = tag_options(html_options) + else + tag_options = nil + end + + href_attr = "href=\"#{url}\"" unless href + "#{ERB::Util.h(name || url)}".html_safe + end + end + end end end @@ -49,35 +96,6 @@ module RailsXss end end end - - module HelperOverrides - def link_to(*args, &block) - if block_given? - options = args.first || {} - html_options = args.second - concat(link_to(capture(&block), options, html_options)) - else - name = args.first - options = args.second || {} - html_options = args.third - - url = url_for(options) - - if html_options - html_options = html_options.stringify_keys - href = html_options['href'] - convert_options_to_javascript!(html_options, url) - tag_options = tag_options(html_options) - else - tag_options = nil - end - - href_attr = "href=\"#{url}\"" unless href - "#{ERB::Util.h(name || url)}".html_safe - end - end - end end Module.class_eval { include RailsXss::SafeHelpers } -ActionController::Base.helper(RailsXss::HelperOverrides) diff --git a/vendor/plugins/rails_xss/lib/rails_xss/erubis.rb b/vendor/plugins/rails_xss/lib/rails_xss/erubis.rb index b58e24d5..c8171c66 100644 --- a/vendor/plugins/rails_xss/lib/rails_xss/erubis.rb +++ b/vendor/plugins/rails_xss/lib/rails_xss/erubis.rb @@ -11,8 +11,10 @@ module RailsXss src << "@output_buffer.safe_concat('" << escape_text(text) << "');" end + BLOCK_EXPR = /\s+(do|\{)(\s*\|[^|]*\|)?\s*\Z/ + def add_expr_literal(src, code) - if code =~ /\s*raw\s+(.*)/ + if code =~ BLOCK_EXPR src << "@output_buffer.safe_concat((" << $1 << ").to_s);" else src << '@output_buffer << ((' << code << ').to_s);' diff --git a/vendor/plugins/rails_xss/lib/rails_xss/string_ext.rb b/vendor/plugins/rails_xss/lib/rails_xss/string_ext.rb index ae21705d..ed1aaa24 100644 --- a/vendor/plugins/rails_xss/lib/rails_xss/string_ext.rb +++ b/vendor/plugins/rails_xss/lib/rails_xss/string_ext.rb @@ -9,6 +9,19 @@ ActiveSupport::SafeBuffer.class_eval do end end alias << concat + UNSAFE_STRING_METHODS = ["capitalize", "chomp", "chop", "delete", "downcase", "gsub", "lstrip", "next", "reverse", "rstrip", "slice", "squeeze", "strip", "sub", "succ", "swapcase", "tr", "tr_s", "upcase"].freeze + + for unsafe_method in UNSAFE_STRING_METHODS + class_eval <<-EOT, __FILE__, __LINE__ + def #{unsafe_method}(*args) + super.to_str + end + + def #{unsafe_method}!(*args) + raise TypeError, "Cannot modify SafeBuffer in place" + end + EOT + end end class String diff --git a/vendor/plugins/rails_xss/test/active_record_helper_test.rb b/vendor/plugins/rails_xss/test/active_record_helper_test.rb new file mode 100644 index 00000000..728ec0ac --- /dev/null +++ b/vendor/plugins/rails_xss/test/active_record_helper_test.rb @@ -0,0 +1,74 @@ +require 'test_helper' + +class ActiveRecordHelperTest < ActionView::TestCase + silence_warnings do + Post = Struct.new("Post", :title, :author_name, :body, :secret, :written_on) + Post.class_eval do + alias_method :title_before_type_cast, :title unless respond_to?(:title_before_type_cast) + alias_method :body_before_type_cast, :body unless respond_to?(:body_before_type_cast) + alias_method :author_name_before_type_cast, :author_name unless respond_to?(:author_name_before_type_cast) + end + end + + def setup_post + @post = Post.new + def @post.errors + Class.new { + def on(field) + case field.to_s + when "author_name" + "can't be empty" + when "body" + true + else + false + end + end + def empty?() false end + def count() 1 end + def full_messages() [ "Author name can't be empty" ] end + }.new + end + + def @post.new_record?() true end + def @post.to_param() nil end + + def @post.column_for_attribute(attr_name) + Post.content_columns.select { |column| column.name == attr_name }.first + end + + silence_warnings do + def Post.content_columns() [ Column.new(:string, "title", "Title"), Column.new(:text, "body", "Body") ] end + end + + @post.title = "Hello World" + @post.author_name = "" + @post.body = "Back to the hill and over it again!" + @post.secret = 1 + @post.written_on = Date.new(2004, 6, 15) + end + + def setup + setup_post + + @response = ActionController::TestResponse.new + + @controller = Object.new + def @controller.url_for(options) + options = options.symbolize_keys + + [options[:action], options[:id].to_param].compact.join('/') + end + end + + def test_text_field_with_errors_is_safe + assert text_field("post", "author_name").html_safe? + end + + def test_text_field_with_errors + assert_dom_equal( + %(
    ), + text_field("post", "author_name") + ) + end +end diff --git a/vendor/plugins/rails_xss/test/asset_tag_helper_test.rb b/vendor/plugins/rails_xss/test/asset_tag_helper_test.rb new file mode 100644 index 00000000..f58feda3 --- /dev/null +++ b/vendor/plugins/rails_xss/test/asset_tag_helper_test.rb @@ -0,0 +1,49 @@ +require 'test_helper' + +class AssetTagHelperTest < ActionView::TestCase + def setup + @controller = Class.new do + attr_accessor :request + def url_for(*args) "http://www.example.com" end + end.new + end + + def test_auto_discovery_link_tag + assert_dom_equal(%(), + auto_discovery_link_tag(:atom, {}, {:rel => "Not so alternate"})) + end + + def test_javascript_include_tag_with_blank_asset_id + ENV["RAILS_ASSET_ID"] = "" + assert_dom_equal(%(\n\n\n\n\n), + javascript_include_tag("test", :defaults)) + end + + def test_javascript_include_tag_with_given_asset_id + ENV["RAILS_ASSET_ID"] = "1" + assert_dom_equal(%(\n\n\n\n), + javascript_include_tag(:defaults)) + ENV["RAILS_ASSET_ID"] = "" + end + + def test_javascript_include_tag_is_html_safe + assert javascript_include_tag(:defaults).html_safe? + assert javascript_include_tag("prototype").html_safe? + end + + def test_stylesheet_link_tag + assert_dom_equal(%(), + stylesheet_link_tag("http://www.example.com/styles/style")) + end + + def test_stylesheet_link_tag_is_html_safe + assert stylesheet_link_tag('dir/file').html_safe? + assert stylesheet_link_tag('dir/other/file', 'dir/file2').html_safe? + assert stylesheet_tag('dir/file', {}).html_safe? + end + + def test_image_tag + assert_dom_equal(%(Mouse), + image_tag("mouse.png", :mouseover => image_path("mouse_over.png"))) + end +end diff --git a/vendor/plugins/rails_xss/test/caching_test.rb b/vendor/plugins/rails_xss/test/caching_test.rb new file mode 100644 index 00000000..3ea41e8b --- /dev/null +++ b/vendor/plugins/rails_xss/test/caching_test.rb @@ -0,0 +1,54 @@ +require 'test_helper' + +CACHE_DIR = 'test_cache' +# Don't change '/../temp/' cavalierly or you might hose something you don't want hosed +FILE_STORE_PATH = File.join(File.dirname(__FILE__), '/../temp/', CACHE_DIR) +ActionController::Base.page_cache_directory = FILE_STORE_PATH +ActionController::Base.cache_store = :file_store, FILE_STORE_PATH + +class FragmentCachingTestController < ActionController::Base + def some_action; end; +end + +class FragmentCachingTest < ActionController::TestCase + def setup + ActionController::Base.perform_caching = true + @store = ActiveSupport::Cache::MemoryStore.new + ActionController::Base.cache_store = @store + @controller = FragmentCachingTestController.new + @params = {:controller => 'posts', :action => 'index'} + @request = ActionController::TestRequest.new + @response = ActionController::TestResponse.new + @controller.params = @params + @controller.request = @request + @controller.response = @response + @controller.send(:initialize_current_url) + @controller.send(:initialize_template_class, @response) + @controller.send(:assign_shortcuts, @request, @response) + end + + def test_fragment_for + @store.write('views/expensive', 'fragment content') + fragment_computed = false + + buffer = 'generated till now -> '.html_safe + @controller.fragment_for(buffer, 'expensive') { fragment_computed = true } + + assert !fragment_computed + assert_equal 'generated till now -> fragment content', buffer + end + + def test_html_safety + assert_nil @store.read('views/name') + content = 'value'.html_safe + assert_equal content, @controller.write_fragment('name', content) + + cached = @store.read('views/name') + assert_equal content, cached + assert_equal String, cached.class + + html_safe = @controller.read_fragment('name') + assert_equal content, html_safe + assert html_safe.html_safe? + end +end diff --git a/vendor/plugins/rails_xss/test/content_for_test.rb b/vendor/plugins/rails_xss/test/content_for_test.rb new file mode 100644 index 00000000..45ba6762 --- /dev/null +++ b/vendor/plugins/rails_xss/test/content_for_test.rb @@ -0,0 +1,39 @@ +require 'test_helper' + +class ContentForTest < ActionView::TestCase + + def test_content_for_should_yield_html_safe_string + content_for(:testing, "Some

    html

    ") + content = instance_variable_get(:"@content_for_testing") + assert content.html_safe? + end + + def test_content_for_should_escape_content + content_for(:testing, "Some

    html

    ") + content = instance_variable_get(:"@content_for_testing") + expected = %{Some <p>html</p>} + assert_dom_equal expected, content + end + + def test_content_for_should_not_escape_html_safe_content + content_for(:testing, "Some

    html

    ".html_safe) + content = instance_variable_get(:"@content_for_testing") + expected = %{Some

    html

    } + assert_dom_equal expected, content + end + + def test_content_for_should_escape_content_from_block + content_for(:testing){ "Some

    html

    " } + content = instance_variable_get(:"@content_for_testing") + expected = %{Some <p>html</p>} + assert_dom_equal expected, content + end + + def test_content_for_should_not_escape_html_safe_content_from_block + content_for(:testing){ "Some

    html

    ".html_safe } + content = instance_variable_get(:"@content_for_testing") + expected = %{Some

    html

    } + assert_dom_equal expected, content + end + +end diff --git a/vendor/plugins/rails_xss/test/date_helper_test.rb b/vendor/plugins/rails_xss/test/date_helper_test.rb new file mode 100644 index 00000000..daf01027 --- /dev/null +++ b/vendor/plugins/rails_xss/test/date_helper_test.rb @@ -0,0 +1,29 @@ +require 'test_helper' + +class DateHelperTest < ActionView::TestCase + silence_warnings do + Post = Struct.new("Post", :id, :written_on, :updated_at) + end + + def test_select_html_safety + assert select_day(16).html_safe? + assert select_month(8).html_safe? + assert select_year(Time.mktime(2003, 8, 16, 8, 4, 18)).html_safe? + assert select_minute(Time.mktime(2003, 8, 16, 8, 4, 18)).html_safe? + assert select_second(Time.mktime(2003, 8, 16, 8, 4, 18)).html_safe? + + assert select_minute(8, :use_hidden => true).html_safe? + assert select_month(8, :prompt => 'Choose month').html_safe? + + assert select_time(Time.mktime(2003, 8, 16, 8, 4, 18), {}, :class => 'selector').html_safe? + assert select_date(Time.mktime(2003, 8, 16), :date_separator => " / ", :start_year => 2003, :end_year => 2005, :prefix => "date[first]").html_safe? + end + + def test_object_select_html_safety + @post = Post.new + @post.written_on = Date.new(2004, 6, 15) + + assert date_select("post", "written_on", :default => Time.local(2006, 9, 19, 15, 16, 35), :include_blank => true).html_safe? + assert time_select("post", "written_on", :ignore_date => true).html_safe? + end +end diff --git a/vendor/plugins/rails_xss/test/deprecated_output_safety_test.rb b/vendor/plugins/rails_xss/test/deprecated_output_safety_test.rb new file mode 100644 index 00000000..e16f7ce0 --- /dev/null +++ b/vendor/plugins/rails_xss/test/deprecated_output_safety_test.rb @@ -0,0 +1,112 @@ +require 'test_helper' + +class DeprecatedOutputSafetyTest < ActiveSupport::TestCase + def setup + @string = "hello" + end + + test "A string can be marked safe using html_safe!" do + assert_deprecated do + @string.html_safe! + assert @string.html_safe? + end + end + + test "Marking a string safe returns the string using html_safe!" do + assert_deprecated do + assert_equal @string, @string.html_safe! + end + end + + test "Adding a safe string to another safe string returns a safe string using html_safe!" do + assert_deprecated do + @other_string = "other".html_safe! + @string.html_safe! + @combination = @other_string + @string + + assert_equal "otherhello", @combination + assert @combination.html_safe? + end + end + + test "Adding an unsafe string to a safe string returns an unsafe string using html_safe!" do + assert_deprecated do + @other_string = "other".html_safe! + @combination = @other_string + "" + @other_combination = @string + "" + + assert_equal "other", @combination + assert_equal "hello", @other_combination + + assert !@combination.html_safe? + assert !@other_combination.html_safe? + end + end + + test "Concatting safe onto unsafe yields unsafe using html_safe!" do + assert_deprecated do + @other_string = "other" + @string.html_safe! + + @other_string.concat(@string) + assert !@other_string.html_safe? + end + end + + test "Concatting unsafe onto safe yields unsafe using html_safe!" do + assert_deprecated do + @other_string = "other".html_safe! + string = @other_string.concat("") + assert_equal "other", string + assert !string.html_safe? + end + end + + test "Concatting safe onto safe yields safe using html_safe!" do + assert_deprecated do + @other_string = "other".html_safe! + @string.html_safe! + + @other_string.concat(@string) + assert @other_string.html_safe? + end + end + + test "Concatting safe onto unsafe with << yields unsafe using html_safe!" do + assert_deprecated do + @other_string = "other" + @string.html_safe! + + @other_string << @string + assert !@other_string.html_safe? + end + end + + test "Concatting unsafe onto safe with << yields unsafe using html_safe!" do + assert_deprecated do + @other_string = "other".html_safe! + string = @other_string << "" + assert_equal "other", string + assert !string.html_safe? + end + end + + test "Concatting safe onto safe with << yields safe using html_safe!" do + assert_deprecated do + @other_string = "other".html_safe! + @string.html_safe! + + @other_string << @string + assert @other_string.html_safe? + end + end + + test "Concatting a fixnum to safe always yields safe using html_safe!" do + assert_deprecated do + @string.html_safe! + @string.concat(13) + assert_equal "hello".concat(13), @string + assert @string.html_safe? + end + end +end diff --git a/vendor/plugins/rails_xss/test/erb_util_test.rb b/vendor/plugins/rails_xss/test/erb_util_test.rb new file mode 100644 index 00000000..9a04d38e --- /dev/null +++ b/vendor/plugins/rails_xss/test/erb_util_test.rb @@ -0,0 +1,36 @@ +require 'test_helper' + +class ErbUtilTest < Test::Unit::TestCase + include ERB::Util + + ERB::Util::HTML_ESCAPE.each do |given, expected| + define_method "test_html_escape_#{expected.gsub(/\W/, '')}" do + assert_equal expected, html_escape(given) + end + + unless given == '"' + define_method "test_json_escape_#{expected.gsub(/\W/, '')}" do + assert_equal ERB::Util::JSON_ESCAPE[given], json_escape(given) + end + end + end + + def test_html_escape_is_html_safe + escaped = h("

    ") + assert_equal "<p>", escaped + assert escaped.html_safe? + end + + def test_html_escape_passes_html_escpe_unmodified + escaped = h("

    ".html_safe) + assert_equal "

    ", escaped + assert escaped.html_safe? + end + + def test_rest_in_ascii + (0..127).to_a.map {|int| int.chr }.each do |chr| + next if %w(& " < >).include?(chr) + assert_equal chr, html_escape(chr) + end + end +end diff --git a/vendor/plugins/rails_xss/test/form_helper_test.rb b/vendor/plugins/rails_xss/test/form_helper_test.rb new file mode 100644 index 00000000..e5580d26 --- /dev/null +++ b/vendor/plugins/rails_xss/test/form_helper_test.rb @@ -0,0 +1,1447 @@ +require 'test_helper' + +silence_warnings do + Post = Struct.new(:title, :author_name, :body, :secret, :written_on, :cost) + Post.class_eval do + alias_method :title_before_type_cast, :title unless respond_to?(:title_before_type_cast) + alias_method :body_before_type_cast, :body unless respond_to?(:body_before_type_cast) + alias_method :author_name_before_type_cast, :author_name unless respond_to?(:author_name_before_type_cast) + alias_method :secret?, :secret + + def new_record=(boolean) + @new_record = boolean + end + + def new_record? + @new_record + end + + attr_accessor :author + def author_attributes=(attributes); end + + attr_accessor :comments + def comments_attributes=(attributes); end + + attr_accessor :tags + def tags_attributes=(attributes); end + end + + class Comment + attr_reader :id + attr_reader :post_id + def initialize(id = nil, post_id = nil); @id, @post_id = id, post_id end + def save; @id = 1; @post_id = 1 end + def new_record?; @id.nil? end + def to_param; @id; end + def name + @id.nil? ? "new #{self.class.name.downcase}" : "#{self.class.name.downcase} ##{@id}" + end + + attr_accessor :relevances + def relevances_attributes=(attributes); end + + end + + class Tag + attr_reader :id + attr_reader :post_id + def initialize(id = nil, post_id = nil); @id, @post_id = id, post_id end + def save; @id = 1; @post_id = 1 end + def new_record?; @id.nil? end + def to_param; @id; end + def value + @id.nil? ? "new #{self.class.name.downcase}" : "#{self.class.name.downcase} ##{@id}" + end + + attr_accessor :relevances + def relevances_attributes=(attributes); end + + end + + class CommentRelevance + attr_reader :id + attr_reader :comment_id + def initialize(id = nil, comment_id = nil); @id, @comment_id = id, comment_id end + def save; @id = 1; @comment_id = 1 end + def new_record?; @id.nil? end + def to_param; @id; end + def value + @id.nil? ? "new #{self.class.name.downcase}" : "#{self.class.name.downcase} ##{@id}" + end + end + + class TagRelevance + attr_reader :id + attr_reader :tag_id + def initialize(id = nil, tag_id = nil); @id, @tag_id = id, tag_id end + def save; @id = 1; @tag_id = 1 end + def new_record?; @id.nil? end + def to_param; @id; end + def value + @id.nil? ? "new #{self.class.name.downcase}" : "#{self.class.name.downcase} ##{@id}" + end + end + + class Author < Comment + attr_accessor :post + def post_attributes=(attributes); end + end +end + +class FormHelperTest < ActionView::TestCase + tests ActionView::Helpers::FormHelper + + def setup + super + + # Create "label" locale for testing I18n label helpers + I18n.backend.store_translations 'label', { + :helpers => { + :label => { + :post => { + :body => "Write entire text here" + } + } + } + } + + @post = Post.new + @comment = Comment.new + def @post.errors() + Class.new{ + def on(field); "can't be empty" if field == "author_name"; end + def empty?() false end + def count() 1 end + def full_messages() [ "Author name can't be empty" ] end + }.new + end + def @post.id; 123; end + def @post.id_before_type_cast; 123; end + def @post.to_param; '123'; end + + @post.title = "Hello World" + @post.author_name = "" + @post.body = "Back to the hill and over it again!" + @post.secret = 1 + @post.written_on = Date.new(2004, 6, 15) + + def Post.human_attribute_name(attribute) + attribute.to_s == "cost" ? "Total cost" : attribute.to_s.humanize + end + + @controller = Class.new do + attr_reader :url_for_options + def url_for(options) + @url_for_options = options + "http://www.example.com" + end + end + @controller = @controller.new + end + + def test_label + assert_dom_equal('', label("post", "title")) + assert_dom_equal('', label("post", "title", "The title goes here")) + assert_dom_equal( + '', + label("post", "title", nil, :class => 'title_label') + ) + assert_dom_equal('', label("post", "secret?")) + end + + def test_label_with_symbols + assert_dom_equal('', label(:post, :title)) + assert_dom_equal('', label(:post, :secret?)) + end + + def test_label_with_locales_strings + old_locale, I18n.locale = I18n.locale, :label + assert_dom_equal('', label("post", "body")) + ensure + I18n.locale = old_locale + end + + def test_label_with_human_attribute_name + old_locale, I18n.locale = I18n.locale, :label + assert_dom_equal('', label(:post, :cost)) + ensure + I18n.locale = old_locale + end + + def test_label_with_locales_symbols + old_locale, I18n.locale = I18n.locale, :label + assert_dom_equal('', label(:post, :body)) + ensure + I18n.locale = old_locale + end + + def test_label_with_for_attribute_as_symbol + assert_dom_equal('', label(:post, :title, nil, :for => "my_for")) + end + + def test_label_with_for_attribute_as_string + assert_dom_equal('', label(:post, :title, nil, "for" => "my_for")) + end + + def test_label_with_id_attribute_as_symbol + assert_dom_equal('', label(:post, :title, nil, :id => "my_id")) + end + + def test_label_with_id_attribute_as_string + assert_dom_equal('', label(:post, :title, nil, "id" => "my_id")) + end + + def test_label_with_for_and_id_attributes_as_symbol + assert_dom_equal('', label(:post, :title, nil, :for => "my_for", :id => "my_id")) + end + + def test_label_with_for_and_id_attributes_as_string + assert_dom_equal('', label(:post, :title, nil, "for" => "my_for", "id" => "my_id")) + end + + def test_label_for_radio_buttons_with_value + assert_dom_equal('', label("post", "title", "The title goes here", :value => "great_title")) + assert_dom_equal('', label("post", "title", "The title goes here", :value => "great title")) + end + + def test_text_field + assert_dom_equal( + '', text_field("post", "title") + ) + assert_dom_equal( + '', password_field("post", "title") + ) + assert_dom_equal( + '', password_field("person", "name") + ) + end + + def test_text_field_with_escapes + @post.title = "Hello World" + assert_dom_equal( + '', text_field("post", "title") + ) + end + + def test_text_field_with_html_entities + @post.title = "The HTML Entity for & is &" + assert_dom_equal( + '', + text_field("post", "title") + ) + end + + def test_text_field_with_options + expected = '' + assert_dom_equal expected, text_field("post", "title", "size" => 35) + assert_dom_equal expected, text_field("post", "title", :size => 35) + end + + def test_text_field_assuming_size + expected = '' + assert_dom_equal expected, text_field("post", "title", "maxlength" => 35) + assert_dom_equal expected, text_field("post", "title", :maxlength => 35) + end + + def test_text_field_removing_size + expected = '' + assert_dom_equal expected, text_field("post", "title", "maxlength" => 35, "size" => nil) + assert_dom_equal expected, text_field("post", "title", :maxlength => 35, :size => nil) + end + + def test_text_field_doesnt_change_param_values + object_name = 'post[]' + expected = '' + assert_equal expected, text_field(object_name, "title") + assert_equal object_name, "post[]" + end + + def test_hidden_field + assert_dom_equal '', + hidden_field("post", "title") + assert_dom_equal '', + hidden_field("post", "secret?") + end + + def test_hidden_field_with_escapes + @post.title = "Hello World" + assert_dom_equal '', + hidden_field("post", "title") + end + + def test_hidden_field_with_options + assert_dom_equal '', + hidden_field("post", "title", :value => "Something Else") + end + + def test_check_box + assert_dom_equal( + '', + check_box("post", "secret") + ) + @post.secret = 0 + assert_dom_equal( + '', + check_box("post", "secret") + ) + assert_dom_equal( + '', + check_box("post", "secret" ,{"checked"=>"checked"}) + ) + @post.secret = true + assert_dom_equal( + '', + check_box("post", "secret") + ) + assert_dom_equal( + '', + check_box("post", "secret?") + ) + + @post.secret = ['0'] + assert_dom_equal( + '', + check_box("post", "secret") + ) + @post.secret = ['1'] + assert_dom_equal( + '', + check_box("post", "secret") + ) + end + + def test_check_box_with_explicit_checked_and_unchecked_values + @post.secret = "on" + assert_dom_equal( + '', + check_box("post", "secret", {}, "on", "off") + ) + end + + def test_checkbox_disabled_still_submits_checked_value + assert_dom_equal( + '', + check_box("post", "secret", { :disabled => :true }) + ) + end + + def test_radio_button + assert_dom_equal('', + radio_button("post", "title", "Hello World") + ) + assert_dom_equal('', + radio_button("post", "title", "Goodbye World") + ) + assert_dom_equal('', + radio_button("item[subobject]", "title", "inside world") + ) + end + + def test_radio_button_is_checked_with_integers + assert_dom_equal('', + radio_button("post", "secret", "1") + ) + end + + def test_radio_button_respects_passed_in_id + assert_dom_equal('', + radio_button("post", "secret", "1", :id=>"foo") + ) + end + + def test_radio_button_with_booleans + assert_dom_equal('', + radio_button("post", "secret", true) + ) + + assert_dom_equal('', + radio_button("post", "secret", false) + ) + end + + def test_text_area + assert_dom_equal( + '', + text_area("post", "body") + ) + end + + def test_text_area_with_escapes + @post.body = "Back to the hill and over it again!" + assert_dom_equal( + '', + text_area("post", "body") + ) + end + + def test_text_area_with_alternate_value + assert_dom_equal( + '', + text_area("post", "body", :value => 'Testing alternate values.') + ) + end + + def test_text_area_with_html_entities + @post.body = "The HTML Entity for & is &" + assert_dom_equal( + '', + text_area("post", "body") + ) + end + + def test_text_area_with_size_option + assert_dom_equal( + '', + text_area("post", "body", :size => "183x820") + ) + end + + def test_explicit_name + assert_dom_equal( + '', text_field("post", "title", "name" => "dont guess") + ) + assert_dom_equal( + '', + text_area("post", "body", "name" => "really!") + ) + assert_dom_equal( + '', + check_box("post", "secret", "name" => "i mean it") + ) + assert_dom_equal text_field("post", "title", "name" => "dont guess"), + text_field("post", "title", :name => "dont guess") + assert_dom_equal text_area("post", "body", "name" => "really!"), + text_area("post", "body", :name => "really!") + assert_dom_equal check_box("post", "secret", "name" => "i mean it"), + check_box("post", "secret", :name => "i mean it") + end + + def test_explicit_id + assert_dom_equal( + '', text_field("post", "title", "id" => "dont guess") + ) + assert_dom_equal( + '', + text_area("post", "body", "id" => "really!") + ) + assert_dom_equal( + '', + check_box("post", "secret", "id" => "i mean it") + ) + assert_dom_equal text_field("post", "title", "id" => "dont guess"), + text_field("post", "title", :id => "dont guess") + assert_dom_equal text_area("post", "body", "id" => "really!"), + text_area("post", "body", :id => "really!") + assert_dom_equal check_box("post", "secret", "id" => "i mean it"), + check_box("post", "secret", :id => "i mean it") + end + + def test_auto_index + pid = @post.id + assert_dom_equal( + "", + label("post[]", "title") + ) + assert_dom_equal( + "", text_field("post[]","title") + ) + assert_dom_equal( + "", + text_area("post[]", "body") + ) + assert_dom_equal( + "", + check_box("post[]", "secret") + ) + assert_dom_equal( +"", + radio_button("post[]", "title", "Hello World") + ) + assert_dom_equal("", + radio_button("post[]", "title", "Goodbye World") + ) + end + + def test_form_for + form_for(:post, @post, :html => { :id => 'create-post' }) do |f| + concat f.label(:title) + concat f.text_field(:title) + concat f.text_area(:body) + concat f.check_box(:secret) + concat f.submit('Create post') + end + + expected = + "

    " + + "" + + "" + + "" + + "" + + "" + + "" + + "
    " + + assert_dom_equal expected, output_buffer + end + + def test_form_for_with_method + form_for(:post, @post, :html => { :id => 'create-post', :method => :put }) do |f| + concat f.text_field(:title) + concat f.text_area(:body) + concat f.check_box(:secret) + end + + expected = + "
    " + + "
    " + + "" + + "" + + "" + + "" + + "
    " + + assert_dom_equal expected, output_buffer + end + + def test_form_for_without_object + form_for(:post, :html => { :id => 'create-post' }) do |f| + concat f.text_field(:title) + concat f.text_area(:body) + concat f.check_box(:secret) + end + + expected = + "
    " + + "" + + "" + + "" + + "" + + "
    " + + assert_dom_equal expected, output_buffer + end + + def test_form_for_with_index + form_for("post[]", @post) do |f| + concat f.label(:title) + concat f.text_field(:title) + concat f.text_area(:body) + concat f.check_box(:secret) + end + + expected = + "
    " + + "" + + "" + + "" + + "" + + "" + + "
    " + + assert_dom_equal expected, output_buffer + end + + def test_form_for_with_nil_index_option_override + form_for("post[]", @post, :index => nil) do |f| + concat f.text_field(:title) + concat f.text_area(:body) + concat f.check_box(:secret) + end + + expected = + "
    " + + "" + + "" + + "" + + "" + + "
    " + + assert_dom_equal expected, output_buffer + end + + def test_nested_fields_for + form_for(:post, @post) do |f| + f.fields_for(:comment, @post) do |c| + concat c.text_field(:title) + end + end + + expected = "
    " + + "" + + "
    " + + assert_dom_equal expected, output_buffer + end + + def test_nested_fields_for_with_nested_collections + form_for('post[]', @post) do |f| + concat f.text_field(:title) + f.fields_for('comment[]', @comment) do |c| + concat c.text_field(:name) + end + end + + expected = "
    " + + "" + + "" + + "
    " + + assert_dom_equal expected, output_buffer + end + + def test_nested_fields_for_with_index_and_parent_fields + form_for('post', @post, :index => 1) do |c| + concat c.text_field(:title) + c.fields_for('comment', @comment, :index => 1) do |r| + concat r.text_field(:name) + end + end + + expected = "
    " + + "" + + "" + + "
    " + + assert_dom_equal expected, output_buffer + end + + def test_form_for_with_index_and_nested_fields_for + form_for(:post, @post, :index => 1) do |f| + f.fields_for(:comment, @post) do |c| + concat c.text_field(:title) + end + end + + expected = "
    " + + "" + + "
    " + + assert_dom_equal expected, output_buffer + end + + def test_nested_fields_for_with_index_on_both + form_for(:post, @post, :index => 1) do |f| + f.fields_for(:comment, @post, :index => 5) do |c| + concat c.text_field(:title) + end + end + + expected = "
    " + + "" + + "
    " + + assert_dom_equal expected, output_buffer + end + + def test_nested_fields_for_with_auto_index + form_for("post[]", @post) do |f| + f.fields_for(:comment, @post) do |c| + concat c.text_field(:title) + end + end + + expected = "
    " + + "" + + "
    " + + assert_dom_equal expected, output_buffer + end + + def test_nested_fields_for_with_index_radio_button + form_for(:post, @post) do |f| + f.fields_for(:comment, @post, :index => 5) do |c| + concat c.radio_button(:title, "hello") + end + end + + expected = "
    " + + "" + + "
    " + + assert_dom_equal expected, output_buffer + end + + def test_nested_fields_for_with_auto_index_on_both + form_for("post[]", @post) do |f| + f.fields_for("comment[]", @post) do |c| + concat c.text_field(:title) + end + end + + expected = "
    " + + "" + + "
    " + + assert_dom_equal expected, output_buffer + end + + def test_nested_fields_for_with_index_and_auto_index + form_for("post[]", @post) do |f| + f.fields_for(:comment, @post, :index => 5) do |c| + concat c.text_field(:title) + end + end + + form_for(:post, @post, :index => 1) do |f| + f.fields_for("comment[]", @post) do |c| + concat c.text_field(:title) + end + end + + expected = "
    " + + "" + + "
    " + + "
    " + + "" + + "
    " + + assert_dom_equal expected, output_buffer + end + + def test_nested_fields_for_with_a_new_record_on_a_nested_attributes_one_to_one_association + @post.author = Author.new + + form_for(:post, @post) do |f| + concat f.text_field(:title) + f.fields_for(:author) do |af| + concat af.text_field(:name) + end + end + + expected = '
    ' + + '' + + '' + + '
    ' + + assert_dom_equal expected, output_buffer + end + + def test_nested_fields_for_with_explicitly_passed_object_on_a_nested_attributes_one_to_one_association + form_for(:post, @post) do |f| + f.fields_for(:author, Author.new(123)) do |af| + assert_not_nil af.object + assert_equal 123, af.object.id + end + end + end + + def test_nested_fields_for_with_an_existing_record_on_a_nested_attributes_one_to_one_association + @post.author = Author.new(321) + + form_for(:post, @post) do |f| + concat f.text_field(:title) + f.fields_for(:author) do |af| + concat af.text_field(:name) + end + end + + expected = '
    ' + + '' + + '' + + '' + + '
    ' + + assert_dom_equal expected, output_buffer + end + + def test_nested_fields_for_with_existing_records_on_a_nested_attributes_one_to_one_association_with_explicit_hidden_field_placement + @post.author = Author.new(321) + + form_for(:post, @post) do |f| + concat f.text_field(:title) + f.fields_for(:author) do |af| + concat af.hidden_field(:id) + concat af.text_field(:name) + end + end + + expected = '
    ' + + '' + + '' + + '' + + '
    ' + + assert_dom_equal expected, output_buffer + end + + def test_nested_fields_for_with_existing_records_on_a_nested_attributes_collection_association + @post.comments = Array.new(2) { |id| Comment.new(id + 1) } + + form_for(:post, @post) do |f| + concat f.text_field(:title) + @post.comments.each do |comment| + f.fields_for(:comments, comment) do |cf| + concat cf.text_field(:name) + end + end + end + + expected = '
    ' + + '' + + '' + + '' + + '' + + '' + + '
    ' + + assert_dom_equal expected, output_buffer + end + + def test_nested_fields_for_with_existing_records_on_a_nested_attributes_collection_association_with_explicit_hidden_field_placement + @post.comments = Array.new(2) { |id| Comment.new(id + 1) } + + form_for(:post, @post) do |f| + concat f.text_field(:title) + @post.comments.each do |comment| + f.fields_for(:comments, comment) do |cf| + concat cf.hidden_field(:id) + concat cf.text_field(:name) + end + end + end + + expected = '
    ' + + '' + + '' + + '' + + '' + + '' + + '
    ' + + assert_dom_equal expected, output_buffer + end + + def test_nested_fields_for_with_new_records_on_a_nested_attributes_collection_association + @post.comments = [Comment.new, Comment.new] + + form_for(:post, @post) do |f| + concat f.text_field(:title) + @post.comments.each do |comment| + f.fields_for(:comments, comment) do |cf| + concat cf.text_field(:name) + end + end + end + + expected = '
    ' + + '' + + '' + + '' + + '
    ' + + assert_dom_equal expected, output_buffer + end + + def test_nested_fields_for_with_existing_and_new_records_on_a_nested_attributes_collection_association + @post.comments = [Comment.new(321), Comment.new] + + form_for(:post, @post) do |f| + concat f.text_field(:title) + @post.comments.each do |comment| + f.fields_for(:comments, comment) do |cf| + concat cf.text_field(:name) + end + end + end + + expected = '
    ' + + '' + + '' + + '' + + '' + + '
    ' + + assert_dom_equal expected, output_buffer + end + + def test_nested_fields_for_with_an_empty_supplied_attributes_collection + form_for(:post, @post) do |f| + concat f.text_field(:title) + f.fields_for(:comments, []) do |cf| + concat cf.text_field(:name) + end + end + + expected = '
    ' + + '' + + '
    ' + + assert_dom_equal expected, output_buffer + end + + def test_nested_fields_for_with_existing_records_on_a_supplied_nested_attributes_collection + @post.comments = Array.new(2) { |id| Comment.new(id + 1) } + + form_for(:post, @post) do |f| + concat f.text_field(:title) + f.fields_for(:comments, @post.comments) do |cf| + concat cf.text_field(:name) + end + end + + expected = '
    ' + + '' + + '' + + '' + + '' + + '' + + '
    ' + + assert_dom_equal expected, output_buffer + end + + def test_nested_fields_for_on_a_nested_attributes_collection_association_yields_only_builder + @post.comments = [Comment.new(321), Comment.new] + yielded_comments = [] + + form_for(:post, @post) do |f| + concat f.text_field(:title) + f.fields_for(:comments) do |cf| + concat cf.text_field(:name) + yielded_comments << cf.object + end + end + + expected = '
    ' + + '' + + '' + + '' + + '' + + '
    ' + + assert_dom_equal expected, output_buffer + assert_equal yielded_comments, @post.comments + end + + def test_nested_fields_for_with_child_index_option_override_on_a_nested_attributes_collection_association + @post.comments = [] + + form_for(:post, @post) do |f| + f.fields_for(:comments, Comment.new(321), :child_index => 'abc') do |cf| + concat cf.text_field(:name) + end + end + + expected = '
    ' + + '' + + '' + + '
    ' + + assert_dom_equal expected, output_buffer + end + + def test_nested_fields_uses_unique_indices_for_different_collection_associations + @post.comments = [Comment.new(321)] + @post.tags = [Tag.new(123), Tag.new(456)] + @post.comments[0].relevances = [] + @post.tags[0].relevances = [] + @post.tags[1].relevances = [] + form_for(:post, @post) do |f| + f.fields_for(:comments, @post.comments[0]) do |cf| + concat cf.text_field(:name) + cf.fields_for(:relevances, CommentRelevance.new(314)) do |crf| + concat crf.text_field(:value) + end + end + f.fields_for(:tags, @post.tags[0]) do |tf| + concat tf.text_field(:value) + tf.fields_for(:relevances, TagRelevance.new(3141)) do |trf| + concat trf.text_field(:value) + end + end + f.fields_for('tags', @post.tags[1]) do |tf| + concat tf.text_field(:value) + tf.fields_for(:relevances, TagRelevance.new(31415)) do |trf| + concat trf.text_field(:value) + end + end + end + + expected = '
    ' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '
    ' + + assert_dom_equal expected, output_buffer + end + + def test_fields_for + fields_for(:post, @post) do |f| + concat f.text_field(:title) + concat f.text_area(:body) + concat f.check_box(:secret) + end + + expected = + "" + + "" + + "" + + "" + + assert_dom_equal expected, output_buffer + end + + def test_fields_for_with_index + fields_for("post[]", @post) do |f| + concat f.text_field(:title) + concat f.text_area(:body) + concat f.check_box(:secret) + end + + expected = + "" + + "" + + "" + + "" + + assert_dom_equal expected, output_buffer + end + + def test_fields_for_with_nil_index_option_override + fields_for("post[]", @post, :index => nil) do |f| + concat f.text_field(:title) + concat f.text_area(:body) + concat f.check_box(:secret) + end + + expected = + "" + + "" + + "" + + "" + + assert_dom_equal expected, output_buffer + end + + def test_fields_for_with_index_option_override + fields_for("post[]", @post, :index => "abc") do |f| + concat f.text_field(:title) + concat f.text_area(:body) + concat f.check_box(:secret) + end + + expected = + "" + + "" + + "" + + "" + + assert_dom_equal expected, output_buffer + end + + def test_fields_for_without_object + fields_for(:post) do |f| + concat f.text_field(:title) + concat f.text_area(:body) + concat f.check_box(:secret) + end + + expected = + "" + + "" + + "" + + "" + + assert_dom_equal expected, output_buffer + end + + def test_fields_for_with_only_object + fields_for(@post) do |f| + concat f.text_field(:title) + concat f.text_area(:body) + concat f.check_box(:secret) + end + + expected = + "" + + "" + + "" + + "" + + assert_dom_equal expected, output_buffer + end + + def test_fields_for_object_with_bracketed_name + fields_for("author[post]", @post) do |f| + concat f.label(:title) + concat f.text_field(:title) + end + + assert_dom_equal "" + + "", + output_buffer + end + + def test_fields_for_object_with_bracketed_name_and_index + fields_for("author[post]", @post, :index => 1) do |f| + concat f.label(:title) + concat f.text_field(:title) + end + + assert_dom_equal "" + + "", + output_buffer + end + + def test_form_builder_does_not_have_form_for_method + assert ! ActionView::Helpers::FormBuilder.instance_methods.include?('form_for') + end + + def test_form_for_and_fields_for + form_for(:post, @post, :html => { :id => 'create-post' }) do |post_form| + concat post_form.text_field(:title) + concat post_form.text_area(:body) + + fields_for(:parent_post, @post) do |parent_fields| + concat parent_fields.check_box(:secret) + end + end + + expected = + "
    " + + "" + + "" + + "" + + "" + + "
    " + + assert_dom_equal expected, output_buffer + end + + def test_form_for_and_fields_for_with_object + form_for(:post, @post, :html => { :id => 'create-post' }) do |post_form| + concat post_form.text_field(:title) + concat post_form.text_area(:body) + + post_form.fields_for(@comment) do |comment_fields| + concat comment_fields.text_field(:name) + end + end + + expected = + "
    " + + "" + + "" + + "" + + "
    " + + assert_dom_equal expected, output_buffer + end + + class LabelledFormBuilder < ActionView::Helpers::FormBuilder + (field_helpers - %w(hidden_field)).each do |selector| + src, line = <<-END_SRC, __LINE__ + 1 + def #{selector}(field, *args, &proc) + (" " + super + "
    ").html_safe + end + END_SRC + class_eval src, __FILE__, line + end + end + + def test_form_for_with_labelled_builder + form_for(:post, @post, :builder => LabelledFormBuilder) do |f| + concat f.text_field(:title) + concat f.text_area(:body) + concat f.check_box(:secret) + end + + expected = + "
    " + + "
    " + + "
    " + + "
    " + + "
    " + + assert_dom_equal expected, output_buffer + end + + def test_default_form_builder + old_default_form_builder, ActionView::Base.default_form_builder = + ActionView::Base.default_form_builder, LabelledFormBuilder + + form_for(:post, @post) do |f| + concat f.text_field(:title) + concat f.text_area(:body) + concat f.check_box(:secret) + end + + expected = + "
    " + + "
    " + + "
    " + + "
    " + + "
    " + + assert_dom_equal expected, output_buffer + ensure + ActionView::Base.default_form_builder = old_default_form_builder + end + + def test_default_form_builder_with_active_record_helpers + form_for(:post, @post) do |f| + concat f.error_message_on('author_name') + concat f.error_messages + end + + expected = %(
    ) + + %(
    can't be empty
    ) + + %(

    1 error prohibited this post from being saved

    There were problems with the following fields:

    • Author name can't be empty
    ) + + %(
    ) + + assert_dom_equal expected, output_buffer + + end + + def test_default_form_builder_no_instance_variable + post = @post + @post = nil + + form_for(:post, post) do |f| + concat f.error_message_on('author_name') + concat f.error_messages + end + + expected = %(
    ) + + %(
    can't be empty
    ) + + %(

    1 error prohibited this post from being saved

    There were problems with the following fields:

    • Author name can't be empty
    ) + + %(
    ) + + assert_dom_equal expected, output_buffer + + end + + def test_default_form_builder_without_object + + form_for(:post) do |f| + concat f.error_message_on('author_name') + concat f.error_messages + end + + expected = %(
    ) + + %(
    can't be empty
    ) + + %(

    1 error prohibited this post from being saved

    There were problems with the following fields:

    • Author name can't be empty
    ) + + %(
    ) + + assert_dom_equal expected, output_buffer + + end + + # Perhaps this test should be moved to prototype helper tests. + def test_remote_form_for_with_labelled_builder + self.extend ActionView::Helpers::PrototypeHelper + + remote_form_for(:post, @post, :builder => LabelledFormBuilder) do |f| + concat f.text_field(:title) + concat f.text_area(:body) + concat f.check_box(:secret) + end + + expected = + %(
    ) + + "
    " + + "
    " + + "
    " + + "
    " + + assert_dom_equal expected, output_buffer + end + + def test_fields_for_with_labelled_builder + fields_for(:post, @post, :builder => LabelledFormBuilder) do |f| + concat f.text_field(:title) + concat f.text_area(:body) + concat f.check_box(:secret) + end + + expected = + "
    " + + "
    " + + "
    " + + assert_dom_equal expected, output_buffer + end + + def test_form_for_with_labelled_builder_with_nested_fields_for_without_options_hash + klass = nil + + form_for(:post, @post, :builder => LabelledFormBuilder) do |f| + f.fields_for(:comments, Comment.new) do |nested_fields| + klass = nested_fields.class + '' + end + end + + assert_equal LabelledFormBuilder, klass + end + + def test_form_for_with_labelled_builder_with_nested_fields_for_with_options_hash + klass = nil + + form_for(:post, @post, :builder => LabelledFormBuilder) do |f| + f.fields_for(:comments, Comment.new, :index => 'foo') do |nested_fields| + klass = nested_fields.class + '' + end + end + + assert_equal LabelledFormBuilder, klass + end + + class LabelledFormBuilderSubclass < LabelledFormBuilder; end + + def test_form_for_with_labelled_builder_with_nested_fields_for_with_custom_builder + klass = nil + + form_for(:post, @post, :builder => LabelledFormBuilder) do |f| + f.fields_for(:comments, Comment.new, :builder => LabelledFormBuilderSubclass) do |nested_fields| + klass = nested_fields.class + '' + end + end + + assert_equal LabelledFormBuilderSubclass, klass + end + + def test_form_for_with_html_options_adds_options_to_form_tag + form_for(:post, @post, :html => {:id => 'some_form', :class => 'some_class'}) do |f| end + expected = "
    " + + assert_dom_equal expected, output_buffer + end + + def test_form_for_with_string_url_option + form_for(:post, @post, :url => 'http://www.otherdomain.com') do |f| end + + assert_equal '
    ', output_buffer + end + + def test_form_for_with_hash_url_option + form_for(:post, @post, :url => {:controller => 'controller', :action => 'action'}) do |f| end + + assert_equal 'controller', @controller.url_for_options[:controller] + assert_equal 'action', @controller.url_for_options[:action] + end + + def test_form_for_with_record_url_option + form_for(:post, @post, :url => @post) do |f| end + + expected = "
    " + assert_equal expected, output_buffer + end + + def test_form_for_with_existing_object + form_for(@post) do |f| end + + expected = "
    " + assert_equal expected, output_buffer + end + + def test_form_for_with_new_object + post = Post.new + post.new_record = true + def post.id() nil end + + form_for(post) do |f| end + + expected = "
    " + assert_equal expected, output_buffer + end + + def test_form_for_with_existing_object_in_list + @post.new_record = false + @comment.save + + form_for([@post, @comment]) {} + + expected = %(
    ) + assert_dom_equal expected, output_buffer + end + + def test_form_for_with_new_object_in_list + @post.new_record = false + + form_for([@post, @comment]) {} + + expected = %(
    ) + assert_dom_equal expected, output_buffer + end + + def test_form_for_with_existing_object_and_namespace_in_list + @post.new_record = false + @comment.save + + form_for([:admin, @post, @comment]) {} + + expected = %(
    ) + assert_dom_equal expected, output_buffer + end + + def test_form_for_with_new_object_and_namespace_in_list + @post.new_record = false + + form_for([:admin, @post, @comment]) {} + + expected = %(
    ) + assert_dom_equal expected, output_buffer + end + + def test_form_for_with_existing_object_and_custom_url + form_for(@post, :url => "/super_posts") do |f| end + + expected = "
    " + assert_equal expected, output_buffer + end + + def test_remote_form_for_with_html_options_adds_options_to_form_tag + self.extend ActionView::Helpers::PrototypeHelper + + remote_form_for(:post, @post, :html => {:id => 'some_form', :class => 'some_class'}) do |f| end + expected = "
    " + + assert_dom_equal expected, output_buffer + end + + protected + def comments_path(post) + "/posts/#{post.id}/comments" + end + alias_method :post_comments_path, :comments_path + + def comment_path(post, comment) + "/posts/#{post.id}/comments/#{comment.id}" + end + alias_method :post_comment_path, :comment_path + + def admin_comments_path(post) + "/admin/posts/#{post.id}/comments" + end + alias_method :admin_post_comments_path, :admin_comments_path + + def admin_comment_path(post, comment) + "/admin/posts/#{post.id}/comments/#{comment.id}" + end + alias_method :admin_post_comment_path, :admin_comment_path + + def posts_path + "/posts" + end + + def post_path(post) + "/posts/#{post.id}" + end + + def protect_against_forgery? + false + end +end diff --git a/vendor/plugins/rails_xss/test/form_tag_helper_test.rb b/vendor/plugins/rails_xss/test/form_tag_helper_test.rb new file mode 100644 index 00000000..41eeceeb --- /dev/null +++ b/vendor/plugins/rails_xss/test/form_tag_helper_test.rb @@ -0,0 +1,354 @@ +require 'test_helper' + +class FormTagHelperTest < ActionView::TestCase + def setup + @controller = Class.new do + def url_for(options) + "http://www.example.com" + end + end + @controller = @controller.new + end + + VALID_HTML_ID = /^[A-Za-z][-_:.A-Za-z0-9]*$/ # see http://www.w3.org/TR/html4/types.html#type-name + + def test_check_box_tag + actual = check_box_tag "admin" + expected = %() + assert_dom_equal expected, actual + end + + def test_check_box_tag_id_sanitized + label_elem = root_elem(check_box_tag("project[2][admin]")) + assert_match VALID_HTML_ID, label_elem['id'] + end + + def test_form_tag + actual = form_tag + expected = %(
    ) + assert_dom_equal expected, actual + end + + def test_form_tag_multipart + actual = form_tag({}, { 'multipart' => true }) + expected = %() + assert_dom_equal expected, actual + end + + def test_form_tag_with_method_put + actual = form_tag({}, { :method => :put }) + expected = %(
    ) + assert_dom_equal expected, actual + end + + def test_form_tag_with_method_delete + actual = form_tag({}, { :method => :delete }) + expected = %(
    ) + assert_dom_equal expected, actual + end + + def test_form_tag_with_block_in_erb + __in_erb_template = '' + form_tag("http://example.com") { concat "Hello world!" } + + expected = %(Hello world!
    ) + assert_dom_equal expected, output_buffer + end + + def test_form_tag_with_block_and_method_in_erb + __in_erb_template = '' + form_tag("http://example.com", :method => :put) { concat "Hello world!" } + + expected = %(
    Hello world!
    ) + assert_dom_equal expected, output_buffer + end + + def test_hidden_field_tag + actual = hidden_field_tag "id", 3 + expected = %() + assert_dom_equal expected, actual + end + + def test_hidden_field_tag_id_sanitized + input_elem = root_elem(hidden_field_tag("item[][title]")) + assert_match VALID_HTML_ID, input_elem['id'] + end + + def test_file_field_tag + assert_dom_equal "", file_field_tag("picsplz") + end + + def test_file_field_tag_with_options + assert_dom_equal "", file_field_tag("picsplz", :class => "pix") + end + + def test_password_field_tag + actual = password_field_tag + expected = %() + assert_dom_equal expected, actual + end + + def test_radio_button_tag + actual = radio_button_tag "people", "david" + expected = %() + assert_dom_equal expected, actual + + actual = radio_button_tag("num_people", 5) + expected = %() + assert_dom_equal expected, actual + + actual = radio_button_tag("gender", "m") + radio_button_tag("gender", "f") + expected = %() + assert_dom_equal expected, actual + + actual = radio_button_tag("opinion", "-1") + radio_button_tag("opinion", "1") + expected = %() + assert_dom_equal expected, actual + + actual = radio_button_tag("person[gender]", "m") + expected = %() + assert_dom_equal expected, actual + end + + def test_select_tag + actual = select_tag "people", "".html_safe + expected = %() + assert_dom_equal expected, actual + end + + def test_select_tag_with_multiple + actual = select_tag "colors", "".html_safe, :multiple => :true + expected = %() + assert_dom_equal expected, actual + end + + def test_select_tag_disabled + actual = select_tag "places", "".html_safe, :disabled => :true + expected = %() + assert_dom_equal expected, actual + end + + def test_select_tag_id_sanitized + input_elem = root_elem(select_tag("project[1]people", "")) + assert_match VALID_HTML_ID, input_elem['id'] + end + + def test_select_tag_with_array_options + assert_deprecated /array/ do + select_tag "people", [""] + end + end + + def test_text_area_tag_size_string + actual = text_area_tag "body", "hello world", "size" => "20x40" + expected = %() + assert_dom_equal expected, actual + end + + def test_text_area_tag_size_symbol + actual = text_area_tag "body", "hello world", :size => "20x40" + expected = %() + assert_dom_equal expected, actual + end + + def test_text_area_tag_should_disregard_size_if_its_given_as_an_integer + actual = text_area_tag "body", "hello world", :size => 20 + expected = %() + assert_dom_equal expected, actual + end + + def test_text_area_tag_id_sanitized + input_elem = root_elem(text_area_tag("item[][description]")) + assert_match VALID_HTML_ID, input_elem['id'] + end + + def test_text_area_tag_escape_content + actual = text_area_tag "body", "hello world", :size => "20x40" + expected = %() + assert_dom_equal expected, actual + end + + def test_text_area_tag_unescaped_content + actual = text_area_tag "body", "hello world", :size => "20x40", :escape => false + expected = %() + assert_dom_equal expected, actual + end + + def test_text_area_tag_unescaped_nil_content + actual = text_area_tag "body", nil, :escape => false + expected = %() + assert_dom_equal expected, actual + end + + def test_text_field_tag + actual = text_field_tag "title", "Hello!" + expected = %() + assert_dom_equal expected, actual + end + + def test_text_field_tag_class_string + actual = text_field_tag "title", "Hello!", "class" => "admin" + expected = %() + assert_dom_equal expected, actual + end + + def test_text_field_tag_size_symbol + actual = text_field_tag "title", "Hello!", :size => 75 + expected = %() + assert_dom_equal expected, actual + end + + def test_text_field_tag_size_string + actual = text_field_tag "title", "Hello!", "size" => "75" + expected = %() + assert_dom_equal expected, actual + end + + def test_text_field_tag_maxlength_symbol + actual = text_field_tag "title", "Hello!", :maxlength => 75 + expected = %() + assert_dom_equal expected, actual + end + + def test_text_field_tag_maxlength_string + actual = text_field_tag "title", "Hello!", "maxlength" => "75" + expected = %() + assert_dom_equal expected, actual + end + + def test_text_field_disabled + actual = text_field_tag "title", "Hello!", :disabled => :true + expected = %() + assert_dom_equal expected, actual + end + + def test_text_field_tag_with_multiple_options + actual = text_field_tag "title", "Hello!", :size => 70, :maxlength => 80 + expected = %() + assert_dom_equal expected, actual + end + + def test_text_field_tag_id_sanitized + input_elem = root_elem(text_field_tag("item[][title]")) + assert_match VALID_HTML_ID, input_elem['id'] + end + + def test_label_tag_without_text + actual = label_tag "title" + expected = %() + assert_dom_equal expected, actual + end + + def test_label_tag_with_symbol + actual = label_tag :title + expected = %() + assert_dom_equal expected, actual + end + + def test_label_tag_with_text + actual = label_tag "title", "My Title" + expected = %() + assert_dom_equal expected, actual + end + + def test_label_tag_class_string + actual = label_tag "title", "My Title", "class" => "small_label" + expected = %() + assert_dom_equal expected, actual + end + + def test_label_tag_id_sanitized + label_elem = root_elem(label_tag("item[title]")) + assert_match VALID_HTML_ID, label_elem['for'] + end + + def test_boolean_options + assert_dom_equal %(), check_box_tag("admin", 1, true, 'disabled' => true, :readonly => "yes") + assert_dom_equal %(), check_box_tag("admin", 1, true, :disabled => false, :readonly => nil) + assert_dom_equal %(), tag(:input, :type => "checkbox", :checked => false) + assert_dom_equal %(), select_tag("people", "".html_safe, :multiple => true) + assert_dom_equal %(), select_tag("people[]", "".html_safe, :multiple => true) + assert_dom_equal %(), select_tag("people", "".html_safe, :multiple => nil) + end + + def test_stringify_symbol_keys + actual = text_field_tag "title", "Hello!", :id => "admin" + expected = %() + assert_dom_equal expected, actual + end + + def test_submit_tag + assert_dom_equal( + %(), + submit_tag("Save", :disable_with => "Saving...", :onclick => "alert('hello!')") + ) + end + + def test_submit_tag_with_no_onclick_options + assert_dom_equal( + %(), + submit_tag("Save", :disable_with => "Saving...") + ) + end + + def test_submit_tag_with_confirmation + assert_dom_equal( + %(), + submit_tag("Save", :confirm => "Are you sure?") + ) + end + + def test_submit_tag_with_confirmation_and_with_disable_with + assert_dom_equal( + %(), + submit_tag("Save", :disable_with => "Saving...", :confirm => "Are you sure?") + ) + end + + def test_image_submit_tag_with_confirmation + assert_dom_equal( + %(), + image_submit_tag("save.gif", :confirm => "Are you sure?") + ) + end + + def test_pass + assert_equal 1, 1 + end + + def test_field_set_tag_in_erb + __in_erb_template = '' + field_set_tag("Your details") { concat "Hello world!" } + + expected = %(
    Your detailsHello world!
    ) + assert_dom_equal expected, output_buffer + + self.output_buffer = ''.html_safe + field_set_tag { concat "Hello world!" } + + expected = %(
    Hello world!
    ) + assert_dom_equal expected, output_buffer + + self.output_buffer = ''.html_safe + field_set_tag('') { concat "Hello world!" } + + expected = %(
    Hello world!
    ) + assert_dom_equal expected, output_buffer + + self.output_buffer = ''.html_safe + field_set_tag('', :class => 'format') { concat "Hello world!" } + + expected = %(
    Hello world!
    ) + assert_dom_equal expected, output_buffer + end + + def protect_against_forgery? + false + end + + private + + def root_elem(rendered_content) + HTML::Document.new(rendered_content).root.children[0] + end +end diff --git a/vendor/plugins/rails_xss/test/output_escaping_test.rb b/vendor/plugins/rails_xss/test/output_escaping_test.rb new file mode 100644 index 00000000..8b6f8b83 --- /dev/null +++ b/vendor/plugins/rails_xss/test/output_escaping_test.rb @@ -0,0 +1,19 @@ +require 'test_helper' + +class OutputEscapingTest < ActiveSupport::TestCase + + test "escape_html shouldn't die when passed nil" do + assert ERB::Util.h(nil).blank? + end + + test "escapeHTML should escape strings" do + assert_equal "<>"", ERB::Util.h("<>\"") + end + + test "escapeHTML shouldn't touch explicitly safe strings" do + # TODO this seems easier to compose and reason about, but + # this should be verified + assert_equal "<", ERB::Util.h("<".html_safe) + end + +end diff --git a/vendor/plugins/rails_xss/test/output_safety_test.rb b/vendor/plugins/rails_xss/test/output_safety_test.rb new file mode 100644 index 00000000..2e376477 --- /dev/null +++ b/vendor/plugins/rails_xss/test/output_safety_test.rb @@ -0,0 +1,115 @@ +require 'test_helper' + +class OutputSafetyTest < ActiveSupport::TestCase + def setup + @string = "hello" + @object = Class.new(Object) do + def to_s + "other" + end + end.new + end + + test "A string is unsafe by default" do + assert !@string.html_safe? + end + + test "A string can be marked safe" do + string = @string.html_safe + assert string.html_safe? + end + + test "Marking a string safe returns the string" do + assert_equal @string, @string.html_safe + end + + test "A fixnum is safe by default" do + assert 5.html_safe? + end + + test "An object is unsafe by default" do + assert !@object.html_safe? + end + + test "Adding an object to a safe string returns a safe string" do + string = @string.html_safe + string << @object + + assert_equal "helloother", string + assert string.html_safe? + end + + test "Adding a safe string to another safe string returns a safe string" do + @other_string = "other".html_safe + string = @string.html_safe + @combination = @other_string + string + + assert_equal "otherhello", @combination + assert @combination.html_safe? + end + + test "Adding an unsafe string to a safe string escapes it and returns a safe string" do + @other_string = "other".html_safe + @combination = @other_string + "" + @other_combination = @string + "" + + assert_equal "other<foo>", @combination + assert_equal "hello", @other_combination + + assert @combination.html_safe? + assert !@other_combination.html_safe? + end + + test "Concatting safe onto unsafe yields unsafe" do + @other_string = "other" + + string = @string.html_safe + @other_string.concat(string) + assert !@other_string.html_safe? + end + + test "Concatting unsafe onto safe yields escaped safe" do + @other_string = "other".html_safe + string = @other_string.concat("") + assert_equal "other<foo>", string + assert string.html_safe? + end + + test "Concatting safe onto safe yields safe" do + @other_string = "other".html_safe + string = @string.html_safe + + @other_string.concat(string) + assert @other_string.html_safe? + end + + test "Concatting safe onto unsafe with << yields unsafe" do + @other_string = "other" + string = @string.html_safe + + @other_string << string + assert !@other_string.html_safe? + end + + test "Concatting unsafe onto safe with << yields escaped safe" do + @other_string = "other".html_safe + string = @other_string << "" + assert_equal "other<foo>", string + assert string.html_safe? + end + + test "Concatting safe onto safe with << yields safe" do + @other_string = "other".html_safe + string = @string.html_safe + + @other_string << string + assert @other_string.html_safe? + end + + test "Concatting a fixnum to safe always yields safe" do + string = @string.html_safe + string = string.concat(13) + assert_equal "hello".concat(13), string + assert string.html_safe? + end +end diff --git a/vendor/plugins/rails_xss/test/rails_xss_test.rb b/vendor/plugins/rails_xss/test/rails_xss_test.rb index 91f477ed..b6268baf 100644 --- a/vendor/plugins/rails_xss/test/rails_xss_test.rb +++ b/vendor/plugins/rails_xss/test/rails_xss_test.rb @@ -21,114 +21,3 @@ class RailsXssTest < ActiveSupport::TestCase end end end - -class DeprecatedOutputSafetyTest < ActiveSupport::TestCase - def setup - @string = "hello" - end - - test "A string can be marked safe using html_safe!" do - assert_deprecated do - @string.html_safe! - assert @string.html_safe? - end - end - - test "Marking a string safe returns the string using html_safe!" do - assert_deprecated do - assert_equal @string, @string.html_safe! - end - end - - test "Adding a safe string to another safe string returns a safe string using html_safe!" do - assert_deprecated do - @other_string = "other".html_safe! - @string.html_safe! - @combination = @other_string + @string - - assert_equal "otherhello", @combination - assert @combination.html_safe? - end - end - - test "Adding an unsafe string to a safe string returns an unsafe string using html_safe!" do - assert_deprecated do - @other_string = "other".html_safe! - @combination = @other_string + "" - @other_combination = @string + "" - - assert_equal "other", @combination - assert_equal "hello", @other_combination - - assert !@combination.html_safe? - assert !@other_combination.html_safe? - end - end - - test "Concatting safe onto unsafe yields unsafe using html_safe!" do - assert_deprecated do - @other_string = "other" - @string.html_safe! - - @other_string.concat(@string) - assert !@other_string.html_safe? - end - end - - test "Concatting unsafe onto safe yields unsafe using html_safe!" do - assert_deprecated do - @other_string = "other".html_safe! - string = @other_string.concat("") - assert_equal "other", string - assert !string.html_safe? - end - end - - test "Concatting safe onto safe yields safe using html_safe!" do - assert_deprecated do - @other_string = "other".html_safe! - @string.html_safe! - - @other_string.concat(@string) - assert @other_string.html_safe? - end - end - - test "Concatting safe onto unsafe with << yields unsafe using html_safe!" do - assert_deprecated do - @other_string = "other" - @string.html_safe! - - @other_string << @string - assert !@other_string.html_safe? - end - end - - test "Concatting unsafe onto safe with << yields unsafe using html_safe!" do - assert_deprecated do - @other_string = "other".html_safe! - string = @other_string << "" - assert_equal "other", string - assert !string.html_safe? - end - end - - test "Concatting safe onto safe with << yields safe using html_safe!" do - assert_deprecated do - @other_string = "other".html_safe! - @string.html_safe! - - @other_string << @string - assert @other_string.html_safe? - end - end - - test "Concatting a fixnum to safe always yields safe using html_safe!" do - assert_deprecated do - @string.html_safe! - @string.concat(13) - assert_equal "hello".concat(13), @string - assert @string.html_safe? - end - end -end diff --git a/vendor/plugins/rails_xss/test/raw_output_helper_test.rb b/vendor/plugins/rails_xss/test/raw_output_helper_test.rb new file mode 100644 index 00000000..2a67f976 --- /dev/null +++ b/vendor/plugins/rails_xss/test/raw_output_helper_test.rb @@ -0,0 +1,18 @@ +require 'test_helper' + +class RawOutputHelperTest < ActionView::TestCase + + def setup + @string = "hello" + end + + test "raw returns the safe string" do + result = raw(@string) + assert_equal @string, result + assert result.html_safe? + end + + test "raw handles nil values correctly" do + assert_equal "", raw(nil) + end +end diff --git a/vendor/plugins/rails_xss/test/safe_buffer_test.rb b/vendor/plugins/rails_xss/test/safe_buffer_test.rb new file mode 100644 index 00000000..a0a2ecce --- /dev/null +++ b/vendor/plugins/rails_xss/test/safe_buffer_test.rb @@ -0,0 +1,51 @@ +require 'test_helper' + +class SafeBufferTest < ActiveSupport::TestCase + def setup + @buffer = ActiveSupport::SafeBuffer.new + end + + test "Should look like a string" do + assert @buffer.is_a?(String) + assert_equal "", @buffer + end + + test "Should escape a raw string which is passed to them" do + @buffer << "') + assert_equal "

    ", + content_tag(:p, '', nil, false) + end + + def test_tag_honors_html_safe_for_param_values + ['1&2', '1 < 2', '“test“'].each do |escaped| + assert_equal %(), tag('a', :href => escaped.html_safe) + end + end +end diff --git a/vendor/plugins/rails_xss/test/test_helper.rb b/vendor/plugins/rails_xss/test/test_helper.rb index caecd7fd..d9594e44 100644 --- a/vendor/plugins/rails_xss/test/test_helper.rb +++ b/vendor/plugins/rails_xss/test/test_helper.rb @@ -2,4 +2,5 @@ abort 'RAILS_ROOT=/path/to/rails/2.3/app rake test' unless ENV['RAILS_ROOT'] require File.expand_path('config/environment', ENV['RAILS_ROOT']) require File.expand_path('../../init', __FILE__) require 'active_support/test_case' +require 'action_view/test_case' require 'test/unit' diff --git a/vendor/plugins/rails_xss/test/text_helper_test.rb b/vendor/plugins/rails_xss/test/text_helper_test.rb new file mode 100644 index 00000000..b74ae547 --- /dev/null +++ b/vendor/plugins/rails_xss/test/text_helper_test.rb @@ -0,0 +1,30 @@ +require 'test_helper' + +class TextHelperTest < ActionView::TestCase + + def setup + @controller = Class.new do + attr_accessor :request + def url_for(*args) "http://www.example.com" end + end.new + end + + def test_simple_format_with_escaping_html_options + assert_dom_equal(%(

    It's nice to have options.

    ), + simple_format("It's nice to have options.", :class=>"intro")) + end + + def test_simple_format_should_not_escape_safe_content + assert_dom_equal(%(

    This is .

    ), + simple_format('This is .'.html_safe)) + end + + def test_simple_format_escapes_unsafe_content + assert_dom_equal(%(

    This is <script>evil_js</script>.

    ), + simple_format('This is .')) + end + + def test_truncate_should_not_be_html_safe + assert !truncate("Hello World!", :length => 12).html_safe? + end +end diff --git a/vendor/plugins/rails_xss/test/url_for_test.rb b/vendor/plugins/rails_xss/test/url_for_test.rb new file mode 100644 index 00000000..b13451bf --- /dev/null +++ b/vendor/plugins/rails_xss/test/url_for_test.rb @@ -0,0 +1,39 @@ +require 'test_helper' + +class UrlHelperTest < ActionView::TestCase + + def abcd(hash = {}) + hash_for(:a => :b, :c => :d).merge(hash) + end + + def hash_for(opts = {}) + {:controller => "foo", :action => "bar"}.merge(opts) + end + + def test_url_for_does_not_escape_urls_if_explicitly_stated + assert_equal "/foo/bar?a=b&c=d", url_for(abcd(:escape => false)) + end + + def test_link_tag_with_img + link = link_to("".html_safe, "/") + expected = %{
    } + assert_dom_equal expected, link + end + + def test_link_to_should_not_escape_content_for_html_safe + link = link_to("Some

    html

    ".html_safe, "/") + expected = %{Some

    html

    } + assert_dom_equal link, expected + end + + def test_link_to_escapes_content_for_non_safe + link = link_to("Some

    html

    ", "/") + expected = %{Some <p>html</p>} + assert_dom_equal link, expected + end + + def test_url_for_escaping_is_safety_aware + assert url_for(abcd(:escape => true)).html_safe?, "escaped urls should be html_safe?" + assert !url_for(abcd(:escape => false)).html_safe?, "non-escaped urls should not be html_safe?" + end +end diff --git a/vendor/rails/actionmailer/Rakefile b/vendor/rails/actionmailer/Rakefile index e7ef2b23..ba85056e 100644 --- a/vendor/rails/actionmailer/Rakefile +++ b/vendor/rails/actionmailer/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_mailer', 'version') PKG_BUILD = ENV['PKG_BUILD'] ? '.' + ENV['PKG_BUILD'] : '' @@ -29,7 +29,7 @@ Rake::TestTask.new { |t| # Generate the RDoc documentation -Rake::RDocTask.new { |rdoc| +RDoc::Task.new { |rdoc| rdoc.rdoc_dir = 'doc' rdoc.title = "Action Mailer -- Easy email delivery and testing" rdoc.options << '--line-numbers' << '--inline-source' << '-A cattr_accessor=object' @@ -54,19 +54,17 @@ spec = Gem::Specification.new do |s| s.rubyforge_project = "actionmailer" s.homepage = "http://www.rubyonrails.org" - s.add_dependency('actionpack', '= 2.3.11' + PKG_BUILD) + s.add_dependency('actionpack', '= 2.3.12' + PKG_BUILD) - s.has_rdoc = true s.requirements << 'none' s.require_path = 'lib' - s.autorequire = 'action_mailer' s.files = [ "Rakefile", "install.rb", "README", "CHANGELOG", "MIT-LICENSE" ] s.files = s.files + Dir.glob( "lib/**/*" ).delete_if { |item| item.include?( "\.svn" ) } s.files = s.files + Dir.glob( "test/**/*" ).delete_if { |item| item.include?( "\.svn" ) } 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/vendor/rails/actionmailer/lib/action_mailer/version.rb b/vendor/rails/actionmailer/lib/action_mailer/version.rb index da9b986a..ce0b782e 100644 --- a/vendor/rails/actionmailer/lib/action_mailer/version.rb +++ b/vendor/rails/actionmailer/lib/action_mailer/version.rb @@ -2,7 +2,7 @@ module ActionMailer module VERSION #:nodoc: MAJOR = 2 MINOR = 3 - TINY = 11 + TINY = 12 STRING = [MAJOR, MINOR, TINY].join('.') end diff --git a/vendor/rails/actionpack/Rakefile b/vendor/rails/actionpack/Rakefile index 4c7c4b7b..004ed541 100644 --- a/vendor/rails/actionpack/Rakefile +++ b/vendor/rails/actionpack/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.11' + PKG_BUILD) + s.add_dependency('activesupport', '= 2.3.12' + 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/vendor/rails/actionpack/lib/action_controller/request.rb b/vendor/rails/actionpack/lib/action_controller/request.rb index 98c5e8ce..dc462530 100755 --- a/vendor/rails/actionpack/lib/action_controller/request.rb +++ b/vendor/rails/actionpack/lib/action_controller/request.rb @@ -446,7 +446,9 @@ EOM end def reset_session - session.destroy if 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 diff --git a/vendor/rails/actionpack/lib/action_controller/session/abstract_store.rb b/vendor/rails/actionpack/lib/action_controller/session/abstract_store.rb index de0163d2..1d2ee87f 100644 --- a/vendor/rails/actionpack/lib/action_controller/session/abstract_store.rb +++ b/vendor/rails/actionpack/lib/action_controller/session/abstract_store.rb @@ -196,6 +196,7 @@ module ActionController 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 diff --git a/vendor/rails/actionpack/lib/action_pack/version.rb b/vendor/rails/actionpack/lib/action_pack/version.rb index 227ef601..010bfcb0 100644 --- a/vendor/rails/actionpack/lib/action_pack/version.rb +++ b/vendor/rails/actionpack/lib/action_pack/version.rb @@ -2,7 +2,7 @@ module ActionPack #:nodoc: module VERSION #:nodoc: MAJOR = 2 MINOR = 3 - TINY = 11 + TINY = 12 STRING = [MAJOR, MINOR, TINY].join('.') end diff --git a/vendor/rails/actionpack/lib/action_view/template_handlers/erb.rb b/vendor/rails/actionpack/lib/action_view/template_handlers/erb.rb index a0131e13..41c88f59 100644 --- a/vendor/rails/actionpack/lib/action_view/template_handlers/erb.rb +++ b/vendor/rails/actionpack/lib/action_view/template_handlers/erb.rb @@ -15,6 +15,7 @@ module ActionView erb = "#{magic}<% __in_erb_template=true %>#{template.source}" if erb.respond_to?(:force_encoding) + erb.force_encoding(template.source.encoding) # erb.force_encoding(template.source.encoding) erb.force_encoding('UTF-8') end diff --git a/vendor/rails/actionpack/test/controller/session/abstract_store_test.rb b/vendor/rails/actionpack/test/controller/session/abstract_store_test.rb new file mode 100644 index 00000000..2df66a2e --- /dev/null +++ b/vendor/rails/actionpack/test/controller/session/abstract_store_test.rb @@ -0,0 +1,64 @@ +require 'abstract_unit' + +# You need to start a memcached server inorder to run these tests +class AbstractStoreTest < ActionController::IntegrationTest + SessionKey = '_myapp_session' + DispatcherApp = ActionController::Dispatcher.new + + class TestController < ActionController::Base + def get_session + session[:test] = 'test' + head :ok + end + end + + def test_expiry_after + with_test_route_set(:expire_after => 5 * 60) do + get 'get_session' + assert_response :success + assert_match /expires=\S+/, headers['Set-Cookie'] + end + end + +protected + + def with_test_route_set(options = {}) + with_routing do |set| + set.draw do |map| + map.with_options :controller => "abstract_store_test/test" do |c| + c.connect "/:action" + end + end + + options = { :key => SessionKey, :secret => 'SessionSecret' }.merge!(options) + @integration_session = open_session(TestStore.new(DispatcherApp, options)) + + yield + end + end + + class TestStore < ActionController::Session::AbstractStore + def initialize(app, options = {}) + super + @_store = Hash.new({}) + end + + private + + def get_session(env, sid) + sid ||= generate_sid + session = @_store[sid] + [sid, session] + end + + def set_session(env, sid, session_data) + @_store[sid] = session_data + end + + def destroy(env) + @_store.delete(sid) + end + end + +end + diff --git a/vendor/rails/actionpack/test/controller/session/cookie_store_test.rb b/vendor/rails/actionpack/test/controller/session/cookie_store_test.rb index b7b922c3..8d02fffa 100644 --- a/vendor/rails/actionpack/test/controller/session/cookie_store_test.rb +++ b/vendor/rails/actionpack/test/controller/session/cookie_store_test.rb @@ -42,6 +42,12 @@ class CookieStoreTest < ActionController::IntegrationTest head :ok end + def call_reset_session_twice + reset_session + reset_session + head :ok + end + def call_reset_session reset_session head :ok @@ -190,6 +196,44 @@ class CookieStoreTest < ActionController::IntegrationTest end end + def test_calling_session_reset_twice + with_test_route_set do + get '/set_session_value' + assert_response :success + session_payload = response.body + assert_equal "_myapp_session=#{response.body}; path=/; HttpOnly", + headers['Set-Cookie'] + + get '/call_reset_session_twice' + assert_response :success + assert_not_equal "", headers['Set-Cookie'] + assert_not_equal session_payload, cookies[SessionKey] + + get '/get_session_value' + assert_response :success + assert_equal 'foo: nil', response.body + end + end + + def test_setting_session_value_after_session_reset + with_test_route_set do + get '/set_session_value' + assert_response :success + session_payload = response.body + assert_equal "_myapp_session=#{response.body}; path=/; HttpOnly", + headers['Set-Cookie'] + + get '/call_reset_session' + assert_response :success + assert_not_equal "", headers['Set-Cookie'] + assert_not_equal session_payload, cookies[SessionKey] + + get '/get_session_value' + assert_response :success + assert_equal 'foo: nil', response.body + end + end + def test_setting_session_value_after_session_reset with_test_route_set do get '/set_session_value' diff --git a/vendor/rails/activemodel/Rakefile b/vendor/rails/activemodel/Rakefile index 4b60f8d6..6e7df2e7 100755 --- a/vendor/rails/activemodel/Rakefile +++ b/vendor/rails/activemodel/Rakefile @@ -1,7 +1,7 @@ #!/usr/bin/env ruby require 'rake' require 'rake/testtask' -require 'rake/rdoctask' +require 'rdoc/task' task :default => :test @@ -13,7 +13,7 @@ Rake::TestTask.new do |t| end # Generate the RDoc documentation -Rake::RDocTask.new do |rdoc| +RDoc::Task.new do |rdoc| rdoc.rdoc_dir = 'doc' rdoc.title = "Active Model" rdoc.options << '--line-numbers' << '--inline-source' << '-A cattr_accessor=object' diff --git a/vendor/rails/activerecord/Rakefile b/vendor/rails/activerecord/Rakefile index 613bda69..dcdff6ba 100644 --- a/vendor/rails/activerecord/Rakefile +++ b/vendor/rails/activerecord/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.11' + PKG_BUILD) + s.add_dependency('activesupport', '= 2.3.12' + 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/vendor/rails/activerecord/lib/active_record/associations/association_collection.rb b/vendor/rails/activerecord/lib/active_record/associations/association_collection.rb index 3a602e49..c04110a9 100644 --- a/vendor/rails/activerecord/lib/active_record/associations/association_collection.rb +++ b/vendor/rails/activerecord/lib/active_record/associations/association_collection.rb @@ -381,7 +381,7 @@ module ActiveRecord 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) || + 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) diff --git a/vendor/rails/activerecord/lib/active_record/base.rb b/vendor/rails/activerecord/lib/active_record/base.rb index ac82cc1b..461007fd 100755 --- a/vendor/rails/activerecord/lib/active_record/base.rb +++ b/vendor/rails/activerecord/lib/active_record/base.rb @@ -1286,7 +1286,7 @@ 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 2.3.9.", caller) + 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 diff --git a/vendor/rails/activerecord/lib/active_record/version.rb b/vendor/rails/activerecord/lib/active_record/version.rb index f106e409..db0e08ef 100644 --- a/vendor/rails/activerecord/lib/active_record/version.rb +++ b/vendor/rails/activerecord/lib/active_record/version.rb @@ -2,7 +2,7 @@ module ActiveRecord module VERSION #:nodoc: MAJOR = 2 MINOR = 3 - TINY = 11 + TINY = 12 STRING = [MAJOR, MINOR, TINY].join('.') end diff --git a/vendor/rails/activerecord/test/cases/associations/has_many_associations_test.rb b/vendor/rails/activerecord/test/cases/associations/has_many_associations_test.rb index 3996b847..2f715a46 100644 --- a/vendor/rails/activerecord/test/cases/associations/has_many_associations_test.rb +++ b/vendor/rails/activerecord/test/cases/associations/has_many_associations_test.rb @@ -82,6 +82,15 @@ class HasManyAssociationsTest < ActiveRecord::TestCase assert_equal 4, post.comments.length end + def test_find_or_create_by_with_same_parameters_creates_a_single_record + author = Author.first + assert_difference "Post.count", +1 do + 2.times do + author.posts.find_or_create_by_body_and_title('one', 'two') + end + end + end + def test_find_or_create_by_with_block post = Post.create! :title => 'test_find_or_create_by_with_additional_parameters', :body => 'this is the body' comment = post.comments.find_or_create_by_body('other test comment body') { |comment| comment.type = 'test' } diff --git a/vendor/rails/activesupport/Rakefile b/vendor/rails/activesupport/Rakefile index d5ece391..f874efea 100644 --- a/vendor/rails/activesupport/Rakefile +++ b/vendor/rails/activesupport/Rakefile @@ -1,6 +1,6 @@ require 'rake/testtask' -require 'rake/rdoctask' -require 'rake/gempackagetask' +require 'rdoc/task' +require 'rubygems/package_task' require File.join(File.dirname(__FILE__), 'lib', 'active_support', 'version') @@ -27,7 +27,7 @@ dist_dirs = [ "lib", "test"] # Genereate the RDoc documentation -Rake::RDocTask.new { |rdoc| +RDoc::Task.new { |rdoc| rdoc.rdoc_dir = 'doc' rdoc.title = "Active Support -- Utility classes and standard library extensions from Rails" rdoc.options << '--line-numbers' << '--inline-source' @@ -48,7 +48,6 @@ spec = Gem::Specification.new do |s| s.files = [ "CHANGELOG", "README" ] + Dir.glob( "lib/**/*" ).delete_if { |item| item.include?( "\.svn" ) } s.require_path = 'lib' - s.has_rdoc = true s.author = "David Heinemeier Hansson" s.email = "david@loudthinking.com" @@ -56,7 +55,7 @@ spec = Gem::Specification.new do |s| s.rubyforge_project = "activesupport" 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/vendor/rails/activesupport/lib/active_support/version.rb b/vendor/rails/activesupport/lib/active_support/version.rb index 922d12ff..eee0a635 100644 --- a/vendor/rails/activesupport/lib/active_support/version.rb +++ b/vendor/rails/activesupport/lib/active_support/version.rb @@ -2,7 +2,7 @@ module ActiveSupport module VERSION #:nodoc: MAJOR = 2 MINOR = 3 - TINY = 11 + TINY = 12 STRING = [MAJOR, MINOR, TINY].join('.') end diff --git a/vendor/rails/railties/Rakefile b/vendor/rails/railties/Rakefile index ebf7c68e..01ac7019 100644 --- a/vendor/rails/railties/Rakefile +++ b/vendor/rails/railties/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' @@ -313,20 +313,18 @@ spec = Gem::Specification.new do |s| EOF s.add_dependency('rake', '>= 0.8.3') - s.add_dependency('activesupport', '= 2.3.11' + PKG_BUILD) - s.add_dependency('activerecord', '= 2.3.11' + PKG_BUILD) - s.add_dependency('actionpack', '= 2.3.11' + PKG_BUILD) - s.add_dependency('actionmailer', '= 2.3.11' + PKG_BUILD) - s.add_dependency('activeresource', '= 2.3.11' + PKG_BUILD) + s.add_dependency('activesupport', '= 2.3.12' + PKG_BUILD) + s.add_dependency('activerecord', '= 2.3.12' + PKG_BUILD) + s.add_dependency('actionpack', '= 2.3.12' + PKG_BUILD) + s.add_dependency('actionmailer', '= 2.3.12' + PKG_BUILD) + s.add_dependency('activeresource', '= 2.3.12' + PKG_BUILD) s.rdoc_options << '--exclude' << '.' - s.has_rdoc = false 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" @@ -334,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/vendor/rails/railties/lib/rails/gem_dependency.rb b/vendor/rails/railties/lib/rails/gem_dependency.rb index 4a2418c1..1ff608a8 100644 --- a/vendor/rails/railties/lib/rails/gem_dependency.rb +++ b/vendor/rails/railties/lib/rails/gem_dependency.rb @@ -38,7 +38,7 @@ module Rails 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 @@ -72,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 @@ -117,18 +125,6 @@ module Rails @spec = s end - if method_defined?(:requirement) - def requirement - req = super - req unless req == Gem::Requirement.default - end - else - def requirement - req = version_requirements - req unless req == Gem::Requirement.default - end - end - def built? return false unless frozen? @@ -274,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/vendor/rails/railties/lib/rails/vendor_gem_source_index.rb b/vendor/rails/railties/lib/rails/vendor_gem_source_index.rb index ea5147a8..9324de98 100644 --- a/vendor/rails/railties/lib/rails/vendor_gem_source_index.rb +++ b/vendor/rails/railties/lib/rails/vendor_gem_source_index.rb @@ -31,7 +31,7 @@ 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 "" diff --git a/vendor/rails/railties/lib/rails/version.rb b/vendor/rails/railties/lib/rails/version.rb index 2f557201..94df7c10 100644 --- a/vendor/rails/railties/lib/rails/version.rb +++ b/vendor/rails/railties/lib/rails/version.rb @@ -2,7 +2,7 @@ module Rails module VERSION #:nodoc: MAJOR = 2 MINOR = 3 - TINY = 11 + TINY = 12 STRING = [MAJOR, MINOR, TINY].join('.') end diff --git a/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/Rakefile b/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/Rakefile index 85e8ff18..c56ce947 100644 --- a/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/Rakefile +++ b/vendor/rails/railties/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/vendor/rails/railties/lib/tasks/documentation.rake b/vendor/rails/railties/lib/tasks/documentation.rake index 8b41478a..bc7887b7 100644 --- a/vendor/rails/railties/lib/tasks/documentation.rake +++ b/vendor/rails/railties/lib/tasks/documentation.rake @@ -1,6 +1,6 @@ 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 +12,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" diff --git a/vendor/rails/railties/lib/tasks/framework.rake b/vendor/rails/railties/lib/tasks/framework.rake index 5dcdacef..76ee9aff 100644 --- a/vendor/rails/railties/lib/tasks/framework.rake +++ b/vendor/rails/railties/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